This commit is contained in:
+38
-41
@@ -27,57 +27,54 @@ 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)
|
||||
setUser (toCamel (res.data.user, { deep: true }))
|
||||
}
|
||||
}))
|
||||
const createUser = async () => {
|
||||
const { data } = await axios.post (`${ API_BASE_URL }/users`)
|
||||
if (data.code)
|
||||
{
|
||||
localStorage.setItem ('user_code', data.code)
|
||||
setUser (toCamel (data.user, { deep: true }))
|
||||
}
|
||||
}
|
||||
|
||||
const code = localStorage.getItem ('user_code')
|
||||
if (code)
|
||||
{
|
||||
void (axios.post (`${ API_BASE_URL }/users/verify`, { code })
|
||||
.then (res => {
|
||||
if (res.data.valid)
|
||||
setUser (toCamel (res.data.user, { deep: true }))
|
||||
else
|
||||
createUser ()
|
||||
}))
|
||||
void (async () => {
|
||||
const { data } = await axios.post (`${ API_BASE_URL }/users/verify`, { code })
|
||||
if (data.valid)
|
||||
setUser (toCamel (data.user, { deep: true }))
|
||||
else
|
||||
createUser ()
|
||||
}) ()
|
||||
}
|
||||
else
|
||||
createUser ()
|
||||
|
||||
alert ('このサイトはまだ作りかけです!!!!\n出てけ!!!!!!!!!!!!!!!!!!!!')
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<>
|
||||
<Router>
|
||||
<div className="flex flex-col h-screen w-screen">
|
||||
<TopNav user={user} setUser={setUser} />
|
||||
<div className="flex flex-1">
|
||||
<Routes>
|
||||
<Route path="/" element={<Navigate to="/posts" replace />} />
|
||||
<Route path="/posts" element={<PostListPage />} />
|
||||
<Route path="/posts/new" element={<PostNewPage />} />
|
||||
<Route path="/posts/:id" element={<PostDetailPage user={user} />} />
|
||||
<Route path="/wiki" element={<WikiSearchPage />} />
|
||||
<Route path="/wiki/:title" element={<WikiDetailPage />} />
|
||||
<Route path="/wiki/new" element={<WikiNewPage />} />
|
||||
<Route path="/wiki/:id/edit" element={<WikiEditPage />} />
|
||||
<Route path="/wiki/:id/diff" element={<WikiDiffPage />} />
|
||||
<Route path="/wiki/changes" element={<WikiHistoryPage />} />
|
||||
<Route path="/users/settings" element={<SettingPage user={user} setUser={setUser} />} />
|
||||
<Route path="/settings" element={<Navigate to="/users/settings" replace />} />
|
||||
<Route path="*" element={<NotFound />} />
|
||||
</Routes>
|
||||
</div>
|
||||
</div>
|
||||
</Router>
|
||||
<Toaster />
|
||||
<Router>
|
||||
<div className="flex flex-col h-screen w-screen">
|
||||
<TopNav user={user} setUser={setUser} />
|
||||
<div className="flex flex-1">
|
||||
<Routes>
|
||||
<Route path="/" element={<Navigate to="/posts" replace />} />
|
||||
<Route path="/posts" element={<PostListPage />} />
|
||||
<Route path="/posts/new" element={<PostNewPage />} />
|
||||
<Route path="/posts/:id" element={<PostDetailPage user={user} />} />
|
||||
<Route path="/wiki" element={<WikiSearchPage />} />
|
||||
<Route path="/wiki/:title" element={<WikiDetailPage />} />
|
||||
<Route path="/wiki/new" element={<WikiNewPage />} />
|
||||
<Route path="/wiki/:id/edit" element={<WikiEditPage />} />
|
||||
<Route path="/wiki/:id/diff" element={<WikiDiffPage />} />
|
||||
<Route path="/wiki/changes" element={<WikiHistoryPage />} />
|
||||
<Route path="/users/settings" element={<SettingPage user={user} setUser={setUser} />} />
|
||||
<Route path="/settings" element={<Navigate to="/users/settings" replace />} />
|
||||
<Route path="*" element={<NotFound />} />
|
||||
</Routes>
|
||||
</div>
|
||||
</div>
|
||||
</Router>
|
||||
<Toaster />
|
||||
</>)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user