[Remove Vuetify from Studio] Layout and input on the Collection > Select channels page#5812
Conversation
|
👋 Hi @Swoyamjeetcodes, thanks for contributing! For the review process to begin, please verify that the following is satisfied:
Also check that issue requirements are satisfied & you ran Pull requests that don't follow the guidelines will be closed. Reviewer assignment can take up to 2 weeks. |
|
📢✨ Before we assign a reviewer, we'll turn on |
|
📢✨ Before we assign a reviewer, we'll invite community pre-review. See the community review guidance for both authors and reviewers. |
rtibblesbot
left a comment
There was a problem hiding this comment.
Clean, well-scoped migration from Vuetify to KDS components. All replacements match the issue spec.
CI passing. Screenshots verified — loader, channel list, search, and empty state all render correctly.
- suggestion: One Vuetify utility class (
grey--text) remains — see inline comment - praise: Good RTL-aware styling and solid loader test coverage
@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly
How was this generated?
Reviewed the pull request diff checking for:
- Correctness: bugs, edge cases, undocumented behavior, resource leaks, hardcoded values
- Design: unnecessary complexity, naming, readability, comment accuracy, redundant state
- Architecture: duplicated concerns, minimal interfaces, composition over inheritance
- Testing: behavior-based assertions, mocks only at hard boundaries, accurate coverage
- Completeness: missing dependencies, unupdated usages, i18n, accessibility, security
- Principles: DRY (same reason to change), SRP, Rule of Three (no premature abstraction)
- Checked CI status and linked issue acceptance criteria
- For UI changes: inspected screenshots for layout, visual completeness, and consistency
298874f to
22ce2ea
Compare
|
Nice work @Swoyamjeetcodes , I tested the changes locally. The layout, interactions, and functionality seems to be well preserved. A couple of small suggestions you might consider:
Hope it helps, thank you. (community-review) |
|
Nice work @Swoyamjeetcodes. Reviewed the The |
rtibblesbot
left a comment
There was a problem hiding this comment.
Clean delta — the one suggestion from the prior review is resolved correctly.
CI passing. Screenshots cover all three states (loading, default list, empty search) and look correct.
Prior findings
Resolved:
grey--textVuetify utility class (suggestion) — removed from template;.no-channels-foundnow usescolor: v-bind('$themeTokens.annotation')in scoped CSS
Not re-raised (praise):
padding-inline/padding-inline-endRTL-aware logical properties- Smart
useKShowmock pattern in tests
1/1 prior findings resolved. 0 re-raised.
@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly
How was this generated?
Compared the current PR state against findings from a prior review:
- Retrieved prior bot reviews deterministically via the GitHub API
- Classified each prior finding as RESOLVED, UNADDRESSED, ACKNOWLEDGED, or CONTESTED
- Only raised NEW findings for newly introduced code
- Reviewed the pull request diff checking for correctness, design, architecture, testing, completeness, and adherence to DRY/SRP principles
- Checked CI status and linked issue acceptance criteria
| class="channel ma-0" | ||
| class="channel-checkbox" | ||
| @change="handleSelectChannel(channel.id)" | ||
| /> |
There was a problem hiding this comment.
KCheckbox has no accessible name — screen readers will announce it as a plain "checkbox" with no context about which channel it refers to. Since the card content is the visual label, a visible label prop isn't the right fix here. Instead:
<KCheckbox
:aria-label="channel.name"
:aria-description="channel.description"
...
/>:aria-label gives the checkbox its accessible name; :aria-description optionally adds the channel description as supplementary context without any visible UI change.
akolson
left a comment
There was a problem hiding this comment.
Hi @Swoyamjeetcodes! Great work on this PR, it’s looking great! I’ve left an accessibility concern that we’ll need to address before merging. Thanks!
Summary
This PR removes Vuetify usage from the layout and input in the Collection → Select channels selection list, per issue scope.
Changes made:
LoadingTextwithStudioLargeLoaderanduseKShow(..., 400)for minimum visible loader time.CheckboxwithKCheckbox.VTextFieldwithKTextbox.VContainer/VLayoutusage inChannelSelectionListwith custom scoped styles anddivlayout.Behavior preserved:
Tests/verification:
channelSelectionList.spec.jsto mockuseKShow.pnpm exec eslint contentcuration/contentcuration/frontend/channelList/views/ChannelSet/ChannelSelectionList.vue contentcuration/contentcuration/frontend/channelList/views/ChannelSet/__tests__/channelSelectionList.spec.jspnpm test -- contentcuration/contentcuration/frontend/channelList/views/ChannelSet/__tests__/channelSelectionList.spec.js contentcuration/contentcuration/frontend/channelList/views/ChannelSet/__tests__/channelSetModal.spec.jspnpm run buildManual verification:
user@a.com/a.Channels → Collections.New collection.Select channels.Screenshots:
References
Reviewer guidance
Please verify:
useKShow(..., 400)).::v-deepor/deep/selectors were added.AI usage
I used Codex (generative AI) to help implement and iterate this change, including component replacement and test updates.
DEEP disclosure: