47 lines
1.6 KiB
HTML
47 lines
1.6 KiB
HTML
<!doctype html>
|
||
<html lang="ru">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>МОНТ - инфра полигон</title>
|
||
<link rel="stylesheet" href="/static/style.css" />
|
||
</head>
|
||
<body>
|
||
<header class="header">
|
||
<div style="display:flex; align-items:center; gap:0.6rem;">
|
||
<img src="/static/logo.png" alt="MONT" class="header-logo" />
|
||
<div>{{ user.username }}</div>
|
||
</div>
|
||
<div style="display:flex; gap:0.5rem;">
|
||
{% if user.is_admin %}
|
||
<a href="/admin" class="btn-link secondary">Администрирование</a>
|
||
{% endif %}
|
||
<form method="post" action="/logout">
|
||
<button type="submit">Logout</button>
|
||
</form>
|
||
</div>
|
||
</header>
|
||
<main class="admin-layout">
|
||
<section class="panel">
|
||
<div class="admin-intro">
|
||
Выберите нужный сервис. После клика откроется готовый браузер/сеанс с заранее заданным адресом.
|
||
</div>
|
||
</section>
|
||
<section class="grid">
|
||
{% for service in services %}
|
||
<a class="tile" href="/go/{{ service.slug }}">
|
||
<img class="tile-icon" src="{{ service.icon_path or '/static/service-placeholder.svg' }}" alt="icon" />
|
||
<h3>{{ service.name }}</h3>
|
||
<p>Открыть сервис</p>
|
||
{% if service.comment %}
|
||
<small>{{ service.comment }}</small>
|
||
{% endif %}
|
||
</a>
|
||
{% else %}
|
||
<div class="tile">Нет назначенных сервисов</div>
|
||
{% endfor %}
|
||
</section>
|
||
</main>
|
||
</body>
|
||
</html>
|