diff --git a/client/database/dbUtils.js b/client/database/dbUtils.js index 73c434e77f523cd00912d823bbcb2e7ea2c988fb..a1477482e1436b0ba003bed17fbfe717b8db0719 100644 --- a/client/database/dbUtils.js +++ b/client/database/dbUtils.js @@ -1,5 +1,24 @@ import db from './db'; +export const deleteAllItems = () => { + return new Promise((resolve, reject) => { + db.transaction((tx) => { + tx.executeSql( + 'DELETE FROM items', + [], + (_, result) => { + console.log('All items deleted from the table'); + resolve(result); + }, + (error) => { + console.log('Error deleting all items:', error); + reject(error); + } + ); + }); + }); +}; + export const getItemsWithQuantities = () => { return new Promise((resolve, reject) => { db.transaction((tx) => { diff --git a/client/package-lock.json b/client/package-lock.json index 20784ab02d16c21416113ac51bbd6cd270a65446..f33968d32910d8a1246626df6d4d8d1abade98ce 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -12,7 +12,7 @@ "@react-navigation/native": "^6.1.9", "@react-navigation/native-stack": "^6.9.16", "@react-navigation/stack": "^6.3.20", - "@stripe/stripe-react-native": "0.23.3", + "@stripe/stripe-react-native": "^0.23.3", "date-fns": "^2.30.0", "expo": "^48.0.0", "expo-barcode-scanner": "~12.3.2", diff --git a/client/package.json b/client/package.json index cba85d7a1372e429e6bd1de3fd859421cd2575c2..69044308883c31bf65b040c8cec40045a6265e6e 100644 --- a/client/package.json +++ b/client/package.json @@ -13,7 +13,7 @@ "@react-navigation/native": "^6.1.9", "@react-navigation/native-stack": "^6.9.16", "@react-navigation/stack": "^6.3.20", - "@stripe/stripe-react-native": "0.23.3", + "@stripe/stripe-react-native": "^0.23.3", "date-fns": "^2.30.0", "expo": "^48.0.0", "expo-barcode-scanner": "~12.3.2", diff --git a/client/screens/CartScreen.tsx b/client/screens/CartScreen.tsx index b823a7255fc8fbb4ff76a4b24e11b61ac66737fa..d00e21dd48ff6917b18f2f19527b90ed594e6049 100644 --- a/client/screens/CartScreen.tsx +++ b/client/screens/CartScreen.tsx @@ -6,6 +6,7 @@ import React, { useEffect, useState } from 'react'; import Swipeout from 'react-native-swipeout'; import AsyncStorage from '@react-native-async-storage/async-storage'; import Constants from 'expo-constants'; + import { retrieveThemeMode } from './utils/themeUtils'; import { getItemsWithQuantities, deleteItem, @@ -20,25 +21,10 @@ import React, { useEffect, useState } from 'react'; const apiUrl = Constants.manifest.extra.apiUrl; const [isDarkMode, setIsDarkMode] = useState(false); - const retrieveThemeMode = async () => { - try { - const themeMode = await AsyncStorage.getItem('themeMode'); - if (themeMode !== null) { - setIsDarkMode(themeMode === 'dark'); - } - } catch (error) { - console.log('Error retrieving theme mode:', error); - } - }; - - const toggleTheme = () => { - const newThemeMode = !isDarkMode; - setIsDarkMode(newThemeMode); - AsyncStorage.setItem('themeMode', newThemeMode ? 'dark' : 'light'); - }; - useEffect(() => { - retrieveThemeMode(); + retrieveThemeMode().then((themeMode) => { + setIsDarkMode(themeMode); + }); updateCart(); }, []); @@ -104,11 +90,11 @@ import React, { useEffect, useState } from 'react'; {(item.price / 100).toFixed(2)} € -