SkateSpots/scripts
SkateSpots fa0b9cfe1c Fix raw i18n keys on coach chips; add structured rate + form polish
The coach option chips rendered raw 'labUi.coachForm.…' keys because the 29
per-option translation keys were referenced dynamically (t(option.key)) and had
never been added — the literal-only i18n guard missed them. Add every option
key (EN/ES) and extend scripts/check-i18n.mjs to also scan data tables for
key/titleKey/labelKey/badgeKey entries so this can't recur.

Also fix the chip layout: the global mobile 'button { min-height:44px }' rule
turned every chip into a 44px slab; add min-h-0 to the coach option chips,
language chips, Lab facet chips and Lab active-filter chips.

Remaining nice-to-haves:
- Structured rate: rate_amount + rate_currency (sats/USD/EUR/GBP) + rate_unit
  (hour/session/half-day/day/camp), rendered on the detail page; legacy
  freeform 'rate' still shows and acts as an optional note.
- Section the long coach form with a FormSection divider.
- Restyle the coach identity block from a red error-looking box to a neutral
  avatar card.
2026-10-04 10:05:11 +07:00
..
systemd feat(ops): a "why isn't it live?" health check (signer + deploy) 2026-10-01 10:42:01 +07:00
archive-relay.mjs feat(backup): scoped weekly archive of the community relay dataset 2026-09-28 12:41:50 +07:00
auto-deploy.sh feat(ops): a "why isn't it live?" health check (signer + deploy) 2026-10-01 10:42:01 +07:00
backup-relay.sh chore(backup): support a second offsite repo (restic-2.env) 2026-09-28 14:24:57 +07:00
check-i18n.mjs Fix raw i18n keys on coach chips; add structured rate + form polish 2026-10-04 10:05:11 +07:00
deploy-ai-proxy.sh feat(ai-proxy): run the AI proxy on the CVM host, ready to switch over 2026-09-28 13:32:05 +07:00
deploy-cvm.sh chore(cvm): one-command deploy to the single host + document the setup 2026-09-27 12:04:57 +07:00
deploy-push.sh feat(push): self-hosted closed-app push service (Phase 1 backend) 2026-10-01 15:34:43 +07:00
drill-relay.mjs chore(backup): offsite on the CVM host (SFTP) + proven restore drill 2026-09-28 13:16:53 +07:00
inject-amber-queries.mjs v1.2.0: Spedn label, multi-relay community stats, GrapheneOS Near-Me fix 2026-08-27 14:54:00 +07:00
inject-main-activity.mjs fix(amber): Amethyst-style foreground-intent signer to end the GrapheneOS sign hang 2026-09-07 12:39:00 +07:00
inject-network-security.mjs Citrine: native cleartext config, default-pool write wiring, polished UI (1.3.1) 2026-09-08 19:11:51 +07:00
inject-signing-config.mjs fix(android): support absolute storeFile path in signing-config injector 2026-09-26 16:02:17 +07:00
install-archive-timer.sh feat(backup): scoped weekly archive of the community relay dataset 2026-09-28 12:41:50 +07:00
install-ops-health-timer.sh feat(ops): a "why isn't it live?" health check (signer + deploy) 2026-10-01 10:42:01 +07:00
make-print-art.mjs feat(app-shop): add free printable sticker + poster (vector, real QR) 2026-09-27 22:16:43 +07:00
ops-health.sh fix(ops): don't flag a dirty-tree skip that's already been committed 2026-10-01 11:15:16 +07:00
restic.env.example chore(backup): support a second offsite repo (restic-2.env) 2026-09-28 14:24:57 +07:00
restore-relay.mjs feat(backup): scoped weekly archive of the community relay dataset 2026-09-28 12:41:50 +07:00
smoke-test.mjs fix(ux): recoverable route error screen + smoke-test shop/spot routes 2026-10-02 10:52:18 +07:00
sync-android-version.mjs Bump to 1.0.93 (1.0.92 already live) + versionCode scheme matches published 1.0.x 2026-07-30 22:43:32 +07:00