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