This commit is contained in:
2025-06-13 01:36:53 +09:00
parent 3363fcd2ae
commit 32ed235807
11 changed files with 327 additions and 259 deletions
+10 -21
View File
@@ -3,6 +3,7 @@ import { BrowserRouter as Router, Route, Routes, Navigate } from 'react-router-d
import TagPage from '@/pages/TagPage'
import TopNav from '@/components/TopNav'
import TagSidebar from '@/components/TagSidebar'
import TagDetailSidebar from '@/components/TagDetailSidebar'
import PostPage from '@/pages/PostPage'
import PostNewPage from '@/pages/PostNewPage'
import PostDetailPage from '@/pages/PostDetailPage'
@@ -16,15 +17,13 @@ import { camelizeKeys } from 'humps'
import type { Post, Tag, User } from '@/types'
const App = () => {
const [posts, setPosts] = useState<Post[]> ([])
export default () => {
const [user, setUser] = useState<User | null> (null)
useEffect (() => {
const createUser = () => (
axios.post (`${ API_BASE_URL }/users`)
.then (res => {
if (res.data.code)
{
localStorage.setItem ('user_code', res.data.code)
@@ -56,28 +55,18 @@ const App = () => {
<TopNav user={user} setUser={setUser} />
<div className="flex flex-1">
<Routes>
<Route path="/posts/new" />
<Route path="/posts" element={<TagSidebar posts={posts} setPosts={setPosts} />} />
<Route path="/posts/:id" element={<TagSidebar posts={posts} setPosts={setPosts} />} />
<Route path="/" element={<Navigate to="/posts" replace />} />
<Route path="/posts" element={<PostPage />} />
<Route path="/posts/new" element={<PostNewPage />} />
<Route path="/posts/:id" element={<PostDetailPage />} />
<Route path="/tags/:tag" element={<TagPage />} />
<Route path="/wiki/:name" element={<WikiDetailPage />} />
<Route path="/wiki/new" element={<WikiNewPage />} />
{/* <Route path="/wiki/:id/edit" element={<WikiEditPage />} /> */}
</Routes>
<main className="flex-1 overflow-y-auto p-4">
<Routes>
<Route path="/" element={<Navigate to="/posts" replace />} />
<Route path="/posts" element={<PostPage posts={posts} setPosts={setPosts} />} />
<Route path="/posts/new" element={<PostNewPage />} />
<Route path="/posts/:id" element={<PostDetailPage posts={posts} setPosts={setPosts} />} />
<Route path="/tags/:tag" element={<TagPage />} />
<Route path="/wiki/:name" element={<WikiDetailPage />} />
<Route path="/wiki/new" element={<WikiNewPage />} />
{/* <Route path="/wiki/:id/edit" element={<WikiEditPage />} /> */}
</Routes>
</main>
</div>
</div>
</Router>
<Toaster />
</>)
}
export default App