keycloak_theme/src/lib/keycloakFtlValues.ts

49 lines
1.6 KiB
TypeScript
Raw Normal View History

2021-02-23 15:32:37 +01:00
import { ftlValuesGlobalName } from "../bin/build-keycloak-theme/generateKeycloakThemeResources";
import type { generateFtlFilesCodeFactory } from "../bin/build-keycloak-theme/generateFtl";
import { id } from "evt/tools/typeSafety/id";
2021-02-23 15:32:37 +01:00
export type KeycloakFtlValues = {
pageBasename: Parameters<ReturnType<typeof generateFtlFilesCodeFactory>["generateFtlFilesCode"]>[0]["pageBasename"];
url: {
loginAction: string;
resourcesPath: string;
resourcesCommonPath: string;
loginRestartFlowUrl: string;
},
realm: {
displayName?: string;
displayNameHtml?: string;
internationalizationEnabled: boolean;
},
//NOTE: Undefined if !realm.internationalizationEnabled
2021-02-28 18:40:57 +01:00
//We hide this since we provide a client side internationalization engine
/*
locale?: {
supported: {
url: string;
2021-02-28 18:40:57 +01:00
languageTag: AvailableLanguages;
//NOTE: Is determined by languageTag. Ex: languageTag === "en" => label === "English"
label: LanguageLabel;
},
current: LanguageLabel;
},
2021-02-28 18:40:57 +01:00
*/
auth?: {
showUsername: boolean;
showResetCredentials: boolean;
showTryAnotherWayLink: boolean;
attemptedUsername?: boolean;
},
scripts: string[];
message?: {
type: "success" | "warning" | "error" | "info";
summary: string;
},
isAppInitiatedAction: boolean;
2021-02-23 15:32:37 +01:00
};
export const { keycloakPagesContext } =
2021-02-23 15:32:37 +01:00
{ [ftlValuesGlobalName]: id<KeycloakFtlValues | undefined>((window as any)[ftlValuesGlobalName]) };
;