Browse Source

#140

feature/140
みてるぞ 1 week ago
parent
commit
214c91e3bf
2 changed files with 17 additions and 5 deletions
  1. +9
    -2
      frontend/src/App.tsx
  2. +8
    -3
      frontend/src/pages/posts/PostDetailPage.tsx

+ 9
- 2
frontend/src/App.tsx View File

@@ -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/>}/>


+ 8
- 3
frontend/src/pages/posts/PostDetailPage.tsx View File

@@ -28,9 +28,10 @@ export default (({ user }: Props) => {
const { id } = useParams ()

const { data: post, isError: errorFlg, error } = useQuery ({
enabled: Boolean (id),
queryKey: ['posts', String (id)],
queryFn: () => fetchPost (String (id)) })
enabled: Boolean (id),
queryKey: ['posts', String (id)],
queryFn: () => fetchPost (String (id)),
placeholderData: undefined })

const qc = useQueryClient ()

@@ -68,6 +69,10 @@ export default (({ user }: Props) => {
setStatus (code)
}, [errorFlg, error])

useEffect (() => {
setStatus (200)
}, [id])

switch (status)
{
case 404:


Loading…
Cancel
Save