import { router, useLocalSearchParams } from "expo-router"; import { useState } from "react"; import { StyleSheet, Text, TextInput, View } from "react-native"; import { SafeAreaView } from 'react-native-safe-area-context'; import { AutoDecimalInput, CustomColorPicker, NavigationButton, TypeSelectorSwitch } from "../../../components"; import { addCategory } from "../../../services/database"; import { useTheme } from "../../contexts/ThemeContext"; import { CategoryType } from "../../../types/dbItems"; export default function Page() { const {colors} = useTheme(); const parameters = useLocalSearchParams(); const [categoryName, setCategoryName] = useState(""); const [categoryColor, setCategoryColor] = useState('#' + Math.floor(Math.random()*16777215).toString(16)); const [selectedType, setSelectedType] = useState(CategoryType.EXPENSE); const [amount, setAmount] = useState(0); return ( Add Category { setCategoryName(newName); }}/> { setAmount(!Number.isNaN(Number.parseFloat(value)) ? Number.parseFloat(value) : 0); }}/> { setSelectedType(type); }} /> { setCategoryColor(color); }}/> { router.back(); }}/> { addCategory(categoryName, categoryColor, selectedType, amount).then(() => router.back()); }}/> ); } 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, } });