improve cert restart button style

This commit is contained in:
miloschwartz
2026-04-26 16:50:40 -07:00
parent 5695137280
commit 6befdfe01e
2 changed files with 42 additions and 21 deletions

View File

@@ -1596,7 +1596,7 @@
"initialSetupDescription": "Create the intial server admin account. Only one server admin can exist. You can always change these credentials later.", "initialSetupDescription": "Create the intial server admin account. Only one server admin can exist. You can always change these credentials later.",
"createAdminAccount": "Create Admin Account", "createAdminAccount": "Create Admin Account",
"setupErrorCreateAdmin": "An error occurred while creating the server admin account.", "setupErrorCreateAdmin": "An error occurred while creating the server admin account.",
"certificateStatus": "Certificate Status", "certificateStatus": "Certificate",
"loading": "Loading", "loading": "Loading",
"loadingAnalytics": "Loading Analytics", "loadingAnalytics": "Loading Analytics",
"restart": "Restart", "restart": "Restart",

View File

@@ -117,6 +117,8 @@ export default function CertificateStatus({
); );
} }
const isPending = cert.status === "pending";
return ( return (
<div className={`flex items-center gap-2 ${className}`}> <div className={`flex items-center gap-2 ${className}`}>
{showLabel && ( {showLabel && (
@@ -124,14 +126,32 @@ export default function CertificateStatus({
{t("certificateStatus")}: {t("certificateStatus")}:
</span> </span>
)} )}
{isPending ? (
<Button
variant="ghost"
className={`h-auto p-0 text-sm ${getStatusColor(cert.status)}`}
onClick={handleRefresh}
disabled={refreshing}
title={t("restartCertificate", {
defaultValue: "Restart Certificate"
})}
>
<span className="inline-flex items-center gap-1">
{cert.status.charAt(0).toUpperCase() + cert.status.slice(1)}
<RotateCw
className={`h-3 w-3 ${refreshing ? "animate-spin" : ""}`}
/>
</span>
</Button>
) : (
<span className={`text-sm ${getStatusColor(cert.status)}`}> <span className={`text-sm ${getStatusColor(cert.status)}`}>
<span className="inline-flex items-center"> <span className="inline-flex items-center gap-1">
{cert.status.charAt(0).toUpperCase() + cert.status.slice(1)} {cert.status.charAt(0).toUpperCase() + cert.status.slice(1)}
{shouldShowRefreshButton(cert.status, cert.updatedAt) && ( {shouldShowRefreshButton(cert.status, cert.updatedAt) && (
<Button <Button
size="icon" size="icon"
variant="ghost" variant="ghost"
className="ml-2 p-0 h-auto align-middle" className="p-0 w-3 h-auto align-middle"
onClick={handleRefresh} onClick={handleRefresh}
disabled={refreshing} disabled={refreshing}
title={t("restartCertificate", { title={t("restartCertificate", {
@@ -139,12 +159,13 @@ export default function CertificateStatus({
})} })}
> >
<RotateCw <RotateCw
className={`w-4 h-4 ${refreshing ? "animate-spin" : ""}`} className={`w-3 h-3 ${refreshing ? "animate-spin" : ""}`}
/> />
</Button> </Button>
)} )}
</span> </span>
</span> </span>
)}
</div> </div>
); );
} }