From e004fd362583a020b07f87536aac077269eaad27 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Tue, 27 Oct 2020 18:34:08 -0400 Subject: date picker done (#80) --- src/components/onboarding/BirthDatePicker.tsx | 125 ++++++++++++++++++++++++++ src/components/onboarding/TaggDatePicker.tsx | 63 ------------- src/components/onboarding/index.ts | 2 +- 3 files changed, 126 insertions(+), 64 deletions(-) create mode 100644 src/components/onboarding/BirthDatePicker.tsx delete mode 100644 src/components/onboarding/TaggDatePicker.tsx (limited to 'src/components/onboarding') diff --git a/src/components/onboarding/BirthDatePicker.tsx b/src/components/onboarding/BirthDatePicker.tsx new file mode 100644 index 00000000..f97f1a72 --- /dev/null +++ b/src/components/onboarding/BirthDatePicker.tsx @@ -0,0 +1,125 @@ +import moment from 'moment'; +import React, {useState} from 'react'; +import { + Modal, + StyleSheet, + Text, + TextInputProps, + TouchableWithoutFeedback, + View, +} from 'react-native'; +import {Button} from 'react-native-elements'; +import {TouchableOpacity} from 'react-native-gesture-handler'; +import {TaggDatePicker} from '../common'; + +interface BirthDatePickerProps extends TextInputProps { + handleBDUpdate: (_: Date) => void; + width?: number | string; +} + +const BirthDatePicker = React.forwardRef( + (props: BirthDatePickerProps, ref: any) => { + const getMaxDate = () => { + const maxDate = moment().subtract(13, 'y').subtract(1, 'd'); + return maxDate.toDate(); + }; + const [date, setDate] = useState(new Date(0)); + const [hidden, setHidden] = useState(true); + const [updated, setUpdated] = useState(false); + const textColor = updated ? 'white' : '#ddd'; + const updateDate = (newDate: Date) => { + props.handleBDUpdate(newDate); + setDate(newDate); + setUpdated(true); + }; + return ( + + { + setHidden(false); + }}> + + {updated ? moment(date).format('YYYY-MM-DD') : 'Date of Birth'} + + + + { + setHidden(true); + }}> + + + + +