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", "**/account/pages/*.tsx",
"**/login/Template.tsx", "**/login/Template.tsx",
"**/account/Template.tsx", "**/account/Template.tsx",
"**/login/UserProfileFormFields.tsx" "**/login/UserProfileFormFields.tsx",
"KcApp.tsx"
], ],
"options": { "options": {
"printWidth": 150 "printWidth": 150

View file

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

View file

@ -2,8 +2,6 @@
<i>🚀 <a href="https://keycloakify.dev">Keycloakify</a> v10 starter 🚀</i> <i>🚀 <a href="https://keycloakify.dev">Keycloakify</a> v10 starter 🚀</i>
<br/> <br/>
<br/> <br/>
<img src="https://github.com/codegouvfr/keycloakify-starter/workflows/ci/badge.svg?branch=main">
<br/>
</p> </p>
This starter is based on Vite. There is also [a Webpack based starter](https://github.com/keycloakify/keycloakify-starter-cra). 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 ```bash
git clone https://github.com/keycloakify/keycloakify-starter git clone https://github.com/keycloakify/keycloakify-starter
cd keycloakify-starter cd keycloakify-starter
yarn install yarn install
yarn build-keycloak-theme # Build the keycloak theme, generate the .jar file to be imported in Keycloak # Generate the dist_keycloak/.jar file that you can import in Keycloak
yarn build-keycloak-theme
``` ```
# Storybook # Storybook
@ -34,8 +33,8 @@ npx keycloakify start-keycloak
# Advanced customization # Advanced customization
The starter only enables you to implement CSS level customization. To take full ownership The starter only enables you to implement CSS level customization. To take full ownership
of some pages use the command: of some pages use the command:
```bash ```bash
npx keycloakify eject-page npx keycloakify eject-page
@ -43,21 +42,25 @@ npx keycloakify eject-page
# GitHub Actions # 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). 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 # Removing the account theme
If you don't need to customize [the account theme pages](https://storybook.keycloakify.dev/?path=/story/account-account--default). 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. 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 # Email theme
Keycloakify lets you bundle an email theme however customization can't be made with React yet. 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 ```bash
npx keycloakify initialize-email-theme npx keycloakify initialize-email-theme
``` ```

View file

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

View file

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

View file

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