aboutsummaryrefslogtreecommitdiff
path: root/packages/aml-backoffice-ui/src/pages/Cases.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/aml-backoffice-ui/src/pages/Cases.tsx')
-rw-r--r--packages/aml-backoffice-ui/src/pages/Cases.tsx42
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 />;