Files
ThriveX-Admin/src/App.tsx

92 lines
2.1 KiB
TypeScript
Raw Normal View History

2024-07-25 19:33:25 +08:00
import { useEffect, useState } from 'react';
import { Route, Routes, useLocation } from 'react-router-dom';
import Loader from './common/Loader';
import PageTitle from './components/PageTitle';
import ECommerce from './pages/Dashboard/ECommerce';
2024-07-25 20:22:04 +08:00
import Create from './pages/Create';
2024-08-04 15:58:33 +08:00
import Cate from './pages/Cate';
2024-07-25 19:33:25 +08:00
import DefaultLayout from './layout/DefaultLayout';
2024-08-04 18:44:53 +08:00
import Login from './pages/Login';
2024-07-25 20:24:44 +08:00
import { ConfigProvider } from 'antd';
2024-07-25 19:33:25 +08:00
function App() {
const [loading, setLoading] = useState<boolean>(true);
const { pathname } = useLocation();
useEffect(() => {
window.scrollTo(0, 0);
}, [pathname]);
useEffect(() => {
setTimeout(() => setLoading(false), 1000);
}, []);
2024-08-04 18:44:53 +08:00
const isLoginRoute = pathname === '/login';
2024-07-25 19:33:25 +08:00
return loading ? (
<Loader />
) : (
2024-07-25 20:24:44 +08:00
// 自定义主题色
<ConfigProvider
theme={{
token: {
// Seed Token影响范围大
colorPrimary: '#727cf5',
},
}}
>
2024-08-04 18:44:53 +08:00
{isLoginRoute ? (
2024-07-25 20:24:44 +08:00
<Routes>
<Route
2024-08-04 18:44:53 +08:00
path="/login"
2024-08-04 15:58:33 +08:00
element={
<>
<PageTitle title="Calendar | TailAdmin - Tailwind CSS Admin Dashboard Template" />
2024-08-04 18:44:53 +08:00
<Login />
2024-08-04 15:58:33 +08:00
</>
}
/>
2024-07-25 20:24:44 +08:00
</Routes>
2024-08-04 18:44:53 +08:00
) : (
<DefaultLayout>
<Routes>
<Route
index
element={
<>
<PageTitle title="Thrive - 仪表盘" />
<ECommerce />
</>
}
/>
2024-07-25 20:24:44 +08:00
2024-08-04 18:44:53 +08:00
<Route
path="/create"
element={
<>
<PageTitle title="Thrive - 发挥灵感" />
<Create />
</>
}
/>
<Route
path="/cate"
element={
<>
<PageTitle title="Thrive - 分类管理" />
<Cate />
</>
}
/>
</Routes>
</DefaultLayout>
)}
</ConfigProvider>
2024-07-25 19:33:25 +08:00
);
}
export default App;