From 9e80df78658f5f754d4e3e9889a9ef204cc598ea Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Mon, 8 Aug 2022 15:34:33 +1200 Subject: [PATCH] Add toggle for showing dates in Set list --- SetItem.tsx | 28 ++++++++++++++++++++++++---- SetList.tsx | 11 +++++++++-- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/SetItem.tsx b/SetItem.tsx index 370c83f..7dbdcfc 100644 --- a/SetItem.tsx +++ b/SetItem.tsx @@ -1,20 +1,26 @@ import {NavigationProp, useNavigation} from '@react-navigation/native'; -import React, {useCallback, useContext, useState} from 'react'; -import {GestureResponderEvent} from 'react-native'; +import React, {useCallback, useContext, useMemo, 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, onRemove, + dates, + setDates, }: { item: Set; onRemove: () => void; + dates: boolean; + setDates: (value: boolean) => void; }) { 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>(); @@ -40,6 +46,11 @@ export default function SetItem({ [setShowMenu, setAnchor], ); + const toggleDates = useCallback(() => { + setDates(!dates); + setShowMenu(false); + }, [dates, setDates]); + return ( <> ( - <> + + {dates ? date : null} setShowMenu(false)}> + - + )} /> diff --git a/SetList.tsx b/SetList.tsx index d33e21a..ee5ec2a 100644 --- a/SetList.tsx +++ b/SetList.tsx @@ -24,6 +24,7 @@ export default function SetList() { const [search, setSearch] = useState(''); const [refreshing, setRefreshing] = useState(false); const [end, setEnd] = useState(false); + const [dates, setDates] = useState(false); const db = useContext(DatabaseContext); const navigation = useNavigation>(); @@ -133,9 +134,15 @@ export default function SetList() { const renderItem = useCallback( ({item}: {item: Set}) => ( - + ), - [refresh], + [refresh, dates, setDates], ); const next = useCallback(async () => {