{{ 'fb_in_app_browser_popup.desc' | translate }} {{ 'fb_in_app_browser_popup.copy_link' | translate }}
{{ 'in_app_browser_popup.desc' | translate }}
🚚 正價買滿 $488 順豐免運費
🎁 成為會員 可享更多優惠
{{ childProduct.title_translations | translateModel }}
{{ getChildVariationShorthand(childProduct.child_variation) }}
{{ getSelectedItemDetail(selectedChildProduct, item).childProductName }} x {{ selectedChildProduct.quantity || 1 }}
{{ getSelectedItemDetail(selectedChildProduct, item).childVariationName }}
What I recommend
Keep a single monorepo, but isolate the new data layer so schema changes can’t touch the legacy app.
1) Isolate by package + runtime (no shared DB models)
Legacy app (apps/chad-legacy-web): stays on Firestore; no Supabase client in its deps.
New app (apps/chad-family-web and/or apps/chad-mobile): is the only thing depending on @chad/db-v2 (SQL migrations, RLS, RPCs).
Shared “contracts” (packages/core-domain): only types & business enums, no DB schema exports.
This matches your phased migration and keeps all relational work contained to the new surface area.
2) Put a stable API in front of Supabase for the new app
Add a tiny BFF / core API (apps/core-api) that talks to Supabase (DDL/RLS/RPC) and exposes versioned endpoints to web/mobile.
Clients never import SQL; they call /v1/....