veza/apps/web/src/router/AppRouter.tsx
senke 7b39efa176 fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle
- Fix 98 TypeScript errors across 37 files:
  - Service layer double-unwrapping (subscriptionService, distributionService, gearService)
  - Self-referencing variables in SearchPageResults
  - FeedView/ExploreView .posts→.items alignment
  - useQueueSync Zustand subscribe API
  - AdminAuditLogsView missing interface fields
  - Toast proxy type, interceptor type narrowing
  - 22 unused imports/variables removed
  - 5 storybook mock data fixes

- Align frontend API calls with backend endpoints:
  - Analytics: useAnalyticsView now calls /creator/analytics/dashboard (was /analytics)
  - Chat: chatService uses /conversations (was mock data), WS URL from backend token
  - Dashboard StatsSection: uses real /dashboard API data (was hardcoded zeros)
  - Settings: suppress 2FA toast error when endpoint unavailable

- Fix marketplace products: seed uses 'active' status (was 'published')
- Enrich seed: admin follows all creators (feed has content)

- Optimize bundle: vendor catch-all 793KB→318KB gzip (-60%)
  Split into vendor-charts, vendor-emoji, vendor-swagger, vendor-media, etc.

- Clean repo: remove ~100 orphaned screenshots, audit reports, logs from root

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 21:18:49 +01:00

33 lines
1 KiB
TypeScript

import { Routes, Route, Navigate } from 'react-router-dom';
import {
getPublicRoutes,
getPublicStandaloneRoutes,
getProtectedRoutes,
getErrorRoutes,
} from './routeConfig';
export function AppRouter() {
const publicRoutes = getPublicRoutes();
const publicStandalone = getPublicStandaloneRoutes();
const protectedRoutes = getProtectedRoutes();
const errorRoutes = getErrorRoutes();
return (
<Routes>
{publicRoutes.map(({ path, element }) => (
<Route key={path} path={path} element={element} />
))}
{publicStandalone.map(({ path, element }) => (
<Route key={path} path={path} element={element} />
))}
{protectedRoutes.map(({ path, element }) => (
<Route key={path} path={path} element={element} />
))}
{errorRoutes.map(({ path, element }) => (
<Route key={path} path={path} element={element} />
))}
<Route path="/" element={<Navigate to="/launch" replace />} />
<Route path="*" element={<Navigate to="/404" replace />} />
</Routes>
);
}