keycloak-scim/js/apps/admin-ui
Weblate (bot) c466ea728d
Updated translation for German (#32631)
Updated translation for German

Language: de

Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Robin <39960884+robson90@users.noreply.github.com>
Signed-off-by: Tobias Lechner <me@tobias-lechner.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Robin <39960884+robson90@users.noreply.github.com>
Co-authored-by: Tobias Lechner <me@tobias-lechner.com>
2024-09-10 12:40:56 +00:00
..
cypress introduce event types to update/remove credentials 2024-09-03 18:27:27 +02:00
maven-resources Show details for error messages where they were missing (#32534) 2024-09-04 07:23:54 -04:00
maven-resources-community/theme/keycloak.v2/admin/messages Updated translation for German (#32631) 2024-09-10 12:40:56 +00:00
public
src moved banner to top of the screen (#32765) 2024-09-10 08:27:52 -04:00
.gitignore
CONTRIBUTING.md
cypress.config.ts
package.json Bump react-router-dom from 6.26.1 to 6.26.2 (#32751) 2024-09-10 10:29:47 +00:00
pom.xml Fix typo of interface (#32636) 2024-09-04 10:01:00 +00:00
README.md
tsconfig.json
tsconfig.node.json
vite.config.ts

Keycloak Admin UI

This project is the next generation of the Keycloak Admin UI. It is written with React and PatternFly 4 and uses Vite.

Features

Contains all the "pages" from the admin-ui as re-usable components, all the functions to save and the side menu to use in your own build of the admin-ui

Install

npm i @keycloak/keycloak-admin-ui

Usage

To use these pages you'll need to add KeycloakProvider in your component hierarchy to setup what client, realm and url to use.

import { KeycloakProvider } from "@keycloak/keycloak-ui-shared";

//...

<KeycloakProvider environment={{
      authServerUrl: "http://localhost:8080",
      realm: "master",
      clientId: "security-admin-console"
  }}>
  {/* rest of you application */}
</KeycloakProvider>

Translation

For the translation we use react-i18next you can set it up as described on their website. If you want to use the translations that are provided then you need to add i18next-http-backend to your project and add:


backend: {
  loadPath: `http://localhost:8180/resources/master/admin/{{lng}}`,
  parse: (data: string) => {
    const messages = JSON.parse(data);

    const result: Record<string, string> = {};
    messages.forEach((v) => (result[v.key] = v.value));
    return result;
  },
},

to the i18next config object.

Building

To build a library instead of an app you need to add the LIB=true environment variable.

LIB=true pnpm run build