docs(spec): mood switcher §C glyphs; full wordmark on mobile

Clarify Front#45: sprout/bolt/briefcase in switcher; CalenTIQ wordmark not mark-only.

Refs EventHub/EventHubFront#45
This commit is contained in:
2026-07-30 10:28:54 +03:00
parent 4d8f4db284
commit 2ec5d1b6d6
2 changed files with 9 additions and 7 deletions
+4 -3
View File
@@ -121,9 +121,10 @@ Deep-link на календарь, владельцем которого явл
- Auth (`/login`, `/register`, `/verify`, forgot/reset) — compact `MoodSwitcher` (+ language). - Auth (`/login`, `/register`, `/verify`, forgot/reset) — compact `MoodSwitcher` (+ language).
- AppShell — primary control: **mood chip** рядом с BrandWordmark → dialog/sheet - AppShell — primary control: **mood chip** рядом с BrandWordmark → dialog/sheet
(**не** в `/more`, **не** в calendar toolbar Month/Week/Day). Desktop: logo + mood \| nav \| nickname + logout. (**не** в `/more`, **не** в calendar toolbar Month/Week/Day). Desktop: logo + mood \| nav \| nickname + logout.
**Front#45:** mobile (`< sm`) — BrandWordmark mark-only (без текста CalenTIQ) + mood chip **Front#45:** mobile (`< sm`) — полный BrandWordmark CalenTIQ + mood chip
icon-only (`aria-label` = FLOW/MOMENTUM/CONTROL); с `sm+` — полный wordmark и полный label icon-only (`aria-label` = FLOW/MOMENTUM/CONTROL); с `sm+` — полный label chip
chip без truncate. Sheet: icon + label + tagline. без truncate. Sheet: §C glyph (sprout/bolt/briefcase) + label + tagline.
Time Arc appicon — только favicon, не в switcher.
**Lens** (отдельно от mood и от view month/week/day): `overview` / `today` / `bookings` **Lens** (отдельно от mood и от view month/week/day): `overview` / `today` / `bookings`
(UI: Обзор / На сегодня / Заявки). Переключатель — в шапке lens strip (не в toolbar рядом (UI: Обзор / На сегодня / Заявки). Переключатель — в шапке lens strip (не в toolbar рядом
+5 -4
View File
@@ -19,7 +19,7 @@ SoT: [`boards/calentiq-ui-board-final.png`](boards/calentiq-ui-board-final.png).
| CONTROL booking §E | отдельные mock-карточки «слот/специалист» | `EventActionCard` / specialists / bookings: steel rail (усилен), avatar, available label, Confirm/Decline; не pixel-perfect board mocks | | CONTROL booking §E | отдельные mock-карточки «слот/специалист» | `EventActionCard` / specialists / bookings: steel rail (усилен), avatar, available label, Confirm/Decline; не pixel-perfect board mocks |
| 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/#45:** mood chip в AppShell рядом с BrandWordmark (+ compact auth); mobile icon-only chip + mark-only logo; **не** в `/more`, **не** в toolbar Month/Week/Day; 3 moods, без flip / CREATOR | | Mood placement | board §C switcher cards | **Front#40/#45:** mood chip в AppShell рядом с BrandWordmark (+ compact auth); mobile chip icon-only (полный CalenTIQ wordmark); **не** в `/more`, **не** в toolbar Month/Week/Day; 3 moods, без flip / CREATOR; switcher glyphs §C (sprout/bolt/briefcase), Time Arc appicon — только favicon |
| 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 | | 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` |
@@ -50,7 +50,7 @@ IA без sidebar / без Creator mood — совпадает с non-goals (п
**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.
**Front#45 (2026-07-29):** Mobile mood chrome — chip icon-only (без truncate label) + BrandWordmark mark-only; `sm+` полный label + wordmark; sheet без изменений; `aria-label` на chip. **Front#45 (2026-07-29):** Mobile mood chrome — chip icon-only (без truncate label); полный BrandWordmark CalenTIQ на mobile; sheet icon+label+tagline; `aria-label` на chip. Switcher glyphs по board §C (sprout/bolt/briefcase), не Time Arc appicon.
**Remaining intentional:** no pixel-perfect phone chrome; Discover без photo-hero grid (cover via `image_url` when API returns it; broken URL → wash+initials); §E specialist schedule card vs panel — не pixel-perfect board mocks (follow-up). Product flow D9 B — documented; board pixel mock — Future. **Remaining intentional:** no pixel-perfect phone chrome; Discover без photo-hero grid (cover via `image_url` when API returns it; broken URL → wash+initials); §E specialist schedule card vs panel — не pixel-perfect board mocks (follow-up). Product flow D9 B — documented; board pixel mock — Future.
@@ -93,8 +93,9 @@ API: `GET /v1/user/booking-requests` (Back) + существующий `PUT /v1/
1. **Mood** = визуальная атмосфера (`html[data-mood]`, FLOW/MOMENTUM/CONTROL). Primary UX — 1. **Mood** = визуальная атмосфера (`html[data-mood]`, FLOW/MOMENTUM/CONTROL). Primary UX —
chip → sheet в **AppShell** рядом с BrandWordmark (Front#40); compact на auth. chip → sheet в **AppShell** рядом с BrandWordmark (Front#40); compact на auth.
**Нет** в `/more`; **не** в toolbar Month/Week/Day. Persist: `preferences.mood` **Нет** в `/more`; **не** в toolbar Month/Week/Day. Persist: `preferences.mood`
через `PATCH /v1/user/me`. Без flip; без CREATOR. Front#45: mobile chip icon-only + через `PATCH /v1/user/me`. Без flip; без CREATOR. Front#45: mobile chip icon-only;
mark-only logo; desktop — полный label/wordmark; sheet — icon + label + tagline. полный CalenTIQ wordmark; desktop — полный label; sheet — §C glyph + label + tagline.
Glyphs: FLOW sprout, MOMENTUM bolt, CONTROL briefcase (не Time Arc appicon).
2. **Lens** = отдельный контентный режим (`overview` / `today` / `bookings`), не mood и не 2. **Lens** = отдельный контентный режим (`overview` / `today` / `bookings`), не mood и не
view month/week/day. UI: Обзор / На сегодня / Заявки. Переключатель — в шапке strip view month/week/day. UI: Обзор / На сегодня / Заявки. Переключатель — в шапке strip
(underline/text tabs на desktop; chip → sheet на mobile), **не** рядом с ViewMode. (underline/text tabs на desktop; chip → sheet на mobile), **не** рядом с ViewMode.