import useUpdate from 'react-use/lib/useUpdate'; import { SettingsKey } from '../../../data/settings-key'; import { useHasFollowSystemThemeEnabled } from '../../../state/selectors/settings'; import { ensureThemeConsistency } from '../../../themes/SessionTheme'; import { isHideMenuBarSupported } from '../../../types/Settings'; import { SessionToggleWithDescription } from '../SessionSettingListItem'; import { SettingsThemeSwitcher } from '../SettingsThemeSwitcher'; import { ZoomingSessionSlider } from '../ZoomingSessionSlider'; export const SettingsCategoryAppearance = () => { const forceUpdate = useUpdate(); const isFollowSystemThemeEnabled = useHasFollowSystemThemeEnabled(); const isHideMenuBarActive = window.getSettingValue(SettingsKey.settingsMenuBar) === undefined ? true : window.getSettingValue(SettingsKey.settingsMenuBar); // TODO: strings - verify this merge return ( <> {isHideMenuBarSupported() && ( { window.toggleMenuBar(); forceUpdate(); }} title={window.i18n('appearanceHideMenuBar')} description={window.i18n('appearanceHideMenuBar')} active={isHideMenuBarActive} /> )} { const toggledValue = !isFollowSystemThemeEnabled; await window.setSettingValue(SettingsKey.hasFollowSystemThemeEnabled, toggledValue); if (!isFollowSystemThemeEnabled) { await ensureThemeConsistency(); } }} title={window.i18n('appearanceAutoDarkMode')} description={window.i18n('followSystemSettings')} active={isFollowSystemThemeEnabled} dataTestId="enable-follow-system-theme" /> ); };