Simplify process of enabling rest timers
This commit is contained in:
parent
6676efe69f
commit
4375a9c24e
10
Page.tsx
10
Page.tsx
|
@ -1,4 +1,4 @@
|
|||
import {StyleSheet, View} from 'react-native'
|
||||
import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native'
|
||||
import {Searchbar} from 'react-native-paper'
|
||||
import {PADDING} from './constants'
|
||||
import MassiveFab from './MassiveFab'
|
||||
|
@ -8,14 +8,16 @@ export default function Page({
|
|||
children,
|
||||
term,
|
||||
search,
|
||||
style,
|
||||
}: {
|
||||
children: JSX.Element | JSX.Element[]
|
||||
onAdd?: () => void
|
||||
term: string
|
||||
search: (value: string) => void
|
||||
style?: StyleProp<ViewStyle>
|
||||
}) {
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<View style={[styles.view, style]}>
|
||||
<Searchbar
|
||||
placeholder="Search"
|
||||
value={term}
|
||||
|
@ -30,8 +32,8 @@ export default function Page({
|
|||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flexGrow: 1,
|
||||
view: {
|
||||
padding: PADDING,
|
||||
flexGrow: 1,
|
||||
},
|
||||
})
|
||||
|
|
|
@ -6,12 +6,10 @@ import {
|
|||
FlatList,
|
||||
NativeModules,
|
||||
Platform,
|
||||
View,
|
||||
} from 'react-native'
|
||||
import DocumentPicker from 'react-native-document-picker'
|
||||
import {Button} from 'react-native-paper'
|
||||
import {darkColors, lightColors} from './colors'
|
||||
import ConfirmDialog from './ConfirmDialog'
|
||||
import {MARGIN} from './constants'
|
||||
import {settingsRepo} from './db'
|
||||
import DrawerHeader from './DrawerHeader'
|
||||
|
@ -25,7 +23,6 @@ import {useTheme} from './use-theme'
|
|||
const defaultFormats = ['P', 'Pp', 'ccc p', 'p']
|
||||
|
||||
export default function SettingsPage() {
|
||||
const [battery, setBattery] = useState(false)
|
||||
const [ignoring, setIgnoring] = useState(false)
|
||||
const [term, setTerm] = useState('')
|
||||
const [vibrate, setVibrate] = useState(false)
|
||||
|
@ -76,11 +73,11 @@ export default function SettingsPage() {
|
|||
timeout: 4000,
|
||||
})
|
||||
else toast('Stopped timers running after each set.')
|
||||
if (enabled && !ignoring) setBattery(true)
|
||||
if (enabled && !ignoring) NativeModules.SettingsModule.ignoreBattery()
|
||||
setAlarm(enabled)
|
||||
settingsRepo.update({}, {alarm: enabled})
|
||||
},
|
||||
[setBattery, ignoring],
|
||||
[ignoring],
|
||||
)
|
||||
|
||||
const changeVibrate = useCallback((enabled: boolean) => {
|
||||
|
@ -227,8 +224,7 @@ export default function SettingsPage() {
|
|||
return (
|
||||
<>
|
||||
<DrawerHeader name="Settings" />
|
||||
<Page term={term} search={setTerm}>
|
||||
<View>
|
||||
<Page term={term} search={setTerm} style={{flexGrow: 0}}>
|
||||
<FlatList
|
||||
style={{marginTop: MARGIN}}
|
||||
data={switches}
|
||||
|
@ -284,17 +280,6 @@ export default function SettingsPage() {
|
|||
Alarm sound{soundString}
|
||||
</Button>
|
||||
)}
|
||||
</View>
|
||||
<ConfirmDialog
|
||||
title="Battery optimizations"
|
||||
show={battery}
|
||||
setShow={setBattery}
|
||||
onOk={() => {
|
||||
NativeModules.SettingsModule.ignoreBattery()
|
||||
setBattery(false)
|
||||
}}>
|
||||
Disable battery optimizations for Massive to use rest timers.
|
||||
</ConfirmDialog>
|
||||
</Page>
|
||||
</>
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue
Block a user