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 { useTheme } from "../../contexts/ThemeContext"; const addCategory = () => { const {colors} = useTheme(); const {category_guid, category_amount, category_color, category_name, category_type} = useLocalSearchParams(); const [categoryName, setCategoryName] = useState(category_name.toString()); const [categoryColor, setCategoryColor] = useState(category_color.toString()); const [selectedType, setSelectedType] = useState(category_type.toString()); const [amount, setAmount] = useState(Number.parseFloat(category_amount.toString())); return ( Edit Category { setCategoryName(newName); }}/> { setAmount(!Number.isNaN(Number.parseFloat(value)) ? Number.parseFloat(value) : 0); }}/> { setSelectedType(type); }} /> { setCategoryColor(color); }}/> { router.back(); }}/> { updateCategory(category_guid.toString(), categoryName, categoryColor, selectedType, amount); router.back(); }}/> ); } export default addCategory; const styles = StyleSheet.create({ containerStyle: { flex: 1, margin: 10, borderRadius: 10, }, safeAreaViewStyle: { flex: 1, flexDirection: "column" }, headingTextStyle: { fontSize: 40, fontWeight: "bold", alignSelf: "center", marginVertical: 10, }, navigationButtonViewStyle: { flexDirection: "row", justifyContent: "center", marginBottom: 10, }, textInputViewStyle: { borderRadius: 10, paddingVertical: 10, margin: 10, }, textInputStyle: { paddingHorizontal: 10, fontSize: 25, }, budgetInput: { marginBottom: 10, marginHorizontal: 10, } });