diff --git a/Select.tsx b/Select.tsx new file mode 100644 index 0000000..da13817 --- /dev/null +++ b/Select.tsx @@ -0,0 +1,24 @@ +import {Picker} from '@react-native-picker/picker' +import {useTheme} from 'react-native-paper' + +export default function Select({ + value, + onChange, + children, +}: { + value: string + onChange: (value: string) => void + children: JSX.Element | JSX.Element[] +}) { + const {colors} = useTheme() + + return ( + + {children} + + ) +} diff --git a/SettingsPage.tsx b/SettingsPage.tsx index b4e10eb..faeb1d8 100644 --- a/SettingsPage.tsx +++ b/SettingsPage.tsx @@ -11,9 +11,11 @@ import {settingsRepo} from './db' import DrawerHeader from './DrawerHeader' import Input from './input' import Page from './Page' +import Select from './Select' import Settings from './settings' import Switch from './Switch' import {toast} from './toast' +import useDark from './use-dark' import {useSettings} from './use-settings' export default function SettingsPage() { @@ -21,6 +23,7 @@ export default function SettingsPage() { const [ignoring, setIgnoring] = useState(false) const [term, setTerm] = useState('') const {settings, setSettings} = useSettings() + const dark = useDark() useEffect(() => { console.log(`${SettingsPage.name}.useEffect:`, {settings}) @@ -168,23 +171,19 @@ export default function SettingsPage() { const sound = useMemo(() => { if (!settings.sound) return null const split = settings.sound.split('/') - return split.pop() + return ': ' + split.pop() }, [settings.sound]) const theme = useMemo(() => { if (!'theme'.includes(term.toLowerCase())) return null return ( - + ) - }, [term, settings.color, changeTheme, settings.theme]) + }, [term, changeTheme, settings.theme]) const changeColor = useCallback( (value: string) => { @@ -214,11 +213,7 @@ export default function SettingsPage() { ))} {theme} {'color'.includes(term.toLowerCase()) && ( - + )} {'date format'.includes(term.toLowerCase()) && ( - + )} {'alarm sound'.includes(term.toLowerCase()) && ( )}