From 5fa00a44bfc2c30e28fd66efb1e04d8e81187966 Mon Sep 17 00:00:00 2001 From: Aleksey Sabilin Date: Fri, 14 Aug 2026 11:30:43 +0300 Subject: [PATCH] docs(spec): tablet chrome and owner rail breakpoints. Refs EventHub/EventHubFront#62 --- EventHubFrontSpec.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/EventHubFrontSpec.md b/EventHubFrontSpec.md index 29eb473..6910fbd 100644 --- a/EventHubFrontSpec.md +++ b/EventHubFrontSpec.md @@ -92,12 +92,14 @@ Deep-link на календарь, владельцем которого явл - **Месяц + Студия:** density markers в ячейках дня, **не** список чипов слотов. - **Personal:** без studio-агрегата и без вкладки «Команда» / Team. - ★ `0.0` на free-слотах **не** показывать. -- Agenda / rail desktop (commercial owner): вкладки **Расписание | Команда | Студия** в +- Agenda / rail desktop (commercial owner, `≥ 1024px`): вкладки **Расписание | Команда | Студия** в общем `.eh-owner-rail-panel` **фиксированной высоты** (вкладки не прыгают). Команда: invite свёрнут за «Пригласить». **Студия** = hub: about + «Заполнить расписание» + - «Редактировать» (+ link `/calendars`); Delete только на `/calendars`. Mobile: segmented - **День | Команда | Студия** под grid. Списки — `ScrollRegion` (полоса скрыта, стрелки - по краям при overflow); dialogs — thin scrollbar on hover. + «Редактировать» (+ link `/calendars`); Delete только на `/calendars`. Phone **и tablet**: + segmented **День | Команда | Студия** под grid (не боковой rail — иначе колонки недели + сжимаются). Карточка события: sheet `< 768px`, боковая панель `≥ 768px`. Списки — + `ScrollRegion` (полоса скрыта, стрелки по краям при overflow); dialogs — thin scrollbar + on hover. - Agenda empty: personal «Нет событий»; commercial «Свободных окон нет». UI-тип commercial — «Студия» (не «коммерческий»). - Выбор события открывает карточку действий: mobile — bottom sheet; desktop — боковая панель. @@ -109,10 +111,12 @@ Deep-link на календарь, владельцем которого явл - Поиск (`/search`): query/filters в URL params (восстановление при возврате); chip type фильтрует discovery tops без ухода из Popular; в строке результата — id snippet и `calendar_title` для event. - CRUD своих календарей — `/calendars` (из «Ещё»). Legacy `/discover`, `/calendars/:id` → redirects. -- На мобиле — bottom tab bar (+ safe-area); на desktop — **одна строка** chrome: - logo + mood chip | nav tabs | nickname + logout (не два ряда header+nav). Сырой email - в chrome не показывать — primary identity = `nickname` (fallback без `@`). - Mobile: logo mark-only + mood chip icon-only (Front#45); desktop — полный wordmark + label. +- На **phone и tablet** (`< 1024px`, Tailwind `lg`) — одна primary nav: bottom tab bar + (+ safe-area). На **desktop** (`≥ 1024px`) — **одна строка** chrome: + logo + mood chip | nav tabs | nickname + logout (не два ряда header+nav, не bottom+top + одновременно). Сырой email в chrome не показывать — primary identity = `nickname` + (fallback без `@`). Mobile: logo mark-only + mood chip icon-only (Front#45); + desktop — полный wordmark + label. Nav `aria-current` синхронизирован с `useLocation` (без remount `Outlet` по pathname). - Mood themes — см. §3.2.