import type { FC } from "react"; import { Button, Skeleton, Stack, Text } from "@mantine/core"; import { LoadingSkeleton } from "@wealthledger/ui"; import { useTranslation } from "react-i18next"; import { Link } from "react-router"; import type { BrokerageEvent } from "../../api/useBrokerageEvents"; import { brokerageEventKey } from "../../model/event-key"; import { BrokerageEventCard } from "../BrokerageEventCard"; type BrokerageEventsPreviewProps = { events: BrokerageEventsPreviewState; }; type BrokerageEventsPreviewState = | { items: BrokerageEvent[]; state: "loaded" | "partial"; to: string; } | { state: "empty" | "error" | "loading"; to: string; }; const BrokerageEventsPreview: FC = (props) => { const { events } = props; const { t } = useTranslation(); return ( {events.state === "loading" && ( {["first", "second", "third"].map(placeholder => )} )} {events.state === "error" && {t("states.unavailableText")}} {events.state === "empty" && {t("events.recentEmpty")}} {events.state === "partial" && {t("investment.partial")}} {(events.state === "loaded" || events.state === "partial") && events.items.map(event => ( ))} ); }; export { BrokerageEventsPreview, type BrokerageEventsPreviewState };