Files
laude/src/shared/ipc.ts
2026-06-06 02:27:04 +07:00

91 lines
2.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export const IPC = {
getState: 'state:get',
addExercise: 'exercise:add',
updateExercise: 'exercise:update',
deleteExercise: 'exercise:delete',
toggleExercise: 'exercise:toggle',
markDone: 'exercise:markDone',
snooze: 'exercise:snooze',
skip: 'exercise:skip',
// Meals (приёмы пищи — напоминания по времени суток)
addMeal: 'meal:add',
updateMeal: 'meal:update',
deleteMeal: 'meal:delete',
toggleMeal: 'meal:toggle',
markMealDone: 'meal:markDone',
updateSettings: 'settings:update',
getAccentColor: 'system:accentColor',
getOsTheme: 'system:osTheme',
getAppVersion: 'system:appVersion',
pauseAll: 'app:pauseAll',
resumeAll: 'app:resumeAll',
quit: 'app:quit',
minimizeMain: 'window:minimize',
toggleMaximizeMain: 'window:toggleMaximize',
isMaximizedMain: 'window:isMaximized',
closeMain: 'window:close',
hideMain: 'window:hide',
reminderClose: 'reminder:close',
// Games
gamesList: 'games:list',
gameInstall: 'games:install',
gameUninstall: 'games:uninstall',
gameToggle: 'games:toggle',
gameOpenLaunchOptions: 'games:openLaunchOptions',
// Challenges
addChallenge: 'challenge:add',
updateChallenge: 'challenge:update',
deleteChallenge: 'challenge:delete',
toggleChallenge: 'challenge:toggle',
markChallengeDone: 'challenge:markDone',
closeMatchSummary: 'matchSummary:close',
// Dev-only IPC (handler ungated в prod, см. ipc.ts). Держим в enum чтобы
// main/preload/renderer не разошлись в hardcoded-строках.
devSimulateMatchEnd: 'dev:simulateMatchEnd',
// Auto-updater
updaterStatus: 'updater:status',
updaterCheck: 'updater:check',
updaterDownload: 'updater:download',
updaterInstall: 'updater:install',
// History
getHistory: 'history:get',
clearHistory: 'history:clear',
// Export / Import
exportState: 'state:export',
importState: 'state:import',
// events from main → renderer
evtTick: 'evt:tick',
evtFire: 'evt:fire',
evtFireMeal: 'evt:fireMeal',
evtMatchEnd: 'evt:matchEnd',
evtStateChanged: 'evt:stateChanged',
evtThemeChanged: 'evt:themeChanged',
evtAccentChanged: 'evt:accentChanged',
evtGamesChanged: 'evt:gamesChanged',
evtUpdaterStatus: 'evt:updaterStatus',
evtMaximizeChanged: 'evt:maximizeChanged',
evtMeetingChanged: 'evt:meetingChanged',
/**
* Шлётся когда история мутирует (markDone / markMealDone / snooze / skip /
* markChallengeDone / clearHistory / import). Renderer'у достаточно
* перезапросить getHistory. Раньше Dashboard переключал history по
* `exercises` ref'у — но markDone мутирует Exercise in place, ref не
* меняется, и heatmap стояла. Этот event — единый сигнал что надо
* перетянуть.
*/
evtHistoryChanged: 'evt:historyChanged',
getMeetingActive: 'system:meetingActive'
} as const