Skip to content

Commit 0059979

Browse files
author
myntifyX
committed
New, Updated Deleted expenses are sent to Firebase
1 parent 1ae3027 commit 0059979

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

screens/ManageExpense.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import Button from "../components/UI/Button";
66
import { ExpensesContext } from "../store/expenses-context";
77
import { useRoute } from "@react-navigation/native";
88
import ExpenseForm from "../components/ManageExpense/ExpenseForm";
9-
import { storeExpense } from "../util/http";
9+
import { storeExpense, updateExpense, deleteExpense } from "../util/http";
1010

1111
function ManageExpense({ route, navigation }) {
1212
// const editedExpenseId = route.params?.expenseId;
@@ -38,8 +38,9 @@ function ManageExpense({ route, navigation }) {
3838
});
3939
}, [isEditing]);
4040

41-
function deleteExpenseHander() {
41+
async function deleteExpenseHander() {
4242
const expenseID = route.params.expenseID;
43+
await deleteExpense(expenseID)
4344
expensesCtx.deleteExpense(expenseID);
4445
navigation.goBack();
4546
}
@@ -52,6 +53,7 @@ function ManageExpense({ route, navigation }) {
5253
if (isEditing) {
5354
const expenseID = route.params.expenseID;
5455
expensesCtx.updateExpense(expenseID, expenseData);
56+
await updateExpense(expenseID, expenseData); //by adding await, the modal will only close once the expense is updated to Firebase
5557
} else {
5658
const id = await storeExpense(expenseData);
5759
expensesCtx.addExpense({ ...expenseData, id: id });

util/http.js

+8
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,11 @@ export async function fetchExpenses() {
2828
}
2929
return expenses;
3030
}
31+
32+
export function updateExpense(id, expenseData) {
33+
return axios.put(BACKEND_URL + `/expenses/${id}.json`, expenseData)
34+
}
35+
36+
export function deleteExpense(id) {
37+
return axios.delete(BACKEND_URL + `/expenses/${id}.json`);
38+
}

0 commit comments

Comments
 (0)