This commit is contained in:
Joseph Garrone 2024-06-07 05:20:57 +02:00
parent 0c36e4b6f4
commit 2b4c85aa7e
7 changed files with 41 additions and 35 deletions

View File

@ -14,7 +14,8 @@
"**/account/pages/*.tsx",
"**/login/Template.tsx",
"**/account/Template.tsx",
"**/login/UserProfileFormFields.tsx"
"**/login/UserProfileFormFields.tsx",
"KcApp.tsx"
],
"options": {
"printWidth": 150

View File

@ -16,10 +16,10 @@
html {
animation: fadeToTransparent 500ms forwards ease-in;
}
body>.sb-preparing-docs {
body > .sb-preparing-docs {
visibility: hidden;
}
body>.sb-preparing-story {
body > .sb-preparing-story {
visibility: hidden;
}
</style>
</style>

View File

@ -2,8 +2,6 @@
<i>🚀 <a href="https://keycloakify.dev">Keycloakify</a> v10 starter 🚀</i>
<br/>
<br/>
<img src="https://github.com/codegouvfr/keycloakify-starter/workflows/ci/badge.svg?branch=main">
<br/>
</p>
This starter is based on Vite. There is also [a Webpack based starter](https://github.com/keycloakify/keycloakify-starter-cra).
@ -13,8 +11,9 @@ This starter is based on Vite. There is also [a Webpack based starter](https://g
```bash
git clone https://github.com/keycloakify/keycloakify-starter
cd keycloakify-starter
yarn install
yarn build-keycloak-theme # Build the keycloak theme, generate the .jar file to be imported in Keycloak
yarn install
# Generate the dist_keycloak/.jar file that you can import in Keycloak
yarn build-keycloak-theme
```
# Storybook
@ -34,8 +33,8 @@ npx keycloakify start-keycloak
# Advanced customization
The starter only enables you to implement CSS level customization. To take full ownership
of some pages use the command:
The starter only enables you to implement CSS level customization. To take full ownership
of some pages use the command:
```bash
npx keycloakify eject-page
@ -43,21 +42,25 @@ npx keycloakify eject-page
# GitHub Actions
The starter comes with a GitHub Actions workflow that builds the theme and publishes
The starter comes with a generic GitHub Actions workflow that builds the theme and publishes
the jars [as GitHub releases artifacts](https://github.com/keycloakify/keycloakify-starter/releases/tag/v7.1.0).
To release a new version **just update the `package.json` version and push**.
To enable the workflow go to your fork of this repository on GitHub then navigate to:
`Settings` > `Actions` > `Workflow permissions`, select `Read and write permissions`.
# Removing the account theme
If you don't need to customize [the account theme pages](https://storybook.keycloakify.dev/?path=/story/account-account--default).
You can remove the `src/account` directory and make the necessary changes in `src/main.tsx` and `src/vite-env.d.ts`.
You can remove the `src/account` directory.
This will significantly reduce the the size of the jar and the build time.
Don't forget to update `src/main.tsx` and `src/vite-env.d.ts`.
# Email theme
Keycloakify lets you bundle an email theme however customization can't be made with React yet.
It's just a regular Keycloak theme.
To initialize the email theme run:
```bash
npx keycloakify initialize-email-theme
```

View File

@ -18,7 +18,7 @@
"license": "MIT",
"keywords": [],
"dependencies": {
"keycloakify": "10.0.0-rc.34",
"keycloakify": "10.0.0-rc.35",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},

View File

@ -16,23 +16,26 @@ export default function KcApp(props: { kcContext: KcContext }) {
useDownloadTerms({
kcContext,
downloadTermMarkdown: async ({ currentLanguageTag }) => {
const termsFileName = (() => {
switch (currentLanguageTag) {
case "fr":
return "fr.md";
case "es":
return "es.md";
default:
return "en.md";
}
})();
downloadTermsMarkdown: async ({ currentLanguageTag }) => {
let termsLanguageTag = currentLanguageTag;
let termsFileName: string;
// Dynamically downloading Markdown files from public/terms/[currentLanguage].md
// Replace theses files by your organization's terms of service.
const response = await fetch(`${import.meta.env.BASE_URL}terms/${termsFileName}`);
switch (currentLanguageTag) {
case "fr":
termsFileName = "fr.md";
break;
case "es":
termsFileName = "es.md";
break;
default:
termsFileName = "en.md";
termsLanguageTag = "en";
break;
}
return response.text();
const termsMarkdown = await fetch(`${import.meta.env.BASE_URL}terms/${termsFileName}`).then(r => r.text());
return { termsMarkdown, termsLanguageTag };
}
});

View File

@ -33,4 +33,3 @@ createRoot(document.getElementById("root")!).render(
</Suspense>
</StrictMode>
);

View File

@ -5011,10 +5011,10 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
keycloakify@10.0.0-rc.34:
version "10.0.0-rc.34"
resolved "https://registry.yarnpkg.com/keycloakify/-/keycloakify-10.0.0-rc.34.tgz#1909a053bd3f292afad6c98e59ecddfbf06f47b8"
integrity sha512-CAGc4h2CS0Q/Ol02ZANk/jd0ekrNgb8wlI8M8n0SficVNE4JI7+dMlrBfj8ZEmPh21enb/apQm48mj4KrjvSHA==
keycloakify@10.0.0-rc.35:
version "10.0.0-rc.35"
resolved "https://registry.yarnpkg.com/keycloakify/-/keycloakify-10.0.0-rc.35.tgz#8b5c1c22c7637d28f4eacc11ac358a001dad8ba5"
integrity sha512-Z5U5O/0U+Sx5ZkoS8pShCqR+iPoka8mD5OMvd/cciOk3opmpOvV5e5ZdJAGl2QI8Flb/0DRcWr+jE3Xlx9vZ0g==
dependencies:
react-markdown "^5.0.3"
tsafe "^1.6.6"