import CallMadeIcon from "@mui/icons-material/CallMade"; import CallReceivedIcon from "@mui/icons-material/CallReceived"; import React from "react"; import { Movement, MovementApi } from "../api/MovementsApi"; import { useAccounts } from "../hooks/AccountsListProvider"; import { fmtDateFromTime } from "../utils/DateUtils"; import { AccountIconWidget } from "./AccountIconWidget"; import { AmountWidget } from "./AmountWidget"; import { AsyncWidget } from "./AsyncWidget"; export function AsyncMovementWidget(p: { id: number }): React.ReactElement { const [movement, setMovement] = React.useState(); const load = async () => { setMovement(await MovementApi.GetSingleMovement(p.id)); }; return ( } /> ); } export function MovementWidget(p: { movement: Movement }): React.ReactElement { const accounts = useAccounts(); return ( {p.movement.amount > 0 ? ( ) : ( )} {p.movement.label} {accounts.get(p.movement.account_id)?.name} {fmtDateFromTime(p.movement.time)} ); }