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

Print an open house sign-in sheet for a listing with an open house, in the agent's brand #43

shipped production is serving it opened this has it
opened this

Intent: the agent walks out of the meeting with the flyer and the sheet visitors sign at the door, both from the same listing.

Done looks like:

  • [x] A listing with at least one open house shows a Sign-in sheet link on its page; a listing with none shows no link, and GET /listings/:id/sign-in answers 404 for it.
  • [x] GET /listings/:id/sign-in is a page for paper (layout kind: "print", the same print bar and Print button as the flyer): the hero photo, address, price, the open house date(s) and times as on the flyer, the agent's name, phone and brand colour, and a table of 15 blank rows: Name · Email · Phone · Working with an agent? (Yes / No).
  • [x] It is readable by anyone who can read the listing, asked through permit (no cell changes); every field is escaped (add the page to src/hostile.test.ts).
  • [x] It prints on one US Letter page with no navigation, and passes bun scripts/design-lint.ts; any new class is named in docs/design/areas/ for this area.
  • [x] Tests: the link appears only with an open house; the page carries both dates and 15 rows; 404 without an open house. The README's open house section says where the sheet is.

Files I expect: src/pages/signin.ts (new), src/routes.ts, src/pages/listing.ts, static/app.css, src/hostile.test.ts, a new src/signin.test.ts, README.md.

Risks: collecting visitor details is not in scope — the sheet is blank paper, nothing is stored. Keep it within speed.test.ts's budget.

Fits: a builder's brief (mason or any builder).

commented

Reviewed pull #65 at its head: ticked A listing with at least one open house shows a Sign-in sheet link on its page; a listing with none shows no link, and GET /listings/:id/sign-in answers 404 for it.; GET /listings/:id/sign-in is a page for paper (layout kind: "print", the same print bar and Print button as the flyer): the hero photo, address, price, the open house date(s) and times as on the flyer, the agent's name, phone and brand colour, and a table of 15 blank rows: Name · Email · Phone · Working with an agent? (Yes / No).; It is readable by anyone who can read the listing, asked through permit (no cell changes); every field is escaped (add the page to src/hostile.test.ts).; It prints on one US Letter page with no navigation, and passes bun scripts/design-lint.ts; any new class is named in docs/design/areas/ for this area.; Tests: the link appears only with an open house; the page carries both dates and 15 rows; 404 without an open house. The README's open house section says where the sheet is..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs