From 0f6102f433103ea4b223e47a29cf8b553952b0a8 Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Wed, 2 Nov 2022 12:51:15 +1300 Subject: [PATCH] Make sure undo doesn't delete old items --- StartPlanItem.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/StartPlanItem.tsx b/StartPlanItem.tsx index e51fd29..a4f4d6c 100644 --- a/StartPlanItem.tsx +++ b/StartPlanItem.tsx @@ -1,8 +1,10 @@ import React, {useCallback, useState} from 'react' import {GestureResponderEvent, ListRenderItemInfo, View} from 'react-native' import {List, Menu, RadioButton, useTheme} from 'react-native-paper' +import {Like} from 'typeorm' import CountMany from './count-many' -import {setRepo} from './db' +import {getNow, setRepo} from './db' +import {toast} from './toast' interface Props extends ListRenderItemInfo { onSelect: (index: number) => void @@ -17,13 +19,19 @@ export default function StartPlanItem(props: Props) { const [showMenu, setShowMenu] = useState(false) const undo = useCallback(async () => { + const [{now}] = await getNow() + const created = now.split('T')[0] const first = await setRepo.findOne({ - where: {name: item.name, hidden: 0 as any}, + where: { + name: item.name, + hidden: 0 as any, + created: Like(`${created}%`), + }, order: {created: 'desc'}, }) - console.log({first}) - await setRepo.delete(first.id) setShowMenu(false) + if (!first) return toast('Nothing to undo.') + await setRepo.delete(first.id) onUndo() }, [setShowMenu, onUndo, item.name])