91 lines
2.9 KiB
TypeScript
91 lines
2.9 KiB
TypeScript
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
|