feat(ui): CheckpointsTable emits grid fragment + locale sub-line

This commit is contained in:
hsiegeln
2026-04-23 17:03:31 +02:00
parent 77f5c82dfe
commit 177673ba62

View File

@@ -38,19 +38,21 @@ export function CheckpointsTable({
const hidden = checkpoints.length - visible.length;
return (
<div className={styles.checkpointsSection}>
<>
<span className={styles.configLabel}>Checkpoints</span>
<div className={styles.checkpointsTriggerCell}>
<button
type="button"
className={styles.checkpointsHeader}
className={styles.checkpointsTrigger}
onClick={() => setOpen((v) => !v)}
aria-expanded={open}
>
<span className={styles.checkpointsChevron}>{open ? '\u25BE' : '\u25B8'}</span>
<span>Checkpoints</span>
{' '}
<span className={styles.checkpointsCount}>({checkpoints.length})</span>
{open ? 'Collapse' : 'Expand'} ({checkpoints.length})
</button>
</div>
{open && (
<div className={styles.checkpointsTableFullRow}>
<div className={styles.checkpointsTable}>
<table>
<thead>
@@ -94,7 +96,9 @@ export function CheckpointsTable({
</td>
<td>
{d.deployedAt && timeAgo(d.deployedAt)}
<div className={styles.isoSubline}>{d.deployedAt}</div>
<div className={styles.isoSubline}>
{d.deployedAt && new Date(d.deployedAt).toLocaleString()}
</div>
</td>
<td>
<span className={styles.strategyPill}>{strategyLabel}</span>
@@ -122,7 +126,8 @@ export function CheckpointsTable({
</button>
)}
</div>
)}
</div>
)}
</>
);
}