parent
cb8c106e1f
commit
f38cc9d00c
39
ViewBest.tsx
39
ViewBest.tsx
|
@ -1,3 +1,4 @@
|
||||||
|
import {Picker} from '@react-native-picker/picker';
|
||||||
import {
|
import {
|
||||||
RouteProp,
|
RouteProp,
|
||||||
useFocusEffect,
|
useFocusEffect,
|
||||||
|
@ -5,10 +6,9 @@ import {
|
||||||
useRoute,
|
useRoute,
|
||||||
} from '@react-navigation/native';
|
} from '@react-navigation/native';
|
||||||
import React, {useCallback, useEffect, useState} from 'react';
|
import React, {useCallback, useEffect, useState} from 'react';
|
||||||
import {View} from 'react-native';
|
import {useColorScheme, View} from 'react-native';
|
||||||
import {FileSystem} from 'react-native-file-access';
|
import {FileSystem} from 'react-native-file-access';
|
||||||
import {IconButton} from 'react-native-paper';
|
import {IconButton} from 'react-native-paper';
|
||||||
import RNPickerSelect from 'react-native-picker-select';
|
|
||||||
import Share from 'react-native-share';
|
import Share from 'react-native-share';
|
||||||
import {captureScreen} from 'react-native-view-shot';
|
import {captureScreen} from 'react-native-view-shot';
|
||||||
import {getVolumes, getWeightsBy} from './best.service';
|
import {getVolumes, getWeightsBy} from './best.service';
|
||||||
|
@ -23,6 +23,7 @@ import Volume from './volume';
|
||||||
|
|
||||||
export default function ViewBest() {
|
export default function ViewBest() {
|
||||||
const {params} = useRoute<RouteProp<BestPageParams, 'ViewBest'>>();
|
const {params} = useRoute<RouteProp<BestPageParams, 'ViewBest'>>();
|
||||||
|
const dark = useColorScheme() === 'dark';
|
||||||
const [weights, setWeights] = useState<Set[]>([]);
|
const [weights, setWeights] = useState<Set[]>([]);
|
||||||
const [volumes, setVolumes] = useState<Volume[]>([]);
|
const [volumes, setVolumes] = useState<Volume[]>([]);
|
||||||
const [metric, setMetric] = useState(Metrics.Weight);
|
const [metric, setMetric] = useState(Metrics.Weight);
|
||||||
|
@ -67,23 +68,23 @@ export default function ViewBest() {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={{padding: PADDING}}>
|
<View style={{padding: PADDING}}>
|
||||||
<RNPickerSelect
|
<Picker
|
||||||
onValueChange={setMetric}
|
style={{color: dark ? 'white' : 'black'}}
|
||||||
items={[
|
dropdownIconColor={dark ? 'white' : 'black'}
|
||||||
{label: Metrics.Weight, value: Metrics.Weight},
|
selectedValue={metric}
|
||||||
{label: Metrics.Volume, value: Metrics.Volume},
|
onValueChange={value => setMetric(value)}>
|
||||||
]}
|
<Picker.Item value={Metrics.Volume} label={Metrics.Volume} />
|
||||||
value={metric}
|
<Picker.Item value={Metrics.Weight} label={Metrics.Weight} />
|
||||||
/>
|
</Picker>
|
||||||
<RNPickerSelect
|
<Picker
|
||||||
onValueChange={setPeriod}
|
style={{color: dark ? 'white' : 'black'}}
|
||||||
items={[
|
dropdownIconColor={dark ? 'white' : 'black'}
|
||||||
{label: Periods.Weekly, value: Periods.Weekly},
|
selectedValue={period}
|
||||||
{label: Periods.Monthly, value: Periods.Monthly},
|
onValueChange={value => setPeriod(value)}>
|
||||||
{label: Periods.Yearly, value: Periods.Yearly},
|
<Picker.Item value={Periods.Weekly} label={Periods.Weekly} />
|
||||||
]}
|
<Picker.Item value={Periods.Monthly} label={Periods.Monthly} />
|
||||||
value={period}
|
<Picker.Item value={Periods.Yearly} label={Periods.Yearly} />
|
||||||
/>
|
</Picker>
|
||||||
{metric === Metrics.Volume && (
|
{metric === Metrics.Volume && (
|
||||||
<Chart
|
<Chart
|
||||||
yData={volumes.map(v => v.value)}
|
yData={volumes.map(v => v.value)}
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
"react-native-linear-gradient": "^2.6.2",
|
"react-native-linear-gradient": "^2.6.2",
|
||||||
"react-native-pager-view": "^6.0.0",
|
"react-native-pager-view": "^6.0.0",
|
||||||
"react-native-paper": "^4.12.4",
|
"react-native-paper": "^4.12.4",
|
||||||
"react-native-picker-select": "^8.0.4",
|
|
||||||
"react-native-reanimated": "^2.10.0",
|
"react-native-reanimated": "^2.10.0",
|
||||||
"react-native-safe-area-context": "^4.3.3",
|
"react-native-safe-area-context": "^4.3.3",
|
||||||
"react-native-screens": "^3.17.0",
|
"react-native-screens": "^3.17.0",
|
||||||
|
|
21
yarn.lock
21
yarn.lock
|
@ -2291,16 +2291,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@react-native-picker/picker@npm:^1.8.3":
|
|
||||||
version: 1.16.8
|
|
||||||
resolution: "@react-native-picker/picker@npm:1.16.8"
|
|
||||||
peerDependencies:
|
|
||||||
react: 16 || 17
|
|
||||||
react-native: ">=0.57"
|
|
||||||
checksum: c0176e41ba7486bf0a27ab5471315848cb166330313bd12e29ee65b7d2e1dfde22383de6a89be15770d132b33bca1764e64feee3acf22c67c3733fd877d3e91f
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@react-native-picker/picker@npm:^2.4.4":
|
"@react-native-picker/picker@npm:^2.4.4":
|
||||||
version: 2.4.4
|
version: 2.4.4
|
||||||
resolution: "@react-native-picker/picker@npm:2.4.4"
|
resolution: "@react-native-picker/picker@npm:2.4.4"
|
||||||
|
@ -6474,7 +6464,6 @@ __metadata:
|
||||||
react-native-linear-gradient: ^2.6.2
|
react-native-linear-gradient: ^2.6.2
|
||||||
react-native-pager-view: ^6.0.0
|
react-native-pager-view: ^6.0.0
|
||||||
react-native-paper: ^4.12.4
|
react-native-paper: ^4.12.4
|
||||||
react-native-picker-select: ^8.0.4
|
|
||||||
react-native-reanimated: ^2.10.0
|
react-native-reanimated: ^2.10.0
|
||||||
react-native-safe-area-context: ^4.3.3
|
react-native-safe-area-context: ^4.3.3
|
||||||
react-native-screens: ^3.17.0
|
react-native-screens: ^3.17.0
|
||||||
|
@ -8108,16 +8097,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"react-native-picker-select@npm:^8.0.4":
|
|
||||||
version: 8.0.4
|
|
||||||
resolution: "react-native-picker-select@npm:8.0.4"
|
|
||||||
dependencies:
|
|
||||||
"@react-native-picker/picker": ^1.8.3
|
|
||||||
lodash.isequal: ^4.5.0
|
|
||||||
checksum: 9656a2f7b330a9e5a8b6b90393140fc5370762d2a14de4c5d31ce43de8abc677870c7f2ee8a493f48535157ddcbc3311cf3f41dac262bd84e50e913f0d4a24ff
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"react-native-reanimated@npm:^2.10.0":
|
"react-native-reanimated@npm:^2.10.0":
|
||||||
version: 2.10.0
|
version: 2.10.0
|
||||||
resolution: "react-native-reanimated@npm:2.10.0"
|
resolution: "react-native-reanimated@npm:2.10.0"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user