From a65f6f09b14cc64f703a411483de9aacef7c9cc9 Mon Sep 17 00:00:00 2001 From: Gabe Farrell Date: Tue, 18 Apr 2023 20:54:30 +0000 Subject: [PATCH] Finish Month Expenses Widget --- src/components/ExpenseTotal.js | 28 ++++++++++++++++++++-------- src/components/css/ExpenseTotal.css | 4 ++++ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/components/ExpenseTotal.js b/src/components/ExpenseTotal.js index c8fe744..8e51540 100644 --- a/src/components/ExpenseTotal.js +++ b/src/components/ExpenseTotal.js @@ -1,19 +1,31 @@ -import React, { useContext } from 'react'; -import { AppContext } from '../context/AppContext'; +import React, { useState, useEffect } from 'react'; +import { getSessionKey } from "../utils/utils"; import logo from './widget_logos/expenses_logo.png'; import './css/ExpenseTotal.css' const ExpenseTotal = () => { - const { expenses } = useContext(AppContext); + const [expense, setExpense] = useState(0.0); - const total = expenses.reduce((total, item) => { - return (total += item.cost); - }, 0); + useEffect(() => { + fetch('https://api.bb.gabefarrell.com/w/expenses/month', { + method: 'GET', + headers: { + 'x-session-key': getSessionKey(), + }, + }) + .then(data => data.json()) + .then((data) => { + let monthExpense = data.whole + monthExpense += (data.decimal / 100) + setExpense(monthExpense) + }) + .catch(console.log) + }, []) return (
- - This Month's Expenses: ${total} + + This Month's Expenses: ${expense}
); }; diff --git a/src/components/css/ExpenseTotal.css b/src/components/css/ExpenseTotal.css index e69de29..de22b4c 100644 --- a/src/components/css/ExpenseTotal.css +++ b/src/components/css/ExpenseTotal.css @@ -0,0 +1,4 @@ +.widgetText { + padding-left: 1em; + color: #333; +} \ No newline at end of file