diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx index 8b73c5c..c785cbf 100644 --- a/app/dashboard/page.tsx +++ b/app/dashboard/page.tsx @@ -154,6 +154,19 @@ export default async function DashboardPage() { ]), ); + const subscriptionDisplayNameById = new Map( + (domainSubscriptions ?? []) + .filter((subscription: any) => subscription?.id) + .map((subscription: any) => [ + String(subscription.id), + String( + subscription?.name || + subscription?.plesk_subscription_id || + subscription?.id, + ), + ]), + ); + const subscriptionStatusByExternalId = new Map( (domainSubscriptions ?? []) .filter((subscription: any) => @@ -278,6 +291,10 @@ export default async function DashboardPage() { return { ...domain, status: joinedStatus ?? "unknown", + subscription_name: domain.subscription_id + ? (subscriptionDisplayNameById.get(domain.subscription_id) ?? + null) + : null, }; })} autoSyncByInstance={Object.fromEntries(autoSyncByInstance.entries())} diff --git a/components/dashboard/dashboard-controls.tsx b/components/dashboard/dashboard-controls.tsx index b1994e8..5a639d2 100644 --- a/components/dashboard/dashboard-controls.tsx +++ b/components/dashboard/dashboard-controls.tsx @@ -32,6 +32,7 @@ type Domain = { id: string; plesk_instance_id: string; subscription_id: string | null; + subscription_name?: string | null; domain_name: string; status: string | null; hosting_type: string | null; @@ -72,6 +73,23 @@ function getDomainStatusBadge(status: string | null) { return "bg-slate-100 text-slate-600"; } +function formatDomainStatusLabel(status: string | null) { + const normalized = (status ?? "unknown").toLowerCase(); + + if (normalized.includes("suspend")) return "Suspended"; + if (normalized.includes("disabled")) return "Disabled"; + if (normalized.includes("expired")) return "Expired"; + if ( + normalized.includes("active") || + normalized.includes("ok") || + normalized.includes("enabled") + ) { + return "Active"; + } + + return "Unknown"; +} + function isDomainSuspended(status: string | null) { const normalized = (status ?? "unknown").toLowerCase(); return normalized.includes("suspend") || normalized.includes("disabled"); @@ -618,16 +636,26 @@ export function DashboardControls({ {domain.domain_name} {domain.subscription_id ? ( -

- Subscription: {domain.subscription_id} +

+ Subscription: {domain.subscription_name ?? "Linked"}

- ) : null} + ) : ( +

+ Subscription: Unlinked +

+ )} - {domain.status ?? "unknown"} + {formatDomainStatusLabel(domain.status)} @@ -645,7 +673,14 @@ export function DashboardControls({