← Back
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import { PrivyProvider } from '@privy-io/react-auth';
import ErrorBoundary from './components/ErrorBoundary';
import WalletProvider from './components/WalletProvider';
import { SiweAuthProvider } from './hooks/SiweAuthProvider';

// Privy embedded wallets for copy-trading custody (Turnkey→Privy). Email login
// provisions a non-custodial EOA → Polymarket Safe (M1+). App ID is public.
const PRIVY_APP_ID = import.meta.env.VITE_PRIVY_APP_ID as string;
import Layout from './components/layout/Layout';
import ScreenerPage from './pages/ScreenerPage';
import TradePage from './pages/TradePage';
import LeadersPage from './pages/LeadersPage';
import FlowPage from './pages/FlowPage';
import MorePage from './pages/MorePage';
import WalletPage from './pages/WalletPage';
import MarketDetailPage from './pages/MarketDetailPage';
import AlertsPage from './pages/AlertsPage';
import AnalyticsPage from './pages/AnalyticsPage';
import UserAnalyticsPage from './pages/UserAnalyticsPage';
import WhaleProfilePage from './pages/WhaleProfilePage';
import LeaderboardPage from './pages/LeaderboardPage';
import SettingsPage from './pages/SettingsPage';
import PreviewPage from './pages/PreviewPage';
import { useAccent } from './hooks/useAccent';
import './App.css';

export default function App() {
  useAccent(); // apply saved color theme (data-accent) app-wide on load
  return (
    <ErrorBoundary>
      <PrivyProvider
        appId={PRIVY_APP_ID}
        config={{
          loginMethods: ['email'],
          embeddedWallets: { ethereum: { createOnLogin: 'users-without-wallets' }, showWalletUIs: true },
          appearance: { theme: 'dark', accentColor: '#22e06a' },
        }}
      >
      <WalletProvider>
        <SiweAuthProvider>
        <BrowserRouter>
          <Routes>
            <Route element={<Layout />}>
              {/* Copy-trading pivot: Лидеры — главная, портфель на /portfolio
                  («Мои сделки»). Сироты /signals /feed /search /whales /trade
                  выпилены при переходе на 4-пунктовую навигацию. */}
              <Route path="/" element={<LeadersPage />} />
              <Route path="/flow" element={<FlowPage />} />
              <Route path="/screener" element={<ScreenerPage />} />
              <Route path="/portfolio" element={<TradePage />} />
              <Route path="/alerts" element={<AlertsPage />} />
              <Route path="/more" element={<MorePage />} />
              <Route path="/wallet" element={<WalletPage />} />
              <Route path="/leaderboard" element={<LeaderboardPage />} />
              <Route path="/settings" element={<SettingsPage />} />
              <Route path="/analytics/szhub2026" element={<AnalyticsPage />} />
              <Route path="/analytics/users" element={<UserAnalyticsPage />} />
              <Route path="/market/:id" element={<MarketDetailPage />} />
              <Route path="/whale" element={<WhaleProfilePage />} />
            </Route>
            {/* Editorial redesign LIVE preview — standalone, no Layout/nav. Additive, safe. */}
            <Route path="/preview" element={<PreviewPage />} />
          </Routes>
        </BrowserRouter>
        </SiweAuthProvider>
      </WalletProvider>
      </PrivyProvider>
    </ErrorBoundary>
  );
}

📜 Git History

c545cc4feat(poli): add Поток (Flow) section — 5th nav item, /flow route, Консенсус/Инсайдер/Жар sub-tabs4 days ago
a685fb9feat(poli): live editorial preview at /preview (chunk 2)11 days ago
e822e64feat(theme): multi color themes via data-accent layer (green default + ocean/nebula/cyber)12 days ago
0c802dffeat(theme): Phase 2 token reskin — Olympus palette (navy + electric green)12 days ago
6c47fa4chore: local Polikopi project home + Phase 1 redesign artifacts12 days ago
Show last diff
Loading...