Files
drill-keycloak/keycloak/themes/drill-luxe/login/login.ftl
Первов Артем c3d26a6bc1 update login
2026-06-17 10:39:03 +03:00

175 lines
7.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html class="${properties.kcHtmlClass!}" lang="${(locale.currentLanguageTag)!'ru'}">
<head>
<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>Drill Cloud Login</title>
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Crect width='120' height='120' rx='22' fill='%23070a0f'/%3E%3Cpath d='M58 18h5l22 78H73l-3-13H51l-3 13H36l22-78zm-4 53h13l-6-28-7 28z' fill='%23d7a15f'/%3E%3Cpath d='M29 96h62v6H29z' fill='%2334d399'/%3E%3C/svg%3E" />
<#if properties.styles?has_content>
<#list properties.styles?split(' ') as style>
<link href="${url.resourcesPath}/${style}" rel="stylesheet" />
</#list>
</#if>
</head>
<body class="drill-login">
<main class="drill-login__shell">
<section class="drill-login__brand" aria-label="Drill Cloud">
<div class="drill-login__brand-grid" aria-hidden="true"></div>
<div class="drill-login__brand-top">
<div class="drill-login__brand-mark" aria-hidden="true">
<span class="drill-login__brand-mark-core">D</span>
<span class="drill-login__brand-mark-bar"></span>
</div>
<div class="drill-login__status-pill">
<span></span>
Protected industrial access
</div>
</div>
<div class="drill-login__brand-copy">
<span class="drill-login__eyebrow">Drill Cloud</span>
<h1>Единый доступ к буровой телеметрии и сервисам объекта</h1>
<p>
Защищенная операторская среда для мониторинга установок, работы с оборудованием,
архивом параметров и техническим контекстом буровой.
</p>
</div>
<div class="drill-login__industrial-panel" aria-hidden="true">
<div class="drill-login__signal-flow">
<svg viewBox="0 0 520 240" role="img" focusable="false">
<defs>
<linearGradient id="signalLine" x1="0" x2="1" y1="0" y2="0">
<stop offset="0%" stop-color="#d7a15f" stop-opacity="0.22" />
<stop offset="52%" stop-color="#34d399" stop-opacity="0.86" />
<stop offset="100%" stop-color="#d7a15f" stop-opacity="0.22" />
</linearGradient>
</defs>
<path class="drill-login__signal-path drill-login__signal-path--base" d="M42 168 H122 L162 112 H246 L286 72 H402" />
<path class="drill-login__signal-path drill-login__signal-path--base" d="M42 74 H118 L164 126 H252 L306 166 H474" />
<path class="drill-login__signal-path drill-login__signal-path--base" d="M86 205 H190 L236 158 H342 L398 112 H478" />
<path class="drill-login__signal-path drill-login__signal-path--pulse drill-login__signal-path--one" d="M42 168 H122 L162 112 H246 L286 72 H402" />
<path class="drill-login__signal-path drill-login__signal-path--pulse drill-login__signal-path--two" d="M42 74 H118 L164 126 H252 L306 166 H474" />
<path class="drill-login__signal-path drill-login__signal-path--pulse drill-login__signal-path--three" d="M86 205 H190 L236 158 H342 L398 112 H478" />
<g class="drill-login__signal-nodes">
<circle cx="42" cy="168" r="7" />
<circle cx="162" cy="112" r="7" />
<circle cx="286" cy="72" r="7" />
<circle cx="402" cy="72" r="7" />
<circle cx="42" cy="74" r="7" />
<circle cx="164" cy="126" r="7" />
<circle cx="306" cy="166" r="7" />
<circle cx="474" cy="166" r="7" />
<circle cx="86" cy="205" r="7" />
<circle cx="236" cy="158" r="7" />
<circle cx="398" cy="112" r="7" />
<circle cx="478" cy="112" r="7" />
</g>
</svg>
<div class="drill-login__signal-flow-label">
<strong>Signal integrity</strong>
<span>field data bus / protected telemetry channel</span>
</div>
</div>
<div class="drill-login__signal-list">
<div>
<span class="drill-login__signal drill-login__signal--ok"></span>
<strong>Telemetry</strong>
<small>online contour</small>
</div>
<div>
<span class="drill-login__signal drill-login__signal--warn"></span>
<strong>Equipment</strong>
<small>controlled access</small>
</div>
<div>
<span class="drill-login__signal drill-login__signal--ok"></span>
<strong>Archive</strong>
<small>timeseries ready</small>
</div>
</div>
</div>
<div class="drill-login__feature-grid">
<article>
<span>01</span>
<strong>Показатели в реальном времени</strong>
</article>
<article>
<span>02</span>
<strong>Оборудование и ТОиР</strong>
</article>
<article>
<span>03</span>
<strong>Архив и инженерный анализ</strong>
</article>
</div>
</section>
<section class="drill-login__panel" aria-label="Вход в систему">
<div class="drill-login__panel-head">
<span class="drill-login__eyebrow">SSO Authorization</span>
<h2>Вход в систему</h2>
<p>Используйте корпоративную учетную запись для доступа к Drill Cloud.</p>
</div>
<#if message?has_content>
<div class="drill-login__alert drill-login__alert--${message.type}">
${kcSanitize(message.summary)?no_esc}
</div>
</#if>
<form id="kc-form-login" class="drill-login__form" action="${url.loginAction}" method="post">
<div class="drill-login__field">
<label for="username">Логин</label>
<input
id="username"
name="username"
type="text"
value="${(login.username!'')}"
autocomplete="username"
autofocus
placeholder="Введите логин"
/>
</div>
<div class="drill-login__field">
<div class="drill-login__field-row">
<label for="password">Пароль</label>
<#if realm.resetPasswordAllowed>
<a href="${url.loginResetCredentialsUrl}">Восстановить доступ</a>
</#if>
</div>
<input
id="password"
name="password"
type="password"
autocomplete="current-password"
placeholder="Введите пароль"
/>
</div>
<#if realm.rememberMe && !usernameEditDisabled??>
<label class="drill-login__remember">
<input id="rememberMe" name="rememberMe" type="checkbox" <#if login.rememberMe??>checked</#if> />
<span>Запомнить меня</span>
</label>
</#if>
<button class="drill-login__submit" name="login" id="kc-login" type="submit">
<span>Войти в Drill Cloud</span>
</button>
</form>
<div class="drill-login__footer">
<span>GReact Drill</span>
<span>Secure session</span>
</div>
</section>
</main>
</body>
</html>