Story 1.19 — four-provider spike

ADR 0017 reference implementation. Every Phase B web story copies the wiring under ~/app/providers/.

(i) i18n / locale — react-i18next via @despensapp/i18n/react

Translated string: Despensapp / Continuar / Cargando…

Current locale: (hydrating)

(ii) Theme / design tokens — Tamagui tokens → Tailwind v4 bridge

The div below pulls --primary / --primary-foregroundfrom the generated tooling/tailwind/theme.css, sourced from packages/ui-consumer/src/tokens/colors.ts.

Warm-olive accent token rendered via Tailwind class binding.
Subtle olive surface — used for selected radio states above.

(iii) Auth / session — @supabase/ssr browser client

Session email: (no session — spike runs without auth)

Server Components consume the per-request server client from ~/lib/supabase/server. Client Components consume the per-tab browser client via useSupabaseClient().

(iv) tRPC + TanStack Query — auth.whoami probe

Loading auth.whoami from apps/api