From 2c53c2d19367e47fb163874ac8ccf1682cea4e1b Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 5 Dec 2024 08:27:22 +0100
Subject: [PATCH] remove keycloak-themes - moved to
 https://git.ozg-sh.de/ozgcloud-devops/keycloak-themes

---
 keycloak-templates/.empty                     |   0
 keycloak-templates/themes/README.md           |  24 ---
 .../themes/ozg-by/login/footer-links.ftl      |   3 -
 .../themes/ozg-by/login/theme.properties      |   2 -
 .../themes/ozg-sh/login/footer-links.ftl      |   3 -
 .../themes/ozg-sh/login/theme.properties      |   2 -
 .../themes/ozg/login/footer-links.ftl         |   5 -
 .../themes/ozg/login/resources/css/styles.css | 156 ----------------
 .../login/resources/img/OZG_Cloud_Logo.png    | Bin 13267 -> 0 bytes
 .../themes/ozg/login/template.ftl             | 174 ------------------
 .../themes/ozg/login/theme.properties         |   3 -
 11 files changed, 372 deletions(-)
 delete mode 100644 keycloak-templates/.empty
 delete mode 100644 keycloak-templates/themes/README.md
 delete mode 100644 keycloak-templates/themes/ozg-by/login/footer-links.ftl
 delete mode 100644 keycloak-templates/themes/ozg-by/login/theme.properties
 delete mode 100644 keycloak-templates/themes/ozg-sh/login/footer-links.ftl
 delete mode 100644 keycloak-templates/themes/ozg-sh/login/theme.properties
 delete mode 100644 keycloak-templates/themes/ozg/login/footer-links.ftl
 delete mode 100644 keycloak-templates/themes/ozg/login/resources/css/styles.css
 delete mode 100644 keycloak-templates/themes/ozg/login/resources/img/OZG_Cloud_Logo.png
 delete mode 100644 keycloak-templates/themes/ozg/login/template.ftl
 delete mode 100644 keycloak-templates/themes/ozg/login/theme.properties

diff --git a/keycloak-templates/.empty b/keycloak-templates/.empty
deleted file mode 100644
index e69de29..0000000
diff --git a/keycloak-templates/themes/README.md b/keycloak-templates/themes/README.md
deleted file mode 100644
index eeadc58..0000000
--- a/keycloak-templates/themes/README.md
+++ /dev/null
@@ -1,24 +0,0 @@
-Creating Themes
-===============
-
-Themes are used to configure the look and feel of login pages and the account management console.
-
-Custom themes packaged in a JAR file should be deployed to the `${kc.home.dir}/providers` directory. After that, run
-the `build` command to install them before starting the server.
-
-You are also able to create your custom themes in this directory, directly. Themes within this directory do not require
-the `build` command to be installed.
-
-When running the server in development mode using `start-dev`, themes are not cached so that you can easily work on them without a need to restart
-the server when making changes.
-
-See the theme section in the [Server Developer Guide](https://www.keycloak.org/docs/latest/server_development/#_themes) for more details about how to create custom themes.
-
-Overriding the built-in templates
----------------------------------
-
-While creating custom themes, especially when overriding templates, it may be useful to use the built-in templates as
-a reference. These can be found within the theme directory of `../lib/lib/main/org.keycloak.keycloak-themes-24.0.5.jar`, which can be opened using any
-standard ZIP archive tool.
-
-**Built-in themes should not be modified directly, instead a custom theme should be created.**
\ No newline at end of file
diff --git a/keycloak-templates/themes/ozg-by/login/footer-links.ftl b/keycloak-templates/themes/ozg-by/login/footer-links.ftl
deleted file mode 100644
index 16572fc..0000000
--- a/keycloak-templates/themes/ozg-by/login/footer-links.ftl
+++ /dev/null
@@ -1,3 +0,0 @@
-<#macro content>
-  <li class="ozg-login-footer__item"><a href="${properties.staticUrlBarrierefreiheit}/barrierefreiheit" target="_blank" rel="noopener noreferrer">Barrierefreiheit</a></li>
-</#macro>
\ No newline at end of file
diff --git a/keycloak-templates/themes/ozg-by/login/theme.properties b/keycloak-templates/themes/ozg-by/login/theme.properties
deleted file mode 100644
index 8a1b5d6..0000000
--- a/keycloak-templates/themes/ozg-by/login/theme.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-parent=ozg
-staticUrlBarrierefreiheit=https://by-static.dev.by.ozg-cloud.de/barrierefreiheit
\ No newline at end of file
diff --git a/keycloak-templates/themes/ozg-sh/login/footer-links.ftl b/keycloak-templates/themes/ozg-sh/login/footer-links.ftl
deleted file mode 100644
index 16572fc..0000000
--- a/keycloak-templates/themes/ozg-sh/login/footer-links.ftl
+++ /dev/null
@@ -1,3 +0,0 @@
-<#macro content>
-  <li class="ozg-login-footer__item"><a href="${properties.staticUrlBarrierefreiheit}/barrierefreiheit" target="_blank" rel="noopener noreferrer">Barrierefreiheit</a></li>
-</#macro>
\ No newline at end of file
diff --git a/keycloak-templates/themes/ozg-sh/login/theme.properties b/keycloak-templates/themes/ozg-sh/login/theme.properties
deleted file mode 100644
index ded1d12..0000000
--- a/keycloak-templates/themes/ozg-sh/login/theme.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-parent=ozg
-staticUrlBarrierefreiheit=https://sh-static.dev.by.ozg-cloud.de/barrierefreiheit
\ No newline at end of file
diff --git a/keycloak-templates/themes/ozg/login/footer-links.ftl b/keycloak-templates/themes/ozg/login/footer-links.ftl
deleted file mode 100644
index f200a87..0000000
--- a/keycloak-templates/themes/ozg/login/footer-links.ftl
+++ /dev/null
@@ -1,5 +0,0 @@
-<#macro content>
-  <li class="ozg-login-footer__item"><a href="${properties.staticUrlBarrierefreiheit}/barrierefreiheit" target="_blank" rel="noopener noreferrer">Barrierefreiheit</a></li>
-  <!-- li class="ozg-login-footer__item" target="_blank"><a href="${properties.staticUrlDatenschutz}/datenschutz" rel="noopener noreferrer">Datenschutz</a></li> 
-  <li class="ozg-login-footer__item" target="_blank"><a href="${properties.staticUrlImpressum}/impressum" rel="noopener noreferrer">Impressum</a></li> -->
-</#macro>
\ No newline at end of file
diff --git a/keycloak-templates/themes/ozg/login/resources/css/styles.css b/keycloak-templates/themes/ozg/login/resources/css/styles.css
deleted file mode 100644
index 216257c..0000000
--- a/keycloak-templates/themes/ozg/login/resources/css/styles.css
+++ /dev/null
@@ -1,156 +0,0 @@
-a {
-  color: #1565c0;
-  text-decoration: none;
-}
-
-a:hover {
-  color: #1565c0;
-  text-decoration: underline;
-}
-
-a:focus {
-  color: #1565c0;
-  outline: 2px solid #1565c0;
-  outline-offset: 4px;
-  border-radius: 6px;
-  text-decoration: none;
-}
-
-.login-pf a:hover {
-  color: #1565c0;
-}
-
-.login-pf body {
-  background-image: none;
-  background-color: #f9f9f9;
-  font-size: 16px;
-  font-family: Roboto, "Helvetica Neue", sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-.ozg-login-h1 {
-  font-size: 24px;
-  font-weight: 500;
-  color: #1565c0;
-  padding: 32px 0 0 0;
-  margin-top: 0;
-  margin-bottom: 0;
-  text-align: center;
-}
-
-.ozg-login-h2 {
-  font-size: 20px;
-  font-weight: 500;
-  color: #1565c0;
-  padding: 12px 0;
-  margin-top: 0;
-  margin-bottom: 0;
-  text-align: center;
-}
-
-.ozg-login-logo {
-  background-image: url(../img/OZG_Cloud_logo.png);
-  background-repeat: no-repeat;
-  background-size: contain;
-  aspect-ratio: 1.3;
-  height: 110px;
-  margin: 0 auto;
-}
-
-.login-pf-page .card-pf {
-  border-radius: 6px;
-}
-
-.pf-c-form__label-text {
-  font-weight: 500;
-  font-size: 16px;
-  margin-bottom: 8px;
-}
-
-.pf-c-form-control {
-  border-radius: 6px;
-  border-color: #4678c2;
-  padding: 8px 12px;
-}
-
-.pf-c-form-control:focus {
-  padding: 8px 12px;
-  border-color: #e0e0e0;
-  outline: 2px solid #4678c2;
-  outline-offset: 2px;
-}
-
-.pf-c-form-control[aria-invalid="true"] {
-  border-color: #d62424;
-  border-color: #e0e0e0;
-  border-bottom-width: 1px;
-}
-
-.pf-c-form-control[aria-invalid="true"]:focus {
-  border-color: #e0e0e0;
-  outline: 2px solid #d62424;
-  outline-offset: 2px;
-}
-
-.pf-c-button.pf-m-control {
-  border-color: #4678c2;
-  margin-left: 0;
-}
-
-.pf-c-form__helper-text {
-  font-size: 14px;
-}
-
-.required {
-  color: #d62424;
-}
-
-.pf-c-button:after {
-  border: none;
-}
-
-.pf-c-alert {
-  background-color: white;
-  border-top: none;
-  padding: 0 0 16px 0;
-  color: #d62424;
-}
-
-.pf-c-alert__title {
-  font-size: 14px;
-  color: #d62424;
-}
-
-.btn-lg {
-  border-radius: 6px;
-  font-size: 14px;
-  color: white;
-  font-weight: 500;
-  padding: 8px 32px;
-  min-width: 126px;
-  width: auto;
-}
-
-.btn-lg:focus-visible {
-  outline: 2px solid #4678c2;
-  outline-offset: 2px;
-}
-
-.ozg-login-footer {
-  display: flex;
-  flex-direction: row;
-  justify-content: center;
-  flex-wrap: wrap;
-  padding: 60px 0;
-}
-
-.ozg-login-footer__item {
-  padding: 0 12px;
-  font-size: 16px;
-}
-
-#kc-info-wrapper {
-  font-size: 16px;
-  color: #363636;
-}
diff --git a/keycloak-templates/themes/ozg/login/resources/img/OZG_Cloud_Logo.png b/keycloak-templates/themes/ozg/login/resources/img/OZG_Cloud_Logo.png
deleted file mode 100644
index 124440050006f888cd60276dbb9a6b8d779475bd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 13267
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

diff --git a/keycloak-templates/themes/ozg/login/template.ftl b/keycloak-templates/themes/ozg/login/template.ftl
deleted file mode 100644
index 5012960..0000000
--- a/keycloak-templates/themes/ozg/login/template.ftl
+++ /dev/null
@@ -1,174 +0,0 @@
-<#macro registrationLayout bodyClass="" displayInfo=false displayMessage=true displayRequiredFields=false>
-<!DOCTYPE html>
-<html class="${properties.kcHtmlClass!}"<#if realm.internationalizationEnabled> lang="${locale.currentLanguageTag}"</#if>>
-
-<head>
-    <meta charset="utf-8">
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <meta name="robots" content="noindex, nofollow">
-
-    <#if properties.meta?has_content>
-        <#list properties.meta?split(' ') as meta>
-            <meta name="${meta?split('==')[0]}" content="${meta?split('==')[1]}"/>
-        </#list>
-    </#if>
-    <title>${msg("loginTitle",(realm.displayName!''))}</title>
-    <link rel="icon" href="${url.resourcesPath}/img/favicon.ico" />
-    <#if properties.stylesCommon?has_content>
-        <#list properties.stylesCommon?split(' ') as style>
-            <link href="${url.resourcesCommonPath}/${style}" rel="stylesheet" />
-        </#list>
-    </#if>
-    <#if properties.styles?has_content>
-        <#list properties.styles?split(' ') as style>
-            <link href="${url.resourcesPath}/${style}" rel="stylesheet" />
-        </#list>
-    </#if>
-    <#if properties.scripts?has_content>
-        <#list properties.scripts?split(' ') as script>
-            <script src="${url.resourcesPath}/${script}" type="text/javascript"></script>
-        </#list>
-    </#if>
-    <script src="${url.resourcesPath}/js/menu-button-links.js" type="module"></script>
-    <#if scripts??>
-        <#list scripts as script>
-            <script src="${script}" type="text/javascript"></script>
-        </#list>
-    </#if>
-    <#if authenticationSession??>
-        <script type="module">
-            import { checkCookiesAndSetTimer } from "${url.resourcesPath}/js/authChecker.js";
-
-            checkCookiesAndSetTimer(
-              "${authenticationSession.authSessionId}",
-              "${authenticationSession.tabId}",
-              "${url.ssoLoginInOtherTabsUrl?no_esc}"
-            );
-        </script>
-    </#if>
-</head>
-
-<body class="${properties.kcBodyClass!}">
-<div class="${properties.kcLoginClass!}">
-    <header id="kc-header" class="${properties.kcHeaderClass!}">
-        <div class="ozg-login-logo" role="img" aria-label="OZG-Cloud Logo"></div>
-        <h1 class="ozg-login-h1">${kcSanitize(msg("loginTitleHtml",(realm.displayNameHtml!'')))?no_esc}</h1>
-    </header>
-    <main class="${properties.kcFormCardClass!}">
-        <div class="${properties.kcFormHeaderClass!}">
-            <#if realm.internationalizationEnabled  && locale.supported?size gt 1>
-                <div class="${properties.kcLocaleMainClass!}" id="kc-locale">
-                    <div id="kc-locale-wrapper" class="${properties.kcLocaleWrapperClass!}">
-                        <div id="kc-locale-dropdown" class="menu-button-links ${properties.kcLocaleDropDownClass!}">
-                            <button tabindex="1" id="kc-current-locale-link" aria-label="${msg("languages")}" aria-haspopup="true" aria-expanded="false" aria-controls="language-switch1">${locale.current}</button>
-                            <ul role="menu" tabindex="-1" aria-labelledby="kc-current-locale-link" aria-activedescendant="" id="language-switch1" class="${properties.kcLocaleListClass!}">
-                                <#assign i = 1>
-                                <#list locale.supported as l>
-                                    <li class="${properties.kcLocaleListItemClass!}" role="none">
-                                        <a role="menuitem" id="language-${i}" class="${properties.kcLocaleItemClass!}" href="${l.url}">${l.label}</a>
-                                    </li>
-                                    <#assign i++>
-                                </#list>
-                            </ul>
-                        </div>
-                    </div>
-                </div>
-            </#if>
-        <#if !(auth?has_content && auth.showUsername() && !auth.showResetCredentials())>
-            <#if displayRequiredFields>
-                <div class="${properties.kcContentWrapperClass!}">
-                    <div class="${properties.kcLabelWrapperClass!} subtitle">
-                        <span class="subtitle"><span class="required">*</span> ${msg("requiredFields")}</span>
-                    </div>
-                    <div class="col-md-10">
-                        <h2 class="ozg-login-h2" id="kc-page-title"><#nested "header"></h2>
-                    </div>
-                </div>
-            <#else>
-                <h2 class="ozg-login-h2" id="kc-page-title"><#nested "header"></h2>
-            </#if>
-        <#else>
-            <#if displayRequiredFields>
-                <div class="${properties.kcContentWrapperClass!}">
-                    <div class="${properties.kcLabelWrapperClass!} subtitle">
-                        <span class="subtitle"><span class="required">*</span> ${msg("requiredFields")}</span>
-                    </div>
-                    <div class="col-md-10">
-                        <#nested "show-username">
-                        <div id="kc-username" class="${properties.kcFormGroupClass!}">
-                            <label id="kc-attempted-username">${auth.attemptedUsername}</label>
-                            <a id="reset-login" href="${url.loginRestartFlowUrl}" aria-label="${msg("restartLoginTooltip")}">
-                                <div class="kc-login-tooltip">
-                                    <i class="${properties.kcResetFlowIcon!}"></i>
-                                    <span class="kc-tooltip-text">${msg("restartLoginTooltip")}</span>
-                                </div>
-                            </a>
-                        </div>
-                    </div>
-                </div>
-            <#else>
-                <#nested "show-username">
-                <div id="kc-username" class="${properties.kcFormGroupClass!}">
-                    <label id="kc-attempted-username">${auth.attemptedUsername}</label>
-                    <a id="reset-login" href="${url.loginRestartFlowUrl}" aria-label="${msg("restartLoginTooltip")}">
-                        <div class="kc-login-tooltip">
-                            <i class="${properties.kcResetFlowIcon!}"></i>
-                            <span class="kc-tooltip-text">${msg("restartLoginTooltip")}</span>
-                        </div>
-                    </a>
-                </div>
-            </#if>
-        </#if>
-      </div>
-      <div id="kc-content">
-        <div id="kc-content-wrapper">
-          <#-- App-initiated actions should not see warning messages about the need to complete the action -->
-          <#-- during login.                                                                               -->
-          <#if displayMessage && message?has_content && (message.type != 'warning' || !isAppInitiatedAction??)>
-              <div class="alert-${message.type} ${properties.kcAlertClass!} pf-m-<#if message.type = 'error'>danger<#else>${message.type}</#if>">
-                  <div class="pf-c-alert__icon">
-                      <#if message.type = 'success'><span class="${properties.kcFeedbackSuccessIcon!}"></span></#if>
-                      <#if message.type = 'warning'><span class="${properties.kcFeedbackWarningIcon!}"></span></#if>
-                      <#if message.type = 'error'><span class="${properties.kcFeedbackErrorIcon!}"></span></#if>
-                      <#if message.type = 'info'><span class="${properties.kcFeedbackInfoIcon!}"></span></#if>
-                  </div>
-                      <span class="${properties.kcAlertTitleClass!}">${kcSanitize(message.summary)?no_esc}</span>
-              </div>
-          </#if>
-
-          <#nested "form">
-
-          <#if auth?has_content && auth.showTryAnotherWayLink()>
-              <form id="kc-select-try-another-way-form" action="${url.loginAction}" method="post">
-                  <div class="${properties.kcFormGroupClass!}">
-                      <input type="hidden" name="tryAnotherWay" value="on"/>
-                      <a href="#" id="try-another-way"
-                         onclick="document.forms['kc-select-try-another-way-form'].submit();return false;">${msg("doTryAnotherWay")}</a>
-                  </div>
-              </form>
-          </#if>
-
-          <#nested "socialProviders">
-
-          <#if displayInfo>
-              <div id="kc-info" class="${properties.kcSignUpClass!}">
-                  <div id="kc-info-wrapper" class="${properties.kcInfoAreaWrapperClass!}">
-                      <#nested "info">
-                  </div>
-              </div>
-          </#if>
-        </div>
-      </div>
-    </main>
-    <footer>
-        <nav>
-            <ul class="ozg-login-footer">
-                <#import "footer-links.ftl" as footer>
-                <@footer.content/>
-            </ul>
-        </nav>
-    </footer>
-  </div>
-</body>
-</html>
-</#macro>
diff --git a/keycloak-templates/themes/ozg/login/theme.properties b/keycloak-templates/themes/ozg/login/theme.properties
deleted file mode 100644
index 44cd95c..0000000
--- a/keycloak-templates/themes/ozg/login/theme.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-parent=keycloak
-styles=css/login.css css/styles.css
-staticUrlBarrierefreiheit=https://static.dev.by.ozg-cloud.de/barrierefreiheit
\ No newline at end of file
-- 
GitLab