This commit is contained in:
Generated
+1
-3
@@ -2012,7 +2012,6 @@
|
||||
"version": "19.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.4.tgz",
|
||||
"integrity": "sha512-EB1yiiYdvySuIITtD5lhW4yPyJ31RkJkkDw794LaQYrxCSaQV/47y5o1FMC4zF9ZyjUjzJMZwbovEnT5yHTW6g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"csstype": "^3.0.2"
|
||||
@@ -2022,7 +2021,7 @@
|
||||
"version": "19.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.5.tgz",
|
||||
"integrity": "sha512-CMCjrWucUBZvohgZxkjd6S9h0nZxXjzus6yDfUb+xLxYM7VvjKNH1tQrE9GWLql1XoOP4/Ds3bwFqShHUYraGg==",
|
||||
"dev": true,
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"@types/react": "^19.0.0"
|
||||
@@ -2883,7 +2882,6 @@
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/debug": {
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
import axios from 'axios'
|
||||
import toCamel from 'camelcase-keys'
|
||||
import React, { useEffect, useState } from 'react'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { BrowserRouter as Router, Route, Routes, Navigate } from 'react-router-dom'
|
||||
|
||||
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'
|
||||
@@ -21,7 +19,7 @@ import WikiHistoryPage from '@/pages/wiki/WikiHistoryPage'
|
||||
import WikiNewPage from '@/pages/wiki/WikiNewPage'
|
||||
import WikiSearchPage from '@/pages/wiki/WikiSearchPage'
|
||||
|
||||
import type { Post, Tag, User } from '@/types'
|
||||
import type { User } from '@/types'
|
||||
|
||||
|
||||
export default () => {
|
||||
@@ -29,11 +27,12 @@ export default () => {
|
||||
|
||||
useEffect (() => {
|
||||
const createUser = async () => {
|
||||
const { data } = await axios.post (`${ API_BASE_URL }/users`)
|
||||
const res = await axios.post (`${ API_BASE_URL }/users`)
|
||||
const data = res.data as { code: string; user: any }
|
||||
if (data.code)
|
||||
{
|
||||
localStorage.setItem ('user_code', data.code)
|
||||
setUser (toCamel (data.user, { deep: true }))
|
||||
setUser (toCamel (data.user, { deep: true }) as User)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +40,8 @@ export default () => {
|
||||
if (code)
|
||||
{
|
||||
void (async () => {
|
||||
const { data } = await axios.post (`${ API_BASE_URL }/users/verify`, { code })
|
||||
const res = await axios.post (`${ API_BASE_URL }/users/verify`, { code })
|
||||
const data = res.data as { valid: boolean, user: any }
|
||||
if (data.valid)
|
||||
setUser (toCamel (data.user, { deep: true }))
|
||||
else
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import React, { useRef, useLayoutEffect, useEffect, useState, CSSProperties } from 'react'
|
||||
import axios from 'axios'
|
||||
import { Link, useNavigate, useLocation } from 'react-router-dom'
|
||||
import { API_BASE_URL } from '../config'
|
||||
|
||||
type Props = { id: string,
|
||||
width: number,
|
||||
height: number,
|
||||
|
||||
@@ -10,7 +10,7 @@ import { cn } from '@/lib/utils'
|
||||
|
||||
import type { Tag, User, WikiPage } from '@/types'
|
||||
|
||||
type Props = { user: User
|
||||
type Props = { user: User | null
|
||||
setUser: (user: User) => void }
|
||||
|
||||
const enum Menu { None,
|
||||
@@ -20,7 +20,7 @@ const enum Menu { None,
|
||||
Wiki }
|
||||
|
||||
|
||||
const TopNav: React.FC = ({ user, setUser }: Props) => {
|
||||
export default ({ user, setUser }: Props) => {
|
||||
const location = useLocation ()
|
||||
const navigate = useNavigate ()
|
||||
|
||||
@@ -230,6 +230,3 @@ const TopNav: React.FC = ({ user, setUser }: Props) => {
|
||||
}) ()}
|
||||
</>)
|
||||
}
|
||||
|
||||
|
||||
export default TopNav
|
||||
|
||||
@@ -16,7 +16,7 @@ import { cn } from '@/lib/utils'
|
||||
|
||||
import type { Post, Tag, User } from '@/types'
|
||||
|
||||
type Props = { user: User }
|
||||
type Props = { user: User | null }
|
||||
|
||||
|
||||
export default ({ user }: Props) => {
|
||||
|
||||
@@ -21,7 +21,11 @@
|
||||
"noUnusedParameters": true,
|
||||
"erasableSyntaxOnly": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noUncheckedSideEffectImports": true
|
||||
"noUncheckedSideEffectImports": true,
|
||||
"baseUrl": "./src",
|
||||
"paths": {
|
||||
"@/*": ["*"]
|
||||
}
|
||||
},
|
||||
"include": ["src"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user