Skip to content

feat(web): compact discover page, startup footer, static site text, paging and CI - #7

Merged
devKojo merged 1 commit into
feat/portalsfrom
feat/discover-compact-footer-ci
Nov 7, 2026
Merged

devKojo merged 1 commit into
feat/portalsfrom
feat/discover-compact-footer-ci

Conversation

@enochboison

Copy link
Copy Markdown
Collaborator

What

Discover page

  • Compact density: 36 px controls (was 44), 14 px buttons at weight 500, new sm button size, smaller campaign card; four cards per row.
  • Removed the sample-data banner and the "How entries stay fair" section.
  • Paging: 8 campaigns at a time. An intersection sentinel loads the next page on scroll; a visible "Show more campaigns" button covers keyboard use and blocked scripts. Count is announced ("Showing 8 of 14").
  • Sample data grew to 14 campaigns so paging is visible in development.

Brand and footer

  • Logo mark removed. The brand is the plain wordmark "IMP" everywhere (brand.name).
  • UiPublicShell gains footerColumns, footerTagline, copyright: link columns, copyright and a legal bar. Footer links are quiet text, not underlined hyperlinks. The four required legal links remain (UI-PUB-23).

Site text

  • i18n/en.ts renamed to i18n/staticSiteText.ts: the single file for all site copy, including the new footer and brand keys.

CI and workflow

  • .github/workflows/ci.yml: lint, format check, typecheck, UI kit checks and tests, web tests, API tests and db:check run on every PR and on main.
  • Pre-commit hook (lint-staged) removed so commits are instant.
  • CLAUDE.md: checks run in CI, not locally by default; Boy Scout rule added (fix CI failures in code related to the feature in the same branch).

Frontend decisions applied

ADR-F014 (addendum written here), ADR-F013 (no invented claims), ADR-F010 (a11y: inputs keep 16 px below 768 px, footer links keep a 24 px target), ADR-F007 (strings).

Notes

  • Targets feat/portals, which contains the previous PR (feat(ui): softer radii and reference-aligned discovery page #6); retarget to main once the stack lands.
  • Compact density is set on UiPublicShell through --ui-control-target, so other public pages using that shell shrink too. Button size and weight changes are global.
  • lint-staged stays in devDependencies (unused) to keep the lockfile untouched; remove it in a follow-up with npm install.
  • Not verified locally: full lint/format/typecheck/UI test suites. That is what CI is for. I ran ESLint and Prettier on changed files, the discovery tests (21 pass), and checked the page in the browser including scroll loading.

…aging and CI

- Compact density for public pages (36 px controls, smaller type, sm button, 4-up cards)
- Remove sample-data banner, "How entries stay fair" section and the logo mark; brand is "IMP"
- Link-column footer with copyright and legal bar
- Move all site text into i18n/staticSiteText.ts
- Reveal discover campaigns 8 at a time with infinite scroll and a Show more button
- Run lint, format, typecheck and tests in GitHub Actions; drop the pre-commit hook
- Add the Boy Scout rule to CLAUDE.md
@devKojo
devKojo merged commit d5826a0 into feat/portals Nov 7, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants