import { ActionIcon, Group, Modal, Switch, Title, Text, Tooltip, TextInput } from '@mantine/core'; import { showNotification } from '@mantine/notifications'; import { motion } from 'framer-motion'; import { CSSProperties, useEffect, useState } from 'react'; import { Mail, Settings, X } from 'tabler-icons-react'; import { Config, loadConfig } from '../../tools/config'; import SaveConfigComponent from '../Config/SaveConfig'; function SettingsMenu(props: any) { const [config, setConfig] = useState({ searchUrl: 'https://www.google.com/search?q=', searchBar: true, }); useEffect(() => { const config = loadConfig('settings'); if (config) { setConfig(config); } }, []); return ( { setConfig({ ...config, searchUrl: e.target.value }); localStorage.setItem( 'settings', JSON.stringify({ ...config, searchUrl: e.target.value, }) ); } } /> { setConfig({ ...config, searchBar: e.target.checked, }); localStorage.setItem( 'settings', JSON.stringify({ ...config, searchBar: e.target.checked, }) ); }} checked={config.searchBar} label="Enable search bar" /> tip: You can upload your config file by dragging and dropping it into the page ); } export function SettingsMenuButton(props: any) { const [opened, setOpened] = useState(false); return ( <> Settings} opened={props.opened || opened} onClose={() => setOpened(false)} > setOpened(true)} > ); }