taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit a288dc05a8a53bf8c7c0f2a16e27c4a37fa30623
parent 54f5c9b5ec17760ebcea7c183dc1de2ce50a9caf
Author: Sebastian <sebasjm@gmail.com>
Date:   Mon,  7 Apr 2025 08:35:09 -0300

fix: should login when unauthorized

Diffstat:
Mpackages/merchant-backoffice-ui/src/Routing.tsx | 20++++++++++++++++++--
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 (