
🙂 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/SidePanelModal to display panel content
- If any
SidePanelModal adjustments are needed, check the other places using it and avoid regressions
- (2) For medium/large screens: Don't use
SidePanelModal and 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.
https://github.com/learningequality/kolibri/blob/b323071d87f2ee03549c220f69dd15add72464c0/kolibri/plugins/learn/assets/src/views/LibraryPage/index.vue#L121-L143
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
a@a.com with password a
- Go to Channels > Content Library
Guidance
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
a11y and i18n
See the project's "Guidance" for useful references.
Unit tests
🙂 Looking for an issue? Welcome! This issue is open for contribution. If this is the first time you’re requesting an issue, please:
Sub-issue of #5060.
Complexity: High
Summary
Remove Vuetify from the side panel (container only) in Channels > Content Library:
Currently,
VNavigationDraweris used.To remove this Vuetify dependency:
shared/views/SidePanelModalto display panel contentSidePanelModaladjustments are needed, check the other places using it and avoid regressionsSidePanelModaland instead display panel content as a non-modal page sectionThis 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.
https://github.com/learningequality/kolibri/blob/b323071d87f2ee03549c220f69dd15add72464c0/kolibri/plugins/learn/assets/src/views/LibraryPage/index.vue#L121-L143
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
a@a.comwith passwordaGuidance
Out of Scope
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
::v-deepor/deep/selectors.a11y and i18n
See the project's "Guidance" for useful references.
pnpm run devserversince:hotdoesn't render RTL properly)notranslateclass been added to elements that shouldn't be translated by Google Chrome's automatic translation feature (e.g. user-generated text)Unit tests
@vue/test-utilsapproach. Instead, use@testing-library/vue(Vue Testing Library).