Die App prueft ca. 60 s nach dem Start einmalig, ob auf dem Gitea-Server ein neueres Release vorliegt. Bei einem Treffer erscheint eine Systembenachrichtigung, und ein Symbol im Titelbalken bleibt sichtbar, bis aktualisiert wird -- Klick auf beides oeffnet die Release-Seite im Browser. Ueber die neue Einstellung "Nach Updates suchen" abschaltbar (Standard: aktiv).
30 lines
1.3 KiB
JavaScript
30 lines
1.3 KiB
JavaScript
'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'),
|
|
/** Öffnet das Fehler-/Ereignis-Log. */
|
|
openErrorLog: () => ipcRenderer.send('open-error-log'),
|
|
/** Öffnet die Release-Seite eines gefundenen neuen Updates im Browser. */
|
|
openReleasePage: () => ipcRenderer.send('open-release-page'),
|
|
});
|