Перейти к содержанию

Frontend

Стек

  • React 18 + TypeScript
  • Vite (dev server + proxy)
  • Tailwind CSS + shadcn-ui (Radix UI)
  • TanStack Query (React Query) — если используется в текущих модулях

Структура

  • Исходники: src/
  • Роутинг: src/routes/
  • Сервисы API: src/services/
  • Хуки: src/hooks/
  • Страницы: src/pages/

Маршруты и роли

  • Роуты ролей находятся в src/routes/roles/* (например турист/админ).
  • Навигация по ролям: src/config/navigation/roleNav.ts.

Интеграции

  • Backend (FastAPI): через VITE_API_BASE_URL и/или dev proxy /api
  • Supabase: через VITE_SUPABASE_URL и VITE_SUPABASE_ANON_KEY
  • Карты: Yandex Maps/Mapbox (зависит от конфигурации)

Переменные окружения (Frontend)

  • VITE_API_BASE_URL: базовый URL API (в Docker dev часто используется внутренний URL контейнера, чтобы Vite proxy работал корректно)
  • VITE_SUPABASE_URL: URL Supabase для браузера (обычно внешний, например http://localhost:9000)
  • VITE_SUPABASE_ANON_KEY: anon key
  • VITE_ENABLE_AI_SEARCH: включает UI “умного поиска” на странице туристских отелей (true для включения; по умолчанию выключено)

UI-состояния и особенности

  • “Умный поиск” на странице списка отелей туриста скрывается флагом VITE_ENABLE_AI_SEARCH (см. раздел “Изменения”).

Текущие frontend-задачи

  • Вычистить “битые” ссылки в README и синхронизировать разделы docs.