diff options
Diffstat (limited to 'packages/aml-backoffice-ui/src/pages/Cases.tsx')
-rw-r--r-- | packages/aml-backoffice-ui/src/pages/Cases.tsx | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/packages/aml-backoffice-ui/src/pages/Cases.tsx b/packages/aml-backoffice-ui/src/pages/Cases.tsx index e928b831f..6b59b2736 100644 --- a/packages/aml-backoffice-ui/src/pages/Cases.tsx +++ b/packages/aml-backoffice-ui/src/pages/Cases.tsx @@ -20,19 +20,20 @@ import { assertUnreachable, } from "@gnu-taler/taler-util"; import { + Attention, ErrorLoading, Loading, createNewForm, useTranslationContext, } from "@gnu-taler/web-util/browser"; -import { VNode, h } from "preact"; +import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; import { useCases } from "../hooks/useCases.js"; +import { privatePages } from "../Routing.js"; import { amlStateConverter } from "../utils/converter.js"; import { AmlExchangeBackend } from "../utils/types.js"; import { Officer } from "./Officer.js"; -import { privatePages } from "../Routing.js"; export function CasesUI({ records, @@ -130,7 +131,9 @@ export function CasesUI({ <td class="whitespace-nowrap px-3 py-5 text-sm text-gray-500 "> <div class="text-gray-900"> <a - href={privatePages.caseDetails.url({ cid: r.h_payto })} + href={privatePages.caseDetails.url({ + cid: r.h_payto, + })} class="text-indigo-600 hover:text-indigo-900" > {r.h_payto.substring(0, 16)}... @@ -187,6 +190,7 @@ export function Cases() { ); const list = useCases(stateFilter); + const { i18n } = useTranslationContext(); if (!list) { return <Loading />; @@ -197,8 +201,36 @@ export function Cases() { if (list.type === "fail") { switch (list.case) { - case HttpStatusCode.Unauthorized: - case HttpStatusCode.Forbidden: + case HttpStatusCode.Forbidden: { + return ( + <Fragment> + <Attention + type="danger" + title={i18n.str`Operation denied`} + > + <i18n.Translate> + This account doesnt have access. Request account activation sending your public key. + </i18n.Translate> + </Attention> + <Officer /> + </Fragment> + ); + } + case HttpStatusCode.Unauthorized: { + return ( + <Fragment> + <Attention + type="danger" + title={i18n.str`Operation denied`} + > + <i18n.Translate> + This account is not allowed to perform list the cases. + </i18n.Translate> + </Attention> + <Officer /> + </Fragment> + ); + } case HttpStatusCode.NotFound: case HttpStatusCode.Conflict: return <Officer />; |