diff --git a/app/(tabs)/budget/index.tsx b/app/(tabs)/budget/index.tsx index 1027f6d..4ca010e 100644 --- a/app/(tabs)/budget/index.tsx +++ b/app/(tabs)/budget/index.tsx @@ -7,10 +7,11 @@ import { SafeAreaView } from 'react-native-safe-area-context'; import { BudgetHeader, LoadingSymbol, Plus } from '../../../components'; import CategoryItem from '../../../components/budget/categoryItem'; import useFetch from '../../../hooks/useFetch'; -import { useThemeColor } from '../../../hooks/useThemeColor'; +import { useTheme } from '../../contexts/ThemeContext'; export default function Page() { - const containerColor = useThemeColor("containerColor"); + const {colors} = useTheme() + const containerColor = colors.containerColor; const [selectedPage, setSelectedPage] = useState("noPageLoaded"); @@ -42,7 +43,7 @@ export default function Page() { { - router.push("./(tabs)/budget/addCategory") + router.push("/(tabs)/budget/addCategory") }}/> {isLoading ? () : ( diff --git a/app/(tabs)/home/index.tsx b/app/(tabs)/home/index.tsx index 6ba2200..eaa0b22 100644 --- a/app/(tabs)/home/index.tsx +++ b/app/(tabs)/home/index.tsx @@ -5,7 +5,7 @@ import { FlatList } from 'react-native-gesture-handler'; import { SafeAreaView } from 'react-native-safe-area-context'; import { ExpenseItem, LoadingSymbol, Plus, SearchBar, Welcome } from '../../../components'; import useFetch from '../../../hooks/useFetch'; -import { useThemeColor } from "../../../hooks/useThemeColor"; + import { addExpense, executeQuery } from "../../../services/database"; import { useAuth } from '../../contexts/AuthContext'; import { useRouter } from "expo-router"; diff --git a/components/budget/budgetHeader.tsx b/components/budget/budgetHeader.tsx index 922761c..eed9624 100644 --- a/components/budget/budgetHeader.tsx +++ b/components/budget/budgetHeader.tsx @@ -1,6 +1,6 @@ import { StyleSheet, Text, TouchableHighlight, View } from "react-native"; -import { useThemeColor } from "../../hooks/useThemeColor"; import SearchBar from "../common/SearchBar"; +import { useTheme } from "../../app/contexts/ThemeContext"; type BudgetHeaderProperties = { selectedPage: string, @@ -14,7 +14,8 @@ type PageSelectorButtonProperties = { } const BudgetHeader = (properties: BudgetHeaderProperties) => { - const backgroundColor = useThemeColor("backgroundColor"); + const {colors} = useTheme(); + const backgroundColor = colors.backgroundColor; return (<> @@ -38,11 +39,13 @@ const BudgetHeader = (properties: BudgetHeaderProperties) => { } const PageSelectorButton = (properties: PageSelectorButtonProperties) => { - const primaryTextColor = useThemeColor("primaryText"); - const secondaryTextColor = useThemeColor("secondaryText"); - const elementSelectedColor = useThemeColor("elementSelectedColor"); - const elementDefaultColor = useThemeColor("elementDefaultColor"); - const accentColor = useThemeColor("accentColor"); + const {colors} = useTheme(); + + const primaryTextColor = colors.primaryText; + const secondaryTextColor = colors.secondaryText; + const elementSelectedColor = colors.elementSelectedColor; + const elementDefaultColor = colors.elementDefaultColor; + const accentColor = colors.accentColor; return ( void | undefined} @@ -28,13 +28,13 @@ function getTimeOfDay(date: Date) : string { export default function Welcome(props: WelcomeProps) { + const { colors } = useTheme(); + const date = new Date() const dateString = formatDate(date) const timeOfDay = getTimeOfDay(date) const onpress = props.onPress - const textcolor = useThemeColor("primaryText") - //const backgroundColor: string = useThemeColor("backgroundColor") return ( {dateString} Good {timeOfDay}, {props.name} diff --git a/components/home/expenseItem.tsx b/components/home/expenseItem.tsx index 3cac5f7..d541d48 100644 --- a/components/home/expenseItem.tsx +++ b/components/home/expenseItem.tsx @@ -1,34 +1,33 @@ import React from 'react'; import { ColorValue, StyleSheet, Text, View } from 'react-native'; import { SIZES } from '../../constants/theme'; -import { useThemeColor } from '../../hooks/useThemeColor'; import CustomCard from "../common/CustomCard"; +import { useTheme } from '../../app/contexts/ThemeContext'; export type ExpenseItemProps = {color: ColorValue, category: string, title: string, date: string, value : string} export default function ExpenseItem(itemProps : ExpenseItemProps) { - const textColor = useThemeColor("primaryText"); - const backgroundColor = useThemeColor("backgroundColor") + const { colors } = useTheme(); return ( - + {itemProps.category} {itemProps.title} {itemProps.date} - + {itemProps.value} diff --git a/services/database.ts b/services/database.ts index 9247fe4..fbb9b6c 100644 --- a/services/database.ts +++ b/services/database.ts @@ -143,7 +143,7 @@ export const DEV_populateDatabase = async () => { for(let i=0; i < 5; i++){ let random = Math.floor(Math.random() * colors.length); - await addCategory(`Category ${i}`, colors[random], "budget") + await addCategory(`Category ${i}`, colors[random], "budget", 50) } const result = await executeQuery({sql:"SELECT * from category", args:[]}) let categories: {[column: string]: any}[];