Skip to content

Restore the Ritz Champagne top, equal segments under 340px, amount column widths, side safe-area insets, storage event listener - #98

Merged
cjimti merged 1 commit into
mainfrom
ritz-top-and-edge-papercuts
Sep 12, 2026
Merged

cjimti merged 1 commit into
mainfrom
ritz-top-and-edge-papercuts

Conversation

@cjimti

@cjimti cjimti commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Changes

#85 Ritz, option B. data/cocktails.json: code Q,h,q,q,3,2,cfo, method shaken, 2 oz Champagne as the last pour, same spelling as the French 75. Taste line rewritten; one history sentence says the top was restored. The entry moves into the shaken cognac section. Regenerated: kin.json (Ritz files under Sparkling), llms.txt, llms-full.txt, 11 drink pages, sitemap.xml, assets/cards/ritz.png.

#94 Segments under 340px. On main the row no longer overflows at 320px (the fifth segment is Shapes now), but flex gave five unequal buttons and STIRRED and SHAKEN touched their rules. @media (max-width: 339px) sets .seg--wide .seg__b tracking to .05em: equal widths, 2.9px spare on STIRRED. 375 and 390px unchanged.

#95 Amount column. 2 barspoons was 82.5px in a 74px column on screen and 70.4px in a 69.3px column on paper. .pour is now 84px 1fr, .print-card .pour is 54pt 1fr, both sized to eleven DM Mono advances at the amount's font size.

#96 Side safe-area insets. --pad: max(20px, env(safe-area-inset-left), env(safe-area-inset-right)), and .tabbar takes the side insets as padding-inline. With no inset the padding is 20px as before.

#97 Storage event. storesChanged is added after boot: it ignores keys outside the five stores, reloads them, re-applies print flags, runs syncHaveFromBrands, drops Undo when the shelf or brands changed, and repaints through afterShelf(true). It never saves. loadPrintOpts reads a missing store as the defaults, so a localStorage.clear() in another tab resets the print ticks.

Size: app.css +23/−6, app.js +26/−2, cocktails.json +8/−8; the rest is generated.

Checked

  • make verify passes.
  • Chrome, two same-origin iframes of the app: ticks carry both ways without either overwriting the other; Clear the shelf then a tick in the other frame removes the Undo strip; menu title and print ticks carry; clear() resets both; unrelated keys do not repaint; nothing is written back; a frame on a ?s= link stays on Shared menu while My Shelf updates underneath.
  • Segment widths measured at 320, 339, 375 and 390px.
  • Every amount label measured on screen and against the print rules applied as screen rules (686 rows).
  • A 44px left inset substituted into the stylesheet at 844 and 932px: brand, filter row and tab bar clear it, no horizontal scroll.

Not checked

  • A real notched phone in landscape.
  • Safari or Chrome print preview.
  • Light mode (no colour changes).
  • Two real browser tabs, or the home-screen app beside Safari.

The Ritz recipe prints Shake hard with ice, then strain. with Champagne among the pours, which is the same wording the French 75 already has.

Closes #85. Closes #94. Closes #95. Closes #96. Closes #97.

…lumn widths, side safe-area insets, storage event listener

data/cocktails.json: ritz is Q,h,q,q,3,2,cfo, method shaken, with 2 oz Champagne as the last pour; taste rewritten and one history sentence added; the entry moves into the shaken cognac section. kin.json (Ritz now Sparkling), llms.txt, llms-full.txt, 11 drink pages, sitemap.xml and assets/cards/ritz.png regenerated.

app.css: under 340px wide .seg--wide .seg__b tracking is .05em so the five segments are equal width; the stale Families comment now says Shapes. .pour amount column is 84px on screen and 54pt in print, eleven DM Mono advances for 2 barspoons. --pad is max(20px, env(safe-area-inset-left), env(safe-area-inset-right)) and .tabbar takes the side insets as padding-inline.

app.js: a storage listener added after boot reloads the five stores, re-applies print flags, drops Undo when the shelf or brands changed, and repaints through afterShelf; it never saves. loadPrintOpts reads a missing store as the defaults.

Closes #85. Closes #94. Closes #95. Closes #96. Closes #97.
@cjimti
cjimti merged commit 250510b into main Sep 12, 2026
1 check passed
@cjimti
cjimti deleted the ritz-top-and-edge-papercuts branch September 12, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment