import React, { useEffect, useState } from "react"; import axios from "axios"; import "./App.css"; function App() { const [transactions, setTransactions] = useState([]); const [title, setTitle] = useState(""); const [amount, setAmount] = useState(""); const [type, setType] = useState("expense"); const fetchTransactions = async () => { const res = await axios.get("/api/transactions"); setTransactions(res.data); }; useEffect(() => { fetchTransactions(); }, []); const addTransaction = async (e) => { e.preventDefault(); await axios.post("/api/transactions", { title, amount, type }); setTitle(""); setAmount(""); fetchTransactions(); }; const deleteTransaction = async (id) => { await axios.delete(`/api/transactions/${id}`); fetchTransactions(); }; const income = transactions .filter(t => t.type === "income") .reduce((acc, t) => acc + Number(t.amount), 0); const expenses = transactions .filter(t => t.type === "expense") .reduce((acc, t) => acc + Number(t.amount), 0); const balance = (income - expenses).toFixed(2); return (
{income.toFixed(2)} €
{expenses.toFixed(2)} €
{Number(transaction.amount).toFixed(2)} €
{new Date(transaction.created_at).toLocaleString()}