Center the login gate so the password field is not a full-width strip.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Баг 1. Окно входа растянуто на весь экран
|
||||
|
||||
## Симптом
|
||||
|
||||
После фазы 38 экран «Вход» прижат к верхнему левому углу: заголовок и подпись «Пароль альфы» слева сверху, поле пароля — тонкая полоса на всю ширину окна, кнопка «Продолжить» маленькая под левым краем. Большая часть экрана пустая.
|
||||
|
||||
Ожидали компактную форму по центру, как диалог создания школы, а не полноширинный `.screen`.
|
||||
|
||||
## Причина
|
||||
|
||||
Фаза 38 повесила `class="screen session-gate"` и `field__input`, но стилей для `.session-gate` нет, а класс `.field__input` нигде не определён — живой контрол это `.input`. Экран тянется на 100% ширины (`#app`), нативное поле без паддинга заполняет окно, колонка стартует с верхнего края (у `.screen.menu` как раз есть `justify-content: center` и `max-width`).
|
||||
|
||||
## Путь
|
||||
|
||||
Стили `.session-gate`: карточка размера диалога по центру окна; поля перевести на `.input`. Не делать `<dialog>` — за формой ничего нет, это единственный экран, не модалка поверх меню.
|
||||
|
||||
## Задачи
|
||||
|
||||
- [x] Карточка входа по центру, ширина как у `.dialog` (~340–360px), не на всю `#app`
|
||||
- [x] Поля пароля и имени — класс `input`
|
||||
- [x] Тест на классы гейта и `input`
|
||||
|
||||
## Тест, без которого не закрыт
|
||||
|
||||
Клиентский Vitest: без куки монтируется `.session-gate` с панелью, поле пароля несёт `input`, не `field__input`.
|
||||
|
||||
```bash
|
||||
npm --prefix src/HSchool.Client test -- src/ui/sessionGate.test.ts
|
||||
```
|
||||
|
||||
## Стоп
|
||||
|
||||
Протокол, куку, шаги пароль/имя и HTTP сессии не трогать. Локаль на гейте не подписывать — это соседнее.
|
||||
Reference in New Issue
Block a user