39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { ipcMain } from 'electron';
|
|
import {
|
|
MPV_REUSE_INSTANCE,
|
|
store,
|
|
} from '../services/store.service';
|
|
import { httpServer } from '../server/http-server';
|
|
|
|
export default class SettingsEvents {
|
|
static bootstrapSettingsEvents(): Electron.IpcMain {
|
|
return ipcMain;
|
|
}
|
|
}
|
|
|
|
ipcMain.handle('SETTINGS_UPDATE', (_event, arg) => {
|
|
console.log('Received SETTINGS_UPDATE with data:', arg);
|
|
|
|
// Only set values that are defined
|
|
if (arg.mpvReuseInstance !== undefined) {
|
|
store.set(MPV_REUSE_INSTANCE, arg.mpvReuseInstance);
|
|
}
|
|
|
|
// Handle remote control settings
|
|
if (arg.remoteControl !== undefined || arg.remoteControlPort !== undefined) {
|
|
const enabled = arg.remoteControl ?? store.get('remoteControl', false);
|
|
const port = arg.remoteControlPort ?? store.get('remoteControlPort', 8765);
|
|
|
|
// Save to store
|
|
if (arg.remoteControl !== undefined) {
|
|
store.set('remoteControl', enabled);
|
|
}
|
|
if (arg.remoteControlPort !== undefined) {
|
|
store.set('remoteControlPort', port);
|
|
}
|
|
|
|
// Update HTTP server
|
|
httpServer.updateSettings(enabled, port);
|
|
}
|
|
});
|