Files
drivers_bot/web/sto.html
VPN SaaS Dev ac5845d5a0
Some checks failed
ci / test (push) Has been cancelled
Gate STO workplace by role
2026-05-16 10:33:33 +09:00

104 lines
3.9 KiB
HTML
Raw Permalink 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 lang="ru">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#16806a" />
<title>Панель СТО</title>
<link rel="manifest" href="/manifest.webmanifest" />
<link rel="stylesheet" href="/static/styles.css" />
<script src="https://telegram.org/js/telegram-web-app.js"></script>
</head>
<body class="auth-required sto-page">
<div class="auth-overlay" id="authOverlay">
<div class="auth-panel">
<p class="eyebrow">CarPass</p>
<h1>Панель СТО</h1>
<p id="authMessage">Откройте страницу через Telegram-бота, чтобы подтвердить доступ к рабочему месту.</p>
<div class="auth-actions">
<a id="telegramLoginLink" class="telegram-login-link hidden" href="#" rel="noreferrer">Открыть в Telegram</a>
<button id="telegramRetryBtn" class="telegram-secondary-btn" type="button">Проверить вход</button>
</div>
<div id="telegramLoginSlot" class="telegram-login-slot"></div>
</div>
</div>
<main class="shell sto-shell">
<header class="topbar">
<div>
<p class="eyebrow">CarPass Business</p>
<h1>Панель СТО</h1>
</div>
<div class="top-actions">
<select id="centerSelect" aria-label="СТО"></select>
<button class="icon-btn" id="refreshBtn" title="Обновить" aria-label="Обновить"></button>
</div>
</header>
<section class="passport-panel sto-hero">
<div class="passport-head">
<div>
<p class="eyebrow">Рабочее место</p>
<h2 id="centerTitle">СТО</h2>
<small id="centerMeta">Загружаю доступ...</small>
</div>
<span class="trust-badge" id="roleBadge">Проверка</span>
</div>
</section>
<section class="stats mini-stats" id="dashboardStats"></section>
<section class="sto-grid">
<section class="workspace">
<div class="section-head">
<div>
<p class="eyebrow">Приемка</p>
<h2>Записи клиентов</h2>
</div>
</div>
<div id="appointmentsList" class="stack-list"></div>
</section>
<section class="workspace">
<div class="section-head">
<div>
<p class="eyebrow">Работы</p>
<h2>Заказ-наряды</h2>
</div>
</div>
<div id="workOrdersList" class="stack-list"></div>
</section>
<section class="workspace" id="staffPanel">
<div class="section-head">
<div>
<p class="eyebrow">Кадры</p>
<h2>Сотрудники</h2>
</div>
</div>
<form id="inviteForm" class="grid-form drawer-form staff-form">
<label>
Telegram ID сотрудника
<input name="telegram_id" type="number" required />
</label>
<label>
Роль
<select name="role">
<option value="mechanic">Механик</option>
<option value="receptionist">Администратор</option>
<option value="manager">Менеджер</option>
</select>
</label>
<button type="submit">Пригласить</button>
</form>
<div id="inviteResult" class="tip-card hidden"></div>
<div id="employeesList" class="stack-list"></div>
</section>
</section>
</main>
<div class="toast hidden" id="toast" role="status" aria-live="polite"></div>
<script src="/static/sto.js"></script>
</body>
</html>