Skip to content

Conversation

@vtushar06
Copy link
Contributor

Summary

Removes Vuetify from Content Library catalog page and implements with KDS components.

Changes:

ScreenRecording:

Studio-5526.mp4
Studio-5526-2.mp4

References

Fixes #5526
Related PRs

Reviewer guidance

  • All 5 tests passing
  • Uses Vue Testing Library (not @vue/test-utils)
  • Follows reference PR patterns exactly

Verify Tests:

  1. Navigate to Content Library page (/channels/catalog)
  2. Verify catalog channels display correctly with KDS cards
  3. Click "Download a summary of selected channels" button
  4. Verify:
    • "Select all" checkbox appears above the card grid
    • All channels are selected by default
    • Selection count shows in bottom toolbar
  5. Toggle individual channel selections via checkboxes
  6. Click "Cancel" to exit selection mode
  7. Test with empty results (no channels found)

Run tests

pnpm run test -- catalogList.spec.js

Copilot AI review requested due to automatic review settings December 19, 2025 07:07
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@learning-equality-bot
Copy link

Season's greetings! 👋

We'd like to thank everyone for another year of fruitful collaborations, engaging discussions, and for the continued support of our work. Learning Equality will be on holidays from December 22 to January 5. We look forward to much more in the new year and wish you a very happy holiday season!

Are you preparing for Google Summer of Code? See our GSoC guidelines.

@learning-equality-bot
Copy link

👋 Thanks for contributing!

We will assign a reviewer within the next two weeks. In the meantime, please ensure that:

  • You ran pre-commit locally
  • All issue requirements are satisfied
  • The contribution is aligned with our Contributing guidelines. Pay extra attention to Using generative AI. Pull requests that don't follow the guidelines will be closed.

We'll be in touch! 😊

@vtushar06
Copy link
Contributor Author

@MisRob I've implemented using KCardGrid with the card's #select slot for selection controls and overall work is done but have few doubts regarding UI.
I've noticed a UI behavior difference from the original:

  • Original: Checkboxes are siblings to the cards, so cards don't shift when entering/exiting selection mode
  • KDS implementation: Checkboxes use KCard's #select slot, which causes cards to shift slightly when selection mode toggles
    is this how KCard's selection slot is designed to work??
    Should I:
  1. Keep the current KCardGrid + #select slot approach (KDS standard pattern)
  2. Use a custom layout with external checkboxes (matches original UI exactly, but doesn't use KCardGrid)
    The functionality works correctly in both cases - it's just about the visual layout behavior. Please let me know which approach you prefer

@MisRob MisRob self-requested a review December 19, 2025 13:45
@MisRob MisRob self-assigned this Dec 19, 2025
@MisRob
Copy link
Member

MisRob commented Dec 19, 2025

Hi @vtushar06, thanks! As mentioned elsewhere, I will get back to this work after I am back from vacation later in January.

As for your question - thanks for raising that. Please use the standard KDS pattern KCardGrid and #select slot. It's important to stay with the pattern because under the hood, it takes care of semantics and a11y. I will then have a look at it, and see if we need to adjust KDS.

Also, I noticed that you added a completely new page Studio.. - however in this task, we need to take a different approach from other pages with cards, because we cannot yet migrate the whole page. This will come later and would be far out of scope of work around cards. Would you please revisit the guidance left in #5526 and only replaced the referenced place with the new card in the current CatalogList?

@vtushar06
Copy link
Contributor Author

Hi @MisRob, thank you for the feedback, I understand you'd like a more minimal approach for this PR.

I followed the pattern from the reference PRs (#5227, #5524, #5525), which all created new complete page components (StudioMyChannels, StudioStarredChannels, StudioViewOnlyChannels). Since the guidance in #5526 said to "replace" the section and "use KCardGrid", I created StudioCatalogList.vue as a complete KDS implementation.

If you prefer a hybrid approach instead, I will make changes accordingly.

@MisRob
Copy link
Member

MisRob commented Dec 19, 2025

@vtushar06, this issue is a bit different from others for a number of reasons - I think you can just follow the issue's guidance and it should be fine.

@vtushar06
Copy link
Contributor Author

vtushar06 commented Dec 19, 2025

Yeah @MisRob now I applied changes according to guidance, I got so much into other issue learning that's why I used similar approach.
and cards shift still exists please let me know about after your Holidays.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants