Refactor menu flows into dedicated pages
Some checks failed
ci / test (push) Has been cancelled

This commit is contained in:
VPN SaaS Dev
2026-05-16 11:59:09 +09:00
parent 01a69fc42d
commit ecfb5aa949
20 changed files with 2415 additions and 97 deletions

139
web/service_profile.html Normal file
View File

@@ -0,0 +1,139 @@
<!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 flow-page">
<div class="auth-overlay" id="authOverlay">
<div class="auth-panel">
<p class="eyebrow">CarPass Business</p>
<h1>Профиль СТО</h1>
<p>Откройте страницу через 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>
</div>
<main class="shell flow-shell">
<header class="topbar">
<div>
<p class="eyebrow">СТО</p>
<h1>Профиль сервиса</h1>
</div>
<div class="top-actions">
<a class="ghost-btn" href="/">Меню</a>
<button class="icon-btn" id="newCenterBtn" title="Новая заявка" aria-label="Новая заявка">+</button>
</div>
</header>
<section class="flow-hero">
<div>
<p class="eyebrow">Регистрация</p>
<h2 id="centerTitle">Заявка СТО</h2>
<small id="centerHint">Карточка используется в каталоге, записи клиентов и уведомлениях по заказ-нарядам.</small>
</div>
<span class="trust-badge" id="centerStatus">Черновик</span>
</section>
<section class="flow-layout">
<aside class="workspace flow-side">
<div class="section-head">
<div>
<p class="eyebrow">Доступные СТО</p>
<h2>Мои сервисы</h2>
</div>
</div>
<div id="centersList" class="stack-list"></div>
</aside>
<section class="workspace">
<form id="serviceProfileForm" class="grid-form drawer-form flow-form">
<div class="form-block wide">
<p class="eyebrow">1. Карточка</p>
<h3>Название и контакты</h3>
<small>Клиент видит понятное название, город, адрес и телефон для связи.</small>
</div>
<label>
Название СТО
<input name="display_name" placeholder="Smart Service" required />
</label>
<label>
Юридическое название
<input name="legal_name" placeholder="ООО Smart Service" />
</label>
<label>
Страна
<input name="country" maxlength="2" placeholder="KR" />
</label>
<label>
Город
<input name="city" placeholder="Seoul" />
</label>
<label>
Адрес
<input name="address" placeholder="Gangnam-daero 12" />
</label>
<label>
Телефон
<input name="phone" placeholder="+82..." />
</label>
<label>
Контактное лицо
<input name="contact_person" placeholder="Имя администратора" />
</label>
<label>
График работы
<input name="working_hours" placeholder="Пн-Сб 09:00-19:00" />
</label>
<div class="form-block wide">
<p class="eyebrow">2. Проверка</p>
<h3>Документы и специализация</h3>
<small>После отправки модератор проверит документы. Подтвержденная СТО получает запись клиентов и рабочее место.</small>
</div>
<label class="wide">
Специализация
<input name="specializations" placeholder="Hyundai, Kia, BMW, электрика, шиномонтаж" />
</label>
<label class="wide">
Описание
<textarea name="description" placeholder="Коротко о сервисе, оборудовании и сильных сторонах"></textarea>
</label>
<label>
Регистрационный номер
<input name="business_registration_number" />
</label>
<label>
Фото фасада, URL
<input name="facade_photo_url" placeholder="https://..." />
</label>
<label class="wide">
Фото документов, URL через запятую
<input name="document_photo_urls" placeholder="https://..., https://..." />
</label>
<label class="wide">
Дополнительные фото, URL через запятую
<input name="additional_photo_urls" placeholder="https://..., https://..." />
</label>
<div class="row-actions wide">
<button id="saveCenterBtn" type="submit">Отправить заявку</button>
<a class="ghost-btn hidden" id="openSettingsLink" href="/sto_settings.html">Настройки СТО</a>
</div>
</form>
</section>
</section>
</main>
<div class="toast hidden" id="toast" role="status" aria-live="polite"></div>
<script src="/static/page_common.js"></script>
<script src="/static/service_profile.js"></script>
</body>
</html>