From f49d20e47c09ba2b6cbb0c6f88c60429533ef763 Mon Sep 17 00:00:00 2001
From: giorgoslytos
Date: Mon, 19 Feb 2024 11:57:03 +0200
Subject: [PATCH] feat: Totp account page fixed and completed
---
src/account/kcContext/KcContext.ts | 1 +
src/account/kcContext/kcContextMocks.ts | 1 +
src/account/pages/Totp.tsx | 339 ++++++++++++++----------
stories/account/pages/Totp.stories.tsx | 62 +++++
4 files changed, 260 insertions(+), 143 deletions(-)
diff --git a/src/account/kcContext/KcContext.ts b/src/account/kcContext/KcContext.ts
index ca356144..1cce3b2c 100644
--- a/src/account/kcContext/KcContext.ts
+++ b/src/account/kcContext/KcContext.ts
@@ -138,6 +138,7 @@ export declare namespace KcContext {
export type Totp = Common & {
pageId: "totp.ftl";
totp: {
+ enabled: boolean;
totpSecretEncoded: string;
qrUrl: string;
policy: {
diff --git a/src/account/kcContext/kcContextMocks.ts b/src/account/kcContext/kcContextMocks.ts
index 0c7b7c52..6f52d8d3 100644
--- a/src/account/kcContext/kcContextMocks.ts
+++ b/src/account/kcContext/kcContextMocks.ts
@@ -204,6 +204,7 @@ export const kcContextMocks: KcContext[] = [
...kcContextCommonMock,
"pageId": "totp.ftl",
totp: {
+ enabled: true,
totpSecretEncoded: "KVVF G2BY N4YX S6LB IUYT K2LH IFYE 4SBV",
qrUrl: "#",
totpSecretQrCode:
diff --git a/src/account/pages/Totp.tsx b/src/account/pages/Totp.tsx
index 8ce4eb15..838d0bf7 100644
--- a/src/account/pages/Totp.tsx
+++ b/src/account/pages/Totp.tsx
@@ -12,7 +12,7 @@ export default function Totp(props: PageProps
-
{msg("changePasswordHtmlTitle")}
+ {msg("authenticatorTitle")}
-
- {msg("allFieldsRequired")}
-
-
-
- -
-
{msg("totpStep1")}
-
-
- {totp.supportedApplications.map(app => (
- - {msg(app as MessageKey)}
- ))}
-
-
-
- {mode && mode == "manual" ? (
- <>
- -
-
{msg("totpManualStep2")}
-
- {totp.totpSecretEncoded}
-
-
-
- {msg("totpScanBarcode")}
-
-
-
- -
-
{msg("totpManualStep3")}
-
-
- -
- {msg("totpType")}: {msg(`totp.${totp.policy.type}`)}
-
- -
- {msg("totpAlgorithm")}: {algToKeyUriAlg?.[totp.policy.algorithm] ?? totp.policy.algorithm}
-
- -
- {msg("totpDigits")}: {totp.policy.digits}
-
- {totp.policy.type === "totp" ? (
- -
- {msg("totpInterval")}: {totp.policy.period}
-
- ) : (
- -
- {msg("totpCounter")}: {totp.policy.initialCounter}
-
- )}
-
-
-
- >
- ) : (
-
- {msg("totpStep2")}
-
-
-
-
- {msg("totpUnableToScan")}
-
-
-
- )}
-
- {msg("totpStep3")}
- {msg("totpStep3DeviceName")}
-
-
- {/*