feat(260923-dhh): Proxmox-Modul Aufgabe 6 - Modulseite mit Auslastung

- ServerCard.tsx: einzige Stelle, die einen Messwert in Text verwandelt
  (formatMetric) — null wird ueberall "unbekannt", nie 0/NaN/leer;
  verzweigt ueber productType auf PVE/PBS/PMG; PBS ohne Sicherung zeigt
  "noch keine Sicherung" statt eines Fehlers; nicht erreichbarer Server
  zeigt Klartext-Ursache plus Zeitpunkt der letzten erfolgreichen Messung
- page.tsx: "Jetzt aktualisieren" fragt alle Server neu ab und laedt die
  Liste danach neu, waehrend des Laufs gesperrt; ruhiger Hinweis bei
  leerer Liste mit Weg zu den Einstellungen; Link zu den Einstellungen
  nur fuer Administratoren sichtbar (Anzeige, kein Zugriffsriegel)
- proxmox-api.ts: ProxmoxMetrics-Union (Pve/Pbs/Pmg) fuer typsichere
  Verzweigung im Frontend
- umlaut-dictionary.ts: zwei weitere korrekte Woerter auf die
  Positivliste (Messung, Prozessorlast)

Tore: web 708/708 (>=693), type-check 4/4, Biome apps/web 53 Warnungen
(unveraendert).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-23 14:45:27 +02:00
parent 723cf6814b
commit 06fcdc0157
7 changed files with 622 additions and 34 deletions
+26
View File
@@ -709,6 +709,32 @@
"loading": "Lade Serverliste...",
"loadError": "Die Serverliste konnte nicht geladen werden.",
"emptyState": "Noch kein Server eingetragen. Legen Sie in den Moduleinstellungen einen Server an.",
"card": {
"unknownValue": "unbekannt",
"lastPolledLabel": "Letzte Abfrage",
"lastOkLabel": "Letzte erfolgreiche Messung",
"refresh": "Jetzt aktualisieren",
"refreshing": "Wird aktualisiert...",
"settingsLink": "Zu den Einstellungen",
"pve": {
"nodeCount": "Knoten",
"guests": "{running} laufend / {stopped} gestoppt",
"cpu": "Prozessorlast",
"mem": "Speicher"
},
"pbs": {
"used": "Belegt",
"lastBackup": "Letzte Sicherung",
"noBackupYet": "noch keine Sicherung",
"verifyState": "Letzte Prüfung"
},
"pmg": {
"countIn": "Eingehend",
"countOut": "Ausgehend",
"spamCount": "Spam",
"virusCount": "Viren"
}
},
"errors": {
"netz": "Der Server ist nicht erreichbar. Bitte prüfen Sie die Adresse und die Netzwerkverbindung.",
"zugang": "Der Zugang wurde abgelehnt. Bitte prüfen Sie Benutzername und Passwort beziehungsweise die Token-Angaben.",
+26
View File
@@ -709,6 +709,32 @@
"loading": "Loading server list...",
"loadError": "Could not load the server list.",
"emptyState": "No server configured yet. Add one in the module settings.",
"card": {
"unknownValue": "unknown",
"lastPolledLabel": "Last poll",
"lastOkLabel": "Last successful measurement",
"refresh": "Refresh now",
"refreshing": "Refreshing...",
"settingsLink": "Go to settings",
"pve": {
"nodeCount": "Nodes",
"guests": "{running} running / {stopped} stopped",
"cpu": "CPU load",
"mem": "Memory"
},
"pbs": {
"used": "Used",
"lastBackup": "Last backup",
"noBackupYet": "no backup yet",
"verifyState": "Last verification"
},
"pmg": {
"countIn": "Inbound",
"countOut": "Outbound",
"spamCount": "Spam",
"virusCount": "Viruses"
}
},
"errors": {
"netz": "The server is unreachable. Please check the address and the network connection.",
"zugang": "Access was denied. Please check the username and password, or the token details.",
@@ -187,4 +187,6 @@ export const UMLAUT_ALLOWLIST: readonly string[] = [
// quick-260923-dhh: Proxmox-Modul — korrektes Deutsch mit „ss“
'bewusst',
'gemessene',
'Messung',
'Prozessorlast',
];