heritage-ui/src/router/index.tsx
Leo fa78163d31 配置路由和应用入口
- 配置React Router路由:包含所有页面路由(首页、非遗、传承人、活动资讯等)
- 添加活动资讯相关路由:/news、/news/:id、/events/:id
- 配置应用入口文件和全局样式
- 添加TypeScript类型声明
2025-10-09 23:49:55 +08:00

97 lines
2.1 KiB
TypeScript

/**
* 路由配置
*/
import React from 'react'
import { createBrowserRouter, Navigate } from 'react-router-dom'
import MainLayout from '@layout/MainLayout'
import Home from '@pages/Home'
import HeritageList from '@pages/Heritage/List'
import HeritageDetail from '@pages/Heritage/Detail'
import InheritorsList from '@pages/Inheritors/List'
import InheritorDetail from '@pages/Inheritor/Detail'
import NewsPage from '@pages/News'
import NewsDetail from '@pages/News/Detail'
import EventDetail from '@pages/News/EventDetail'
import Login from '@pages/User/Login'
import Register from '@pages/User/Register'
import UserCenter from '@pages/User/Center'
import SearchPage from '@pages/Search'
import DataVisualization from '@pages/Data'
import About from '@pages/About'
const router = createBrowserRouter([
{
path: '/',
element: <MainLayout />,
children: [
{
index: true,
element: <Home />,
},
{
path: 'heritage',
element: <HeritageList />,
},
{
path: 'heritage/categories/:category',
element: <HeritageList />,
},
{
path: 'heritage/:id',
element: <HeritageDetail />,
},
{
path: 'inheritors',
element: <InheritorsList />,
},
{
path: 'inheritor/:id',
element: <InheritorDetail />,
},
{
path: 'search',
element: <SearchPage />,
},
{
path: 'data',
element: <DataVisualization />,
},
{
path: 'user/center',
element: <UserCenter />,
},
{
path: 'about',
element: <About />,
},
{
path: 'news',
element: <NewsPage />,
},
{
path: 'news/:id',
element: <NewsDetail />,
},
{
path: 'events/:id',
element: <EventDetail />,
},
{
path: '*',
element: <Navigate to="/" replace />,
},
],
},
{
path: '/login',
element: <Login />,
},
{
path: '/register',
element: <Register />,
},
])
export default router