diff options
Diffstat (limited to 'packages/merchant-backoffice-ui/src/paths/instance/token')
-rw-r--r-- | packages/merchant-backoffice-ui/src/paths/instance/token/index.tsx | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/token/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/token/index.tsx index 444283b13..36ba10e30 100644 --- a/packages/merchant-backoffice-ui/src/paths/instance/token/index.tsx +++ b/packages/merchant-backoffice-ui/src/paths/instance/token/index.tsx @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ -import { TalerError } from "@gnu-taler/taler-util"; +import { HttpStatusCode, TalerError, assertUnreachable } from "@gnu-taler/taler-util"; import { useMerchantApiContext, useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; @@ -23,6 +23,7 @@ import { NotificationCard } from "../../../components/menu/index.js"; import { useSessionContext } from "../../../context/session.js"; import { useInstanceDetails } from "../../../hooks/instance.js"; import { Notification } from "../../../utils/types.js"; +import { LoginPage } from "../../login/index.js"; import { DetailPage } from "./DetailPage.js"; interface Props { @@ -44,6 +45,16 @@ export default function Token({ if (result instanceof TalerError) { return <ErrorLoadingMerchant error={result} /> } + if (result.type === "fail") { + switch(result.case) { + case HttpStatusCode.Unauthorized: { + return <LoginPage /> + } + default: { + assertUnreachable(result.case) + } + } + } const hasToken = result.body.auth.method === "token" |