import { getLocale, getTranslations } from "next-intl/server"; import { Pill } from "@/components/mockup-ui"; import { formatDateKey, formatInstantDate } from "@/lib/trial/dates"; import { computeTrialState, type TenantTrialRow } from "@/server/services/trial/state"; /** L15 Testphase: plan badge(s) in the platform tenant list ("Test bis …", "abgelaufen – nur lesen", "Löschung am …"). */ export async function TrialBadge({ tenant }: { tenant: TenantTrialRow }) { const [t, locale] = await Promise.all([getTranslations("trial.platform"), getLocale()]); if (tenant.trialDeletedAt) return {t("badgeDeleted")}; const state = computeTrialState(tenant); if (!state.isTrial) return {t("badgeFull")}; return ( {state.expired ? {t("badgeExpired")} : {t("badgeUntil", { date: formatDateKey(state.endDateKey!, locale) })}} {state.deletionDueAt && {t("badgeDeletion", { date: formatInstantDate(state.deletionDueAt, locale) })}} ); }