# Интерактивные билеты охотника (a1-tir.ru/bilety)
Проект: скачать страницу билетов для экзамена на гражданское оружие и превратить в интерактивный тренажёр.
**Возможности:** номер правильного ответа скрыт · ответы кликабельны · выбранный неправильный → красный, правильный → зелёный.
**Файлы (исходники в `~/Downloads/`):**
- `bilety.html` — скачанная + расширенная страница (инъекция CSS/JS + метаданные)
- `bilety.js` — enhancer: парсер вопросов + click-логика
- `bilety.css` — стили подсветки (зелёный/красный)
- `a1-tir_bilety_raw.html` — оригинальная скачанная копия (667 КБ)
---
## Статус
- ✅ Страница скачана и переработана в интерактив.
- ⏸️ **Доставка в Eagle Dashboard Pages не завершена** — упирается в права: `/Library/WebServer/Documents/` root-owned, `sudo cp` требует пароль из неинтерактивного шелла. Нужно либо получить sudo-пароль от Alex, либо он запустит вручную:
```bash
sudo cp ~/Downloads/bilety.html ~/Downloads/bilety.js ~/Downloads/bilety.css /Library/WebServer/Documents/
```
После копирования страница появится в `http://localhost:8880/?tab=pages` под именем `bilety` (title/purpose/contains уже заполнены). Рестарт дашборда не нужен.
---
## Источник и структура (Tilda)
Страница — Tilda-лендинг, весь исходный HTML на одной строке (`a1-tir_bilety_raw.html`, строка 228 содержит контент).
Экзамен разложен по **4 блокам** `data-record-type="106"` (Tilda text-блок `div.field-text.t-text`):
- `rec465410787` — «Правовая подготовка», вопросы 1.1–1.49
- `rec1120437831` — без заголовка (продолжение правовой), 1.50–1.93
- `rec1120438216` — «Огневая подготовка», 2.1–2.41
- `rec465410788` — без заголовка (правила охоты), 58–103 · **вопросы из нескольких ``**
- Итого ~180 вопросов.
### Структура одного вопроса в DOM (проверено по сырым данным)
Каждый блок — один большой div; внутри `childNodes`:
- ` Заголовок
` — разделители (шум)
- `Вопрос` — текст вопроса; может занимать **несколько подряд** `` (напр. вопрос 58); внутри возможен вложенный `` (consultantplus)
- шапка раздела — ``/`
` - мета для дашборда в `
`: `eagle-test-purpose`, `eagle-test-contains`. **Дизайн .whale-a:** карточки-кнопки (flex column), `#f5f5f5`, hover `#ececec`; `.correct`=`#d4edda`/`#28a745`, `.wrong`=`#f8d7da`/`#dc3545` (с `!important`). --- ## Pitfall: локальное открытие `file://` Страница Tilda использует `sessionStorage` для анимации появления `.t-records` — при открытии локально это работает. Просто открыть `bilety.html` двойным кликом достаточно для проверки функционала. --- ## Связанное - Доставка в дашборд — механика Pages: `personal/projects/personal-os/eagle-dashboard.md`.