Refactor category type to use enum

This commit is contained in:
Walcher 2024-01-25 17:23:17 +01:00 committed by Jakob Stornig
parent 6ca505d505
commit bdc2ca22f6
6 changed files with 22 additions and 15 deletions

View file

@ -1,10 +1,11 @@
import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
import { useTheme } from "../../app/contexts/ThemeContext";
import { CategoryType } from "../../services/database";
export type TypeSelectorSwitchProperties = {
handleButtonPress: (type: string) => void,
currentSelected: string,
handleButtonPress: (type: CategoryType) => void,
currentSelected: CategoryType,
}
const TypeSelectorSwitch = (properties: TypeSelectorSwitchProperties) => {
@ -14,17 +15,17 @@ const TypeSelectorSwitch = (properties: TypeSelectorSwitchProperties) => {
<View style={styles.containerStyle}>
<TouchableOpacity
onPress={() => {
properties.handleButtonPress("expense");
properties.handleButtonPress(CategoryType.EXPENSE);
}}
style={[styles.touchableOpacityStyle, properties.currentSelected == "expense" ? {backgroundColor: colors.accentColor} : {backgroundColor: colors.elementDefaultColor}]
style={[styles.touchableOpacityStyle, properties.currentSelected == CategoryType.EXPENSE ? {backgroundColor: colors.accentColor} : {backgroundColor: colors.elementDefaultColor}]
}>
<Text style={[styles.textStyle, {color: colors.primaryText}]}>Expenses</Text>
</TouchableOpacity>
<TouchableOpacity
onPress={() => {
properties.handleButtonPress("saving");
onPress={() => {
properties.handleButtonPress(CategoryType.SAVING);
}}
style={[styles.touchableOpacityStyle, properties.currentSelected == "saving" ? {backgroundColor: colors.accentColor} : {backgroundColor: colors.elementDefaultColor}]
style={[styles.touchableOpacityStyle, properties.currentSelected == CategoryType.SAVING ? {backgroundColor: colors.accentColor} : {backgroundColor: colors.elementDefaultColor}]
}>
<Text style={[styles.textStyle, {color: colors.primaryText}]}>Savings</Text>
</TouchableOpacity>

View file

@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { useTheme } from '../../app/contexts/ThemeContext';
import useFetch from '../../hooks/useFetch';
import { CategoryType } from '../../services/database';
const BudgetOverview = () => {
const { colors } = useTheme();
@ -9,12 +10,12 @@ const BudgetOverview = () => {
const [budget, setBudget] = useState(0);
const spentQuery = {
sql: "SELECT SUM(e.amount) as total FROM expense e LEFT JOIN category c ON e.category_guid = c.guid WHERE c.type = 'budget'",
sql: `SELECT SUM(e.amount) as total FROM expense e LEFT JOIN category c ON e.category_guid = c.guid WHERE c.type = '${CategoryType.EXPENSE.toString()}'`,
args: []
};
const budgetQuery = {
sql: "SELECT SUM(allocated_amount) as total FROM category WHERE type = 'budget'",
sql: `SELECT SUM(allocated_amount) as total FROM category WHERE type = '${CategoryType.EXPENSE.toString()}'`,
args: []
};

View file

@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
import { Text, StyleSheet } from 'react-native';
import { useTheme } from '../../app/contexts/ThemeContext';
import useFetch from '../../hooks/useFetch';
import { CategoryType } from '../../services/database';
const styles = StyleSheet.create({
text: {
@ -23,7 +24,7 @@ const BudgetRemaining = () => {
};
const budgetQuery = {
sql: "SELECT SUM(allocated_amount) as total FROM category WHERE type = 'budget'",
sql: `SELECT SUM(allocated_amount) as total FROM category WHERE type = '${CategoryType.EXPENSE.toString()}'`,
args: []
};

View file

@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { useTheme } from '../../app/contexts/ThemeContext';
import useFetch from '../../hooks/useFetch';
import { CategoryType } from '../../services/database';
const SavingsOverview = () => {
const { colors } = useTheme();
@ -9,12 +10,12 @@ const SavingsOverview = () => {
const [goal, setGoal] = useState(0);
const savedQuery = {
sql: "SELECT SUM(e.amount) as total FROM expense e LEFT JOIN category c ON e.category_guid = c.guid WHERE c.type = 'savings'",
sql: `SELECT SUM(e.amount) as total FROM expense e LEFT JOIN category c ON e.category_guid = c.guid WHERE c.type = '${CategoryType.SAVING.toString()}'`,
args: []
};
const goalQuery = {
sql: "SELECT SUM(allocated_amount) as total FROM category WHERE type = 'budget'",
sql: `SELECT SUM(allocated_amount) as total FROM category WHERE type = '${CategoryType.SAVING.toString()}'`,
args: []
};