import { Helmet } from '@dr.pogodin/react-helmet'; import { styled } from '@mui/material/styles'; import React from 'react'; import { useTranslation } from 'react-i18next'; import ButtonRaw from '@mui/material/Button'; import Checkbox from '@mui/material/Checkbox'; import List from '@mui/material/List'; import ListItemIcon from '@mui/material/ListItemIcon'; import ListItemText from '@mui/material/ListItemText'; import { ListItemButton } from '@mui/material'; import { usePreferenceObservable } from '@services/preferences/hooks'; import { HunspellLanguages, hunspellLanguagesMap } from '../../constants/hunspellLanguages'; const Root = styled('div')` display: flex; flex-direction: column; height: 100vh; `; const Top = styled((props: React.ComponentProps) => )` flex: 1; overflow: auto; `; const Bottom = styled('div')` display: fixed; z-index: 10; bottom: 0; left: 0; padding: 10px; `; const Button = styled((props: React.ComponentProps) => )` float: right; margin-left: 10px; `; export default function SpellcheckLanguages(): React.JSX.Element { const { t } = useTranslation(); const preference = usePreferenceObservable(); if (preference === undefined) { return {t('Loading')}; } return ( {t('Preference.SpellCheckLanguages')} {(Object.keys(hunspellLanguagesMap) as HunspellLanguages[]).map((code) => ( { if (preference.spellcheckLanguages.includes(code)) { void window.service.preference.set( 'spellcheckLanguages', preference.spellcheckLanguages.filter((language) => language !== code), ); } else { void window.service.preference.set('spellcheckLanguages', [...preference.spellcheckLanguages, code]); } }} > ))} ); }