Repository navigation
[Remove Vuetify from Studio] Add StudioContentNodeIcon to channel details Total resources (#5933) - #6379
[Remove Vuetify from Studio] Add StudioContentNodeIcon to channel details Total resources (#5933)#6379vtushar06 wants to merge 2 commits into
Conversation
|
👋 Hi @vtushar06, thanks for contributing! For the review process to begin, please verify that the following is satisfied:
📢✨ Before we assign a reviewer:
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. |
🟡 Waiting for changesOutcome: reviewed Last updated: 2026-11-11 18:09 UTC |
rtibblesbot
left a comment
There was a problem hiding this comment.
PR #6379: H5P rows lose their icon, and the PR has no screenshots. The component and color helper otherwise follow the spec.
CI passing. Tests not run locally. Manual QA did not run.
- blocking: H5P rows render without an icon (inline).
- blocking: Screenshots are missing, and the AC requires them. The issue also asks for a PDF export check. Add before/after screenshots of the modal and the generated PDF, in LTR and RTL.
- suggestion: Chip size may differ from base (inline).
- suggestion: Tests would still pass if the swap regressed (inline).
- nitpick: Docstring restates the code (inline).
Next step: Needs a full code review by a human engineer, then manual QA once that reviewer sets Needs QA.
- The author is outside the team: confirm this should be built at all.
- User-visible files changed:
contentcuration/contentcuration/frontend/shared/utils/colors.js,contentcuration/contentcuration/frontend/shared/views/StudioContentNodeIcon.vue,contentcuration/contentcuration/frontend/shared/views/details/StudioDetailsPanel.vue. - Choose the H5P icon; the issue left it open.
- Compare the modal chips and PDF export against base in LTR and RTL.
Written by rtibblesbot, an LLM-based coding agent.
Co-authored-by: Tushar-Verma <tusharmyself06@gmail.com>
rtibblesbot
left a comment
There was a problem hiding this comment.
PR #6379: all 5 prior findings resolved; no new findings.
Prior-finding status
RESOLVED — contentcuration/contentcuration/frontend/shared/views/StudioContentNodeIcon.vue — H5P rows lose their icon, and the catch hides it
RESOLVED — contentcuration/contentcuration/frontend/shared/views/StudioContentNodeIcon.vue:9 — chip size differs from base
RESOLVED — contentcuration/contentcuration/frontend/shared/views/tests/StudioDetailsPanel.spec.js — test doesn't cover the icon swap
RESOLVED — contentcuration/contentcuration/frontend/shared/views/tests/StudioContentNodeIcon.spec.js — test can't catch a wrong icon or background
RESOLVED — contentcuration/contentcuration/frontend/shared/utils/colors.js — docstring restates the code
Next step: Needs a full code review by a human engineer, then manual QA once that reviewer sets Needs QA.
- The author is outside the team: confirm this should be built at all.
- User-visible files changed:
contentcuration/contentcuration/frontend/shared/utils/colors.js,contentcuration/contentcuration/frontend/shared/utils/icons.js,contentcuration/contentcuration/frontend/shared/views/StudioContentNodeIcon.vue,contentcuration/contentcuration/frontend/shared/views/details/StudioDetailsPanel.vue. - Check that the channel details "Total resources" chips show the right icon and color per kind, H5P included, at the old chip size.
- Check that thumbnails for H5P and unsupported kinds now render an icon instead of erroring.
Written by rtibblesbot, an LLM-based coding agent.
Superseded by my review of 0ae0cbd: no blocking findings remain.
Summary
Removes the Vuetify dependency from the content kind icons in the channel details modal (Total resources section) by adding a Vuetify-free
StudioContentNodeIcon, as a parallel toContentNodeIcon.Changes:
getContentKindColorinshared/utils/colors.js, mapping content kinds to KDS theme colors (tokens.watch/listen/read/practice/explore, andpalette.grey.v_400for folders and unknown kinds)StudioContentNodeIcon(shared/views/StudioContentNodeIcon.vue), built onKIcon+getContentKindIconfromshared/utils/icons.js. Keepscapture-as-imageso the PDF channel summary still rasterises the iconsContentNodeIcon→StudioContentNodeIconinStudioDetailsPanelTotal resources onlyContentNodeIconandshared/vuetify/theme.jsare untouched; no other areas refactoredNotes / open questions:
shared/utils/icons.jshas noh5p(orunsupported) mapping and throws for them, soStudioContentNodeIconrenders nothing for unmapped kinds instead of breaking the modal. Happy to maph5p→html5if preferredkindandisEmptyprops are carried over;includeText,showColor,fillWidthandsmallaren't used in the details panel so I left them out to keep scope tight. Can add them if wanted for future sub-issuesScreenshots:
Published Channel, dev server,
a@a.com. Background colours match on both sides (exercise#6986f7, audio#ff7f8d, document#ff4324, HTML5#ff7600, video#33acf5). The after chips use KDS icons at a 4px radius instead of Vuetify Material chips at 2px; the kinds, labels, and counts are the same. The clipped Arabic PDF layout is already present onunstable.unstable)remove-vuetify-5933)References
Closes #5933
Sub-issue of #5060
Reviewer guidance
pnpm test colors StudioContentNodeIcon StudioDetailsPanel— 30 tests passa@a.com/a→ Channels > My Channels → info icon on the Published Channel card → check the Total resources iconsAI usage
I used an AI assistant to help draft the helper, component and tests, following the existing
ContentNodeIcon/StudioDetailsPanelpatterns and the issue's scope. I reviewed the generated code, kept the change limited to the files in the issue, and ran the tests and linting locally.