fix(260924-h7x): Nachschliff nach Browser-Rundgang

- Kopfzeile unter 640 px nur mit Bildmarke, damit die Dashboard-Reiter
  lesbar bleiben (vorher war vom Reiter nur "Das" zu sehen)
- Proxmox-Karten strecken sich nicht mehr auf gleiche Zeilenhoehe
- PBS-Pruefstatus auf Deutsch ("Pruefung fehlgeschlagen"), Rohwert als title

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-24 12:44:37 +02:00
parent 0b659d67e8
commit 57a4196c4b
6 changed files with 9 additions and 5 deletions
@@ -251,7 +251,8 @@ describe('ServerCard — PBS', () => {
expect(el).toHaveAttribute('data-health', 'warn'); expect(el).toHaveAttribute('data-health', 'warn');
expect(within(el).getByTestId('last-backup')).toHaveTextContent('Letzte Sicherung vor 1 Tag'); expect(within(el).getByTestId('last-backup')).toHaveTextContent('Letzte Sicherung vor 1 Tag');
expect(within(el).getByTestId('verify-pill')).toHaveTextContent('Prüfung: failed'); expect(within(el).getByTestId('verify-pill')).toHaveTextContent('Prüfung fehlgeschlagen');
expect(within(el).getByTestId('verify-pill')).toHaveAttribute('title', 'failed');
}); });
it('ohne Sicherung „noch keine Sicherung“, Pruefung null „Prüfung unbekannt“, keine Warnung', async () => { it('ohne Sicherung „noch keine Sicherung“, Pruefung null „Prüfung unbekannt“, keine Warnung', async () => {
@@ -281,6 +281,7 @@ function PbsMetricsView({
</span> </span>
<span <span
data-testid="verify-pill" data-testid="verify-pill"
title={ds.lastVerifyState ?? undefined}
className={`shrink-0 whitespace-nowrap rounded-full px-2 py-0.5 text-[11px] font-medium ${verify.cls}`} className={`shrink-0 whitespace-nowrap rounded-full px-2 py-0.5 text-[11px] font-medium ${verify.cls}`}
> >
{verify.text} {verify.text}
@@ -186,7 +186,7 @@ export default function ProxmoxPage() {
{!error && servers !== null && servers.length > 0 && ( {!error && servers !== null && servers.length > 0 && (
<> <>
<HealthBar counts={counts} /> <HealthBar counts={counts} />
<ul className="grid gap-4 lg:grid-cols-2"> <ul className="grid items-start gap-4 lg:grid-cols-2">
{sorted.map((server) => ( {sorted.map((server) => (
<li key={server.id} className="min-w-0"> <li key={server.id} className="min-w-0">
<ServerCard server={server} isAdmin={isAdmin} now={now} /> <ServerCard server={server} isAdmin={isAdmin} now={now} />
+3 -1
View File
@@ -129,7 +129,9 @@ export function Header() {
// Erscheinungsbild gegen 1,26:1 im hellen (WCAG verlangt 3:1 fuer // Erscheinungsbild gegen 1,26:1 im hellen (WCAG verlangt 3:1 fuer
// grossen fetten Text). Im hellen Modus erbt der Schriftzug daher // grossen fetten Text). Im hellen Modus erbt der Schriftzug daher
// die Vordergrundfarbe, im dunklen steht die Markenfarbe. // die Vordergrundfarbe, im dunklen steht die Markenfarbe.
wordmarkClassName="dark:text-primary" // Unter 640 px nur die Bildmarke: der Platz gehoert dort den
// Dashboard-Reitern in der Kopfzeilenmitte (260924-h7x).
wordmarkClassName="hidden sm:inline dark:text-primary"
/> />
</div> </div>
+1 -1
View File
@@ -747,7 +747,7 @@
"lastBackupAgo": "Letzte Sicherung {age}", "lastBackupAgo": "Letzte Sicherung {age}",
"noBackupYet": "noch keine Sicherung", "noBackupYet": "noch keine Sicherung",
"verifyOk": "Prüfung in Ordnung", "verifyOk": "Prüfung in Ordnung",
"verifyFailed": "Prüfung: {state}", "verifyFailed": "Prüfung fehlgeschlagen",
"verifyUnknown": "Prüfung unbekannt", "verifyUnknown": "Prüfung unbekannt",
"noDatastores": "Keine Datenspeicher gemeldet." "noDatastores": "Keine Datenspeicher gemeldet."
}, },
+1 -1
View File
@@ -747,7 +747,7 @@
"lastBackupAgo": "Last backup {age}", "lastBackupAgo": "Last backup {age}",
"noBackupYet": "no backup yet", "noBackupYet": "no backup yet",
"verifyOk": "Verification OK", "verifyOk": "Verification OK",
"verifyFailed": "Verification: {state}", "verifyFailed": "Verification failed",
"verifyUnknown": "Verification unknown", "verifyUnknown": "Verification unknown",
"noDatastores": "No datastores reported." "noDatastores": "No datastores reported."
}, },