aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/InstanceRoutes.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backoffice-ui/src/InstanceRoutes.tsx')
-rw-r--r--packages/merchant-backoffice-ui/src/InstanceRoutes.tsx26
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/merchant-backoffice-ui/src/InstanceRoutes.tsx b/packages/merchant-backoffice-ui/src/InstanceRoutes.tsx
index a7fd3eb0f..1f3a2b1f8 100644
--- a/packages/merchant-backoffice-ui/src/InstanceRoutes.tsx
+++ b/packages/merchant-backoffice-ui/src/InstanceRoutes.tsx
@@ -76,6 +76,7 @@ import { LoginToken, MerchantBackend } from "./declaration.js";
import { Settings } from "./paths/settings/index.js";
import { dateFormatForSettings, useSettings } from "./hooks/useSettings.js";
import { TranslatedString } from "@gnu-taler/taler-util";
+import { useInstanceBankAccounts } from "./hooks/bank.js";
export enum InstancePaths {
error = "/error",
@@ -170,6 +171,9 @@ export function InstanceRoutes({
[id, token, admin],
);
+ const instance = useInstanceBankAccounts();
+ const accounts = !instance.ok ? undefined : instance.data.accounts;
+
function ServerErrorRedirectTo(to: InstancePaths | AdminPaths) {
return function ServerErrorRedirectToImpl(
error: HttpError<MerchantBackend.ErrorDetail>,
@@ -247,6 +251,28 @@ export function InstanceRoutes({
updateDefaultToken(undefined)
};
+ if (accounts !== undefined && !admin && accounts.length < 1) {
+ return <InstanceContextProvider value={value}>
+ <Menu
+ instance={id}
+ admin={admin}
+ onShowSettings={() => {
+ route(InstancePaths.interface)
+ }}
+ path={path}
+ onLogout={clearTokenAndGoToRoot}
+ setInstanceName={setInstanceName}
+ isPasswordOk={defaultToken !== undefined}
+ />
+ <NotificationCard notification={{
+ type: "INFO",
+ message: i18n.str`You need to associate a bank account to receive revenue.`,
+ description: i18n.str`Without this the merchant backend will refuse to create new orders.`
+ }} />
+ <BankAccountCreatePage onConfirm={() => { }} />
+ </InstanceContextProvider>
+ }
+
return (
<InstanceContextProvider value={value}>
<Menu