This commit is contained in:
2025-08-12 17:14:55 +09:00
parent 37b9f32626
commit f18684cfd9
2 changed files with 19 additions and 9 deletions
+11 -6
View File
@@ -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>) </>)
} }
+8 -3
View File
@@ -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>)