From 0d74ad33e31153d6fb665d46173db69cf046c165 Mon Sep 17 00:00:00 2001 From: Aleksey Sabilin Date: Mon, 20 Jul 2026 16:08:50 +0300 Subject: [PATCH] docs: sync FrontSpec with editable profile and UX shell. Mood/lang only on auth and More; profile editable fields; search badge and collapsed filters. Refs EventHub/EventHubBack#48 --- EventHubFrontSpec.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/EventHubFrontSpec.md b/EventHubFrontSpec.md index 7e9540b..c83098b 100644 --- a/EventHubFrontSpec.md +++ b/EventHubFrontSpec.md @@ -69,9 +69,9 @@ Deep-link на календарь, владельцем которого явл | Энергичный | `energetic` | тёмный ink + coral/amber | | Деловой | `business` | charcoal + steel, более жёсткие радиусы | -Переключатель доступен на login и в `/more` (на desktop — также в header). +Переключатели mood и языка: на экранах auth (`/login`, `/register`, `/verify`) и в `/more`. В шапке workspace — только бренд, email и выход (без mood/lang). -Язык UI (`ru`/`en`): до логина — `navigator.language`; после входа — поле `language` профиля (`PATCH /v1/user/me`). Если в профиле язык пуст — при логине записывается текущий (браузерный/выбранный на экране входа). +Язык UI (`ru`/`en`): до логина — `navigator.language`; после входа — поле `language` профиля (`PATCH /v1/user/me`). Если в профиле язык пуст — при логине записывается текущий (браузерный/выбранный на экране входа). Язык также можно сменить в форме `/profile`. ## 4. Маршруты @@ -98,10 +98,10 @@ Redirects: `/discover` → `/search`; `/calendars/:id` → `/c/:id`; `/calendars Регистрация, верификация, вход, восстановление сессии. ### 5.2. Профиль -`GET /v1/user/me` — отображение полей. `PATCH /v1/user/me` — язык (`language`), mood в `preferences.mood`, прочие поля профиля. Язык при первом визите — из браузера; при первом логине без `language` в профиле — записывается в профиль. Mood по умолчанию `calm`, в профиль при логине не сидится. +`GET /v1/user/me` + форма на `/profile`. Редактируемые через `PATCH /v1/user/me`: `nickname`, `phone`, `timezone`, `language`. Read-only в UI: `id`, `email`, `role`, `status`. Mood — отдельно в `/more` (`preferences.mood`). Смена пароля и `avatar_url` на бэке есть, в клиентском UI пока нет. Язык при первом визите — из браузера; при первом логине без `language` — пишется в профиль. Mood по умолчанию `calm`, при логине не сидится. ### 5.3. Поиск (участник) -`GET /v1/search` — фильтры (`type`, `q`, даты, теги, geo, sort, пагинация). Без фильтров (страница «Найти») — топ календарей и событий по рейтингу; с `q`/фильтрами — полнотекстовый поиск. Переход к календарю/событию. +`GET /v1/search` — фильтры (`type`, `q`, даты, sort, order, пагинация; теги/geo в API есть, в UI пока нет). Без `q`/дат/sort — топы календарей и событий; иначе — поиск. В списке бейдж типа — `calendar`|`event` (не `personal`/`commercial`). Даты и сортировка свёрнуты по умолчанию. Переход к `/c/:id` или `/c/:id/e/:eventId`. ### 5.4. Календари - Список своих: `GET /v1/calendars`