@keycloakify/keycloak-account-ui 25.0.4-rc.1 → 25.0.4-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/KcAccountUi.js CHANGED
@@ -3,10 +3,10 @@ import { useEffect, useReducer } from "react";
3
3
  import "@patternfly/react-core/dist/styles/base.css";
4
4
  import "@patternfly/patternfly/patternfly-addons.css";
5
5
  import { createBrowserRouter, RouterProvider } from "react-router-dom";
6
- import { i18n } from "./i18n";
6
+ import { initI18n } from "./i18n";
7
7
  import { routes } from "./routes";
8
8
  const router = createBrowserRouter(routes);
9
- const prI18nInitialized = i18n.init();
9
+ const prI18nInitialized = initI18n();
10
10
  export default function KeycloakAccountUi() {
11
11
  const [isI18nInitialized, setI18nInitialized] = useReducer(() => true, false);
12
12
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"KcAccountUi.js","sourceRoot":"","sources":["src/KcAccountUi.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,6CAA6C,CAAC;AACrD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAEtC,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE9E,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACrD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"KcAccountUi.js","sourceRoot":"","sources":["src/KcAccountUi.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,6CAA6C,CAAC;AACrD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,iBAAiB,GAAG,QAAQ,EAAE,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE9E,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACrD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;AAC5C,CAAC"}
@@ -1,8 +1,5 @@
1
1
  import type { MenuItem } from "./root/PageNav";
2
2
  export type KcContextLike = {
3
- serverBaseUrl: string;
4
- authUrl: string;
5
- authServerUrl: string;
6
3
  realm: {
7
4
  name: string;
8
5
  registrationEmailAsUsername: boolean;
@@ -11,7 +8,6 @@ export type KcContextLike = {
11
8
  identityFederationEnabled: boolean;
12
9
  userManagedAccessAllowed: boolean;
13
10
  };
14
- clientId: string;
15
11
  resourceUrl: string;
16
12
  baseUrl: {
17
13
  rawSchemeSpecificPart: string;
@@ -24,7 +20,23 @@ export type KcContextLike = {
24
20
  updateEmailActionEnabled: boolean;
25
21
  isViewGroupsEnabled: boolean;
26
22
  isOid4VciEnabled: boolean;
27
- };
23
+ } & ({
24
+ serverBaseUrl: string;
25
+ authUrl: string;
26
+ clientId: string;
27
+ authServerUrl: string;
28
+ } | {
29
+ authUrl: {
30
+ rawSchemeSpecificPart: string;
31
+ scheme: string;
32
+ };
33
+ authServerUrl: string;
34
+ } | {
35
+ authUrl: {
36
+ rawSchemeSpecificPart: string;
37
+ scheme: string;
38
+ };
39
+ });
28
40
  type LazyExoticComponentLike = {
29
41
  _result: unknown;
30
42
  };
@@ -71,12 +71,38 @@ function init(params) {
71
71
  alert(error.message);
72
72
  throw error;
73
73
  }
74
+ const serverBaseUrl = (() => {
75
+ if ("serverBaseUrl" in kcContext) {
76
+ return kcContext.serverBaseUrl;
77
+ }
78
+ const { authUrl } = kcContext;
79
+ return `${authUrl.scheme}:${authUrl.rawSchemeSpecificPart.replace(/\$/, "")}`;
80
+ })();
81
+ const authUrl = (() => {
82
+ const { authUrl } = kcContext;
83
+ if (typeof authUrl === "string") {
84
+ return authUrl;
85
+ }
86
+ return `${authUrl.scheme}:${authUrl.rawSchemeSpecificPart}`;
87
+ })();
88
+ const clientId = (() => {
89
+ if ("clientId" in kcContext) {
90
+ return kcContext.clientId;
91
+ }
92
+ return "account-console";
93
+ })();
94
+ const authServerUrl = (() => {
95
+ if ("authServerUrl" in kcContext) {
96
+ return kcContext.authServerUrl;
97
+ }
98
+ return authUrl;
99
+ })();
74
100
  const environment = {
75
- serverBaseUrl: kcContext.serverBaseUrl,
76
- authUrl: kcContext.authUrl,
77
- authServerUrl: kcContext.authServerUrl,
101
+ serverBaseUrl,
102
+ authUrl,
103
+ authServerUrl,
78
104
  realm: kcContext.realm.name,
79
- clientId: kcContext.clientId,
105
+ clientId,
80
106
  resourceUrl,
81
107
  logo: logoUrl.substring(resourceUrl.length),
82
108
  logoUrl: logoUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"KcAccountUiLoader.js","sourceRoot":"","sources":["src/KcAccountUiLoader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KcAccountUiLoader.js","sourceRoot":"","sources":["src/KcAccountUiLoader.tsx"],"names":[],"mappings":"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"}
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  <a href="https://github.com/keycloakify/keycloak-account-ui/actions">
9
9
  <img src="https://github.com/keycloakify/keycloak-account-ui/actions/workflows/ci.yaml/badge.svg?branch=main">
10
10
  </a>
11
- <a href="https://www.npmjs.com/package/@keycloakify/keycloak-account-ui/v/25.0.4-rc.1">
11
+ <a href="https://www.npmjs.com/package/@keycloakify/keycloak-account-ui/v/25.0.4-rc.3">
12
12
  <img src="https://img.shields.io/npm/dm/@keycloakify/keycloak-account-ui">
13
13
  </a>
14
14
  <p align="center">
@@ -26,17 +26,17 @@ All credits goes to the keycloak team for the original work. Mainly [@jonkoops
26
26
  This re-packaged distribution exists to make it possible to take ownership of
27
27
  some specific part of the Account UI to create your own custom version of it.
28
28
  In straight forward therms it make the Account UI ejectable, you can copy
29
- past [the source files](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.4-rc.1/src/) that you want to modify into your codebase.
29
+ past [the source files](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.4-rc.3/src/) that you want to modify into your codebase.
30
30
 
31
31
  For more details on integrating this package into your project, refer to the [Keycloakify documentation](https://keycloakify.dev).
32
32
 
33
33
  > **Note:** This package's GitHub repository does not contain any code as it is automatically generated at build time by [scripts/prepare.ts](/scripts/prepare.ts).
34
- > You can browse the sources includes int the NPM package [here](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.4-rc.1/src/).
34
+ > You can browse the sources includes int the NPM package [here](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.4-rc.3/src/).
35
35
 
36
36
  ## Installation
37
37
 
38
38
  > **Note:** This README file is automatically generated at build so the information above are guaranteed to be up to date.
39
- > You are currently viewing the README of [`@keycloakify/keycloak-account-ui@25.0.4-rc.1`](https://www.npmjs.com/package/@keycloakify/keycloak-account-ui/v/25.0.4-rc.1) that
39
+ > You are currently viewing the README of [`@keycloakify/keycloak-account-ui@25.0.4-rc.3`](https://www.npmjs.com/package/@keycloakify/keycloak-account-ui/v/25.0.4-rc.3) that
40
40
  > mirrors [`@keycloak/keycloak-account-ui@25.0.4`](https://www.npmjs.com/package/@keycloak/keycloak-account-ui/v/25.0.4).
41
41
  > It is the version of the Account UI that ships with [**Keycloak 25.0.4**](https://github.com/keycloak/keycloak/tree/25.0.4/js/apps/account-ui).
42
42
 
@@ -48,7 +48,7 @@ It's important to respect the exact version range listed here to avoid any compa
48
48
  ```json
49
49
  {
50
50
  "dependencies": {
51
- "@keycloakify/keycloak-account-ui": "25.0.4-rc.1",
51
+ "@keycloakify/keycloak-account-ui": "25.0.4-rc.3",
52
52
  "@patternfly/patternfly": "^5.3.1",
53
53
  "@patternfly/react-core": "^5.3.3",
54
54
  "@patternfly/react-icons": "^5.3.2",
@@ -72,4 +72,4 @@ It's important to respect the exact version range listed here to avoid any compa
72
72
  ## Ejecting
73
73
 
74
74
  You can take partial ownership of some parts of the Account UI by copy pasting the sources files you want to modify into your codebase.
75
- You can browse the sources files **[here](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.4-rc.1/src/)**.
75
+ You can browse the sources files **[here](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.4-rc.3/src/)**.
package/i18n.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { LanguageDetectorModule } from "i18next";
2
2
  export type TFuncKey = any;
3
3
  export declare const keycloakLanguageDetector: LanguageDetectorModule;
4
- export declare const i18n: import("i18next").i18n;
4
+ export declare function initI18n(): Promise<import("i18next").TFunction<"translation", undefined>>;
package/i18n.js CHANGED
@@ -10,7 +10,8 @@ export const keycloakLanguageDetector = {
10
10
  return environment.locale;
11
11
  },
12
12
  };
13
- export const i18n = createInstance({
13
+ export function initI18n() { return i18n.init(); }
14
+ const i18n = createInstance({
14
15
  fallbackLng: DEFAULT_LOCALE,
15
16
  interpolation: {
16
17
  escapeValue: false,
package/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC;AAE3E,MAAM,cAAc,GAAG,IAAI,CAAC;AAS5B,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,IAAI,EAAE,kBAAkB;IAExB,MAAM;QACJ,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAC;IACjC,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,QAAQ,CAChB,WAAW,CAAC,aAAa,EACzB,aAAa,WAAW,CAAC,KAAK,kBAAkB,CACjD;QACD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;CACF,CAAC,CAAC;AAEH,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACtB,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC;AAE3E,MAAM,cAAc,GAAG,IAAI,CAAC;AAS5B,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,IAAI,EAAE,kBAAkB;IAExB,MAAM;QACJ,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAElD,MAAM,IAAI,GAAG,cAAc,CAAC;IAC1B,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,QAAQ,CAChB,WAAW,CAAC,aAAa,EACzB,aAAa,WAAW,CAAC,KAAK,kBAAkB,CACjD;QACD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;CACF,CAAC,CAAC;AAEH,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACtB,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keycloakify/keycloak-account-ui",
3
- "version": "25.0.4-rc.1",
3
+ "version": "25.0.4-rc.3",
4
4
  "description": "Repackaged Keycloak Account UI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getI18n } from "react-i18next";
2
3
  import { UserProfileFields, beerify, debeerify, setUserProfileServerError, useAlerts, useEnvironment, } from "../ui-shared";
3
4
  import { ActionGroup, Alert, Button, ExpandableSection, Form, Spinner, } from "@patternfly/react-core";
4
5
  import { ExternalLinkSquareAltIcon } from "@patternfly/react-icons";
@@ -7,7 +8,6 @@ import { useForm } from "react-hook-form";
7
8
  import { useTranslation } from "react-i18next";
8
9
  import { getPersonalInfo, getSupportedLocales, savePersonalInfo, } from "../api/methods";
9
10
  import { Page } from "../components/page/Page";
10
- import { i18n } from "../i18n";
11
11
  import { usePromise } from "../utils/usePromise";
12
12
  export const PersonalInfo = () => {
13
13
  const { t } = useTranslation();
@@ -35,7 +35,7 @@ export const PersonalInfo = () => {
35
35
  ]));
36
36
  await savePersonalInfo(context, Object.assign(Object.assign({}, user), { attributes }));
37
37
  const locale = (_a = attributes["locale"]) === null || _a === void 0 ? void 0 : _a.toString();
38
- i18n.changeLanguage(locale, (error) => {
38
+ getI18n().changeLanguage(locale, (error) => {
39
39
  if (error) {
40
40
  console.warn("Error(s) loading locale", locale, error);
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PersonalInfo.js","sourceRoot":"","sources":["../src/personal-info/PersonalInfo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PersonalInfo.js","sourceRoot":"","sources":["../src/personal-info/PersonalInfo.tsx"],"names":[],"mappings":"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"}
@@ -4,11 +4,11 @@ import "@patternfly/patternfly/patternfly-addons.css";
4
4
 
5
5
  import { createBrowserRouter, RouterProvider } from "react-router-dom";
6
6
 
7
- import { i18n } from "@keycloakify/keycloak-account-ui/i18n";
7
+ import { initI18n } from "@keycloakify/keycloak-account-ui/i18n";
8
8
  import { routes } from "@keycloakify/keycloak-account-ui/routes";
9
9
 
10
10
  const router = createBrowserRouter(routes);
11
- const prI18nInitialized = i18n.init();
11
+ const prI18nInitialized = initI18n();
12
12
 
13
13
  export default function KeycloakAccountUi() {
14
14
  const [isI18nInitialized, setI18nInitialized] = useReducer(() => true, false);
@@ -8,9 +8,6 @@ import defaultContent from "@keycloakify/keycloak-account-ui/public/content";
8
8
  import defaultLogoSvgUrl from "@keycloakify/keycloak-account-ui/public/logo.svg";
9
9
 
10
10
  export type KcContextLike = {
11
- serverBaseUrl: string;
12
- authUrl: string;
13
- authServerUrl: string;
14
11
  realm: {
15
12
  name: string;
16
13
  registrationEmailAsUsername: boolean;
@@ -19,7 +16,6 @@ export type KcContextLike = {
19
16
  identityFederationEnabled: boolean;
20
17
  userManagedAccessAllowed: boolean;
21
18
  };
22
- clientId: string;
23
19
  resourceUrl: string;
24
20
  baseUrl: {
25
21
  rawSchemeSpecificPart: string;
@@ -32,7 +28,30 @@ export type KcContextLike = {
32
28
  updateEmailActionEnabled: boolean;
33
29
  isViewGroupsEnabled: boolean;
34
30
  isOid4VciEnabled: boolean;
35
- };
31
+ } & (
32
+ | {
33
+ // Keycloak 25
34
+ serverBaseUrl: string;
35
+ authUrl: string;
36
+ clientId: string;
37
+ authServerUrl: string;
38
+ }
39
+ | {
40
+ // Keycloak 20
41
+ authUrl: {
42
+ rawSchemeSpecificPart: string;
43
+ scheme: string;
44
+ };
45
+ authServerUrl: string;
46
+ }
47
+ | {
48
+ // Keycloak 21
49
+ authUrl: {
50
+ rawSchemeSpecificPart: string;
51
+ scheme: string;
52
+ };
53
+ }
54
+ );
36
55
 
37
56
  type LazyExoticComponentLike = {
38
57
  _result: unknown;
@@ -127,12 +146,47 @@ function init(
127
146
  throw error;
128
147
  }
129
148
 
149
+ const serverBaseUrl = (() => {
150
+ if ("serverBaseUrl" in kcContext) {
151
+ return kcContext.serverBaseUrl;
152
+ }
153
+
154
+ const { authUrl } = kcContext;
155
+ return `${authUrl.scheme}:${authUrl.rawSchemeSpecificPart.replace(/\$/, "")}`;
156
+ })();
157
+
158
+ const authUrl = (() => {
159
+ const { authUrl } = kcContext;
160
+
161
+ if (typeof authUrl === "string") {
162
+ return authUrl;
163
+ }
164
+
165
+ return `${authUrl.scheme}:${authUrl.rawSchemeSpecificPart}`;
166
+ })();
167
+
168
+ const clientId = (() => {
169
+ if ("clientId" in kcContext) {
170
+ return kcContext.clientId;
171
+ }
172
+
173
+ return "account-console";
174
+ })();
175
+
176
+ const authServerUrl = (() => {
177
+ if ("authServerUrl" in kcContext) {
178
+ return kcContext.authServerUrl;
179
+ }
180
+
181
+ return authUrl;
182
+ })();
183
+
130
184
  const environment = {
131
- serverBaseUrl: kcContext.serverBaseUrl,
132
- authUrl: kcContext.authUrl,
133
- authServerUrl: kcContext.authServerUrl,
185
+ serverBaseUrl,
186
+ authUrl,
187
+ authServerUrl,
134
188
  realm: kcContext.realm.name,
135
- clientId: kcContext.clientId,
189
+ clientId,
136
190
  resourceUrl,
137
191
  logo: logoUrl.substring(resourceUrl.length),
138
192
  logoUrl: logoUrl,
package/src/i18n.ts CHANGED
@@ -22,7 +22,9 @@ export const keycloakLanguageDetector: LanguageDetectorModule = {
22
22
  },
23
23
  };
24
24
 
25
- export const i18n = createInstance({
25
+ export function initI18n() { return i18n.init(); }
26
+
27
+ const i18n = createInstance({
26
28
  fallbackLng: DEFAULT_LOCALE,
27
29
  interpolation: {
28
30
  escapeValue: false,
@@ -1,3 +1,4 @@
1
+ import { getI18n } from "react-i18next";
1
2
  import {
2
3
  UserProfileFields,
3
4
  beerify,
@@ -31,7 +32,7 @@ import {
31
32
  } from "@keycloakify/keycloak-account-ui/api/representations";
32
33
  import { Page } from "@keycloakify/keycloak-account-ui/components/page/Page";
33
34
  import type { Environment } from "@keycloakify/keycloak-account-ui/environment";
34
- import { TFuncKey, i18n } from "@keycloakify/keycloak-account-ui/i18n";
35
+ import { TFuncKey } from "@keycloakify/keycloak-account-ui/i18n";
35
36
  import { usePromise } from "@keycloakify/keycloak-account-ui/utils/usePromise";
36
37
 
37
38
  export const PersonalInfo = () => {
@@ -70,7 +71,7 @@ export const PersonalInfo = () => {
70
71
  );
71
72
  await savePersonalInfo(context, { ...user, attributes });
72
73
  const locale = attributes["locale"]?.toString();
73
- i18n.changeLanguage(locale, (error) => {
74
+ getI18n().changeLanguage(locale, (error) => {
74
75
  if (error) {
75
76
  console.warn("Error(s) loading locale", locale, error);
76
77
  }
@@ -1,4 +1,5 @@
1
- import { i18n } from "@keycloakify/keycloak-account-ui/i18n";
1
+ import { getI18n } from "react-i18next";
2
+ import { } from "@keycloakify/keycloak-account-ui/i18n";
2
3
 
3
4
  export const FORMAT_DATE_ONLY: Intl.DateTimeFormatOptions = {
4
5
  dateStyle: "long",
@@ -14,5 +15,5 @@ export const FORMAT_DATE_AND_TIME: Intl.DateTimeFormatOptions = {
14
15
  };
15
16
 
16
17
  export function formatDate(date: Date, options = FORMAT_DATE_AND_TIME) {
17
- return date.toLocaleString(i18n.languages, options);
18
+ return date.toLocaleString(getI18n().languages, options);
18
19
  }
@@ -1,4 +1,4 @@
1
- import { i18n } from "../i18n";
1
+ import { getI18n } from "react-i18next";
2
2
  export const FORMAT_DATE_ONLY = {
3
3
  dateStyle: "long",
4
4
  };
@@ -7,6 +7,6 @@ export const FORMAT_TIME_ONLY = {
7
7
  };
8
8
  export const FORMAT_DATE_AND_TIME = Object.assign(Object.assign({}, FORMAT_DATE_ONLY), FORMAT_TIME_ONLY);
9
9
  export function formatDate(date, options = FORMAT_DATE_AND_TIME) {
10
- return date.toLocaleString(i18n.languages, options);
10
+ return date.toLocaleString(getI18n().languages, options);
11
11
  }
12
12
  //# sourceMappingURL=formatDate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../src/utils/formatDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,SAAS,EAAE,MAAM;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,SAAS,EAAE,OAAO;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,mCAC5B,gBAAgB,GAChB,gBAAgB,CACpB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,OAAO,GAAG,oBAAoB;IACnE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../src/utils/formatDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,SAAS,EAAE,MAAM;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,SAAS,EAAE,OAAO;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,mCAC5B,gBAAgB,GAChB,gBAAgB,CACpB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,OAAO,GAAG,oBAAoB;IACnE,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}