Фронтенды PIN
Два фронтенд-приложения в монорепо C:\Workspaces\Pin\talent.frontends.pin (pnpm workspace:
front-end/ + admin/). Навигация «страница/возможность → контекст → ТЗ» —
prototype-mapping.md.
Обзор
| Приложение | Назначение | Стек | Статус |
|---|---|---|---|
front-end (talent.frontends.pin) | Портал инвестора/агента: каталог лотов и отелей, инвест-аналитика, избранное и подборки, профиль (персоны/сделки/мои лоты/партнёрка), CRM (воронка, клиентская база, карточка сделки с вкладками) | Next.js 16 App Router (React 19, RSC/SSR, standalone), TanStack Query 5, Zustand, Zod, Tailwind 4, ValIO-кодоген (axios на клиенте + fetch в RSC) | Активно развивается |
admin (@pin/admin) | Админ-панель: лоты/корпуса (оверрайды), программы покупки, эконом-модель (+investor-preview, growth-chart), заявки, рефералы | Vite + React 19 + HeroUI, orval-кодоген, lightweight-charts | Пока без авторизации (ADR-0053) |
Историческая версия
C:\Workspaces\Pin\frontends.pin.developers(Vite + TanStack Router) — устаревший предшественник front-end; используется только как референс моделей. Миграция на Next.js завершена (git: «убрать vite/tanstack-зависимости», «SSR главной (RSC)»).
front-end — ключевые факты
- Маршруты (актуальный main):
/(лендинг+CTA);/lots(каталог; гейт: токен ИЛИ реф-cookie),/lots/[id]/{info,analytics};/hotels+/hotels/[hotelId]/{info,assortment,chessboard,news}(отель/проект: ассортимент, шахматка, новости);/favorites;/collection(подборки из избранного + SharePopover с реф-ссылкой);/profile+/profile/{personal,deals,events,my-lots,partner}(персоны/несколько наборов данных, сделки, история событий, «мои лоты», партнёрская программа);/crm(канбан) +/crm/clients+/crm/clients/[clientId]/{events,collections,history}(клиентская база агента) + карточка сделки с вкладками (Документы/О лоте/О проекте/Условия);/social→Telegram; легаси-редиректы/offers*→/lots*. - API-клиенты (ValIO): генерируются из swagger целевых .NET-сервисов PIN; группы
valio/pin(каталог, инвест-аналитика, публичный CRM),valio/investors(identity/auth),valio/referrals(реферальная система). - Auth: СМС-flow identity (
signUpOrSignIn→confirmSignIn,nextAction=FillName,referrerUrlиз cookie); токен в Zustand+localStoragepin:session; 401 → clear сессии; обновление токена — по refresh-flow. - Referral: cookie
referralUrlTTL 30 дней;useShareReferralLink(getOrCreateDefaultReferralLink). - Чат сделки: UI чата строится на контракте собственного мини-мессенджера (REST + SignalR-hub, ADR-0055).
- Известные заглушки (→ требования к бэку в prototype-mapping): избранное в localStorage; графики платежей на клиенте; метрики карточки из хэша id; CDN-мок; nav «Отели»/«Новости».
admin — ключевые факты
- Табы: Лоты, Корпуса, Настройка лотов, Программы покупки, Глобальный дефолт (эконом-модель + помесячные оверрайды + preview), Заявки, Рефералы (журнал ссылок/регистраций из Referrals.Admin).
- Авторизации пока нет — добавляется вместе с admin-системой (ADR-0053).
- Кодоген: orval из swagger .NET-сервисов (admin-контуры каталога/инвест-аналитики/CRM и реферальной системы, с разворачиванием конверта ответа).
Правила фронтенда
docs/01-engineering-rules/frontend-*: FSD-границы (front-end после миграции использует Next App Router +
FSD-слои widgets/features/entities/shared + генерат valio); сгенерированный API-слой руками не
правится; внешний ввод/формы/URL — Zod; Query-UI — состояние loading/error/empty обязательно.
Шаблоны фронтенд-документации
docs/99-templates/: frontend-page, frontend-component, frontend-feature-slice, frontend-store.