From f03389a9a002b5c35f63a3f17b28898786c64c8f Mon Sep 17 00:00:00 2001 From: miloschwartz Date: Wed, 29 Apr 2026 12:14:21 -0700 Subject: [PATCH] fix cert styling --- src/components/CertificateStatus.tsx | 58 +++++++++++++++++-------- src/components/InternalResourceForm.tsx | 4 +- src/components/ResourceInfoBox.tsx | 6 +-- 3 files changed, 46 insertions(+), 22 deletions(-) diff --git a/src/components/CertificateStatus.tsx b/src/components/CertificateStatus.tsx index 660fad62b..0d4fa9026 100644 --- a/src/components/CertificateStatus.tsx +++ b/src/components/CertificateStatus.tsx @@ -1,7 +1,7 @@ "use client"; import { Button } from "@/components/ui/button"; -import { Loader2, RotateCw } from "lucide-react"; +import { CheckCircle2, Clock, Loader2, RotateCw, XCircle } from "lucide-react"; import { useCertificate } from "@app/hooks/useCertificate"; import { useTranslations } from "next-intl"; @@ -59,6 +59,21 @@ export default function CertificateStatus({ } }; + const getStatusIcon = (status: string) => { + switch (status) { + case "valid": + return CheckCircle2; + case "pending": + case "requested": + return Clock; + case "expired": + case "failed": + return XCircle; + default: + return Clock; + } + }; + const shouldShowRefreshButton = (status: string, updatedAt: number) => { return ( status === "failed" || @@ -78,9 +93,9 @@ export default function CertificateStatus({ {t("certificateStatus")}: )} - + {t("loading")} @@ -97,7 +112,10 @@ export default function CertificateStatus({ {t("certificateStatus")}: )} - {certError} + + + {certError} + ); } @@ -110,7 +128,8 @@ export default function CertificateStatus({ {t("certificateStatus")}: )} - + + {t("none", { defaultValue: "None" })} @@ -119,6 +138,7 @@ export default function CertificateStatus({ const isPending = cert.status === "pending"; const disableRestartButton = cert.domainType === "wildcard"; + const StatusIcon = getStatusIcon(cert.status); return (
@@ -127,17 +147,20 @@ export default function CertificateStatus({ {t("certificateStatus")}: )} - {isPending ? ( + {isPending && !disableRestartButton ? ( ) : ( - - + + + {cert.status.charAt(0).toUpperCase() + cert.status.slice(1)} - {shouldShowRefreshButton( - cert.status, - cert.updatedAt - ) && ( + {shouldShowRefreshButton(cert.status, cert.updatedAt) && + !disableRestartButton ? ( - )} + ) : null} )} diff --git a/src/components/InternalResourceForm.tsx b/src/components/InternalResourceForm.tsx index 56bca891f..62e4fc611 100644 --- a/src/components/InternalResourceForm.tsx +++ b/src/components/InternalResourceForm.tsx @@ -1154,8 +1154,8 @@ export function InternalResourceForm({ resource.fullDomain && build != "oss" && form.watch("ssl") && ( -
- +
+ {t("certificateStatus")}: - + {t("protected")}
) : ( -
- +
+ {t("notProtected")}
)}