commit a288dc05a8a53bf8c7c0f2a16e27c4a37fa30623
parent 54f5c9b5ec17760ebcea7c183dc1de2ce50a9caf
Author: Sebastian <sebasjm@gmail.com>
Date: Mon, 7 Apr 2025 08:35:09 -0300
fix: should login when unauthorized
Diffstat:
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/packages/merchant-backoffice-ui/src/Routing.tsx b/packages/merchant-backoffice-ui/src/Routing.tsx
@@ -21,6 +21,7 @@
import {
AbsoluteTime,
+ HttpStatusCode,
TalerError,
TranslatedString,
} from "@gnu-taler/taler-util";
@@ -159,8 +160,18 @@ export function Routing(_p: Props): VNode {
const now = AbsoluteTime.now();
const instance = useInstanceBankAccounts();
+
+ if (!instance) {
+ return (
+ <Fragment>
+ <NotConnectedAppMenu title="Welcome!" />
+ <Loading />
+ </Fragment>
+ );
+ }
+
const accounts =
- !instance || instance instanceof TalerError || instance.type === "fail"
+ instance instanceof TalerError || instance.type === "fail"
? undefined
: instance.body;
const shouldWarnAboutMissingBankAccounts =
@@ -170,7 +181,12 @@ export function Routing(_p: Props): VNode {
(AbsoluteTime.isNever(preference.hideMissingAccountUntil) ||
AbsoluteTime.cmp(now, preference.hideMissingAccountUntil) > 0);
- const shouldLogin = state.status === "loggedOut";
+ const unauthorized =
+ !(instance instanceof TalerError) &&
+ instance.type === "fail" &&
+ instance.case === HttpStatusCode.Unauthorized;
+
+ const shouldLogin = state.status === "loggedOut" || unauthorized;
if (shouldLogin) {
return (