2023-03-31 07:26:10 -07:00
|
|
|
import isElectron from 'is-electron';
|
|
|
|
|
import { SettingOption, SettingsSection } from '../settings-section';
|
|
|
|
|
import { Switch } from '/@/renderer/components';
|
|
|
|
|
import { useHotkeySettings, useSettingsStoreActions } from '/@/renderer/store';
|
|
|
|
|
|
|
|
|
|
const localSettings = isElectron() ? window.electron.localSettings : null;
|
|
|
|
|
|
|
|
|
|
export const WindowHotkeySettings = () => {
|
2023-07-01 19:10:05 -07:00
|
|
|
const settings = useHotkeySettings();
|
|
|
|
|
const { setSettings } = useSettingsStoreActions();
|
2023-03-31 07:26:10 -07:00
|
|
|
|
2023-07-01 19:10:05 -07:00
|
|
|
const options: SettingOption[] = [
|
|
|
|
|
{
|
|
|
|
|
control: (
|
|
|
|
|
<Switch
|
|
|
|
|
aria-label="Toggle global media hotkeys"
|
|
|
|
|
defaultChecked={settings.globalMediaHotkeys}
|
|
|
|
|
disabled={!isElectron()}
|
|
|
|
|
onChange={(e) => {
|
|
|
|
|
setSettings({
|
|
|
|
|
hotkeys: {
|
|
|
|
|
...settings,
|
|
|
|
|
globalMediaHotkeys: e.currentTarget.checked,
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
localSettings.set('global_media_hotkeys', e.currentTarget.checked);
|
2023-03-31 07:26:10 -07:00
|
|
|
|
2023-07-01 19:10:05 -07:00
|
|
|
if (e.currentTarget.checked) {
|
|
|
|
|
localSettings.enableMediaKeys();
|
|
|
|
|
} else {
|
|
|
|
|
localSettings.disableMediaKeys();
|
|
|
|
|
}
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
),
|
|
|
|
|
description:
|
|
|
|
|
'Enable or disable the usage of your system media hotkeys to control the audio player',
|
|
|
|
|
isHidden: !isElectron(),
|
|
|
|
|
title: 'Global media hotkeys',
|
|
|
|
|
},
|
|
|
|
|
];
|
2023-03-31 07:26:10 -07:00
|
|
|
|
2023-07-01 19:10:05 -07:00
|
|
|
return <SettingsSection options={options} />;
|
2023-03-31 07:26:10 -07:00
|
|
|
};
|