Adopt shared WebUI layout primitives

This commit is contained in:
2026-08-18 11:30:40 +02:00
parent fba4117b0c
commit a8ec72d8a9
2 changed files with 10 additions and 8 deletions
@@ -1,3 +1,4 @@
import { DescriptionList } from "@govoplan/core-webui";
import { useEffect, useRef, useState } from "react"; import { useEffect, useRef, useState } from "react";
import { import {
AdminPageLayout, AdminPageLayout,
@@ -237,14 +238,14 @@ export default function RetentionPoliciesPanel({ settings, scopeType, canWrite }
</Card> </Card>
{retentionResult && ( {retentionResult && (
<Card title="Latest retention outcome" helpContextId="policy.retention.outcome"> <Card title="Latest retention outcome" helpContextId="policy.retention.outcome">
<dl className="detail-list compact-detail-list"> <DescriptionList variant="inline" density="compact">
<div> <div>
<dt>Operation</dt> <dt>Operation</dt>
<dd><StatusBadge status={retentionResult.result.dry_run ? "info" : "success"} label={retentionResult.result.dry_run ? "Dry run" : "Applied"} /></dd> <dd><StatusBadge status={retentionResult.result.dry_run ? "info" : "success"} label={retentionResult.result.dry_run ? "Dry run" : "Applied"} /></dd>
</div> </div>
<div><dt>Policy scope</dt><dd>{humanize(retentionResult.result.effective_policy_scope || "system")}</dd></div> <div><dt>Policy scope</dt><dd>{humanize(retentionResult.result.effective_policy_scope || "system")}</dd></div>
<div><dt>Reported outcomes</dt><dd>{resultRows.length}</dd></div> <div><dt>Reported outcomes</dt><dd>{resultRows.length}</dd></div>
</dl> </DescriptionList>
<div className="admin-table-surface"> <div className="admin-table-surface">
<DataGrid <DataGrid
id="policy-retention-outcomes" id="policy-retention-outcomes"
@@ -1,3 +1,4 @@
import { DescriptionItem, DescriptionList } from "@govoplan/core-webui";
import { useEffect, useMemo, useState } from "react"; import { useEffect, useMemo, useState } from "react";
import { import {
AdminPageLayout, AdminPageLayout,
@@ -333,12 +334,12 @@ export default function ViewPoliciesPanel({ settings, scopeType, canWrite }: Pro
</Card> </Card>
<Card title="Effective policy and provenance"> <Card title="Effective policy and provenance">
<dl className="admin-details-grid"> <DescriptionList>
<div><dt>Local override</dt><dd><StatusBadge status={state.id ? "info" : "neutral"} label={state.id ? `Revision ${state.revision}` : "Inherited"} /></dd></div> <DescriptionItem term={<>Local override</>}><StatusBadge status={state.id ? "info" : "neutral"} label={state.id ? `Revision ${state.revision}` : "Inherited"} /></DescriptionItem>
<div><dt>Allowed Views</dt><dd>{ceilingLabel(state.effective_policy.allowed_view_ids)}</dd></div> <DescriptionItem term={<>Allowed Views</>}>{ceilingLabel(state.effective_policy.allowed_view_ids)}</DescriptionItem>
<div><dt>Visible surfaces</dt><dd>{ceilingLabel(state.effective_policy.visible_surface_ids)}</dd></div> <DescriptionItem term={<>Visible surfaces</>}>{ceilingLabel(state.effective_policy.visible_surface_ids)}</DescriptionItem>
<div><dt>Policy path</dt><dd>{state.source_path.length ? state.source_path.map((step) => `${step.scope_type}${step.scope_id ? `:${step.scope_id}` : ""}`).join(" -> ") : "Platform defaults"}</dd></div> <DescriptionItem term={<>Policy path</>}>{state.source_path.length ? state.source_path.map((step) => `${step.scope_type}${step.scope_id ? `:${step.scope_id}` : ""}`).join(" -> ") : "Platform defaults"}</DescriptionItem>
</dl> </DescriptionList>
</Card> </Card>
</> </>
)} )}