-
Notifications
You must be signed in to change notification settings - Fork 254
Description
🙂 Looking for an issue? Welcome! This issue is open for contribution. If this is the first time you’re requesting an issue, please:
- Read Contributing guidelines carefully. Pay extra attention to Using generative AI. Pull requests and comments that don’t follow the guidelines won’t be answered.
- Confirm that you’ve read the guidelines in your comment.
Sub-issue of #5060.
Complexity: High
Summary
Remove Vuetify from the side panel (container only) in Channels > Content Library:
Currently, VNavigationDrawer is used.
To remove this Vuetify dependency:
- (1) For small screens: Use the existing
shared/views/SidePanelModalto display panel content- If any
SidePanelModaladjustments are needed, check the other places using it and avoid regressions
- If any
- (2) For medium/large screens: Don't use
SidePanelModaland instead display panel content as a non-modal page section
This will likely require re-organizing related components, such as wrapping inner panel content in a new component to be re-used for both (1) and (2).
Run our other platform Kolibri and refer to its side panel implementation - replicate this user experience in Studio closely.
![]() |
![]() |
![]() |
On mobile screens, the modal should take the full screen width like it does in Kolibri (unlike the current Studio partial-width behavior).
Pay attention to keyboard navigation and other accessibility features. Ensure there are no regressions in filtering. Do not refactor inner panel contents such as selects and other controls.
How to get there
- Login as
[email protected]with passworda - Go to Channels > Content Library
Guidance
- How to run Kolibri
- Find detailed guidance with many code examples in KDS documentation
- Read the project for more useful references
Out of Scope
- Do not refactor any other areas of the codebase
- Do not refactor inner panel contents such as selects and other controls
Expected UI/UX changes
On mobile screens, the modal will take the full screen width unlike the current partial-width behavior.
Acceptance criteria
These are general acceptance criteria for the project. For each sub-issue, consider which are relevant.
General
- The specification above is followed.
- Except for "Expected UI/UX changes," there are no functional or visual differences in user experience.
- There are no
::v-deepor/deep/selectors. - All user interactions are manually tested with no regressions.
- Pull request includes screenshots.
a11y and i18n
See the project's "Guidance" for useful references.
- Implementation meets a11y standards
- All components are LTR and RTL compliant (preview with
pnpm run devserversince:hotdoesn't render RTL properly) - User-facing strings are translated (except in Administration)
- The
notranslateclass been added to elements that shouldn't be translated by Google Chrome's automatic translation feature (e.g. user-generated text) - Mobile experience is reasonable
Unit tests
- If there is a unit test suite already, it is meaningfully updated (even if tests don't fail)
- If there is no unit test suite, a new one is created. Do not use obsolete
@vue/test-utilsapproach. Instead, use@testing-library/vue(Vue Testing Library).



