#11 完了
This commit is contained in:
+22
-16
@@ -8,6 +8,8 @@ import PostPage from './pages/PostPage'
|
||||
import PostDetailPage from './pages/PostDetailPage'
|
||||
import { API_BASE_URL } from './config'
|
||||
import axios from 'axios'
|
||||
import { Toaster } from '@/components/ui/toaster'
|
||||
import { camelizeKeys } from 'humps'
|
||||
|
||||
type Tag = { id: number
|
||||
name: string
|
||||
@@ -33,10 +35,11 @@ const App = () => {
|
||||
const createUser = () => (
|
||||
axios.post (`${ API_BASE_URL }/users`)
|
||||
.then (res => {
|
||||
|
||||
if (res.data.code)
|
||||
{
|
||||
localStorage.setItem ('user_code', res.data.code)
|
||||
setUser (res.data)
|
||||
setUser (camelizeKeys (res.data.user))
|
||||
}
|
||||
}))
|
||||
|
||||
@@ -46,7 +49,7 @@ const App = () => {
|
||||
void (axios.post (`${ API_BASE_URL }/users/verify`, { code })
|
||||
.then (res => {
|
||||
if (res.data.valid)
|
||||
setUser (res.data.user)
|
||||
setUser (camelizeKeys (res.data.user))
|
||||
else
|
||||
createUser ()
|
||||
}))
|
||||
@@ -58,21 +61,24 @@ const App = () => {
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<Router>
|
||||
<div className="flex flex-col h-screen w-screen">
|
||||
<TopNav user={user} />
|
||||
<div className="flex flex-1">
|
||||
<TagSidebar posts={posts} setPosts={setPosts} />
|
||||
<main className="flex-1 overflow-y-auto p-4">
|
||||
<Routes>
|
||||
<Route path="/posts/:id" element={<PostDetailPage posts={posts} setPosts={setPosts} />} />
|
||||
<Route path="/tags/:tag" element={<TagPage />} />
|
||||
<Route path="*" element={<PostPage posts={posts} setPosts={setPosts} />} />
|
||||
</Routes>
|
||||
</main>
|
||||
<>
|
||||
<Router>
|
||||
<div className="flex flex-col h-screen w-screen">
|
||||
<TopNav user={user} setUser={setUser} />
|
||||
<div className="flex flex-1">
|
||||
<TagSidebar posts={posts} setPosts={setPosts} />
|
||||
<main className="flex-1 overflow-y-auto p-4">
|
||||
<Routes>
|
||||
<Route path="/posts/:id" element={<PostDetailPage posts={posts} setPosts={setPosts} />} />
|
||||
<Route path="/tags/:tag" element={<TagPage />} />
|
||||
<Route path="*" element={<PostPage posts={posts} setPosts={setPosts} />} />
|
||||
</Routes>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Router>)
|
||||
</Router>
|
||||
<Toaster />
|
||||
</>)
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user