Files
drill-keycloak/keycloak/themes/drill-luxe/login/login.ftl
Первов Артем 8c8ff80383 Refine 'drill-luxe' Keycloak theme with enhanced brand mark styling
- Updated the brand mark in the login template to improve visual hierarchy and accessibility.
- Added new CSS styles for brand mark components, including core, bar, and ring elements, to enhance the overall aesthetic.
- Implemented overflow hidden to maintain layout integrity within the login interface.
2026-04-06 01:21:41 +03:00

139 lines
6.3 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 View 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='28' fill='%230f1115'/%3E%3Cpath d='M32 89L54 24h12l22 65h-12l-4-13H48l-4 13H32zm19-23h18L60 38 51 66z' fill='%23d4a574'/%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">
<div class="drill-login__brand-orbit drill-login__brand-orbit--one"></div>
<div class="drill-login__brand-orbit drill-login__brand-orbit--two"></div>
<div class="drill-login__brand-grid"></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>
<span class="drill-login__brand-mark-ring"></span>
</div>
<div class="drill-login__status-pill">Industrial Intelligence Suite</div>
</div>
<div class="drill-login__brand-copy">
<span class="drill-login__eyebrow">Drill View</span>
<h1>Операционная среда для мониторинга, схем и инженерной аналитики.</h1>
<p>
Drill View объединяет производственные данные, документы, визуальные схемы и оперативные события
в единое рабочее пространство. Интерфейс создан для быстрого чтения состояния объекта, уверенной
навигации по технологическим узлам и точной работы с критичными сигналами.
</p>
</div>
<div class="drill-login__metrics">
<div>
<strong>Live</strong>
<span>Мониторинг состояния оборудования и технологических цепочек в реальном времени.</span>
</div>
<div>
<strong>Visual</strong>
<span>Наглядные схемы, связи и контекст объекта в одном визуальном контуре.</span>
</div>
<div>
<strong>Evidence</strong>
<span>Документы, медиа и инженерные материалы рядом с событиями и сигналами.</span>
</div>
</div>
<div class="drill-login__feature-grid">
<article>
<span>01</span>
<strong>Обзор объекта в реальном времени</strong>
<p>Быстрый доступ к актуальному состоянию узлов, компонентов и ключевых производственных индикаторов.</p>
</article>
<article>
<span>02</span>
<strong>Схемы и связи без лишнего шума</strong>
<p>Понимание силовых, сигнальных и аварийных контуров через чистую визуальную модель.</p>
</article>
<article>
<span>03</span>
<strong>Единая среда для команды</strong>
<p>Пространство для операторов, инженеров, аналитиков и специалистов сопровождения.</p>
</article>
</div>
</section>
<section class="drill-login__panel">
<div class="drill-login__panel-glow"></div>
<div class="drill-login__panel-head">
<span class="drill-login__eyebrow">Private Access</span>
<h2>Вход в рабочее пространство</h2>
<p>Используйте корпоративную учетную запись для доступа к среде Drill View.</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 View</span>
</button>
</form>
<div class="drill-login__footer">
<span>Инженерная визуализация и контекст объекта</span>
<span>Protected session</span>
</div>
</section>
</main>
</body>
</html>