{t("subtitle")}
- -
+
+
diff --git a/src/app/[locale]/billing/page.tsx b/src/app/[locale]/billing/page.tsx index 22207db..343e86e 100644 --- a/src/app/[locale]/billing/page.tsx +++ b/src/app/[locale]/billing/page.tsx @@ -49,7 +49,9 @@ export default async function CustomerBillingPage() {
{t("subtitle")}
- -{t("failureBannerTitle")}
++ {t("failureBannerBody", { count: recentFailures.length })} +
+- {data && "code" in data && data.code === "COMPUTE_FAILED" - ? t("noBillingConfig") - : t("currentPeriodError")} + {noConfig ? t("noBillingConfig") : t("currentPeriodError")}
+ {/* Phase 6: owner-only CTA. Non-owners can't edit billing + settings, so we show them a "contact owner" hint instead + — that's gentler than a button that 404s on click. */} + {noConfig && isOwner && ( + + {t("configureBillingCta")} + + )} + {noConfig && !isOwner && ( ++ {t("noBillingConfigNonOwner")} +
+ )}{error}
+ )} + {savedFlash && ( +{t("saved")}
+ )} +{hint}
+ )} +