細部
This commit is contained in:
+11
-6
@@ -1,11 +1,11 @@
|
|||||||
import cn from 'classnames'
|
import cn from 'classnames'
|
||||||
import { useEffect, useRef, useState } from 'react'
|
import { useEffect, useRef, useState } from 'react'
|
||||||
import { BrowserRouter,
|
import { Link,
|
||||||
Link,
|
|
||||||
Navigate,
|
Navigate,
|
||||||
Route,
|
Route,
|
||||||
Routes,
|
Routes,
|
||||||
useLocation } from 'react-router-dom'
|
useLocation,
|
||||||
|
useSearchParams } from 'react-router-dom'
|
||||||
|
|
||||||
import bgmSrc from '@/assets/music.mp3'
|
import bgmSrc from '@/assets/music.mp3'
|
||||||
import ThreadListPage from '@/pages/threads/ThreadListPage'
|
import ThreadListPage from '@/pages/threads/ThreadListPage'
|
||||||
@@ -36,6 +36,9 @@ const ScrollToTop = () => {
|
|||||||
export default () => {
|
export default () => {
|
||||||
const bgmRef = useRef<HTMLAudioElement | null> (null)
|
const bgmRef = useRef<HTMLAudioElement | null> (null)
|
||||||
|
|
||||||
|
const [searchParams] = useSearchParams ()
|
||||||
|
const threadId = searchParams.get ('thread')
|
||||||
|
|
||||||
const [colourIndex, setColourIndex] = useState (0)
|
const [colourIndex, setColourIndex] = useState (0)
|
||||||
const [mute, setMute] = useState (false)
|
const [mute, setMute] = useState (false)
|
||||||
const [playing, setPlaying] = useState (false)
|
const [playing, setPlaying] = useState (false)
|
||||||
@@ -77,7 +80,7 @@ export default () => {
|
|||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<BrowserRouter>
|
<>
|
||||||
<ScrollToTop />
|
<ScrollToTop />
|
||||||
<div className={cn ('w-screen min-h-screen',
|
<div className={cn ('w-screen min-h-screen',
|
||||||
colours[colourIndex],
|
colours[colourIndex],
|
||||||
@@ -106,7 +109,9 @@ export default () => {
|
|||||||
</header>
|
</header>
|
||||||
<main className="mb-8">
|
<main className="mb-8">
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="/" element={<Navigate to="/threads" replace />} />
|
<Route path="/"
|
||||||
|
element={<Navigate to={`/threads/${ threadId ? (+threadId) + 1 : '' }`}
|
||||||
|
replace />} />
|
||||||
<Route path="/threads" element={<ThreadListPage />} />
|
<Route path="/threads" element={<ThreadListPage />} />
|
||||||
<Route path="/threads/:id" element={<ThreadDetailPage />} />
|
<Route path="/threads/:id" element={<ThreadDetailPage />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
@@ -117,5 +122,5 @@ export default () => {
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</BrowserRouter>)
|
</>)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
import { createRoot } from 'react-dom/client'
|
import { createRoot } from 'react-dom/client'
|
||||||
import './index.css'
|
import { BrowserRouter } from 'react-router-dom'
|
||||||
import App from './App.tsx'
|
|
||||||
|
|
||||||
createRoot(document.getElementById('root')!).render(<App />)
|
import App from '@/App.tsx'
|
||||||
|
import '@/index.css'
|
||||||
|
|
||||||
|
createRoot(document.getElementById('root')!).render(
|
||||||
|
<BrowserRouter>
|
||||||
|
<App />
|
||||||
|
</BrowserRouter>)
|
||||||
|
|||||||
Reference in New Issue
Block a user