feishin/src/main/preload/local-settings.ts

53 lines
1.2 KiB
TypeScript
Raw Normal View History

2023-06-11 19:45:13 +00:00
import { ipcRenderer, webFrame } from 'electron';
2022-12-19 15:59:14 -08:00
import Store from 'electron-store';
const store = new Store();
const set = (property: string, value: string | Record<string, unknown> | boolean | string[]) => {
store.set(`${property}`, value);
};
const get = (property: string) => {
return store.get(`${property}`);
};
const restart = () => {
2022-12-29 19:30:55 -08:00
ipcRenderer.send('app-restart');
2022-12-19 15:59:14 -08:00
};
const enableMediaKeys = () => {
ipcRenderer.send('global-media-keys-enable');
};
const disableMediaKeys = () => {
ipcRenderer.send('global-media-keys-disable');
};
const passwordGet = async (server: string): Promise<string | null> => {
return ipcRenderer.invoke('password-get', server);
};
const passwordRemove = (server: string) => {
ipcRenderer.send('password-remove', server);
};
const passwordSet = async (password: string, server: string): Promise<boolean> => {
return ipcRenderer.invoke('password-set', password, server);
};
2023-06-11 19:45:13 +00:00
const setZoomFactor = (zoomFactor: number) => {
webFrame.setZoomFactor(zoomFactor / 100);
};
2022-12-19 15:59:14 -08:00
export const localSettings = {
disableMediaKeys,
enableMediaKeys,
get,
passwordGet,
passwordRemove,
passwordSet,
2022-12-19 15:59:14 -08:00
restart,
set,
2023-06-11 19:45:13 +00:00
setZoomFactor,
2022-12-19 15:59:14 -08:00
};