Pools initialisieren, Pool-Guard raus, Löschschutz bei laufenden Sessions
- pool-guard-Hook aus Projekt-Scaffold und allen bestehenden Projekten entfernt - neue Pools: settings.json mit aufgeräumten UI-Defaults (promptSuggestionEnabled/awaySummaryEnabled aus) + CLAUDE.md - delete_pool bricht bei laufendem zugeordnetem Projekt ab; Übersicht sperrt den Delete-Button und zeigt den Grund per Hover-Pop (WKWebView-tauglich) - Running-Erkennung zentralisiert (running_projects_using_pool), list_pools liefert pro Pool die laufenden Projekte - Todo-Umschalter im Projekt-Wizard/Settings - ungenutzte Dependencies ureq/getrandom entfernt
This commit is contained in:
@@ -110,17 +110,24 @@ interface TerminalSettings {
|
||||
theme: string;
|
||||
icon: string | null;
|
||||
title: string;
|
||||
todo: boolean;
|
||||
}
|
||||
|
||||
const settings = ref<TerminalSettings | null>(null);
|
||||
|
||||
function openSettings(p: Project) {
|
||||
settings.value = {
|
||||
name: p.name,
|
||||
theme: p.terminal.theme ?? "mocha",
|
||||
icon: p.terminal.icon,
|
||||
title: p.terminal.title ?? "",
|
||||
};
|
||||
async function openSettings(p: Project) {
|
||||
try {
|
||||
const todo = await invoke<boolean>("todo_state", { project: p.name });
|
||||
settings.value = {
|
||||
name: p.name,
|
||||
theme: p.terminal.theme ?? "mocha",
|
||||
icon: p.terminal.icon,
|
||||
title: p.terminal.title ?? "",
|
||||
todo,
|
||||
};
|
||||
} catch (e) {
|
||||
error.value = String(e);
|
||||
}
|
||||
}
|
||||
|
||||
async function pickIcon() {
|
||||
@@ -142,6 +149,7 @@ async function saveSettings() {
|
||||
icon: s.icon,
|
||||
title: title === "" ? null : title,
|
||||
});
|
||||
await invoke("set_todo", { project: s.name, enabled: s.todo });
|
||||
settings.value = null;
|
||||
await refresh();
|
||||
} catch (e) {
|
||||
@@ -156,6 +164,7 @@ interface Wizard {
|
||||
workDir: string | null;
|
||||
title: string;
|
||||
theme: string;
|
||||
todo: boolean;
|
||||
}
|
||||
|
||||
const wizard = ref<Wizard | null>(null);
|
||||
@@ -169,6 +178,7 @@ function openWizard() {
|
||||
workDir: null,
|
||||
title: "",
|
||||
theme: "mocha",
|
||||
todo: false,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -201,6 +211,7 @@ async function createProject() {
|
||||
icon: null,
|
||||
title: title === "" ? null : title,
|
||||
},
|
||||
todo: w.todo,
|
||||
});
|
||||
wizard.value = null;
|
||||
await refresh();
|
||||
@@ -378,6 +389,13 @@ onUnmounted(() => window.clearInterval(timer));
|
||||
</option>
|
||||
</select>
|
||||
</label>
|
||||
<label class="field">
|
||||
{{ $t("projects.todo") }}
|
||||
<span class="checkline">
|
||||
<input v-model="wizard.todo" type="checkbox" />
|
||||
{{ $t("projects.todoDesc") }}
|
||||
</span>
|
||||
</label>
|
||||
<p class="hint">{{ $t("projects.wizardHint") }}</p>
|
||||
<div class="actions">
|
||||
<button type="button" @click="wizard = null">
|
||||
@@ -453,6 +471,13 @@ onUnmounted(() => window.clearInterval(timer));
|
||||
<span v-else class="icon-path">{{ $t("projects.defaultIcon") }}</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="field">
|
||||
{{ $t("projects.todo") }}
|
||||
<span class="checkline">
|
||||
<input v-model="settings.todo" type="checkbox" />
|
||||
{{ $t("projects.todoDesc") }}
|
||||
</span>
|
||||
</label>
|
||||
<p class="hint">{{ $t("projects.appliesNextStart") }}</p>
|
||||
<div class="actions">
|
||||
<button @click="settings = null">{{ $t("projects.cancel") }}</button>
|
||||
|
||||
Reference in New Issue
Block a user