
🙂 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
Remove Vuetify from 'Invitations' box in Channels > My Channels.
VCard together with channelList/views/Channel/ChannelInvitation.vue built with several Vuetify components is currently used for the invitations box.
Remove dependencies on Vuetify by:
- (1) Create a new
StudioRaisedBox to replace VCard
- (2) Remove Vuetify components from
ChannelInvitations and instead use the combination of custom Studio implementation and KDS components:
KIconButton for Accept / Decline buttons
KModal for Declining Invitation confirmation dialog
Then replace this part of code:
|
<VCard |
|
v-if="invitationList.length" |
|
v-show="isChannelList" |
|
> |
|
<VList subheader> |
|
<VSubheader> |
|
{{ $tr('invitations', { count: invitationList.length }) }} |
|
</VSubheader> |
|
<ChannelInvitation |
|
v-for="invitation in invitationList" |
|
:key="invitation.id" |
|
:invitationID="invitation.id" |
|
/> |
|
</VList> |
|
</VCard> |
with:
<StudioRaisedBox ...>
<h3>{{ $tr('invitations', { count: invitationList.length }) }}</h3>
<ul>
<ChannelInvitation
v-for="invitation in invitationList"
...
/>
</ul>
</StudioRaisedBox>
(^ just approximate example, more adjustment may be needed - e.g. making <ul> part of ChannelInvitation could make more sense in migrated implementation)
How to get there
- Login as
user@b.com with password b
- Create a new channel
- Share channel with user
a@a.com
- Logout
- Login as
a@a.com with password a
- Go to Channels > My Channels
Guidance
Out of Scope
- 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
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: Medium
Summary
Remove Vuetify from 'Invitations' box in Channels > My Channels.
VCardtogether withchannelList/views/Channel/ChannelInvitation.vuebuilt with several Vuetify components is currently used for the invitations box.Remove dependencies on Vuetify by:
StudioRaisedBoxto replaceVCardtokens.surfacefrom KDS palette. For gray text, usetokens.annotation.2dpdropshadowshared/viewsdirectoryChannelInvitationsand instead use the combination of custom Studio implementation and KDS components:KIconButtonfor Accept / Decline buttonsKModalfor Declining Invitation confirmation dialogThen replace this part of code:
studio/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue
Lines 91 to 105 in a8476ad
with:
(^ just approximate example, more adjustment may be needed - e.g. making
<ul>part ofChannelInvitationcould make more sense in migrated implementation)How to get there
user@b.comwith passwordba@a.coma@a.comwith passwordaGuidance
Out of Scope
Expected UI/UX changes
Acceptance criteria
General
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).