import * as React from 'react' import { FormattedMessage, useIntl } from 'react-intl' import { DMCheckboxItem, DMDivider, DMSubMenu } from '~components/Primitives/DropdownMenu' import { useTldrawApp } from '~hooks' import { TDSnapshot } from '~types' const settingsSelector = (s: TDSnapshot) => s.settings export function PreferencesMenu() { const app = useTldrawApp() const intl = useIntl() const settings = app.useStore(settingsSelector) const toggleDebugMode = React.useCallback(() => { app.setSetting('isDebugMode', (v) => !v) }, [app]) const toggleDarkMode = React.useCallback(() => { app.setSetting('isDarkMode', (v) => !v) }, [app]) const toggleFocusMode = React.useCallback(() => { app.setSetting('isFocusMode', (v) => !v) }, [app]) const toggleRotateHandle = React.useCallback(() => { app.setSetting('showRotateHandles', (v) => !v) }, [app]) const toggleGrid = React.useCallback(() => { app.setSetting('showGrid', (v) => !v) }, [app]) const toggleBoundShapesHandle = React.useCallback(() => { app.setSetting('showBindingHandles', (v) => !v) }, [app]) const toggleisSnapping = React.useCallback(() => { app.setSetting('isSnapping', (v) => !v) }, [app]) const toggleKeepStyleMenuOpen = React.useCallback(() => { app.setSetting('keepStyleMenuOpen', (v) => !v) }, [app]) const toggleCloneControls = React.useCallback(() => { app.setSetting('showCloneHandles', (v) => !v) }, [app]) const toggleCadSelectMode = React.useCallback(() => { app.setSetting('isCadSelectMode', (v) => !v) }, [app]) return ( ) }