SkateSpots/src/pages
SkateSpots 09735375c2 feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1)
- First-visit language auto-detect (Spanish devices land in es; stored choice wins).
- Sasquatch AI replies in the app language (skate trick names kept English).
- i18n safety net: scripts/check-i18n.mjs wired into npm test — fails on any t()
  key missing from en/es or any en/es key drift.
- ~1,680 new keys (2,297 total) across mapUi / spotUi / marketUi / labUi and
  ~65 files wired to t(): Map, spots (detail/create/edit/chat), marketplace,
  trades, offers, escrow, shipping, The Lab, /become/* forms, coaches, skaters.
- Policy: only skate TRICK names stay English; user-generated content untouched.
2026-10-01 23:57:20 +07:00
..
AboutPage.tsx ui(support): move 'Keep the map free' from /about to /supporters 2026-09-29 11:08:57 +07:00
AdminReviewPage.tsx contents(admin): tidy the review queue + add gallery screenshots 2026-09-28 11:08:31 +07:00
AmberCallbackPage.tsx ux: migrate more empty states + fill in missing page titles (U1/U2) 2026-09-24 18:50:25 +07:00
AppShopPage.tsx contents(app-shop): move the free printables into the 'Sticker packs' entry 2026-09-28 11:21:03 +07:00
BecomeBuilderPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
BecomeCoachPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
BecomeEditorPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
BecomeFilmerPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
BecomePhotographerPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
BecomeRolePage.tsx refactor: consolidate become-* routes + migrate empty states to shared component 2026-09-24 18:44:53 +07:00
BecomeSkaterPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
BountyLeaderboardPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CoachDetailPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
CollectionDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CommunityStatsPage.tsx fix(stats): robust trade volume instead of a sybil-inflatable sum 2026-10-01 15:53:13 +07:00
ContactsPage.tsx fix(dm): read history from the user's real inbox relays, not a stale list 2026-09-28 14:13:51 +07:00
ConversationPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CreateCrewPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CreateEventPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CreateListingPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
CreateShopPage.tsx feat(stats): reconcile the region card, and geocode shops too 2026-10-01 13:27:44 +07:00
CreateSpotPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
CreateTourPage.tsx fix(pro): single-source the platform Lightning address + show it to payers 2026-09-27 14:13:37 +07:00
CrewDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CrewsPage.tsx ui: mint details sheet, crews type filter, smoother directions 2026-09-29 17:47:58 +07:00
DirectMessagesPage.tsx fix(dm): read history from the user's real inbox relays, not a stale list 2026-09-28 14:13:51 +07:00
EditCrewPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
EditEventPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
EditShopPage.tsx feat(stats): reconcile the region card, and geocode shops too 2026-10-01 13:27:44 +07:00
EditSpotPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
EditTourPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
EventDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
EventsPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
FAQPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
FoodPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
GearSwapPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
GlossaryPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
GroupConversationPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
Index.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
LabPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
LicensePage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
ListingDetailPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
MapPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
MarketplaceHubPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
MarketplacePage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
MintsPage.tsx feat(mints): surface MintRadar's community ratings, reliability and audit data 2026-09-29 18:02:57 +07:00
NewsletterPage.tsx feat(newsletter): add Drop #006 to the archive (+cover support), incl. Sasquatch and Mints 2026-09-27 20:26:14 +07:00
NIP19Page.tsx feat(coordinator): profile discovery — publish yours, add theirs in one tap 2026-09-29 16:17:16 +07:00
NotFound.tsx New project created with Shakespeare 2026-06-15 19:49:07 +07:00
OnboardingPage.tsx feat(onboarding): clearer signup steps, backup confirmation, home area 2026-10-01 09:44:47 +07:00
PrivacyPage.tsx feat(push): client half - subscribe flow, service worker, DM marker 2026-10-01 15:39:04 +07:00
PyramidPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
RiderCardPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
SettingsPage.tsx feat(stats): admin backfill for legacy untagged spots/shops 2026-10-01 13:58:21 +07:00
ShopDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
SignersPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
SkatersPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
SpotCollectionsPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
SpotDetailPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
StashPage.tsx feat(stash): merge multi-device changes instead of clobbering 2026-10-01 09:57:19 +07:00
SupportersPage.tsx ui(support): move 'Keep the map free' from /about to /supporters 2026-09-29 11:08:57 +07:00
TourDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
TradesPage.tsx feat(i18n): Spanish (Castellano) — infra + Map/Spots, Marketplace, Lab (batch 1) 2026-10-01 23:57:20 +07:00
WalletPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
ZapLeaderboardPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00