Remove date related logic
This kept displaying the wrong date/time for certain timezones. So i'll just show the actual ISO date we store in the database. Maybe later i'll figure out what was going on here or use a date library (probably not).
This commit is contained in:
parent
4c185f0346
commit
fd66bd3ab3
106
SetForm.tsx
106
SetForm.tsx
|
@ -1,9 +1,7 @@
|
|||
import React, {useRef, useState} from 'react';
|
||||
import {ScrollView, StyleSheet} from 'react-native';
|
||||
import DateTimePickerModal from 'react-native-modal-datetime-picker';
|
||||
import {ScrollView, StyleSheet, Text} from 'react-native';
|
||||
import {Button, TextInput} from 'react-native-paper';
|
||||
import Set from './set';
|
||||
import {format} from './time';
|
||||
|
||||
export default function SetForm({
|
||||
save,
|
||||
|
@ -15,90 +13,66 @@ export default function SetForm({
|
|||
const [name, setName] = useState(set.name);
|
||||
const [reps, setReps] = useState(set.reps.toString());
|
||||
const [weight, setWeight] = useState(set.weight.toString());
|
||||
const [created, setCreated] = useState(new Date(set.created));
|
||||
const [unit, setUnit] = useState(set.unit);
|
||||
const [showDate, setShowDate] = useState(false);
|
||||
const [selection, setSelection] = useState({
|
||||
start: 0,
|
||||
end: set.reps.toString().length,
|
||||
});
|
||||
const weightRef = useRef<any>(null);
|
||||
|
||||
const onConfirm = (date: Date) => {
|
||||
setCreated(date);
|
||||
setShowDate(false);
|
||||
};
|
||||
|
||||
const handleSubmit = () => {
|
||||
save({
|
||||
name,
|
||||
reps: Number(reps),
|
||||
created: created.toISOString(),
|
||||
created: set.created,
|
||||
weight: Number(weight),
|
||||
id: set.id,
|
||||
unit,
|
||||
});
|
||||
};
|
||||
|
||||
const textInputs = (
|
||||
<>
|
||||
<TextInput
|
||||
style={styles.marginBottom}
|
||||
label="Name"
|
||||
value={name}
|
||||
onChangeText={setName}
|
||||
autoCorrect={false}
|
||||
/>
|
||||
<TextInput
|
||||
style={styles.marginBottom}
|
||||
label="Reps"
|
||||
keyboardType="numeric"
|
||||
value={reps}
|
||||
onChangeText={setReps}
|
||||
onSubmitEditing={() => weightRef.current?.focus()}
|
||||
selection={selection}
|
||||
onSelectionChange={e => setSelection(e.nativeEvent.selection)}
|
||||
autoFocus
|
||||
selectTextOnFocus
|
||||
blurOnSubmit={false}
|
||||
/>
|
||||
<TextInput
|
||||
style={styles.marginBottom}
|
||||
label="Weight"
|
||||
keyboardType="numeric"
|
||||
value={weight}
|
||||
onChangeText={setWeight}
|
||||
onSubmitEditing={handleSubmit}
|
||||
ref={weightRef}
|
||||
selectTextOnFocus
|
||||
/>
|
||||
<TextInput
|
||||
style={styles.marginBottom}
|
||||
label="Unit (kg)"
|
||||
value={unit}
|
||||
onChangeText={setUnit}
|
||||
onSubmitEditing={handleSubmit}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
<ScrollView style={{height: '90%'}}>
|
||||
{textInputs}
|
||||
<Button
|
||||
<TextInput
|
||||
style={styles.marginBottom}
|
||||
icon="calendar-outline"
|
||||
onPress={() => setShowDate(true)}>
|
||||
{format(created)}
|
||||
</Button>
|
||||
<DateTimePickerModal
|
||||
isVisible={showDate}
|
||||
mode="datetime"
|
||||
onConfirm={onConfirm}
|
||||
onCancel={() => setShowDate(false)}
|
||||
date={created}
|
||||
label="Name"
|
||||
value={name}
|
||||
onChangeText={setName}
|
||||
autoCorrect={false}
|
||||
selectTextOnFocus
|
||||
/>
|
||||
<TextInput
|
||||
style={styles.marginBottom}
|
||||
label="Reps"
|
||||
keyboardType="numeric"
|
||||
value={reps}
|
||||
onChangeText={setReps}
|
||||
onSubmitEditing={() => weightRef.current?.focus()}
|
||||
selection={selection}
|
||||
onSelectionChange={e => setSelection(e.nativeEvent.selection)}
|
||||
autoFocus
|
||||
selectTextOnFocus
|
||||
blurOnSubmit={false}
|
||||
/>
|
||||
<TextInput
|
||||
style={styles.marginBottom}
|
||||
label="Weight"
|
||||
keyboardType="numeric"
|
||||
value={weight}
|
||||
onChangeText={setWeight}
|
||||
onSubmitEditing={handleSubmit}
|
||||
ref={weightRef}
|
||||
selectTextOnFocus
|
||||
/>
|
||||
<TextInput
|
||||
style={styles.marginBottom}
|
||||
label="Unit (kg)"
|
||||
value={unit}
|
||||
onChangeText={setUnit}
|
||||
onSubmitEditing={handleSubmit}
|
||||
selectTextOnFocus
|
||||
/>
|
||||
<Text>{set.created?.replace('T', ' ')}</Text>
|
||||
</ScrollView>
|
||||
<Button mode="contained" icon="save" onPress={handleSubmit}>
|
||||
Save
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
import {NavigationProp, useNavigation} from '@react-navigation/native';
|
||||
import React, {useCallback, useContext, useMemo, useState} from 'react';
|
||||
import React, {useCallback, useContext, useState} from 'react';
|
||||
import {GestureResponderEvent, Text} from 'react-native';
|
||||
import {Divider, List, Menu} from 'react-native-paper';
|
||||
import {DatabaseContext} from './App';
|
||||
import {HomePageParams} from './HomePage';
|
||||
import Set from './set';
|
||||
import {format} from './time';
|
||||
|
||||
export default function SetItem({
|
||||
item,
|
||||
|
@ -20,7 +19,6 @@ export default function SetItem({
|
|||
}) {
|
||||
const [showMenu, setShowMenu] = useState(false);
|
||||
const [anchor, setAnchor] = useState({x: 0, y: 0});
|
||||
const date = useMemo(() => format(new Date(item.created)), [item.created]);
|
||||
const db = useContext(DatabaseContext);
|
||||
const navigation = useNavigation<NavigationProp<HomePageParams>>();
|
||||
|
||||
|
@ -32,7 +30,6 @@ export default function SetItem({
|
|||
|
||||
const copy = useCallback(() => {
|
||||
const set: Set = {...item};
|
||||
set.created = new Date().toISOString();
|
||||
set.id = 0;
|
||||
setShowMenu(false);
|
||||
navigation.navigate('EditSet', {set});
|
||||
|
@ -63,7 +60,7 @@ export default function SetItem({
|
|||
style={{
|
||||
alignSelf: 'center',
|
||||
}}>
|
||||
{dates ? date : null}
|
||||
{dates ? item.created?.replace('T', ' ') : null}
|
||||
<Menu
|
||||
anchor={anchor}
|
||||
visible={showMenu}
|
||||
|
|
|
@ -31,7 +31,6 @@
|
|||
"react-native-file-access": "^2.4.3",
|
||||
"react-native-gesture-handler": "^2.5.0",
|
||||
"react-native-linear-gradient": "^2.6.2",
|
||||
"react-native-modal-datetime-picker": "^13.1.2",
|
||||
"react-native-pager-view": "^5.4.24",
|
||||
"react-native-paper": "^4.12.2",
|
||||
"react-native-reanimated": "^2.9.0",
|
||||
|
|
13
yarn.lock
13
yarn.lock
|
@ -8020,7 +8020,6 @@ __metadata:
|
|||
react-native-file-access: ^2.4.3
|
||||
react-native-gesture-handler: ^2.5.0
|
||||
react-native-linear-gradient: ^2.6.2
|
||||
react-native-modal-datetime-picker: ^13.1.2
|
||||
react-native-pager-view: ^5.4.24
|
||||
react-native-paper: ^4.12.2
|
||||
react-native-reanimated: ^2.9.0
|
||||
|
@ -9680,18 +9679,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react-native-modal-datetime-picker@npm:^13.1.2":
|
||||
version: 13.1.2
|
||||
resolution: "react-native-modal-datetime-picker@npm:13.1.2"
|
||||
dependencies:
|
||||
prop-types: ^15.7.2
|
||||
peerDependencies:
|
||||
"@react-native-community/datetimepicker": ">=3.0.0"
|
||||
react-native: ">=0.65.0"
|
||||
checksum: 70a7875dbeb550f97aa26786262a434a5c88dfd048e642fa6e4a7e0b8411c8ff191463a5bb4a82bb18d603cc3b2ef60891bfcaa3144b9e0a40cd756bf662b4a1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react-native-pager-view@npm:^5.4.24":
|
||||
version: 5.4.24
|
||||
resolution: "react-native-pager-view@npm:5.4.24"
|
||||
|
|
Loading…
Reference in New Issue
Block a user