[Remove Vuetify from Studio] Cards in Starred channels
🙂 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 https://github.com/learningequality/studio/issues/5060.
Complexity: High
Summary
Remove Vuetify from the channel cards in Channels > Starred.
Currently, ChannelList and ChannelItem that are built with several Vuetify components are used to display the channel list.
To remove these Vuetify dependencies from Starred:
- [ ] Move logic related to a single card from
StudioMyChannelsinto a new componentchannelList/views/StudioChannelCard
// StudioChannelCard.vue
<KCard ...>
...
</KCard>
- [ ] Update
StudioMyChannelsto useStudioChannelCard
// StudioMyChannels.vue
...
<KCardGrid ...>
<StudioChannelCard ...>
...
- [ ] Create a new page component
channelList/views/StudioStarredChannels.vueand update
https://github.com/learningequality/studio/blob/261cc598c4a9e5dd0e2cdd6e66d366e460a01962/contentcuration/contentcuration/frontend/channelList/router.js#L38-L43
to
{
name: RouteNames.CHANNELS_STARRED,
path: '/starred',
component: StudioStarredChannels,
}
Note props: { listType: ChannelListTypes.STARRED } removal (in contrast to the current ChannelList, StudioStarredChannels will only have logic related to starred channels)
- [ ] Use
StudioChannelCardinStudioStarredChannels
// StudioStarredChannels.vue
...
<KCardGrid ...>
<StudioChannelCard ...>
...
- [ ] Locate shared script logic between
StudioMyChannelsandStudioStarredChannelsrelated to channels loading, sorting, etc. and move it to a new composablechannelList/composables/useChannelList.js. Then utilizeuseChannelListfrom bothStudioMyChannelsandStudioStarredChannels.
Examine carefully the current user experience and related code (ChannelList, ChannelItem), and ensure no features are lost. Do not modifify ChannelList and ChannelItem.
How to get there
- Login as
[email protected]with passworda - Go to Channels > Starred
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
ChannelListandChannelItem
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 https://github.com/learningequality/studio/issues/5227
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).
If still interested, reserved for @yeshwanth235
Hi @MisRob I would like to work on this issue. please assign this to me
Thank you @yeshwanth235
This is resolved on channel-cards branch. Leaving the issue open until we merge it with other work to unstable.