Refinement-Runde Panel/Wiki: Bedienung, Themes, Archiv-Wahl, Frontend-Tests
- Slug transliteriert Umlaute/ß (fuer statt f-r); aktiver Tab mit Akzent + Unterstrich; kein aktiver Tab bei zugeklapptem Panel (mode.clear) - Suche: Live-Update auch beim Löschen (<3 Zeichen: Hinweis), #tag-Filter in der Query, Treffer öffnen im Dokument-Tab (panel_load, ohne Frontmatter); Wiki-Sprung-Button im Dokument; Wiki-Fehler sichtbar als Toast - Archiv-Formular am Archiv-Button (Ordner/Beschreibung/Schlagwörter); panel_archive_cmd nimmt Meta entgegen - Wiki-Übersicht: Zuletzt-Sektion, Backlink-Zähler, Wurzel-Eyebrow - Themes: Panel-Farben über CSS-Variablen, applyTheme leitet sie aus dem jeweiligen Theme ab (auch helle); gemeinsames themes.ts - Fenster: Doppelklick maximiert; gelöstes Fenster merkt Größe/Position (Window-ACL: set-position/outer-position/inner-size ergänzt); open_panel_window async (GTK-Deadlock-Vorgabe); Panel-Fenster spiegelt JS-Fehler ins Dev-Log - Archiv pro Projekt wähl-/abwählbar (Einstellungsdialog, setzt/entfernt Permissions); require_archive_home legt den Ordner an; ohne Archiv nur Befehle+Dokument im Panel - Frontend-Tests: vitest + happy-dom, 27 Tests über Modus-, Such-, Wiki-, Editor- und Formular-Logik (npm test)
This commit is contained in:
@@ -1,6 +1,31 @@
|
||||
/// Farbschemata der Fenster: Header-/Rahmenfarbe plus xterm-Theme —
|
||||
/// genutzt vom Terminal-Fenster (Header, angedocktes Panel) und vom
|
||||
/// abgelösten Panel-Fenster (panel.ts), damit beide gleich aussehen.
|
||||
|
||||
/// Überträgt ein Theme auf die CSS-Variablen der Seite; die Defaults in den
|
||||
/// HTML-Styleblöcken sind Mocha. Fehlt einem Theme ein Farbwert, bleibt der
|
||||
/// Mocha-Default stehen.
|
||||
export function applyTheme(picked: (typeof THEMES)[string]) {
|
||||
const x = picked.xterm;
|
||||
const vars: Record<string, string | undefined> = {
|
||||
"--bg": x.background,
|
||||
"--surface": picked.header,
|
||||
"--tile": x.background,
|
||||
"--line": picked.border,
|
||||
"--line-strong": x.black,
|
||||
"--text": x.foreground,
|
||||
"--muted": x.brightWhite,
|
||||
"--faint": x.brightBlack,
|
||||
"--accent": x.blue,
|
||||
"--ok": x.green,
|
||||
"--warn": x.yellow,
|
||||
"--err": x.red,
|
||||
};
|
||||
for (const [k, v] of Object.entries(vars)) {
|
||||
if (v) document.documentElement.style.setProperty(k, v);
|
||||
}
|
||||
}
|
||||
|
||||
export const THEMES: Record<
|
||||
string,
|
||||
{ header: string; border: string; xterm: Record<string, string> }
|
||||
|
||||
Reference in New Issue
Block a user