freezmo/lib
Martin Dvorak f98795436d Fix the iOS install sheet: exact Safari flow, chips, iOS blue, layout
Steps
- iOS now uses the exact flow: Safari users get 4 steps (⋯ → Share/More →
  Add to Home Screen → Add); non-Safari (CriOS/FxiOS/EdgiOS/in-app) get a
  first 'Open this page in Safari' step and 5 total. The vague 'in some
  browsers it's under…' wording is gone.

Chips and icons
- The ⋯ chip renders a single three-dot icon (icon-only pill) instead of
  the icon plus an '⋯' character (which showed two sets of dots).
- The More chip uses a chevron-down icon instead of the rounded-square.
- The accent pill uses real iOS blue: #0A84FF dark / #007AFF light, still
  the only coloured element.
- Steps and chips share one 16px type scale; chip labels are medium weight.

Typography and layout
- Numbers are small muted circles in a fixed 24px column, aligned with the
  first text line via matching line-height.
- Removed trailing periods after chips; steps tightened.
- Bottom padding is calc(24px + env(safe-area-inset-bottom)) and a
  secondary 'Maybe later' button sits below the steps.
- max-height 90dvh with inner scrolling; 36×4px low-contrast handle with
  real swipe-down-to-close (momentum off, spring back).
- App card shows the hostname only (no port), truncated.

Themes
- Dark (default): layered surfaces #1c1c1e sheet / #2c2c2e card / #3a3a3c
  chips with 8% white borders; subtle logo tile instead of solid white;
  backdrop is 50% black with 4px blur.
- Light only when the app theme was explicitly set to light, ignoring the
  system preference; borders #e0e0e0, chip fills #f2f2f2.

Also fixes a crash the test pressure exposed: a 429 (rate-limited)
/api/health response crashed Settings at health.vision.available.
fetchHealth now rejects non-OK/malformed responses so the dialog shows its
error banner instead of the app error screen.

Install-sheet suite now 64 checks; pwa/final-ux/security/contrast green.
2026-10-07 08:49:32 +00:00
..
ai.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
client-api.ts Fix the iOS install sheet: exact Safari flow, chips, iOS blue, layout 2026-10-07 08:49:32 +00:00
confetti.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
config.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
deck-ops.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
documents.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
folders.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
http-guard.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
image.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
install.ts Add the Install the app bottom sheet for mobile browsers 2026-10-07 08:27:43 +00:00
language.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
nav.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
ollama.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
prompts.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
rate-limit.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
schemas.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
settings.ts Add full-screen API-key gate 2026-10-06 21:20:22 +00:00
storage.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
ui-events.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
use-health.ts Add full-screen API-key gate 2026-10-06 21:20:22 +00:00
utils.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
xp.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00