import RoundIconButton from '@/Components/Button/RoundIconButton' import { FunctionComponent, useEffect, useMemo } from 'react' import { observer } from 'mobx-react-lite' import { PreferencesMenu } from './PreferencesMenu' import PreferencesCanvas from './PreferencesCanvas' import { PreferencesProps } from './PreferencesProps' import { isIOS } from '@/Utils' import { useDisableBodyScrollOnMobile } from '@/Hooks/useDisableBodyScrollOnMobile' import { classNames } from '@/Utils/ConcatenateClassNames' import { MediaQueryBreakpoints, useMediaQuery } from '@/Hooks/useMediaQuery' import { useAndroidBackHandler } from '@/NativeMobileWeb/useAndroidBackHandler' const PreferencesView: FunctionComponent = ({ application, viewControllerManager, closePreferences, userProvider, mfaProvider, }) => { const isDesktopScreen = useMediaQuery(MediaQueryBreakpoints.md) const menu = useMemo( () => new PreferencesMenu(application, viewControllerManager.enableUnfinishedFeatures), [viewControllerManager.enableUnfinishedFeatures, application], ) useEffect(() => { menu.selectPane(viewControllerManager.preferencesController.currentPane) const removeEscKeyObserver = application.io.addKeyObserver({ key: 'Escape', onKeyDown: (event) => { event.preventDefault() closePreferences() }, }) return () => { removeEscKeyObserver() } }, [menu, viewControllerManager.preferencesController.currentPane, application.io, closePreferences]) useDisableBodyScrollOnMobile() const addAndroidBackHandler = useAndroidBackHandler() useEffect(() => { const removeListener = addAndroidBackHandler(() => { closePreferences() return true }) return () => { if (removeListener) { removeListener() } } }, [addAndroidBackHandler, closePreferences]) return (

Your preferences for Standard Notes

{ closePreferences() }} icon="close" label="Close preferences" />
) } export default observer(PreferencesView)