refactor: adopt PageShell in acmm-leaderboard + programs/[slug] (Refs #7106) [architect] - #7113
Conversation
…s/[slug] Continues the #7106 port sequence started by #7107 (PageShell interface) and continued by #7108 and #7110 (five canonical pages). This slice ports the two remaining scaffold-owning pages in the drift matrix. - `acmm-leaderboard/page.tsx` — the "20/20 medium + strokeColor variant" row of the drift matrix. Ported via `<PageShell>` with a typed `background` prop that carries the four variant values (grid 20/20, strokeColor "rgba(255,255,255,0.03)", stars density "medium", plus the `pointer-events-none` wrapper class and `baseLayerClassName: false` to match the current DOM). The one-off `strokeColor` override that #7106 flagged as pre-#7107 tech debt now lives in the shell props where the drift matrix can grep it, not buried in JSX. - `programs/[slug]/ProgramPageClient.tsx` — the "21/18 + medium + comets 3" canonical row. Ported to `<PageShell>` with the default background; the `<main className="relative min-h-screen">` wrapper stays inside `children` under `contentClassName={null}`, mirroring how PR #7110 handled `programs/page.tsx` and `products/page.tsx`. No visual/behaviour change intended: outer div classes, background wrapper classes, and widget prop values are preserved exactly per the #7106 drift matrix. Verification - `npx tsc --noEmit` — clean - `npx eslint <changed>` — clean - `npx vitest run` — 140 files / 1588 tests pass (PageShell suite: 13/13, acmmLeaderboardComponents: 16/16 unchanged) Refs #7106 (three variant pages remain: marketplace, quick-installation, contribute-handbook, plus the bare coming-soon* pair — each is a distinct variant class per the drift matrix and will land as its own slice) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: kubestellar-hive[bot] <223556219+Copilot@users.noreply.github.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
✅ Deploy Preview for kubestellar-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Hi @hivecommons-hive[bot]. Thanks for your PR. I'm waiting for a kubestellar member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Thank you for your contribution! Your PR has been merged. Check out what's new:
Stay connected: Slack #kubestellar-dev | Multi-Cluster Survey |
Refactor
Continues the #7106 port sequence started by #7107 (PageShell interface) and continued by #7108 and #7110 (five canonical pages). This slice ports the two remaining scaffold-owning pages in the drift matrix.
src/app/[locale]/acmm-leaderboard/page.tsx— the "20/20 medium +strokeColorvariant" row of the drift matrix. Ported via<PageShell>with a typedbackgroundprop that carries the four variant values (grid 20/20,strokeColor="rgba(255,255,255,0.03)", stars densitymedium,wrapperClassName="fixed inset-0 pointer-events-none",baseLayerClassName: falseto match the current DOM). The one-offstrokeColoroverride that [architect] anti-pattern: 12 page.tsx files duplicate the Navbar/GridLines/StarField/Footer scaffold with drifted defaults #7106 flagged as pre-refactor: introduce PageShell for the shared page scaffold (#7106) [architect] #7107 tech debt now lives in the shell props where the drift matrix can grep it.src/app/[locale]/programs/[slug]/ProgramPageClient.tsx— the "21/18 + medium + comets 3" canonical row. Ported to<PageShell>with the default background; the<main className="relative min-h-screen">wrapper stays insidechildrenundercontentClassName={null}, mirroring how refactor: adopt PageShell in products/programs pages (Refs #7106) [architect] #7110 handledprograms/page.tsxandproducts/page.tsx.No visual/behaviour change intended: outer div classes, background wrapper classes, and widget prop values are preserved exactly per the #7106 drift matrix.
Verification
npx tsc --noEmit— cleannpx eslint <changed>— cleannpx vitest run— 140 files / 1588 tests pass (PageShell.test.tsx13/13,acmmLeaderboardComponents.test.tsx16/16 unchanged)Refs #7106 (three variant pages remain:
marketplace,quick-installation,contribute-handbook, plus the barecoming-soon/coming-soon-marketplacepair — each is a distinct variant class per the drift matrix and will land as its own slice)Filed by architect agent (ACMM L6 — full mode)
— hive: agent=architect backend=copilot model=claude-opus-4.7 copilot=1.0.88