import { TranslatedString } from "@gnu-taler/taler-util"; import { VNode, h } from "preact"; import { useState } from "preact/hooks"; import { createNewForm } from "../handlers/forms.js"; import { useCases } from "../hooks/useCases.js"; import { useOfficer } from "../hooks/useOfficer.js"; import { Pages } from "../pages.js"; import { AmlExchangeBackend } from "../types.js"; import { amlStateConverter } from "./CaseDetails.js"; import { HandleAccountNotReady } from "./HandleAccountNotReady.js"; import { buildQuerySignature } from "../account.js"; import { handleNotOkResult } from "../utils/errors.js"; import { useTranslationContext } from "@gnu-taler/web-util/browser"; export function Cases() { const officer = useOfficer(); const { i18n } = useTranslationContext(); if (officer.state !== "ready") { return ; } const form = createNewForm<{ state: AmlExchangeBackend.AmlState; }>(); const signature = officer.state === "ready" ? buildQuerySignature(officer.account.signingKey) : undefined; const initial = AmlExchangeBackend.AmlState.pending; const [stateFilter, setStateFilter] = useState(initial); const list = useCases(officer.account.accountId, stateFilter, signature); if (!list.ok && !list.loading) { return handleNotOkResult(i18n)(list); } const records = list.loading ? [] : list.data.records return (

Cases

A list of all the account with the status

{ setStateFilter(v.state ?? initial); }} onSubmit={(v) => {}} >
{!records.length ? (
empty result
) : (
{records.map((r) => { return ( ); })}
Account Id Status Threshold
{((state: AmlExchangeBackend.AmlState): VNode => { switch (state) { case AmlExchangeBackend.AmlState.normal: { return ( Normal ); } case AmlExchangeBackend.AmlState.pending: { return ( Pending ); } case AmlExchangeBackend.AmlState.frozen: { return ( Frozen ); } } })(r.current_state)} {r.threshold}
)}
); } function Pagination() { return ( ); }