Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR restores the ClawHub public UI to its earlier design: a two-row header with segmented theme controls, full-width search, restored secondary nav ( Confidence Score: 5/5Safe to merge — no P0 or P1 issues found; previously flagged regressions are all resolved. All three previously noted issues (opaque No files require special attention. Reviews (2): Last reviewed commit: "fix: stabilize footer disclosure tests" | Re-trigger Greptile |
|
Codex review: needs maintainer review before merge. Keep this PR open. It is open, unmerged, MEMBER-authored, and current main does not already contain the PR's public UI restoration, preference/theme cleanup, or UI contract tests. The discussion shows active review and follow-up fixes on the PR branch, including Greptile/Copilot findings reportedly addressed at latest head eb03e15, so the next step is normal maintainer review rather than cleanup closure. Maintainer follow-up before merge: Keep this PR open for normal maintainer review. If maintainers agree with restoring the earlier public UI contract, review the latest head eb03e15, verify the Greptile/Copilot follow-ups, run the listed UI contract/unit/lint/build/format checks, and merge through the normal path. Best possible solution: Keep this PR open for normal maintainer review. If maintainers agree with restoring the earlier public UI contract, review the latest head eb03e15, verify the Greptile/Copilot follow-ups, run the listed UI contract/unit/lint/build/format checks, and merge through the normal path. Acceptance criteria:
What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against b3c42b661b5e. |
There was a problem hiding this comment.
Pull request overview
Restores the ClawHub public-facing UI layout (header/home/footer) while keeping the newer search/typeahead behavior, and removes the now-dead visual customization/preferences plumbing in favor of a stricter “UI design contract” regression suite.
Changes:
- Reintroduce the earlier public header (two-row nav + theme controls), home sections (hero, featured carousel, categories, Trending Now), and footer layout (with mobile collapsible sections).
- Remove tweakcn/custom-theme overlay support and density/accessibility preference plumbing; add theme cleanup to reset legacy storage/cookies/DOM state.
- Add UI design-contract tests + focused route/component tests and regression notes to prevent accidental layout removals.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/styles.css | Restores/adjusts header/footer/home styling, adds new theme toggle + footer mobile collapse styles. |
| src/routes/index.tsx | Restores home hero/carousel/categories/trending and reintroduces hero slot-machine easter egg + confetti. |
| src/components/Header.tsx | Restores two-row header with primary/secondary tabs, updates search placeholder, adds segmented theme mode control and GitHub sign-in styling hook. |
| src/lib/nav-items.ts | Adds SECONDARY_NAV_ITEMS and updates footer sections (adds “Platform”, removes “About” from footer). |
| src/components/Footer.tsx | Restores footer columns and adds mobile section toggles. |
| src/routes/settings.tsx | Removes customization/preferences UI; keeps only theme mode selection in “Appearance”. |
| src/lib/theme.ts | Removes custom theme plumbing; adds legacy visual settings cleanup (storage/cookies/DOM) and simplifies theme selection to claw. |
| src/routes/__root.tsx | Updates early-boot theme script to clear legacy visual settings and force defaults when stale state is present. |
| src/routes/skills/index.tsx | Tweaks default-sort redirect behavior for /skills when only non-default filters are present. |
| src/routes/-settings.test.tsx | Updates settings test expectations to assert removed customization controls. |
| src/lib/theme.test.tsx | Updates/extends theme tests for legacy cleanup behavior and supported theme constraints. |
| src/tests/ui-design-contract.test.ts | New “design contract” guard asserting key structural/layout fundamentals remain present. |
| src/tests/home-route.test.tsx | New tests covering restored home sections and the hero slot-machine behavior. |
| src/tests/header.test.tsx | Updates header tests to assert restored nav rows, theme controls, and search placeholder; adds CSS contract checks. |
| src/components/Footer.test.tsx | New footer tests for 4-column structure and mobile collapse behavior. |
| src/lib/preferences.ts | Removed legacy preferences store (density/motion/high-contrast/etc). |
| src/lib/preferences.test.tsx | Removed tests for the deleted preferences store. |
| src/lib/customTheme.ts | Removed tweakcn/custom theme overlay implementation. |
| package.json | Adds test:ui-contract script to run the new UI regression suite. |
| docs/regression-notes/2026-04-29-ui-design-contract.md | Documents the protected UI fundamentals enforced by the design-contract test. |
| docs/regression-notes/2026-04-29-hero-slot-easter-egg.md | Documents expected slot-machine easter egg behavior and history. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
d45bcca to
9aa6cc6
Compare
|
Follow-up on the ClawSweeper review at latest head
Local validation run after the rebase/fix:
Remote checks restarted on |
- Footer: track mobile breakpoint via matchMedia so aria-expanded is always true on desktop (links always visible) and reflects isOpen on mobile. Toggle click is also guarded to mobile only. Breakpoint constant is commented to link it to the matching CSS media query. - styles.css: add .theme-mode-toggle button:focus-visible rule after all: unset to restore keyboard focus indicator for theme toggle. Agent-Logs-Url: https://github.com/openclaw/clawhub/sessions/20753973-9a9d-45e9-80b9-1e3d4529558c Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com>
|
Follow-up after the latest branch update at
Local validation on this branch after the fixes:
Remote checks restarted on |
|
Please perform another review based off the latest commit @greptileai |
Summary
Why
Recent UI changes removed core public-page structure and design affordances unintentionally. This restores the intended visual contract and adds tests that make future removals fail loudly unless the contract is intentionally updated.
Validation
bun run test:ui-contractbun run testbun run lintbun run buildbunx oxfmt --check package.json src/__tests__/ui-design-contract.test.ts src/routes/skills/index.tsx docs/regression-notes/2026-04-29-ui-design-contract.mdgit diff --checkbun run buildpasses with the existing TanStack route test-file warning and Shiki WASM fallback warning.