Modul-System (Registry Backend+Frontend, generierte Tabs, Settings-Sektion); ToDo-Modul: persistente Liste mit Anlegen/Bearbeiten im Panel (todos_add/todos_update, Formular mit Abbrechen); alte Hook-Todoliste (OFFENE-PUNKTE.md) komplett entfernt
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import { invoke } from "@tauri-apps/api/core";
|
||||
import { initSearchView } from "../search-view";
|
||||
import { initWikiView } from "../wiki-view";
|
||||
import type { PanelTab } from "./index";
|
||||
|
||||
export const wikiTab: PanelTab = {
|
||||
mode: "wiki",
|
||||
module: "archive",
|
||||
buffer: "wiki",
|
||||
labelKey: "panel.tabWiki",
|
||||
titleKey: "panel.tabWikiTitle",
|
||||
init: (container, ctx) => initWikiView(container, ctx.openWiki),
|
||||
// Wiki-Tab bei leerem Puffer (Session-Start): Übersicht direkt laden.
|
||||
onActivate: (view, ctx) => {
|
||||
if (view.empty()) ctx.openWiki("tag:");
|
||||
},
|
||||
};
|
||||
|
||||
export const searchTab: PanelTab = {
|
||||
mode: "search",
|
||||
module: "archive",
|
||||
buffer: "search",
|
||||
labelKey: "panel.tabSearch",
|
||||
titleKey: "panel.tabSearchTitle",
|
||||
sepAfter: true,
|
||||
// Treffer-Klick lädt das Dokument in den Dokument-Tab (dort editier- und
|
||||
// archivierbar); der Sprung ins Wiki geht von dort aus.
|
||||
init: (container, ctx) =>
|
||||
initSearchView(container, ctx.openDoc, (raw) => {
|
||||
// `#tag`-Tokens filtern aufs Schlagwort, der Rest ist die Volltext-Query.
|
||||
const words = raw.split(/\s+/).filter(Boolean);
|
||||
const tag = words.find((w) => w.startsWith("#"))?.slice(1) ?? null;
|
||||
const query = words.filter((w) => !w.startsWith("#")).join(" ");
|
||||
void invoke("search_run", { project: ctx.project, query, tag }).catch((e) =>
|
||||
ctx.toast(`Suche fehlgeschlagen: ${e}`),
|
||||
);
|
||||
}),
|
||||
};
|
||||
Reference in New Issue
Block a user