From ca3f963f0bc10c7d76a4cc0c2d89eace496471dd Mon Sep 17 00:00:00 2001 From: Joseph Garrone Date: Sun, 9 Jun 2024 12:32:25 +0200 Subject: Update --- src/account/KcApp.tsx | 29 -------------------- src/account/KcPage.tsx | 33 +++++++++++++++++++++++ src/account/KcPageStory.tsx | 45 +++++++++++++++++++++++++++++++ src/account/PageStory.tsx | 45 ------------------------------- src/login/KcApp.tsx | 60 ------------------------------------------ src/login/KcPage.tsx | 64 +++++++++++++++++++++++++++++++++++++++++++++ src/login/KcPageStory.tsx | 45 +++++++++++++++++++++++++++++++ src/login/PageStory.tsx | 45 ------------------------------- src/main.tsx | 8 +++--- 9 files changed, 191 insertions(+), 183 deletions(-) delete mode 100644 src/account/KcApp.tsx create mode 100644 src/account/KcPage.tsx create mode 100644 src/account/KcPageStory.tsx delete mode 100644 src/account/PageStory.tsx delete mode 100644 src/login/KcApp.tsx create mode 100644 src/login/KcPage.tsx create mode 100644 src/login/KcPageStory.tsx delete mode 100644 src/login/PageStory.tsx (limited to 'src') diff --git a/src/account/KcApp.tsx b/src/account/KcApp.tsx deleted file mode 100644 index d83efa9..0000000 --- a/src/account/KcApp.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Suspense } from "react"; -import type { ClassKey } from "keycloakify/account"; -import type { KcContext } from "./KcContext"; -import Fallback from "keycloakify/account/Fallback"; -import Template from "keycloakify/account/Template"; - -export default function KcApp(props: { kcContext: KcContext }) { - const { kcContext } = props; - - return ( - - {(() => { - switch (kcContext.pageId) { - default: - return ( - - ); - } - })()} - - ); -} - -const classes = {} satisfies { [key in ClassKey]?: string }; diff --git a/src/account/KcPage.tsx b/src/account/KcPage.tsx new file mode 100644 index 0000000..2d4fe98 --- /dev/null +++ b/src/account/KcPage.tsx @@ -0,0 +1,33 @@ +import { Suspense } from "react"; +import type { ClassKey } from "keycloakify/account"; +import type { KcContext } from "./KcContext"; +import { useI18n } from "./i18n"; +import DefaultPage from "keycloakify/account/DefaultPage"; +import Template from "keycloakify/account/Template"; + +export default function KcApp(props: { kcContext: KcContext }) { + const { kcContext } = props; + + const { i18n } = useI18n({ kcContext }); + + return ( + + {(() => { + switch (kcContext.pageId) { + default: + return ( + + ); + } + })()} + + ); +} + +const classes = {} satisfies { [key in ClassKey]?: string }; diff --git a/src/account/KcPageStory.tsx b/src/account/KcPageStory.tsx new file mode 100644 index 0000000..f4c1ff7 --- /dev/null +++ b/src/account/KcPageStory.tsx @@ -0,0 +1,45 @@ +import type { DeepPartial } from "keycloakify/tools/DeepPartial"; +import type { KcContext } from "./KcContext"; +import { createGetKcContextMock } from "keycloakify/account/KcContext"; +import type { + KcContextExtension, + KcContextExtensionPerPage +} from "./KcContext"; +import KcPage from "./KcPage"; +import { themeNames, kcEnvDefaults } from "../kc.gen"; + +const kcContextExtension: KcContextExtension = { + themeName: themeNames[0], + properties: { + ...kcEnvDefaults + } +}; +const kcContextExtensionPerPage: KcContextExtensionPerPage = {}; + +export const { getKcContextMock } = createGetKcContextMock({ + kcContextExtension, + kcContextExtensionPerPage, + overrides: {}, + overridesPerPage: {} +}); + +export function createKcPageStory(params: { + pageId: PageId; +}) { + const { pageId } = params; + + function KcPageStory(props: { + kcContext?: DeepPartial>; + }) { + const { kcContext: overrides } = props; + + const kcContextMock = getKcContextMock({ + pageId, + overrides + }); + + return ; + } + + return { KcPageStory }; +} diff --git a/src/account/PageStory.tsx b/src/account/PageStory.tsx deleted file mode 100644 index 68707a7..0000000 --- a/src/account/PageStory.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import type { DeepPartial } from "keycloakify/tools/DeepPartial"; -import type { KcContext } from "./KcContext"; -import { createGetKcContextMock } from "keycloakify/account/KcContext"; -import type { - KcContextExtension, - KcContextExtensionPerPage -} from "./KcContext"; -import KcApp from "./KcApp"; -import { themeNames, kcEnvDefaults } from "../kc.gen"; - -const kcContextExtension: KcContextExtension = { - themeName: themeNames[0], - properties: { - ...kcEnvDefaults - } -}; -const kcContextExtensionPerPage: KcContextExtensionPerPage = {}; - -export const { getKcContextMock } = createGetKcContextMock({ - kcContextExtension, - kcContextExtensionPerPage, - overrides: {}, - overridesPerPage: {} -}); - -export function createPageStory(params: { - pageId: PageId; -}) { - const { pageId } = params; - - function PageStory(props: { - kcContext?: DeepPartial>; - }) { - const { kcContext: overrides } = props; - - const kcContextMock = getKcContextMock({ - pageId, - overrides - }); - - return ; - } - - return { PageStory }; -} diff --git a/src/login/KcApp.tsx b/src/login/KcApp.tsx deleted file mode 100644 index 8f5c7e6..0000000 --- a/src/login/KcApp.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { Suspense, lazy } from "react"; -import type { ClassKey } from "keycloakify/login"; -import type { KcContext } from "./KcContext"; -import { useDownloadTerms } from "keycloakify/login"; -import Fallback from "keycloakify/login/Fallback"; -import Template from "keycloakify/login/Template"; -const UserProfileFormFields = lazy(() => import("keycloakify/login/UserProfileFormFields")); - -const doMakeUserConfirmPassword = true; - -export default function KcApp(props: { kcContext: KcContext }) { - const { kcContext } = props; - - useDownloadTerms({ - kcContext, - downloadTermsMarkdown: async ({ currentLanguageTag }) => { - let termsLanguageTag = currentLanguageTag; - let termsFileName: string; - - switch (currentLanguageTag) { - case "fr": - termsFileName = "fr.md"; - break; - case "es": - termsFileName = "es.md"; - break; - default: - termsFileName = "en.md"; - termsLanguageTag = "en"; - break; - } - - const termsMarkdown = await fetch(`${import.meta.env.BASE_URL}terms/${termsFileName}`).then(r => r.text()); - - return { termsMarkdown, termsLanguageTag }; - } - }); - - return ( - - {(() => { - switch (kcContext.pageId) { - default: - return ( - - ); - } - })()} - - ); -} - -const classes = {} satisfies { [key in ClassKey]?: string }; \ No newline at end of file diff --git a/src/login/KcPage.tsx b/src/login/KcPage.tsx new file mode 100644 index 0000000..346ce42 --- /dev/null +++ b/src/login/KcPage.tsx @@ -0,0 +1,64 @@ +import { Suspense, lazy } from "react"; +import type { ClassKey } from "keycloakify/login"; +import type { KcContext } from "./KcContext"; +import { useDownloadTerms } from "keycloakify/login"; +import { useI18n } from "./i18n"; +import DefaultPage from "keycloakify/login/DefaultPage"; +import Template from "keycloakify/login/Template"; +const UserProfileFormFields = lazy(() => import("keycloakify/login/UserProfileFormFields")); + +const doMakeUserConfirmPassword = true; + +export default function KcApp(props: { kcContext: KcContext }) { + const { kcContext } = props; + + useDownloadTerms({ + kcContext, + downloadTermsMarkdown: async ({ currentLanguageTag }) => { + let termsLanguageTag = currentLanguageTag; + let termsFileName: string; + + switch (currentLanguageTag) { + case "fr": + termsFileName = "fr.md"; + break; + case "es": + termsFileName = "es.md"; + break; + default: + termsFileName = "en.md"; + termsLanguageTag = "en"; + break; + } + + const termsMarkdown = await fetch(`${import.meta.env.BASE_URL}terms/${termsFileName}`).then(r => r.text()); + + return { termsMarkdown, termsLanguageTag }; + } + }); + + const { i18n } = useI18n({ kcContext }); + + return ( + + {(() => { + switch (kcContext.pageId) { + default: + return ( + + ); + } + })()} + + ); +} + +const classes = {} satisfies { [key in ClassKey]?: string }; \ No newline at end of file diff --git a/src/login/KcPageStory.tsx b/src/login/KcPageStory.tsx new file mode 100644 index 0000000..12c27fa --- /dev/null +++ b/src/login/KcPageStory.tsx @@ -0,0 +1,45 @@ +import type { DeepPartial } from "keycloakify/tools/DeepPartial"; +import type { KcContext } from "./KcContext"; +import KcPage from "./KcPage"; +import { createGetKcContextMock } from "keycloakify/login/KcContext"; +import type { + KcContextExtension, + KcContextExtensionPerPage +} from "./KcContext"; +import { themeNames, kcEnvDefaults } from "../kc.gen"; + +const kcContextExtension: KcContextExtension = { + themeName: themeNames[0], + properties: { + ...kcEnvDefaults + } +}; +const kcContextExtensionPerPage: KcContextExtensionPerPage = {}; + +export const { getKcContextMock } = createGetKcContextMock({ + kcContextExtension, + kcContextExtensionPerPage, + overrides: {}, + overridesPerPage: {} +}); + +export function createKcPageStory(params: { + pageId: PageId; +}) { + const { pageId } = params; + + function KcPageStory(props: { + kcContext?: DeepPartial>; + }) { + const { kcContext: overrides } = props; + + const kcContextMock = getKcContextMock({ + pageId, + overrides + }); + + return ; + } + + return { KcPageStory }; +} diff --git a/src/login/PageStory.tsx b/src/login/PageStory.tsx deleted file mode 100644 index b9fbb41..0000000 --- a/src/login/PageStory.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import type { DeepPartial } from "keycloakify/tools/DeepPartial"; -import type { KcContext } from "./KcContext"; -import KcApp from "./KcApp"; -import { createGetKcContextMock } from "keycloakify/login/KcContext"; -import type { - KcContextExtension, - KcContextExtensionPerPage -} from "./KcContext"; -import { themeNames, kcEnvDefaults } from "../kc.gen"; - -const kcContextExtension: KcContextExtension = { - themeName: themeNames[0], - properties: { - ...kcEnvDefaults - } -}; -const kcContextExtensionPerPage: KcContextExtensionPerPage = {}; - -export const { getKcContextMock } = createGetKcContextMock({ - kcContextExtension, - kcContextExtensionPerPage, - overrides: {}, - overridesPerPage: {} -}); - -export function createPageStory(params: { - pageId: PageId; -}) { - const { pageId } = params; - - function PageStory(props: { - kcContext?: DeepPartial>; - }) { - const { kcContext: overrides } = props; - - const kcContextMock = getKcContextMock({ - pageId, - overrides - }); - - return ; - } - - return { PageStory }; -} diff --git a/src/main.tsx b/src/main.tsx index c80b36c..7512363 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -15,8 +15,8 @@ if (import.meta.env.DEV) { } */ -const KcLoginThemeApp = lazy(() => import("./login/KcApp")); -const KcAccountThemeApp = lazy(() => import("./account/KcApp")); +const KcLoginThemePage = lazy(() => import("./login/KcPage")); +const KcAccountThemePage = lazy(() => import("./account/KcPage")); createRoot(document.getElementById("root")!).render( @@ -24,9 +24,9 @@ createRoot(document.getElementById("root")!).render( {(() => { switch (window.kcContext?.themeType) { case "login": - return ; + return ; case "account": - return ; + return ; } return

No Keycloak Context

; })()} -- cgit v1.2.3