import { StyleSheet, View } from 'react-native' import { Text, TouchableRipple, useTheme } from 'react-native-paper' import { useContext } from 'react' import { inputTypes, PossibleInputTypes, useSwitchColors } from './timeUtils' import { DisplayModeContext } from '../contexts/DisplayModeContext' import { sharedStyles } from '../shared/styles' export default function AmPmSwitcher({ onChange, hours, inputType, }: { hours: number onChange: (newHours: number) => any inputType: PossibleInputTypes }) { const theme = useTheme() const { setMode, mode } = useContext(DisplayModeContext) const backgroundColor = theme.colors.outline const isAM = mode === 'AM' return ( { setMode('AM') if (hours - 12 >= 0) { onChange(hours - 12) } }} selected={isAM} disabled={isAM} /> { setMode('PM') if (hours + 12 <= 24) { onChange(hours + 12) } }} selected={!isAM} disabled={!isAM} /> ) } function SwitchButton({ label, onPress, selected, disabled, }: { label: string onPress: (() => any) | undefined selected: boolean disabled: boolean }) { const theme = useTheme() const { backgroundColor, color } = useSwitchColors(selected) const textFont = theme.fonts.titleMedium return ( {label} ) } const styles = StyleSheet.create({ root: { width: 52, borderWidth: 1, overflow: 'hidden', }, switchSeparator: { height: 1, width: 52, }, switchButtonInner: { flex: 1, alignItems: 'center', justifyContent: 'center', }, })