-
Notifications
You must be signed in to change notification settings - Fork 256
Description
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Sub-issue of #5060.
Complexity: High
Summary
Remove Vuetify from the channel cards in Channels > Content Library.
![]() |
![]() |
![]() |
Currently, ChannelItem built with several Vuetify components is used to display the channel list.
To remove these Vuetify dependencies:
- Replace
studio/contentcuration/contentcuration/frontend/channelList/views/Channel/CatalogList.vue
Lines 52 to 69 in 261cc59
| <VLayout | |
| v-for="item in channels" | |
| :key="item.id" | |
| align-center | |
| > | |
| <Checkbox | |
| v-show="selecting" | |
| v-model="selected" | |
| class="mx-2" | |
| :value="item.id" | |
| data-test="checkbox" | |
| /> | |
| <ChannelItem | |
| :channelId="item.id" | |
| :detailsRouteName="detailsRouteName" | |
| style="flex-grow: 1; width: 100%" | |
| /> | |
| </VLayout> |
by
<KCardGrid ...>
<StudioChannelCard ...>
...
</KCardGrid>
- Follow KCard: Selection controls to implement selection when downloading a summary of selected channels
- Use
KCheckboxinstead ofCheckbox
- Use
Examine carefully the current user experience (when both logged in and logged out) and related code (ChannelItem), and ensure no features are lost. Do not modifify ChannelItem.
How to get there
- Login as
[email protected]with passworda - Go to Channels > Content Library
- Click Download a summary of selected channels
- Log out
- Click Explore without an account
Guidance
- Target
channel-cardsbranch - 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 modify
ChannelItem
Expected UI/UX changes
- Minor visual differences naturally stemming from the use of KDS
- Aspect ratio and size of card thumbnail area
References
- Builds on [Remove Vuetify from Studio] Cards in My Channels #5227, [Remove Vuetify from Studio] Cards in Starred channels #5524, and [Remove Vuetify from Studio] Cards in View-only channels #5525
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).



