import React, { useState } from "react"; import { useParams, Navigate } from "react-router-dom"; import { Row, Col } from "react-bootstrap"; import Fetcher from "../Fetcher"; import ShowPurchase from "../purchase/ShowPurchase"; import { printMoney, printDate, printTransactionID } from "../util"; function ShowTransaction() { const { id } = useParams(); const [transaction, setTransaction] = useState({ ID: 0 }); let show_list; switch (transaction.type) { case "purchase": show_list = <ShowPurchase purchase={transaction.purchase} />; break; case "topup": show_list = <p>{transaction.topup.comment}</p>; break; case "order": return <Navigate to={"/order/" + transaction.order.ID} />; case "refund": return <Navigate to={"/order/" + transaction.refund.ID} />; case "dues": return <Navigate to={"/dues"} />; default: show_list = null; } return ( <Fetcher url={"/api/transaction/" + id} onFetch={setTransaction}> {show_list} <Row> <Col> <h3>Total: {printMoney(transaction.total)}€</h3> {transaction.member && <p>{transaction.member.name}</p>} </Col> <Col> <p className="text-right"> {printDate(transaction.date)} {printTransactionID(transaction)} {transaction.proxy && ( <span> <br /> por: {transaction.proxy.name} </span> )} </p> </Col> </Row> </Fetcher> ); } export default ShowTransaction;