|
|
@@ -1,7 +1,7 @@ |
|
|
|
import axios from 'axios' |
|
|
|
import toCamel from 'camelcase-keys' |
|
|
|
import { useEffect, useState } from 'react' |
|
|
|
import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom' |
|
|
|
import { BrowserRouter, Navigate, Route, Routes, useLocation } from 'react-router-dom' |
|
|
|
|
|
|
|
import RouteBlockerOverlay from '@/components/RouteBlockerOverlay' |
|
|
|
import TopNav from '@/components/TopNav' |
|
|
@@ -26,6 +26,13 @@ import type { FC } from 'react' |
|
|
|
import type { User } from '@/types' |
|
|
|
|
|
|
|
|
|
|
|
const PostDetailRoute = ({ user }: { user: User | null }) => { |
|
|
|
const location = useLocation () |
|
|
|
const key = location.pathname |
|
|
|
return <PostDetailPage key={key} user={user}/> |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
export default (() => { |
|
|
|
const [user, setUser] = useState<User | null> (null) |
|
|
|
const [status, setStatus] = useState (200) |
|
|
@@ -81,7 +88,7 @@ export default (() => { |
|
|
|
<Route path="/" element={<Navigate to="/posts" replace/>}/> |
|
|
|
<Route path="/posts" element={<PostListPage/>}/> |
|
|
|
<Route path="/posts/new" element={<PostNewPage user={user}/>}/> |
|
|
|
<Route path="/posts/:id" element={<PostDetailPage user={user}/>}/> |
|
|
|
<Route path="/posts/:id" element={<PostDetailRoute user={user}/>}/> |
|
|
|
<Route path="/tags/nico" element={<NicoTagListPage user={user}/>}/> |
|
|
|
<Route path="/wiki" element={<WikiSearchPage/>}/> |
|
|
|
<Route path="/wiki/:title" element={<WikiDetailPage/>}/> |
|
|
|