Initial commit
This commit is contained in:
154
src/App.js
Normal file
154
src/App.js
Normal file
@@ -0,0 +1,154 @@
|
||||
/**
|
||||
=========================================================
|
||||
Vision UI PRO React - v1.0.0
|
||||
=========================================================
|
||||
Product Page: https://www.creative-tim.com/product/vision-ui-dashboard-pro-react
|
||||
Copyright 2021 Creative Tim (https://www.creative-tim.com/)
|
||||
Design and Coded by Simmmple & Creative Tim
|
||||
=========================================================
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Visionware.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
import { ChakraProvider } from '@chakra-ui/react';
|
||||
import { Routes, Route, Navigate } from "react-router-dom";
|
||||
|
||||
// Chakra imports
|
||||
import { Box, useColorMode } from '@chakra-ui/react';
|
||||
|
||||
// Core Components
|
||||
import theme from "theme/theme.js";
|
||||
|
||||
// Layouts
|
||||
import Admin from "layouts/Admin";
|
||||
import Auth from "layouts/Auth";
|
||||
import HomeLayout from "layouts/Home";
|
||||
|
||||
// Views
|
||||
import Community from "views/Community";
|
||||
import LimitAnalyse from "views/LimitAnalyse";
|
||||
import ForecastReport from "views/Company/ForecastReport";
|
||||
import ConceptCenter from "views/Concept";
|
||||
import FinancialPanorama from "views/Company/FinancialPanorama";
|
||||
import CompanyIndex from "views/Company";
|
||||
import MarketDataView from "views/Company/MarketDataView";
|
||||
import StockOverview from "views/StockOverview";
|
||||
import EventDetail from "views/EventDetail";
|
||||
import TradingSimulation from "views/TradingSimulation";
|
||||
// Contexts
|
||||
import { AuthProvider } from "contexts/AuthContext";
|
||||
|
||||
// Components
|
||||
import ProtectedRoute from "components/ProtectedRoute";
|
||||
|
||||
function AppContent() {
|
||||
const { colorMode } = useColorMode();
|
||||
|
||||
return (
|
||||
<Box minH="100vh" bg={colorMode === 'dark' ? 'gray.800' : 'white'}>
|
||||
<Routes>
|
||||
{/* 首页路由 */}
|
||||
<Route path="home/*" element={<HomeLayout />} />
|
||||
|
||||
{/* Community页面路由 - 需要登录 */}
|
||||
<Route
|
||||
path="community"
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<Community />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
/>
|
||||
<Route path="forecast-report" element={<ForecastReport />} />
|
||||
<Route path="Financial" element={<FinancialPanorama />} />
|
||||
<Route path="company" element={<CompanyIndex />} />
|
||||
<Route path="company/:code" element={<CompanyIndex />} />
|
||||
<Route path="market-data" element={<MarketDataView />} />
|
||||
{/* 概念中心路由 - 需要登录 */}
|
||||
<Route
|
||||
path="concepts"
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<ConceptCenter />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="concept"
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<ConceptCenter />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
/>
|
||||
{/* 股票概览页面路由 - 需要登录 */}
|
||||
<Route
|
||||
path="stocks"
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<StockOverview />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="stock-overview"
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<StockOverview />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
/>
|
||||
{/* Limit Analyse页面路由 - 需要登录 */}
|
||||
<Route
|
||||
path="limit-analyse"
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<LimitAnalyse />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
/>
|
||||
{/* 事件详情独立页面路由(不经 Admin 布局) */}
|
||||
<Route path="event-detail/:eventId" element={<EventDetail />} />
|
||||
|
||||
{/* 模拟盘交易系统路由 - 需要登录 */}
|
||||
<Route
|
||||
path="trading-simulation"
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<TradingSimulation />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 管理后台路由 - 需要登录 */}
|
||||
<Route
|
||||
path="admin/*"
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<Admin />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 认证页面路由 */}
|
||||
<Route path="auth/*" element={<Auth />} />
|
||||
|
||||
{/* 默认重定向到首页 */}
|
||||
<Route path="/" element={<Navigate to="/home" replace />} />
|
||||
|
||||
{/* 404 页面 */}
|
||||
<Route path="*" element={<Navigate to="/home" replace />} />
|
||||
</Routes>
|
||||
</Box>
|
||||
);
|
||||
}
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<ChakraProvider theme={theme}>
|
||||
<AuthProvider>
|
||||
<AppContent />
|
||||
</AuthProvider>
|
||||
</ChakraProvider>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user