Adopt shared WebUI layout primitives
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import { MetricGrid } from "@govoplan/core-webui";
|
||||||
import { useCallback, useEffect, useMemo, useState } from "react";
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
||||||
import { Eye, RefreshCw, RotateCw, ShieldOff } from "lucide-react";
|
import { Eye, RefreshCw, RotateCw, ShieldOff } from "lucide-react";
|
||||||
import {
|
import {
|
||||||
@@ -247,12 +248,12 @@ export default function IdentityTrustPanel({ settings, auth, administrative = fa
|
|||||||
</Card>}
|
</Card>}
|
||||||
|
|
||||||
<LoadingFrame loading={loading} label="Loading identity trust state">
|
<LoadingFrame loading={loading} label="Loading identity trust state">
|
||||||
<div className="metric-grid compact">
|
<MetricGrid density="compact">
|
||||||
<MetricCard label="Active device keys" value={keys.filter((key) => key.status === "active").length} tone="good" />
|
<MetricCard label="Active device keys" value={keys.filter((key) => key.status === "active").length} tone="good" />
|
||||||
<MetricCard label="Revoked or expired" value={keys.filter((key) => key.status !== "active").length} tone="warning" />
|
<MetricCard label="Revoked or expired" value={keys.filter((key) => key.status !== "active").length} tone="warning" />
|
||||||
<MetricCard label="Active assurance evidence" value={activeEvidence.length} tone={activeEvidence.length ? "good" : "warning"} />
|
<MetricCard label="Active assurance evidence" value={activeEvidence.length} tone={activeEvidence.length ? "good" : "warning"} />
|
||||||
<MetricCard label="Highest assurance" value={humanize(highestAssurance)} tone={highestAssurance === "None" ? "warning" : "info"} />
|
<MetricCard label="Highest assurance" value={humanize(highestAssurance)} tone={highestAssurance === "None" ? "warning" : "info"} />
|
||||||
</div>
|
</MetricGrid>
|
||||||
|
|
||||||
<Card title="Device keys" actions={<ToggleSwitch label="Show revoked and expired" checked={showRevoked} onChange={setShowRevoked} />}>
|
<Card title="Device keys" actions={<ToggleSwitch label="Show revoked and expired" checked={showRevoked} onChange={setShowRevoked} />}>
|
||||||
<p className="muted small-note">Only public key and trust metadata are stored. Revocation blocks future server-mediated use but cannot erase plaintext or key material already obtained by a device.</p>
|
<p className="muted small-note">Only public key and trust metadata are stored. Revocation blocks future server-mediated use but cannot erase plaintext or key material already obtained by a device.</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user