docs(search): вид карты в поиске, default_location всегда
FrontSpec §5.3: переключатель Список/Карта (?view=map), маркеры группируются по месту, пин календаря с числом событий, попап со ссылками, тайлы OpenFreeMap без ключа, lazy-chunk. BackSpec §2.5: default_location календарей возвращается всегда, distance_km — только при гео-запросе (Back#77). Refs EventHub/EventHubSpec#21
This commit is contained in:
@@ -409,6 +409,9 @@ API:
|
|||||||
по `event.location`; commercial-календари — по `settings.default_location`.
|
по `event.location`; commercial-календари — по `settings.default_location`.
|
||||||
`radius` **опционален** (1..100 км); без ключа — без отсечения, сортировка `distance`.
|
`radius` **опционален** (1..100 км); без ключа — без отсечения, сортировка `distance`.
|
||||||
В ответе `distance_km`. Без координат сущность в geo-выборку не входит.
|
В ответе `distance_km`. Без координат сущность в geo-выборку не входит.
|
||||||
|
- В элементе `calendars` поле `default_location` (`address`/`lat`/`lon`, либо `null`)
|
||||||
|
возвращается всегда, если у календаря задана точка (Back#77) — вид карты в поиске
|
||||||
|
строится и без гео-запроса. `distance_km` присутствует только при `lat`+`lon` в запросе.
|
||||||
- Пагинация результатов (`limit`, `offset`; default `limit=20`, max `100`).
|
- Пагинация результатов (`limit`, `offset`; default `limit=20`, max `100`).
|
||||||
- Поиск должен учитывать права доступа (не показывать скрытые/заблокированные календари).
|
- Поиск должен учитывать права доступа (не показывать скрытые/заблокированные календари).
|
||||||
|
|
||||||
|
|||||||
@@ -224,6 +224,15 @@ cover (`.eh-discover-media--photo`); иначе mood wash + initials (`.eh-disco
|
|||||||
центр по адресу (suggest), не ручные lat/lon. Радиус опционален (пресеты 1/5/10/25/50 км
|
центр по адресу (suggest), не ручные lat/lon. Радиус опционален (пресеты 1/5/10/25/50 км
|
||||||
и «без ограничения»). В выдаче — `distance_km`. Список, не map-first.
|
и «без ограничения»). В выдаче — `distance_km`. Список, не map-first.
|
||||||
|
|
||||||
|
**Вид карты (Back#77):** у результатов segment-переключатель «Список | Карта»
|
||||||
|
(`?view=map` в URL, переживает перезагрузку). Данные — тот же `GET /v1/search`
|
||||||
|
(`useSearch`); в режиме карты пагинация списка и блок «ближайшее» скрыты.
|
||||||
|
Маркеры группируются по точке (~1 м): пин календаря с бейджем числа событий в группе,
|
||||||
|
событие с отличной точкой — отдельная малая точка; клик по маркеру → попап со списком
|
||||||
|
карточек группы (те же href `/c/:id` и `/c/:cid/e/:eid`, что в списке). Результаты без
|
||||||
|
координат не рисуются — счётчик «Без адреса: N». При активном гео-фильтре — точка центра
|
||||||
|
и круг радиуса. Тайлы OpenFreeMap (MapLibre GL, без ключа); компонент карты — lazy-chunk.
|
||||||
|
|
||||||
### 5.4. Календари
|
### 5.4. Календари
|
||||||
- Список своих: `GET /v1/calendars`
|
- Список своих: `GET /v1/calendars`
|
||||||
- CRUD: `POST/PUT/DELETE /v1/calendars`, `GET /v1/calendars/:id` (`following`, `booking_open`)
|
- CRUD: `POST/PUT/DELETE /v1/calendars`, `GET /v1/calendars/:id` (`following`, `booking_open`)
|
||||||
|
|||||||
Reference in New Issue
Block a user