From 7fecf8c5d95b7fb3e4fb3289a85b5683a886ebce Mon Sep 17 00:00:00 2001 From: thschleicher Date: Thu, 25 Jan 2024 16:06:52 +0100 Subject: [PATCH] implemented delete button and fixed routing interaction with db --- app/(tabs)/(budget)/editCategory.tsx | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/app/(tabs)/(budget)/editCategory.tsx b/app/(tabs)/(budget)/editCategory.tsx index 60705fa..369667b 100644 --- a/app/(tabs)/(budget)/editCategory.tsx +++ b/app/(tabs)/(budget)/editCategory.tsx @@ -2,7 +2,8 @@ import { router, useLocalSearchParams } from "expo-router"; import { useState } from "react"; import { SafeAreaView, StyleSheet, Text, TextInput, View } from "react-native"; import { AutoDecimalInput, CustomColorPicker, NavigationButton, TypeSelectorSwitch } from "../../../components"; -import { updateCategory } from "../../../services/database"; +import useFetch from "../../../hooks/useFetch"; +import { deleteCategory, deleteExpense, updateCategory } from "../../../services/database"; import { useTheme } from "../../contexts/ThemeContext"; const addCategory = () => { @@ -14,6 +15,8 @@ const addCategory = () => { const [selectedType, setSelectedType] = useState(category_type.toString()); const [amount, setAmount] = useState(Number.parseFloat(category_amount.toString())); + const {data} = useFetch({sql: "SELECT * FROM expense WHERE category_guid = ?", args: [category_guid.toString()]}); + return ( Edit Category @@ -44,13 +47,27 @@ const addCategory = () => { }}/> + + { + for (let i = 0; i < data.length;) { + deleteExpense(data[i].guid).then(() => { + i++ + }); + } + deleteCategory(category_guid.toString()).then(() => { + router.push("/(tabs)/(budget)"); + }); + }}/> + + { router.back(); }}/> { - updateCategory(category_guid.toString(), categoryName, categoryColor, selectedType, amount); - router.back(); + updateCategory(category_guid.toString(), categoryName, categoryColor, selectedType, amount).then(() => { + router.back(); + }); }}/> @@ -61,6 +78,9 @@ const addCategory = () => { export default addCategory; const styles = StyleSheet.create({ + deleteButtonView: { + + }, containerStyle: { flex: 1, margin: 10,