Channel cards to unstable#5696
Conversation
Unstable to channel cards branch
KDS has recently started providing visuallyhidden so is not needed.
and related re-organization of files and tests. Also adds more tests to some components.
fb06598 to
bec64b0
Compare
e5ef964 to
6588fd0
Compare
shape of loaded cards.
4176428 to
3a07c26
Compare
3a07c26 to
86d267e
Compare
calculations. The feature is not needed in these use-cases.
3b2e264 to
cc563d2
Compare
f4dae95 to
18f4f26
Compare
16ab7ae to
82f701b
Compare
| loading.value = true; | ||
| store.dispatch('channel/loadChannelList', { listType }).then(() => { | ||
| loading.value = false; | ||
| }); |
There was a problem hiding this comment.
If this fails to load (like it times out), what happens from the user perspective?
contentcuration/contentcuration/frontend/channelList/views/Channel/StudioChannelCard/index.vue
Outdated
Show resolved
Hide resolved
| }); | ||
| }, | ||
| onCardClick(channel) { | ||
| window.location.href = window.Urls.channel(channel.id); |
There was a problem hiding this comment.
Nitpick: I prefer window.location.assign()
|
Resolved. |
contentcuration/contentcuration/frontend/channelList/views/Channel/StudioChannelsPage/index.vue
Show resolved
Hide resolved
| <h1 class="visuallyhidden">{{ $tr('title') }}</h1> | ||
| <!-- minHeight to prevent layout shifts when loading state changes --> | ||
| <p | ||
| class="mb-2 ml-1 title" |
There was a problem hiding this comment.
I wonder whether we should continue to use Vuetify's styling classes especially when we want to move away from them (I see other places where its used as well). This is more of a thought than a comment and something to think about long term?
There was a problem hiding this comment.
Yes, thank you. Since we decided not to use helper classes like these in our ecosystem (it wasn't discussed in the context of Vuetify ~ rather was a broader discussion) , I think it will make sense to cleanup whenever we can.
| }, | ||
| onCardClick(channel) { | ||
| if (this.loggedIn) { | ||
| window.location.href = window.Urls.channel(channel.id); |
There was a problem hiding this comment.
akolson
left a comment
There was a problem hiding this comment.
I think code is clear and understandable. Thanks Misha for this refactor!
to prevent unnecessary memory usage and to improve architecture. Relatedly remove props for configuring footer in favor of the footer slot to make communication between the modals and footer buttons straightforward.
in channel token modal and remove unnecessary token tracking handlers from components (StudioCopyToken handles tracking)
| appendToOverlay | ||
| data-testid="copy-modal" | ||
| :channel="tokenChannel" | ||
| @input=" |
There was a problem hiding this comment.
TODO use method (same on other pages)
Summary
Replaces Vuetify-based implementation by
KCardon My Channels, Starred Channels, View-only Channels, and Content Library pages. On this opportunity introduces a new architecture of the related pages and resolves problems with understanding & maintaining monolithic and condition-heavyChannelList+ChannelItem.References
Closes #5227
Closes #5524
Closes #5525
Closes #5526
Reviewer guidance
Code review:
Local preview:
pnpm installfirstNotes
Before merging, [TODO REVERT] Temporarily install KDS fork commit needs to be reverted and a newly released KDS version with learningequality/kolibri-design-system#1203 installed.