refactor(calendar): форма создания/редактирования конференции — в модальное окно
Раньше ConferenceFormCard всегда висела в сайдбаре двухколоночной сетки .layout-grid; теперь открывается в модалке (по образцу ConferenceOccurrenceDialog: modal-overlay/modal-panel, закрытие по клику на оверлей, Escape и возврат фокуса — новый общий хук useModalDismiss). .layout-grid стала одноколоночной — календарь занимает всю ширину.
This commit is contained in:
@@ -7,17 +7,20 @@
|
||||
* (см. комментарий в ConferenceCalendar.tsx).
|
||||
*/
|
||||
|
||||
/* ---------- Грид: сетка вхождений + карточка создания/редактирования ---------- */
|
||||
/* ---------- Календарь во всю ширину контента ---------- */
|
||||
/* Раньше `.layout-grid` была двухколоночной сеткой (календарь + вечно
|
||||
висящая сбоку `.create-card`) — форма создания/редактирования переехала в
|
||||
модалку (`.modal-form-wrap`, см. my-conferences.css), сайдбара больше нет.
|
||||
`min-width:0` оставлен: `.week-card` внутри — единственный элемент грида, и
|
||||
без этого грид-трек не сжимается уже своего min-content (внутренняя таблица
|
||||
FullCalendar с 5 колонками) — классический grid blowout, раздувающий трек и
|
||||
всю страницу шире вьюпорта (см. тот же приём в lobby.css/.action). */
|
||||
.layout-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 400px;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-6);
|
||||
align-items: start;
|
||||
}
|
||||
/* min-width:0 — без этого грид-элемент с 1fr-треком не сжимается уже своего
|
||||
min-content (тут это внутренняя таблица FullCalendar с 5 колонками) —
|
||||
классический grid blowout: трек и вся страница раздуваются шире вьюпорта,
|
||||
появляется горизонтальный скролл (см. тот же приём в lobby.css/.action). */
|
||||
.layout-grid > * { min-width: 0; }
|
||||
|
||||
.week-card {
|
||||
@@ -242,17 +245,11 @@
|
||||
совпадения media query (тот же баг уже ловили в lobby.css/.action, гейт 3
|
||||
— см. комментарий там). Макет calendar.html — desktop-only
|
||||
(`html { min-width: 1280px }`, DESIGN_SYSTEM.md §«Breakpoints»), адаптива
|
||||
в нём нет — раскладка ниже подобрана по здравому смыслу: календарь сверху,
|
||||
карточка создания/редактирования — под ним (сохраняем порядок вёрстки).
|
||||
в нём нет.
|
||||
.layout-grid уже одноколоночная на всех ширинах (§2.2) — двухколоночного
|
||||
960px-брейкпоинта под сайдбар-форму больше нет, форма теперь в модалке
|
||||
(.modal-form-wrap .create-card в my-conferences.css гасит sticky сама).
|
||||
*/
|
||||
@media (max-width: 960px) {
|
||||
/* Двухколоночный грид (сетка + сайдбар 400px) → одна колонка, сайдбар
|
||||
перестаёт быть sticky (в потоке одной колонки залипание при скролле
|
||||
страницы выглядит и работает хуже, чем простое следование за контентом). */
|
||||
.layout-grid { grid-template-columns: 1fr; }
|
||||
.create-card { position: static; top: auto; }
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.week-card, .create-card { padding: var(--space-4); }
|
||||
.week-toolbar { flex-direction: column; align-items: stretch; }
|
||||
|
||||
Reference in New Issue
Block a user