mirror of
https://github.com/dyzulk/trustlab.git
synced 2026-01-26 05:25:36 +07:00
feat: display Family ID and detailed Issuer in CA tables
This commit is contained in:
@@ -24,6 +24,7 @@ interface CaCertificate {
|
|||||||
is_latest: boolean;
|
is_latest: boolean;
|
||||||
issuer_name?: string;
|
issuer_name?: string;
|
||||||
issuer_serial?: string;
|
issuer_serial?: string;
|
||||||
|
family_id?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ArchiveManagementTableProps {
|
interface ArchiveManagementTableProps {
|
||||||
@@ -79,6 +80,9 @@ export default function ArchiveManagementTable({
|
|||||||
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
||||||
Version (UUID)
|
Version (UUID)
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
||||||
|
Family
|
||||||
|
</TableCell>
|
||||||
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
||||||
{t("common_name_th")}
|
{t("common_name_th")}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
@@ -103,6 +107,13 @@ export default function ArchiveManagementTable({
|
|||||||
<TableCell className="px-5 py-4 text-start font-mono text-theme-xs text-gray-500 dark:text-gray-400">
|
<TableCell className="px-5 py-4 text-start font-mono text-theme-xs text-gray-500 dark:text-gray-400">
|
||||||
{cert.uuid}
|
{cert.uuid}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
<TableCell className="px-5 py-4 text-start">
|
||||||
|
{cert.family_id ? (
|
||||||
|
<span className="text-[9px] font-mono bg-gray-100 dark:bg-white/5 px-1 rounded text-gray-500">
|
||||||
|
{cert.family_id.split('-')[0]}
|
||||||
|
</span>
|
||||||
|
) : "-"}
|
||||||
|
</TableCell>
|
||||||
<TableCell className="px-5 py-4 text-start text-theme-sm text-gray-600 dark:text-gray-400">
|
<TableCell className="px-5 py-4 text-start text-theme-sm text-gray-600 dark:text-gray-400">
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<span className="font-medium text-gray-800 dark:text-white/90">{cert.common_name}</span>
|
<span className="font-medium text-gray-800 dark:text-white/90">{cert.common_name}</span>
|
||||||
@@ -157,7 +168,7 @@ export default function ArchiveManagementTable({
|
|||||||
))}
|
))}
|
||||||
{filteredCertificates.length === 0 && (
|
{filteredCertificates.length === 0 && (
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell colSpan={6} className="px-5 py-10 text-center text-gray-500 dark:text-gray-400">
|
<TableCell colSpan={7} className="px-5 py-10 text-center text-gray-500 dark:text-gray-400">
|
||||||
No versions found.
|
No versions found.
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ interface CaCertificate {
|
|||||||
status: string;
|
status: string;
|
||||||
issuer_name?: string;
|
issuer_name?: string;
|
||||||
issuer_serial?: string;
|
issuer_serial?: string;
|
||||||
|
family_id?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface RootCaTableProps {
|
interface RootCaTableProps {
|
||||||
@@ -78,6 +79,9 @@ export default function RootCaTable({
|
|||||||
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
||||||
{t("type_th")}
|
{t("type_th")}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
||||||
|
Family
|
||||||
|
</TableCell>
|
||||||
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
<TableCell isHeader className="px-5 py-3 font-medium text-gray-500 text-start text-theme-xs dark:text-gray-400">
|
||||||
{t("common_name_th")}
|
{t("common_name_th")}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
@@ -105,6 +109,13 @@ export default function RootCaTable({
|
|||||||
<TableCell className="px-5 py-4 text-start font-medium text-gray-800 dark:text-white/90">
|
<TableCell className="px-5 py-4 text-start font-medium text-gray-800 dark:text-white/90">
|
||||||
{formatType(cert.ca_type)}
|
{formatType(cert.ca_type)}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
<TableCell className="px-5 py-4 text-start">
|
||||||
|
{cert.family_id ? (
|
||||||
|
<span className="text-[10px] font-mono bg-gray-100 dark:bg-white/5 px-1.5 py-0.5 rounded text-gray-500">
|
||||||
|
{cert.family_id.split('-')[0]}...
|
||||||
|
</span>
|
||||||
|
) : "-"}
|
||||||
|
</TableCell>
|
||||||
<TableCell className="px-5 py-4 text-start text-theme-sm text-gray-600 dark:text-gray-400">
|
<TableCell className="px-5 py-4 text-start text-theme-sm text-gray-600 dark:text-gray-400">
|
||||||
{cert.common_name}
|
{cert.common_name}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
@@ -144,7 +155,7 @@ export default function RootCaTable({
|
|||||||
))}
|
))}
|
||||||
{filteredCertificates.length === 0 && (
|
{filteredCertificates.length === 0 && (
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell colSpan={7} className="px-5 py-10 text-center text-gray-500 dark:text-gray-400">
|
<TableCell colSpan={8} className="px-5 py-10 text-center text-gray-500 dark:text-gray-400">
|
||||||
{searchTerm ? t("no_ca_search", { term: searchTerm }) : t("no_ca_found")}
|
{searchTerm ? t("no_ca_search", { term: searchTerm }) : t("no_ca_found")}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|||||||
Reference in New Issue
Block a user