|
@@ -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, |
|
|
|
|
|
Link, |
|
|
|
|
|
|
|
|
import { 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>) |
|
|
|
|
|
|
|
|
</>) |
|
|
} |
|
|
} |