import { memo } from 'react'; import { useTranslation } from 'react-i18next'; import { SettingOption, SettingsSection, } from '/@/renderer/features/settings/components/settings-section'; import { BarAlign, PlayerbarSliderType, useGeneralSettings, usePlayerbarSlider, useSettingsStoreActions, } from '/@/renderer/store/settings.store'; import { Group } from '/@/shared/components/group/group'; import { NumberInput } from '/@/shared/components/number-input/number-input'; import { SegmentedControl } from '/@/shared/components/segmented-control/segmented-control'; import { Select } from '/@/shared/components/select/select'; import { Slider } from '/@/shared/components/slider/slider'; import { Switch } from '/@/shared/components/switch/switch'; import { Text } from '/@/shared/components/text/text'; import { Tooltip } from '/@/shared/components/tooltip/tooltip'; import { Play } from '/@/shared/types/types'; export const ControlSettings = memo(() => { const { t } = useTranslation(); const settings = useGeneralSettings(); const playerbarSlider = usePlayerbarSlider(); const { setSettings } = useSettingsStoreActions(); const controlOptions: SettingOption[] = [ { control: ( { if (!e) return; const newVal = e.currentTarget.value ? Math.min(Math.max(Number(e.currentTarget.value), 15), 30) : settings.buttonSize; setSettings({ general: { ...settings, buttonSize: newVal, }, }); }} width={75} /> ), description: t('setting.buttonSize', { context: 'description', }), isHidden: false, title: t('setting.buttonSize'), }, { control: ( setSettings({ general: { ...settings, skipButtons: { ...settings.skipButtons, enabled: e.currentTarget.checked, }, }, }) } /> ), description: t('setting.showSkipButtons', { context: 'description', }), isHidden: false, title: t('setting.showSkipButtons'), }, { control: ( setSettings({ general: { ...settings, skipButtons: { ...settings.skipButtons, skipBackwardSeconds: e.currentTarget.value ? Number(e.currentTarget.value) : 0, }, }, }) } width={75} /> setSettings({ general: { ...settings, skipButtons: { ...settings.skipButtons, skipForwardSeconds: e.currentTarget.value ? Number(e.currentTarget.value) : 0, }, }, }) } width={75} /> ), description: t('setting.skipDuration', { context: 'description', }), isHidden: false, title: t('setting.skipDuration'), }, { control: (