53 lines
1.2 KiB
TypeScript
53 lines
1.2 KiB
TypeScript
import {createRoot} from 'react-dom/client'
|
|
import {createHashRouter, Navigate, type RouteObject, RouterProvider} from 'react-router'
|
|
import './index.scss'
|
|
import './components/amis/Registry.ts'
|
|
import Root from './pages/Root.tsx'
|
|
import Test from './pages/Test.tsx'
|
|
import Bookshelf from './pages/book/Bookshelf.tsx'
|
|
import Book from './pages/book/Book.tsx'
|
|
import Chapter from './pages/book/Chapter.tsx'
|
|
import Creator from './pages/Creator.tsx'
|
|
|
|
const routes: RouteObject[] = [
|
|
{
|
|
path: '/',
|
|
Component: Root,
|
|
children: [
|
|
{
|
|
index: true,
|
|
element: <Navigate to="/bookshelf" replace/>,
|
|
},
|
|
{
|
|
path: 'bookshelf',
|
|
children: [
|
|
{
|
|
path: '',
|
|
Component: Bookshelf,
|
|
},
|
|
{
|
|
path: 'book/:id',
|
|
Component: Book,
|
|
},
|
|
{
|
|
path: 'chapter/:id',
|
|
Component: Chapter,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'creator',
|
|
Component: Creator,
|
|
},
|
|
{
|
|
path: 'test',
|
|
Component: Test,
|
|
},
|
|
],
|
|
},
|
|
]
|
|
|
|
createRoot(document.getElementById('root')!).render(
|
|
<RouterProvider router={createHashRouter(routes)}/>,
|
|
)
|