-
Notifications
You must be signed in to change notification settings - Fork 254
Open
Labels
DEV: frontendcommunity-contribution-in-progresshacktoberfesthelp wantedOpen source contributors welcomeOpen source contributors welcome
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: Medium
Summary
Migrate page layout of ChannelDetailsModal from Vuetify to Kolibri Design System and create a new shared StudioImmersiveModal component.
Remove dependencies on Vuetify in these specific locations by:
- Create a new
shared/views/StudioImmersiveModal- Provides
FullscreenModal's features but with no Vuetify dependencies - Doesn't have all
FullscreenModal's features, only those used on the channel details page (e.g. leave outTabs) - Utilizes
KToolbarfor the toolbar - Utilizes
StudioOfflineAlertfor the offline alert - Utilizes
StudioPagefor the page layout
- Provides
- Replace
FullscreenModalinChannelDetailsModalbyStudioImmersiveModal. Do not changeFullscreenModal. - Use
KButton+KDropdownMenufor Download channel summary dropdown - Use
StudioLargeLoaderfor the loading indicator (will be available after we merge [Remove Vuetify from Studio] Collection channels loader in Channels - New collection #5388) - Except
DetailsPanel, remove other Vuetify components fromChannelDetailsModal(VCard,VLayout, ...) - Do not refactor inner content of the page (
DetailsPanel.vue) - will be resolved in another issue
Ensure page interactions are functional as before. Do not refactor any other areas.
How to get there
- Login as
a@a.comwith passworda
File upload
- Go to Channels > My Channels
- Click the info icon on the Published Channel card
Guidance
- Find detailed guidance with many code examples in KDS documentation
- Read the project for more useful references
Out of Scope
- Do not change
FullscreenModal - Do not refactor inner content of the page
- Do not refactor any other areas of the codebase
Expected UI/UX changes
- Minor visual differences naturally stemming from the use of KDS
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) - All user-facing strings are translated properly
- 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).
Metadata
Metadata
Assignees
Labels
DEV: frontendcommunity-contribution-in-progresshacktoberfesthelp wantedOpen source contributors welcomeOpen source contributors welcome
