Перейти к основному содержимому

Фронтенды 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 (signUpOrSignInconfirmSignIn, nextAction=FillName, referrerUrl из cookie); токен в Zustand+localStorage pin:session; 401 → clear сессии; обновление токена — по refresh-flow.
  • Referral: cookie referralUrl TTL 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.