mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-07-09 16:00:59 +00:00
refactor(proxmox): flatten Restore-points and PBS identity cells
Completes the backups-table flattening. Restore points stacked the workload name over a redundant "type vmid" subtitle (already in the label); PBS artifacts stacked the same on Workload plus repository over instance. Both now render single-line rows (~29px, matching the overview): the recoverable Workload cell drops the redundant subtitle, and the PBS Repository cell drops the instance subtitle with the instance promoted to its own column. Snapshots, Archives, and Job history already rendered single-line main rows, so the whole backups page is now flat-column and scannable. Gates green; verified live (zero multi-line rows, 29px rows on both tables).
This commit is contained in:
parent
ae7f9fc86c
commit
5c08b250a2
2 changed files with 21 additions and 24 deletions
|
|
@ -101,13 +101,14 @@ export function ProxmoxPbsTable(props: {
|
|||
<TableCard class={PLATFORM_TABLE_CARD_CLASS}>
|
||||
<Table class="min-w-[1050px] table-fixed text-xs">
|
||||
<colgroup>
|
||||
<col style={{ width: '16%' }} />
|
||||
<col style={{ width: '20%' }} />
|
||||
<col style={{ width: '12%' }} />
|
||||
<col style={{ width: '16%' }} />
|
||||
<col style={{ width: '11%' }} />
|
||||
<col style={{ width: '12%' }} />
|
||||
<col style={{ width: '15%' }} />
|
||||
<col style={{ width: '17%' }} />
|
||||
<col style={{ width: '13%' }} />
|
||||
<col style={{ width: '11%' }} />
|
||||
<col style={{ width: '15%' }} />
|
||||
<col style={{ width: '10%' }} />
|
||||
<col style={{ width: '11%' }} />
|
||||
<col style={{ width: '8%' }} />
|
||||
</colgroup>
|
||||
<TableHeader>
|
||||
<TableRow class={PLATFORM_TABLE_HEADER_ROW_CLASS}>
|
||||
|
|
@ -129,6 +130,7 @@ export function ProxmoxPbsTable(props: {
|
|||
align="left"
|
||||
headClass={getPlatformTableHeadClassForKind('text')}
|
||||
/>
|
||||
<TableHead class={getPlatformTableHeadClassForKind('text')}>Instance</TableHead>
|
||||
<SortableHead
|
||||
label="Created"
|
||||
sortKey="created"
|
||||
|
|
@ -173,24 +175,21 @@ export function ProxmoxPbsTable(props: {
|
|||
{(backup) => (
|
||||
<TableRow class="hover:bg-surface-hover">
|
||||
<TableCell
|
||||
class={`${getPlatformTableCellClassForKind('name')} text-base-content`}
|
||||
class={`${getPlatformTableCellClassForKind('name')} text-base-content truncate font-semibold`}
|
||||
>
|
||||
<div class="min-w-0">
|
||||
<div class="font-semibold">{pbsWorkloadLabel(backup)}</div>
|
||||
<div class="font-mono text-[10px] uppercase text-muted">
|
||||
{backup.backupType || 'backup'}
|
||||
</div>
|
||||
</div>
|
||||
{pbsWorkloadLabel(backup)}
|
||||
</TableCell>
|
||||
<TableCell
|
||||
class={`${getPlatformTableCellClassForKind('text')} text-base-content`}
|
||||
class={`${getPlatformTableCellClassForKind('text')} text-base-content truncate font-mono text-[11px]`}
|
||||
title={pbsRepositoryLabel(backup)}
|
||||
>
|
||||
<div class="min-w-0">
|
||||
<div class="font-mono text-[11px]">{pbsRepositoryLabel(backup)}</div>
|
||||
<div class="truncate text-[10px] text-muted" title={backup.instance}>
|
||||
{backup.instance || '—'}
|
||||
</div>
|
||||
</div>
|
||||
{pbsRepositoryLabel(backup)}
|
||||
</TableCell>
|
||||
<TableCell
|
||||
class={`${getPlatformTableCellClassForKind('text')} text-base-content truncate font-mono text-[11px]`}
|
||||
title={backup.instance}
|
||||
>
|
||||
{backup.instance || '—'}
|
||||
</TableCell>
|
||||
<TableCell
|
||||
class={`${getPlatformTableCellClassForKind('numeric-value')} text-base-content`}
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ import {
|
|||
// "Restore points" table: every recoverable artifact (PBS / archive / snapshot)
|
||||
// across sources in one flat, sortable list. Presentational only — the parent
|
||||
// owns the filtered + sorted memo and the shared search / day / source filters.
|
||||
// Single-line rows: the workload identity (type/vmid) is already in the label.
|
||||
export function ProxmoxRecoverableTable(props: {
|
||||
artifacts: RecoverableArtifact[];
|
||||
hasAnyArtifacts: boolean;
|
||||
|
|
@ -146,10 +147,7 @@ export function ProxmoxRecoverableTable(props: {
|
|||
class={`${getPlatformTableCellClassForKind('name')} text-base-content`}
|
||||
>
|
||||
<div class="min-w-0">
|
||||
<div class="font-semibold">{artifact.workload.label}</div>
|
||||
<div class="font-mono text-[10px] uppercase text-muted">
|
||||
{artifact.workload.typeLabel} {artifact.workload.vmid}
|
||||
</div>
|
||||
<div class="truncate font-semibold">{artifact.workload.label}</div>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue