Files
iNaturalistReactNative/src/components/SharedComponents/DateTimePicker.js
Amanda Bullington 9872a99f47 Fix: Show observation date in ObsEdit date picker (#2620)
* test: run same suite of tests for ObsDetails and its default mode equivalent

* Show observation date when opening date picker
2025-01-17 15:21:40 -08:00

53 lines
1.2 KiB
JavaScript

// @flow
import * as React from "react";
import { Appearance } from "react-native";
import DateTimePicker from "react-native-modal-datetime-picker";
type Props = {
date: Date,
toggleDateTimePicker: Function,
onDatePicked: Function,
isDateTimePickerVisible: boolean,
datetime?: boolean
};
// using component from Seek: https://github.com/inaturalist/SeekReactNative/blob/64ae3df185fffe751aff40ab17e3ff2dd8a74e42/components/UIComponents/DateTimePicker.js
const EmptyHeader = ( ) => null;
const DatePicker = ( {
date,
datetime,
isDateTimePickerVisible,
onDatePicked,
toggleDateTimePicker
}: Props ): React.Node => {
const colorScheme = Appearance.getColorScheme( );
return (
<DateTimePicker
display="spinner"
customHeaderIOS={EmptyHeader}
isDarkModeEnabled={colorScheme === "dark"}
isVisible={isDateTimePickerVisible}
maximumDate={new Date( )}
mode={datetime
? "datetime"
: "date"}
onCancel={toggleDateTimePicker}
onConfirm={selectedDate => {
onDatePicked( selectedDate );
toggleDateTimePicker( );
}}
date={date || new Date( )}
/>
);
};
DatePicker.defaultProps = {
datetime: false
};
export default DatePicker;