This commit is contained in:
2025-05-28 02:29:14 +09:00
parent 3535ef1c70
commit 03c2434236
4 changed files with 67 additions and 12 deletions
+33 -1
View File
@@ -6,6 +6,8 @@ import TopNav from './components/TopNav'
import TagSidebar from './components/TagSidebar'
import PostPage from './pages/PostPage'
import PostDetailPage from './pages/PostDetailPage'
import { API_BASE_URL } from './config'
import axios from 'axios'
type Tag = { id: number
name: string
@@ -17,18 +19,48 @@ type Post = { id: number
thumbnail: string
tags: Tag[] }
type User = { id: number
name: string | null
inheritanceCode: string
role: string }
const App = () => {
const [posts, setPosts] = useState<Post[]> ([])
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)
setUser (res.data)
}
}))
const code = localStorage.getItem ('user_code')
if (code)
{
void (axios.post (`${ API_BASE_URL }/users/verify`, { code })
.then (res => {
if (res.data.valid)
setUser (res.data.user)
else
createUser ()
}))
}
else
createUser ()
alert ('このサイトはまだ作りかけです!!!!\n出てけ!!!!!!!!!!!!!!!!!!!!')
}, [])
return (
<Router>
<div className="flex flex-col h-screen w-screen">
<TopNav />
<TopNav user={user} />
<div className="flex flex-1">
<TagSidebar posts={posts} setPosts={setPosts} />
<main className="flex-1 overflow-y-auto p-4">