Initial commit: Claude Live Dashboard

Always-on-Top Electron-Widget für die Claude-Plan-Auslastung unter Windows.
Liest Transkripte lokal, fragt optional den /usage-Endpunkt ab, bietet einen
Einstellungsdialog und lässt sich als NSIS-Installer oder portable Fassung
bauen.
This commit is contained in:
Winkler, Stefan
2026-07-22 12:59:54 +02:00
commit 868f31fa9a
28 changed files with 8971 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
'use strict';
/**
* Schmale, explizite Brücke zwischen Main-Prozess und Oberfläche.
* Der Renderer bekommt keinen Node-Zugriff — nur diese Funktionen.
*/
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('dashboard', {
/** Registriert den Empfänger für Zustandsaktualisierungen. */
onState(callback) {
ipcRenderer.on('state', (_event, state) => callback(state));
},
/** Fordert den aktuellen Zustand an (für den ersten Aufbau). */
getState: () => ipcRenderer.invoke('get-state'),
/** Liefert den gespeicherten Ansichtszustand, damit die Oberfläche zur Fenstergröße passt. */
getUiState: () => ipcRenderer.invoke('get-ui-state'),
/** Klappt die Detailansicht auf oder zu. */
setExpanded: (expanded) => ipcRenderer.send('set-expanded', expanded),
/** Blendet das Fenster aus (bleibt über das Tray-Symbol erreichbar). */
hide: () => ipcRenderer.send('hide-window'),
/** Öffnet den Einstellungsdialog. */
openSettings: () => ipcRenderer.send('open-settings'),
});