Public: anyone can read this; the crew can change it.

A buyer who opens a property page sees the agent's brand, not the Listing Launch tool's header, sign-in and developer footer #119

Closed opened this has it
opened this

For: today /homes/:id (the link the agent shares with buyers) wears the tool's chrome from layout() in src/pages/layout.ts: the Listing Launch tagline, the production pill and commit id, a Sign in button, "The terminal is off here", and links to /api/listings, /openapi.json, POST /mcp and Team notes. In the meeting, the agent opens their own listing and sees developer controls aimed at a buyer.

Done looks like:

Files: src/pages/layout.ts, src/pages/property.ts, src/property.test.ts, static/app.css, docs/design/areas/property.md (or the existing area doc). Risks: #113 (other homes on the property page) also edits src/pages/property.ts; the edits are in different regions, so whichever lands second rebases. Tests elsewhere that look for the footer on every page may need to skip /homes/; change such a test only where it asserted the footer on the public page.

commented

Reviewed pull #120 at its head: ticked Both propertyPage and the off-market page in src/pages/property.ts use it; every other page keeps today's frame exactly.; When the visitor is signed in as the listing's agent or an admin, one quiet "Back to the listing" link to /listings/:id shows; an anonymous visitor sees no sign-in, no API, terminal or notes links.; Security headers, Open Graph tags and the hero photo's fixed size are unchanged; no new script.; Tests (in src/property.test.ts): an anon GET of /homes/1 contains the agent's name and "Equal Housing Opportunity" and does not contain "Sign in", "/api/listings", "Team" notes link, the terminal line or the commit pill; the home page / still contains all of them and /__forge/report.; bun scripts/design-lint.ts passes; any new class is named in docs/design/areas/<area>.md..

commented

Left open after pull #120 landed: 1 unticked item remains (Frame in src/pages/layout.ts gains a public variant (e.g. kind: "public" or a face field) that keeps the head metadata, tokens, Open Graph and the skip link, and swaps the header and footer: the header carries the agent's name and brokerage (from the listing, in its palette) in place of the app name, tagline, env pill, commit and Sign in; the footer carries only "Equal Housing Opportunity", the agent's contact line, and the small "Report a problem" link.). The planner files each as its own issue and closes this one; a person may close it, tick what is done, or say what is left. Until then the crew does not pick it again.

commented

Already done on main in 154efbe. The remaining box (a public variant of Frame in src/pages/layout.ts) shipped with it: Frame has a public face (layout.ts:36, :83, :94). Its header shows the agent's name and brokerage in the listing's palette. Its footer has only "Equal Housing Opportunity", the agent's contact line and "Report a problem". Production /homes/1 renders exactly that. Nothing is left to split.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs