From 23f6562f50c97295dd474e9055df5b31bb5a5e1f Mon Sep 17 00:00:00 2001 From: marcus hinz Date: Mon, 20 Jul 2026 11:06:40 +0200 Subject: [PATCH] Settings-Dialog neu: drei Gruppen, festes Zeilen-Grid, Sofort-Schreiber abgesetzt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Darstellung (Titel/Theme/Dock-Icon), Ordner (Projekt/Arbeitsordner/Archiv) und Session (Todoliste) als Gruppen mit Eyebrow-Überschriften; jede Zeile im Grid Label | Wert | Aktionen. Pfade ~-kontrahiert mit vollem Pfad im Hover-Pop. Die Ordner-Gruppe schreibt sofort und ist als eigene Fläche abgesetzt (eigener Hinweis); „gilt ab nächstem Start" hängt an der Darstellungs-Gruppe statt global. Nur ProjectList.vue + i18n-Schlüssel. --- src/components/ProjectList.vue | 245 +++++++++++++++++++++++++-------- src/i18n.ts | 8 ++ 2 files changed, 199 insertions(+), 54 deletions(-) diff --git a/src/components/ProjectList.vue b/src/components/ProjectList.vue index 5aacc67..df9c0e6 100644 --- a/src/components/ProjectList.vue +++ b/src/components/ProjectList.vue @@ -152,6 +152,11 @@ const THEME_NAMES: [string, string][] = [ ["one-light", "One Light"], ]; +// Anzeige: Home-Anteil ~-kontrahiert; der volle Pfad steht im Hover-Pop. +function contractHome(p: string): string { + return p.replace(/^\/(?:home|Users)\/[^/]+/, "~"); +} + interface TerminalSettings { id: string; name: string; @@ -644,66 +649,114 @@ onUnmounted(() => window.clearInterval(timer));
-
+

{{ $t("projects.terminal", { name: settings.name }) }}

- - -
+ + diff --git a/src/i18n.ts b/src/i18n.ts index ea3e709..22e201c 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -80,6 +80,10 @@ const de = { "Nur aus Liste nehmen entfernt den Eintrag; der Ordner bleibt unangetastet.", todo: "Todoliste", todoDesc: "OFFENE-PUNKTE.md bei jedem Sessionstart einspielen", + groupAppearance: "Darstellung", + groupFolders: "Ordner", + groupSession: "Session", + writesImmediately: "Änderungen hier schreiben sofort — ohne Speichern.", }, pools: { pool: "Pool", @@ -206,6 +210,10 @@ const en: typeof de = { "Remove from list only drops the entry; the folder stays untouched.", todo: "Todo list", todoDesc: "Inject OFFENE-PUNKTE.md at every session start", + groupAppearance: "Appearance", + groupFolders: "Folders", + groupSession: "Session", + writesImmediately: "Changes here are written immediately — no save step.", }, pools: { pool: "Pool",