2022-11-26 02:03:53 +00:00
|
|
|
<#macro registrationLayout bodyClass="" displayInfo=false displayMessage=true displayRequiredFields=false>
|
2022-11-27 01:17:33 +00:00
|
|
|
<!doctype html>
|
|
|
|
<html>
|
2022-11-26 02:03:53 +00:00
|
|
|
|
|
|
|
<head>
|
2022-11-28 14:06:30 +00:00
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
|
|
<meta name="robots" content="noindex, nofollow">
|
|
|
|
|
|
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
|
|
|
|
<title>${msg("loginTitle",(realm.displayName!''))}</title>
|
|
|
|
|
|
|
|
<link rel="icon" href="${url.resourcesPath}/img/pub.solar.svg" />
|
|
|
|
|
2022-11-28 14:12:09 +00:00
|
|
|
<link href="${url.resourcesPath}/css/index.css?v2" rel="stylesheet" />
|
2022-11-28 14:06:30 +00:00
|
|
|
|
|
|
|
<script defer src="${url.resourcesPath}/js/background.js" type="text/javascript"></script>
|
|
|
|
<script defer src="${url.resourcesPath}/js/i18n.js" type="text/javascript"></script>
|
|
|
|
|
|
|
|
<#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 defer src="${url.resourcesPath}/${script}" type="text/javascript"></script>
|
|
|
|
</#list>
|
|
|
|
</#if>
|
|
|
|
<#if properties.scriptsCommon?has_content>
|
|
|
|
<#list properties.scriptsCommon?split(' ') as script>
|
|
|
|
<script defer src="${url.resourcesCommonPath}/${script}" type="text/javascript"></script>
|
|
|
|
</#list>
|
|
|
|
</#if>
|
2022-11-26 02:03:53 +00:00
|
|
|
</head>
|
|
|
|
|
2022-11-27 01:47:13 +00:00
|
|
|
<body class="ps-main ps-main_full">
|
2022-11-27 01:17:33 +00:00
|
|
|
<div
|
2022-11-28 14:06:30 +00:00
|
|
|
id="background"
|
|
|
|
class="ps-background ps-main--background"
|
2022-11-27 01:17:33 +00:00
|
|
|
>
|
2022-11-28 14:06:30 +00:00
|
|
|
<div
|
|
|
|
id="x1312"
|
|
|
|
class="ps-background--1312"
|
|
|
|
>0x1312</div>
|
|
|
|
<div
|
|
|
|
id="logo"
|
|
|
|
class="ps-background--logo ps-logo"
|
|
|
|
>
|
|
|
|
<img
|
|
|
|
class="ps-logo--base"
|
|
|
|
src="${url.resourcesPath}/img/pub.solar.svg"
|
|
|
|
/>
|
|
|
|
</div>
|
2022-11-27 01:17:33 +00:00
|
|
|
</div>
|
|
|
|
<main class="ps-main--page ps-page">
|
2022-11-27 20:38:41 +00:00
|
|
|
|
2022-11-28 14:06:30 +00:00
|
|
|
<header class="ps-page--header ps-header">
|
2022-11-27 20:38:41 +00:00
|
|
|
|
2022-11-28 14:06:30 +00:00
|
|
|
<a href="https://pub.solar/" class="ps-homelink">pub.solar/</a>
|
2022-11-27 20:38:41 +00:00
|
|
|
|
2022-11-28 14:06:30 +00:00
|
|
|
<#if realm.internationalizationEnabled && locale.supported?size gt 1>
|
|
|
|
<select
|
2022-11-28 14:21:11 +00:00
|
|
|
class="ps-i18n-links ps-header--i18n"
|
2022-11-28 14:06:30 +00:00
|
|
|
id="language-toggle"
|
|
|
|
>
|
|
|
|
<#list locale.supported as l>
|
|
|
|
<option
|
|
|
|
value="${l.url}"
|
|
|
|
<#if locale.current == l.label>selected</#if>
|
|
|
|
>${l.label}</option>
|
|
|
|
</#list>
|
|
|
|
</select>
|
|
|
|
</#if>
|
2022-11-27 20:38:41 +00:00
|
|
|
|
2022-11-28 14:06:30 +00:00
|
|
|
</header>
|
2022-11-27 20:38:41 +00:00
|
|
|
|
2022-11-28 14:06:30 +00:00
|
|
|
<section class="ps-page--section ps-page--section_full">
|
|
|
|
|
|
|
|
<#if !(auth?has_content && auth.showUsername() && !auth.showResetCredentials())>
|
|
|
|
<h1 class="ps-page--title"><#nested "header"></h1>
|
|
|
|
<#if displayRequiredFields>
|
|
|
|
<div class="${properties.kcLabelWrapperClass!} subtitle">
|
|
|
|
<span class="subtitle"><span class="required">*</span> ${msg("requiredFields")}</span>
|
|
|
|
</div>
|
|
|
|
</#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>
|
2022-11-27 01:47:13 +00:00
|
|
|
</div>
|
2022-11-28 14:06:30 +00:00
|
|
|
</a>
|
2022-11-27 01:47:13 +00:00
|
|
|
</div>
|
2022-11-28 14:06:30 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<#else>
|
|
|
|
<#nested "show-username">
|
|
|
|
<div class="ps-login-flow-pre">
|
|
|
|
<div class="ps-login-flow-pre--selected">${auth.attemptedUsername}</div>
|
|
|
|
<a
|
|
|
|
id="reset-login"
|
|
|
|
href="${url.loginRestartFlowUrl}"
|
|
|
|
aria-label="${msg("restartLoginTooltip")}"
|
|
|
|
class="ps-login-flow-pre--cancel ps-link"
|
|
|
|
>
|
|
|
|
${msg("restartLoginTooltip")}
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</#if>
|
|
|
|
</#if>
|
2022-11-26 02:03:53 +00:00
|
|
|
|
2022-11-28 14:06:30 +00:00
|
|
|
<div class="ps-page--section-contents ps-container">
|
|
|
|
|
|
|
|
<#-- 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>
|
2022-11-26 02:03:53 +00:00
|
|
|
|
2022-11-28 14:06:30 +00:00
|
|
|
<#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>
|
2022-11-27 01:17:33 +00:00
|
|
|
|
2022-11-28 14:06:30 +00:00
|
|
|
<#nested "socialProviders">
|
2022-11-26 02:03:53 +00:00
|
|
|
|
2022-11-28 14:06:30 +00:00
|
|
|
<#if displayInfo>
|
|
|
|
<div id="kc-info" class="${properties.kcSignUpClass!}">
|
|
|
|
<div id="kc-info-wrapper" class="${properties.kcInfoAreaWrapperClass!}">
|
|
|
|
<#nested "info">
|
|
|
|
</div>
|
2022-11-27 01:47:13 +00:00
|
|
|
</div>
|
2022-11-28 14:06:30 +00:00
|
|
|
</#if>
|
|
|
|
</div>
|
|
|
|
</section>
|
2022-11-26 02:03:53 +00:00
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
</#macro>
|