[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
| <p | ||
| v-if="!listChannels.length" | ||
| class="grey--text mb-0 mt-4" | ||
| class="grey--text no-channels-found" |
There was a problem hiding this comment.
suggestion: grey--text is a Vuetify utility class (defined in vuetify.scss). Since this PR is removing Vuetify from this component, consider replacing it with a scoped style — e.g., add color: #9e9e9e; to the .no-channels-found rule (which already targets this element) and drop the class.
There was a problem hiding this comment.
The suggestion to remove Vuetify utility class is correct, however e.g., add color: #9e9e9e; is not ~ we don't use hardcoded colors. KDS colors need to follow this guidance https://design-system.learningequality.org/colors.
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: