Pools: löschbar mit Zuordnungs-Auflösung, Neuanmelden über Keychain, Key-Status

- delete_pool löst Projektzuordnungen (Terminal-Config bleibt), Dialog
  zeigt betroffene Projekte
- oauth_login: nur bei ungenutztem Pool, löscht vorher den suffixierten
  Keychain-Eintrag; Warn-Dialog mit keychain_status; oauth_refresh raus
- PoolInfo.hasCredentials: apikey-Dateicheck; Button Key ändern/eintragen,
  einheitliche Button-Breite
- Starten deaktiviert ohne Pool bzw. ohne Key (Tooltip unterscheidet)
- Icon-Pfad im Terminal-Dialog gekürzt mit Hover-Popover
This commit is contained in:
marcus.hinz
2026-07-04 13:27:54 +02:00
parent fc560d4e5f
commit 9b008cbf51
5 changed files with 258 additions and 70 deletions
+22 -2
View File
@@ -32,6 +32,8 @@ const de = {
cancel: "Abbrechen",
save: "Speichern",
noPoolAssigned: "kein Pool",
needsPool: "Kein Pool zugeordnet",
needsKey: "Pool hat keinen API-Key",
},
pools: {
pool: "Pool",
@@ -40,8 +42,8 @@ const de = {
newOauth: "+ oAuth",
newApikey: "+ apiKey",
relogin: "Neu anmelden",
renewToken: "Token erneuern",
changeKey: "Key ändern",
insertKey: "Key eintragen",
delete: "Löschen",
assigned: "kein Projekt | 1 Projekt | {count} Projekte",
empty: "Noch keine Pools angelegt.",
@@ -59,6 +61,14 @@ const de = {
deletePool: "Pool löschen",
deleteWarning:
"Pool {name} und seine Credential-Datei werden gelöscht. Das lässt sich nicht rückgängig machen.",
deleteUnassigns: "Diese Projekte verlieren ihre Pool-Zuordnung:",
reloginTitle: "Neu anmelden {name}",
reloginWarning:
"Der im Schlüsselbund gespeicherte Zugriffstoken von {name} wird gelöscht. Danach öffnet sich der Browser zur Neuanmeldung.",
reloginNoEntry:
"Kein Schlüsselbund-Eintrag vorhanden — es erfolgt nur die Neuanmeldung im Browser.",
reloginBlocked:
"Neuanmeldung ist nur bei ungenutztem Pool möglich. Diese Projekte laufen noch:",
},
};
@@ -94,6 +104,8 @@ const en: typeof de = {
cancel: "Cancel",
save: "Save",
noPoolAssigned: "no pool",
needsPool: "No pool assigned",
needsKey: "Pool has no API key",
},
pools: {
pool: "Pool",
@@ -102,8 +114,8 @@ const en: typeof de = {
newOauth: "+ oAuth",
newApikey: "+ apiKey",
relogin: "Sign in again",
renewToken: "Renew token",
changeKey: "Change key",
insertKey: "Insert key",
delete: "Delete",
assigned: "no projects | 1 project | {count} projects",
empty: "No pools yet.",
@@ -121,6 +133,14 @@ const en: typeof de = {
deletePool: "Delete pool",
deleteWarning:
"Pool {name} and its credential file will be deleted. This cannot be undone.",
deleteUnassigns: "These projects lose their pool assignment:",
reloginTitle: "Sign in again {name}",
reloginWarning:
"The access token for {name} stored in the keychain will be deleted. The browser then opens for a new sign-in.",
reloginNoEntry:
"No keychain entry present — only the new sign-in happens.",
reloginBlocked:
"Signing in again requires an unused pool. These projects are still running:",
},
};