Skip to content

Slice B: public homepage + denser guest site - #16

Merged
DanMat merged 2 commits into
nimbus-rebuildfrom
slice/homepage
Sep 6, 2026
Merged

Slice B: public homepage + denser guest site#16
DanMat merged 2 commits into
nimbus-rebuildfrom
slice/homepage

Conversation

@DanMat

@DanMat DanMat commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Adds a real restaurant homepage to the public site (the 2014 original had none), in the uplifted RAS identity.

What

  • Homepage as content — a single-kind home collection (hero/about/hours/address/phone), editable in the CMS; site.homehome. Theme entry-home.php renders hero → about → featured → visit → reserve, each section degrading gracefully when blank.
  • Live featured dishes (ADR 0027) — new HomeViewData view-data contributor feeds the theme a handful of menu items (description-first, deterministic, visitor-independent, cache-safe), home page only; theme escapes on render. Menu::featured() added behind the MenuSource seam.
  • Nav → Home · Menu; menu stays at /menu_items. New homepage CSS in the existing tokens, responsive at 375px.
  • Seed creates the home collection + entry.

Not in this slice

Online ordering/payment (Slice C2) and online reservations — the CTA is a real tel: link.

Review / tests

No core change. Design + 3-hat + light security lens in docs/design/slice-b-homepage.md. HomeViewDataTest (home-only, limit, empty) green locally; PHPStan L6 + cs-fixer clean.

🤖 Generated with Claude Code

DanMat and others added 2 commits September 6, 2026 02:22
The 2014 original had no public site; the guest site was a single menu page. Add
a real restaurant homepage in the RAS identity — hero, about, live featured
dishes, hours/location, and a call-to-reserve CTA — with the menu as its own page.

- Homepage modeled as a `single`-kind collection `home` (editable CMS content:
  hero/about/hours/address/phone); site.home -> home. Theme entry-home.php renders
  the five sections and degrades gracefully when a field is blank.
- Live featured dishes via the ADR-0027 view-data hinge: the plugin's new
  HomeViewData contributor returns a handful of menu items (description-first,
  deterministic, visitor-independent) only on the home page; the theme reads
  contrib['danmat.restaurant']['featured'] and escapes on render. Menu::featured()
  added behind the MenuSource seam.
- Header nav -> Home · Menu. New homepage CSS in the existing token system,
  responsive at 375px. Seed creates the home collection + entry.

No core change. Design + 3-hat review in docs/design/slice-b-homepage.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@DanMat
DanMat merged commit 5008952 into nimbus-rebuild Sep 6, 2026
6 checks passed
@DanMat
DanMat deleted the slice/homepage branch September 6, 2026 11:03
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.

1 participant