|
@@ -1,21 +1,23 @@ |
|
|
|
|
|
import axios from 'axios' |
|
|
|
|
|
import toCamel from 'camelcase-keys' |
|
|
import React, { useEffect, useState } from 'react' |
|
|
import React, { useEffect, useState } from 'react' |
|
|
import { BrowserRouter as Router, Route, Routes, Navigate } from 'react-router-dom' |
|
|
import { BrowserRouter as Router, Route, Routes, Navigate } from 'react-router-dom' |
|
|
import TopNav from '@/components/TopNav' |
|
|
|
|
|
import TagSidebar from '@/components/TagSidebar' |
|
|
|
|
|
|
|
|
|
|
|
import TagDetailSidebar from '@/components/TagDetailSidebar' |
|
|
import TagDetailSidebar from '@/components/TagDetailSidebar' |
|
|
|
|
|
import TagSidebar from '@/components/TagSidebar' |
|
|
|
|
|
import TopNav from '@/components/TopNav' |
|
|
|
|
|
import { Toaster } from '@/components/ui/toaster' |
|
|
|
|
|
import { API_BASE_URL } from '@/config' |
|
|
|
|
|
import NotFound from '@/pages/NotFound' |
|
|
|
|
|
import PostDetailPage from '@/pages/posts/PostDetailPage' |
|
|
import PostListPage from '@/pages/posts/PostListPage' |
|
|
import PostListPage from '@/pages/posts/PostListPage' |
|
|
import PostNewPage from '@/pages/posts/PostNewPage' |
|
|
import PostNewPage from '@/pages/posts/PostNewPage' |
|
|
import PostDetailPage from '@/pages/posts/PostDetailPage' |
|
|
|
|
|
import WikiSearchPage from '@/pages/wiki/WikiSearchPage' |
|
|
|
|
|
import WikiNewPage from '@/pages/wiki/WikiNewPage' |
|
|
|
|
|
import WikiEditPage from '@/pages/wiki/WikiEditPage' |
|
|
|
|
|
import WikiDiffPage from '@/pages/wiki/WikiDiffPage' |
|
|
|
|
|
import WikiDetailPage from '@/pages/wiki/WikiDetailPage' |
|
|
import WikiDetailPage from '@/pages/wiki/WikiDetailPage' |
|
|
|
|
|
import WikiDiffPage from '@/pages/wiki/WikiDiffPage' |
|
|
|
|
|
import WikiEditPage from '@/pages/wiki/WikiEditPage' |
|
|
import WikiHistoryPage from '@/pages/wiki/WikiHistoryPage' |
|
|
import WikiHistoryPage from '@/pages/wiki/WikiHistoryPage' |
|
|
import { API_BASE_URL } from '@/config' |
|
|
|
|
|
import axios from 'axios' |
|
|
|
|
|
import { Toaster } from '@/components/ui/toaster' |
|
|
|
|
|
import { camelizeKeys } from 'humps' |
|
|
|
|
|
|
|
|
import WikiNewPage from '@/pages/wiki/WikiNewPage' |
|
|
|
|
|
import WikiSearchPage from '@/pages/wiki/WikiSearchPage' |
|
|
|
|
|
|
|
|
import type { Post, Tag, User } from '@/types' |
|
|
import type { Post, Tag, User } from '@/types' |
|
|
|
|
|
|
|
@@ -30,7 +32,7 @@ export default () => { |
|
|
if (res.data.code) |
|
|
if (res.data.code) |
|
|
{ |
|
|
{ |
|
|
localStorage.setItem ('user_code', res.data.code) |
|
|
localStorage.setItem ('user_code', res.data.code) |
|
|
setUser (camelizeKeys (res.data.user)) |
|
|
|
|
|
|
|
|
setUser (toCamel (res.data.user, { deep: true })) |
|
|
} |
|
|
} |
|
|
})) |
|
|
})) |
|
|
|
|
|
|
|
@@ -40,7 +42,7 @@ export default () => { |
|
|
void (axios.post (`${ API_BASE_URL }/users/verify`, { code }) |
|
|
void (axios.post (`${ API_BASE_URL }/users/verify`, { code }) |
|
|
.then (res => { |
|
|
.then (res => { |
|
|
if (res.data.valid) |
|
|
if (res.data.valid) |
|
|
setUser (camelizeKeys (res.data.user)) |
|
|
|
|
|
|
|
|
setUser (toCamel (res.data.user, { deep: true })) |
|
|
else |
|
|
else |
|
|
createUser () |
|
|
createUser () |
|
|
})) |
|
|
})) |
|
@@ -68,6 +70,7 @@ export default () => { |
|
|
<Route path="/wiki/:id/edit" element={<WikiEditPage />} /> |
|
|
<Route path="/wiki/:id/edit" element={<WikiEditPage />} /> |
|
|
<Route path="/wiki/:id/diff" element={<WikiDiffPage />} /> |
|
|
<Route path="/wiki/:id/diff" element={<WikiDiffPage />} /> |
|
|
<Route path="/wiki/changes" element={<WikiHistoryPage />} /> |
|
|
<Route path="/wiki/changes" element={<WikiHistoryPage />} /> |
|
|
|
|
|
<Route path="*" element={<NotFound />} /> |
|
|
</Routes> |
|
|
</Routes> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|