docs: sync workspace controls IA — lens in strip, schedule actions row
Document separated calendar chrome zones and lens labels (Обзор / На сегодня / Заявки).
This commit is contained in:
+10
-7
@@ -59,12 +59,14 @@ Deep-link на календарь, владельцем которого явл
|
|||||||
`pending=0`; при `pending > 0` — badge со счётчиком (deep-link `/invites` работает).
|
`pending=0`; при `pending > 0` — badge со счётчиком (deep-link `/invites` работает).
|
||||||
**Mood в Ещё нет** — chip в AppShell рядом с BrandWordmark (Front#40; ранее Front#39
|
**Mood в Ещё нет** — chip в AppShell рядом с BrandWordmark (Front#40; ранее Front#39
|
||||||
в chrome workspace).
|
в chrome workspace).
|
||||||
- **Mood + Lens (Front#39/#40):** mood chip (FLOW/MOMENTUM/CONTROL → sheet picker) —
|
- **Mood + Lens (Front#39/#40 + controls IA):** mood chip (FLOW/MOMENTUM/CONTROL → sheet picker) —
|
||||||
в **AppShell** рядом с логотипом (**не** в toolbar Month/Week/Day). Отдельно lens
|
в **AppShell** рядом с логотипом (**не** в toolbar Month/Week/Day). Workspace chrome
|
||||||
«Обзор / Сегодня / Записи» (desktop segment / mobile sheet); над сеткой —
|
разнесён по зонам: (1) селектор календаря; (2) период + вид Месяц/Неделя/День;
|
||||||
collapsible lens strip (Front-only derive из уже загруженных events/bookings).
|
(3) owner schedule actions («+ Новое событие», «Заполнить расписание» — отдельный ряд);
|
||||||
Без flip календаря; без 4-го CREATOR. Strip по умолчанию раскрыт на desktop,
|
(4) lens «Обзор / На сегодня / Заявки» — **в шапке** collapsible lens strip (underline/text
|
||||||
свёрнут на mobile. Нет на HTML-архиве месяца.
|
tabs на desktop, sheet на mobile; **не** рядом с ViewMode chips). Strip — Front-only derive
|
||||||
|
из уже загруженных events/bookings. Без flip календаря; без 4-го CREATOR. Strip по умолчанию
|
||||||
|
раскрыт на desktop, свёрнут на mobile. Нет на HTML-архиве месяца.
|
||||||
- **Week view (Front#40):** одна строка day-headers (без дубля заголовков
|
- **Week view (Front#40):** одна строка day-headers (без дубля заголовков
|
||||||
`WeekDayColumn`); горизонтальный скролл через `.eh-cal-week-scroll` (mobile ~390).
|
`WeekDayColumn`); горизонтальный скролл через `.eh-cal-week-scroll` (mobile ~390).
|
||||||
- Контекст виджета: свой календарь (селектор) или чужой (browse после поиска). Чужой `personal` —
|
- Контекст виджета: свой календарь (селектор) или чужой (browse после поиска). Чужой `personal` —
|
||||||
@@ -115,7 +117,8 @@ Deep-link на календарь, владельцем которого явл
|
|||||||
(**не** в `/more`, **не** в calendar toolbar Month/Week/Day). Desktop: logo + mood \| nav \| nickname + logout.
|
(**не** в `/more`, **не** в calendar toolbar Month/Week/Day). Desktop: logo + mood \| nav \| nickname + logout.
|
||||||
|
|
||||||
**Lens** (отдельно от mood и от view month/week/day): `overview` / `today` / `bookings`
|
**Lens** (отдельно от mood и от view month/week/day): `overview` / `today` / `bookings`
|
||||||
(UI: Обзор / Сегодня / Записи). Persist только `localStorage` (`eh.calendar.lens` +
|
(UI: Обзор / На сегодня / Заявки). Переключатель — в шапке lens strip (не в toolbar рядом
|
||||||
|
с Месяц/Неделя/День). Persist только `localStorage` (`eh.calendar.lens` +
|
||||||
`eh.calendar.lens.pinned`); **не** поле профиля / Back API. Soft-default при смене mood,
|
`eh.calendar.lens.pinned`); **не** поле профиля / Back API. Soft-default при смене mood,
|
||||||
если lens не pinned пользователем: FLOW→overview, MOMENTUM→today, CONTROL→bookings.
|
если lens не pinned пользователем: FLOW→overview, MOMENTUM→today, CONTROL→bookings.
|
||||||
Strip над сеткой: free gaps сегодня / события сегодня / upcoming bookings (derive
|
Strip над сеткой: free gaps сегодня / события сегодня / upcoming bookings (derive
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ SoT: [`boards/calentiq-ui-board-final.png`](boards/calentiq-ui-board-final.png).
|
|||||||
| Bookings list §D | список заявок с Confirm/Decline на `/bookings` | `/bookings` = **grouped inbox**: (A) К подтверждению — pending owner/specialist + Confirm/Decline; (B) Мои записи — participant upcoming/past + Cancel; empty groups hidden. Event card Confirm/Decline **остаётся** обязательным |
|
| Bookings list §D | список заявок с Confirm/Decline на `/bookings` | `/bookings` = **grouped inbox**: (A) К подтверждению — pending owner/specialist + Confirm/Decline; (B) Мои записи — participant upcoming/past + Cancel; empty groups hidden. Event card Confirm/Decline **остаётся** обязательным |
|
||||||
| Login §D phone chrome | три phone frames + (на борде) Google CTA | brand-first hero + mood `--auth-*`; email/password only; compact mood на auth; taglines — в mood sheet AppShell (не в `/more`); **без** Google OAuth |
|
| Login §D phone chrome | три phone frames + (на борде) Google CTA | brand-first hero + mood `--auth-*`; email/password only; compact mood на auth; taglines — в mood sheet AppShell (не в `/more`); **без** Google OAuth |
|
||||||
| Mood placement | board §C switcher cards | **Front#40:** mood chip в AppShell рядом с BrandWordmark (+ compact auth); **не** в `/more`, **не** в toolbar Month/Week/Day; 3 moods, без flip / CREATOR |
|
| Mood placement | board §C switcher cards | **Front#40:** mood chip в AppShell рядом с BrandWordmark (+ compact auth); **не** в `/more`, **не** в toolbar Month/Week/Day; 3 moods, без flip / CREATOR |
|
||||||
| Lens + strip | board Today/Upcoming rail only | **Front#39:** отдельный lens Обзор/Сегодня/Записи + strip над сеткой (Front-derive); localStorage only; soft-default по mood |
|
| Lens + strip | board Today/Upcoming rail only | **Front#39 + controls IA:** lens Обзор/На сегодня/Заявки в **шапке strip** (underline tabs / mobile sheet); view Месяц/Неделя/День рядом с периодом; owner schedule actions отдельным рядом; localStorage only; soft-default по mood |
|
||||||
| Week view headers | — | **Front#40:** одна строка day-headers (без дубля `WeekDayColumn`); scroll `.eh-cal-week-scroll` (mobile ~390) |
|
| Week view headers | — | **Front#40:** одна строка day-headers (без дубля `WeekDayColumn`); scroll `.eh-cal-week-scroll` (mobile ~390) |
|
||||||
| Favicon set | 3 отдельных favicon файла на борде | mood appicon через `applyMood` |
|
| Favicon set | 3 отдельных favicon файла на борде | mood appicon через `applyMood` |
|
||||||
| Desktop nav | phone bottom tabs на борде | desktop: **одна строка** chrome — logo + mood \| nav (Календарь / Найти / Записи / Ещё) \| nickname + logout; bottom nav — mobile |
|
| Desktop nav | phone bottom tabs на борде | desktop: **одна строка** chrome — logo + mood \| nav (Календарь / Найти / Записи / Ещё) \| nickname + logout; bottom nav — mobile |
|
||||||
@@ -46,7 +46,7 @@ IA без sidebar / без Creator mood — совпадает с non-goals (п
|
|||||||
|
|
||||||
**Front#35 (2026-07-28, SHA `57cfcf3`):** D9 модель B (guest roster → schedule filter); confirmed foreign overlay на personal; SpecialistsPanel mobile density; F6 EventActionCard past+pending → expired / no Cancel, Book скрыт на past.
|
**Front#35 (2026-07-28, SHA `57cfcf3`):** D9 модель B (guest roster → schedule filter); confirmed foreign overlay на personal; SpecialistsPanel mobile density; F6 EventActionCard past+pending → expired / no Cancel, Book скрыт на past.
|
||||||
|
|
||||||
**Front#39 (2026-07-28, SHA `c2cb754` / `d38a927`):** Mood chip убран из Ещё; Lens Обзор/Сегодня/Записи + strip над сеткой во всех 3 moods; mobile sheets + strip collapsed; mood→DB, lens→localStorage; без flip / CREATOR. (Placement chip уточнён в Front#40.)
|
**Front#39 (2026-07-28, SHA `c2cb754` / `d38a927`):** Mood chip убран из Ещё; Lens Обзор/Сегодня/Записи + strip над сеткой во всех 3 moods; mobile sheets + strip collapsed; mood→DB, lens→localStorage; без flip / CREATOR. (Placement chip уточнён в Front#40.) **Controls IA (2026-07-29):** lens перенесён в шапку strip (labels: Обзор / На сегодня / Заявки); view рядом с периодом; owner schedule actions отдельным рядом.
|
||||||
|
|
||||||
**Front#40 (2026-07-28, SHA mood `7c092d1` / week `db11c41`):** Mood chip в AppShell рядом с BrandWordmark (**не** в calendar toolbar Month/Week/Day); 3 moods; `PATCH preferences.mood`; без дубля в Ещё. Week view: одна строка day-headers + `.eh-cal-week-scroll` для mobile ~390.
|
**Front#40 (2026-07-28, SHA mood `7c092d1` / week `db11c41`):** Mood chip в AppShell рядом с BrandWordmark (**не** в calendar toolbar Month/Week/Day); 3 moods; `PATCH preferences.mood`; без дубля в Ещё. Week view: одна строка day-headers + `.eh-cal-week-scroll` для mobile ~390.
|
||||||
|
|
||||||
@@ -93,11 +93,14 @@ API: `GET /v1/user/booking-requests` (Back) + существующий `PUT /v1/
|
|||||||
**Нет** в `/more`; **не** в toolbar Month/Week/Day. Persist: `preferences.mood`
|
**Нет** в `/more`; **не** в toolbar Month/Week/Day. Persist: `preferences.mood`
|
||||||
через `PATCH /v1/user/me`. Без flip; без CREATOR.
|
через `PATCH /v1/user/me`. Без flip; без CREATOR.
|
||||||
2. **Lens** = отдельный контентный режим (`overview` / `today` / `bookings`), не mood и не
|
2. **Lens** = отдельный контентный режим (`overview` / `today` / `bookings`), не mood и не
|
||||||
view month/week/day. Desktop — segment; mobile — chip → sheet. Soft-default при смене
|
view month/week/day. UI: Обзор / На сегодня / Заявки. Переключатель — в шапке strip
|
||||||
mood, если lens не pinned: FLOW→overview, MOMENTUM→today, CONTROL→bookings.
|
(underline/text tabs на desktop; chip → sheet на mobile), **не** рядом с ViewMode.
|
||||||
|
Soft-default при смене mood, если lens не pinned: FLOW→overview, MOMENTUM→today,
|
||||||
|
CONTROL→bookings.
|
||||||
3. **Strip** над сеткой (не на HTML-архиве месяца): Front-only derive — free gaps /
|
3. **Strip** над сеткой (не на HTML-архиве месяца): Front-only derive — free gaps /
|
||||||
события сегодня / upcoming bookings. Desktop раскрыт по умолчанию; mobile свёрнут
|
события сегодня / upcoming bookings. Desktop раскрыт по умолчанию; mobile свёрнут
|
||||||
(tap раскрывает). Сетка всегда видна.
|
(tap раскрывает). Сетка всегда видна. Workspace toolbar: контекст (селектор) /
|
||||||
|
виджет (период + view) / owner schedule actions (отдельный ряд).
|
||||||
4. **Persistence:** mood → DB; language → `user.language`; lens → `localStorage`
|
4. **Persistence:** mood → DB; language → `user.language`; lens → `localStorage`
|
||||||
(`eh.calendar.lens` + pinned). Без нового Back API.
|
(`eh.calendar.lens` + pinned). Без нового Back API.
|
||||||
5. **Week view (Front#40):** одна строка day-headers (без дубля `WeekDayColumn`);
|
5. **Week view (Front#40):** одна строка day-headers (без дубля `WeekDayColumn`);
|
||||||
|
|||||||
Reference in New Issue
Block a user