diff --git a/app/(tabs)/home/index.tsx b/app/(tabs)/home/index.tsx
index aa1ef7e..95a4f54 100644
--- a/app/(tabs)/home/index.tsx
+++ b/app/(tabs)/home/index.tsx
@@ -1,5 +1,6 @@
import React, { useRef, useState } from 'react';
import { NativeScrollEvent, NativeSyntheticEvent, StyleSheet, View } from 'react-native';
+import { Calendar } from 'react-native-calendars';
import { FlatList } from 'react-native-gesture-handler';
import { SafeAreaView } from 'react-native-safe-area-context';
import { ExpenseItem, LoadingSymbol, Plus, SearchBar, Welcome } from '../../../components';
@@ -8,14 +9,17 @@ import { useThemeColor } from "../../../hooks/useThemeColor";
import { addExpense } from "../../../services/database";
import { useAuth } from '../../contexts/AuthContext';
import { useRouter } from "expo-router";
+import { SimpleDate } from '../../../util/SimpleDate';
+import { useTheme } from '../../contexts/ThemeContext';
export default function Page() {
+ const { colors, theme } = useTheme()
//Styles
const styles = StyleSheet.create({
safeAreaViewStyle: {
- flex: 1,
- backgroundColor: useThemeColor("containerColor"),
+ flex: 1,
+ backgroundColor: colors.backgroundColor
},
container: {
flex: 1,
@@ -23,7 +27,7 @@ export default function Page() {
justifyContent: "center",
},
text: {
- color: useThemeColor("primaryText"),
+ color: colors.primaryText,
fontSize: 70,
fontWeight: "bold"
},
@@ -33,7 +37,6 @@ export default function Page() {
});
const router = useRouter();
- const {onLogout} = useAuth();
const [plusShow, setPlusShow] = useState(true);
const prevOffset = useRef(0);
@@ -75,7 +78,17 @@ export default function Page() {
data={data}
ListHeaderComponent={
<>
- {router.push("/home/userSettings")}}>
+ {router.push("/home/userSettings")}}/>
+
+
+
>
}
diff --git a/app/(tabs)/home/userSettings.tsx b/app/(tabs)/home/userSettings.tsx
index ec7a8d4..770892b 100644
--- a/app/(tabs)/home/userSettings.tsx
+++ b/app/(tabs)/home/userSettings.tsx
@@ -5,7 +5,7 @@ import { SIZES } from '../../../constants/theme'
import { SafeAreaView } from 'react-native-safe-area-context'
import { ButtonSetting, ToggleSetting } from '../../../components'
import { useTheme } from '../../contexts/ThemeContext'
-import { deleteExpenses } from '../../../services/database'
+import { deleteExpenses, DEV_populateDatabase } from '../../../services/database'
import { useAuth } from '../../contexts/AuthContext'
import { TouchableOpacity } from 'react-native-gesture-handler'
@@ -61,6 +61,12 @@ export default function userSettings() {
console.log("Expenses Deleted!");
})}}
/>
+ {
+ const del = async () => {
+ await DEV_populateDatabase()
+ }
+ del()
+ }}/>
diff --git a/components/home/expenseItem/expenseItem.tsx b/components/home/expenseItem/expenseItem.tsx
index 81ce109..baa805e 100644
--- a/components/home/expenseItem/expenseItem.tsx
+++ b/components/home/expenseItem/expenseItem.tsx
@@ -2,12 +2,18 @@ import React from 'react';
import { ColorValue, StyleSheet, Text, View } from 'react-native';
import { SIZES } from '../../../constants/theme';
import { useThemeColor } from '../../../hooks/useThemeColor';
+import { useTheme } from '../../../app/contexts/ThemeContext';
import CustomCard from "../../common/CustomCard";
+import { SimpleDate } from '../../../util/SimpleDate';
-export type ExpenseItemProps = {color: ColorValue, category: string, title: string, date: string, value : string}
+type ISOdateString = string
+
+export type ExpenseItemProps = {color: ColorValue, category: string, title: string, date: ISOdateString, value : string}
export default function ExpenseItem(itemProps : ExpenseItemProps) {
- const textColor = useThemeColor("primaryText");
- const backgroundColor = useThemeColor("backgroundColor")
+ const {colors} = useTheme()
+ const textColor = colors.primaryText
+ const backgroundColor = colors.containerColor
+ const date: SimpleDate = new SimpleDate(new Date(itemProps.date))
return (
@@ -23,7 +29,7 @@ export default function ExpenseItem(itemProps : ExpenseItemProps) {
{itemProps.date}
+ }} numberOfLines={1}>{date.format("DD.MM.YYYY")}
= 4"
}
},
+ "node_modules/recyclerlistview": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/recyclerlistview/-/recyclerlistview-4.2.0.tgz",
+ "integrity": "sha512-uuBCi0c+ggqHKwrzPX4Z/mJOzsBbjZEAwGGmlwpD/sD7raXixdAbdJ6BTcAmuWG50Cg4ru9p12M94Njwhr/27A==",
+ "dependencies": {
+ "lodash.debounce": "4.0.8",
+ "prop-types": "15.8.1",
+ "ts-object-utils": "0.0.5"
+ },
+ "peerDependencies": {
+ "react": ">= 15.2.1",
+ "react-native": ">= 0.30.0"
+ }
+ },
"node_modules/regenerate": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
@@ -17078,6 +17124,11 @@
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
"integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
},
+ "node_modules/ts-object-utils": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/ts-object-utils/-/ts-object-utils-0.0.5.tgz",
+ "integrity": "sha512-iV0GvHqOmilbIKJsfyfJY9/dNHCs969z3so90dQWsO1eMMozvTpnB1MEaUbb3FYtZTGjv5sIy/xmslEz0Rg2TA=="
+ },
"node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
@@ -17626,6 +17677,11 @@
"uuid": "dist/bin/uuid"
}
},
+ "node_modules/xdate": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/xdate/-/xdate-0.8.2.tgz",
+ "integrity": "sha512-sNBlLfOC8S3V0vLDEUianQOXcTsc9j4lfeKU/klHe0RjHAYn0CXsSttumTot8dzalboV8gZbH38B+WcCIBjhFQ=="
+ },
"node_modules/xml-name-validator": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
diff --git a/package.json b/package.json
index a625b05..423ac06 100644
--- a/package.json
+++ b/package.json
@@ -4,8 +4,8 @@
"version": "1.0.0",
"scripts": {
"start": "expo start",
- "android": "expo start --android",
- "ios": "expo start --ios",
+ "android": "expo run:android",
+ "ios": "expo run:ios",
"web": "expo start --web",
"test": "jest --watchAll",
"start tunnel": "expo start --tunnel",
@@ -34,6 +34,7 @@
"react": "18.2.0",
"react-dom": "18.2.0",
"react-native": "0.72.6",
+ "react-native-calendars": "^1.1303.0",
"react-native-gesture-handler": "~2.12.0",
"react-native-safe-area-context": "4.6.3",
"react-native-screens": "~3.22.0",