You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
4.6 KiB
115 lines
4.6 KiB
<!doctype html> |
|
<html lang="ru"> |
|
<head> |
|
<meta charset="utf-8" /> |
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" /> |
|
<title>{% block title %}Тестирование персонала{% endblock %}</title> |
|
|
|
{# Tailwind CDN — на E1.0 этого достаточно. В Этапе 2/CI можно заменить на сборку. #} |
|
<script src="https://cdn.tailwindcss.com"></script> |
|
<script> |
|
// Минимальная палитра в стиле кабинета HR. Без зависимостей от HR-репо. |
|
tailwind.config = { |
|
theme: { |
|
extend: { |
|
fontFamily: { |
|
sans: ['Manrope', 'Inter', 'system-ui', 'sans-serif'], |
|
}, |
|
colors: { |
|
brand: { |
|
50: '#eef2ff', |
|
100: '#e0e7ff', |
|
500: '#6366f1', |
|
600: '#4f46e5', |
|
700: '#4338ca', |
|
}, |
|
ink: { |
|
900: '#0f172a', |
|
700: '#334155', |
|
500: '#64748b', |
|
300: '#cbd5e1', |
|
100: '#f1f5f9', |
|
}, |
|
}, |
|
}, |
|
}, |
|
}; |
|
</script> |
|
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" /> |
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> |
|
<link |
|
href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap" |
|
rel="stylesheet" |
|
/> |
|
<link |
|
rel="stylesheet" |
|
href="https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined" |
|
/> |
|
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/app.css') }}" /> |
|
{% block head %}{% endblock %} |
|
</head> |
|
<body class="min-h-screen bg-ink-100 text-ink-900 font-sans antialiased"> |
|
<header class="sticky top-0 z-30 bg-white/90 backdrop-blur border-b border-ink-300/60"> |
|
<div class="mx-auto max-w-6xl px-4 h-14 flex items-center justify-between"> |
|
<a href="{{ url_for('main.index') }}" class="flex items-center gap-2 font-semibold text-ink-900"> |
|
<span class="material-symbols-outlined text-brand-600">quiz</span> |
|
<span>Тестирование</span> |
|
</a> |
|
<nav class="flex items-center gap-1 sm:gap-2 text-sm"> |
|
{% if current_user %} |
|
<a href="{{ url_for('tests.tests_list_page') }}" |
|
class="inline-flex items-center justify-center gap-1 |
|
min-w-10 min-h-10 px-2 sm:px-3 rounded-lg |
|
text-ink-700 hover:bg-ink-100" |
|
title="Каталог тестов" aria-label="Каталог тестов"> |
|
<span class="material-symbols-outlined text-base">list_alt</span> |
|
<span class="hidden sm:inline">Тесты</span> |
|
</a> |
|
<a href="{{ url_for('settings.settings_page') }}" |
|
class="inline-flex items-center justify-center gap-1 |
|
min-w-10 min-h-10 px-2 sm:px-3 rounded-lg |
|
text-ink-700 hover:bg-ink-100" |
|
title="Настройки" aria-label="Настройки"> |
|
<span class="material-symbols-outlined text-base">settings</span> |
|
<span class="hidden sm:inline">Настройки</span> |
|
</a> |
|
<span class="hidden md:inline text-ink-500"> |
|
{{ current_user.full_name or current_user.login }} |
|
<span class="text-ink-300">·</span> |
|
<span class="text-brand-700">{{ current_user.role }}</span> |
|
</span> |
|
<form method="post" action="{{ url_for('auth.logout') }}" class="inline"> |
|
<button type="submit" |
|
class="inline-flex items-center justify-center gap-1 |
|
min-w-10 min-h-10 px-2 sm:px-3 rounded-lg |
|
text-ink-700 hover:bg-ink-100 transition" |
|
title="Выйти" aria-label="Выйти"> |
|
<span class="material-symbols-outlined text-base">logout</span> |
|
<span class="hidden sm:inline">Выйти</span> |
|
</button> |
|
</form> |
|
{% else %} |
|
<a href="{{ url_for('auth.login_page') }}" |
|
class="inline-flex items-center gap-1 px-3 py-2 rounded-lg |
|
text-brand-700 hover:bg-brand-50 transition min-h-10"> |
|
<span class="material-symbols-outlined text-base">login</span> |
|
Войти |
|
</a> |
|
{% endif %} |
|
</nav> |
|
</div> |
|
</header> |
|
|
|
<main class="mx-auto max-w-6xl px-4 py-6"> |
|
{% block content %}{% endblock %} |
|
</main> |
|
|
|
<footer class="mx-auto max-w-6xl px-4 py-8 text-xs text-ink-500"> |
|
{% block footer %}testing-flask-app · Этап 1{% endblock %} |
|
</footer> |
|
|
|
{% block scripts %}{% endblock %} |
|
</body> |
|
</html>
|
|
|