diff --git a/src/features/song-select/SongCard.tsx b/src/features/song-select/SongCard.tsx index da5bdba..44fec4a 100644 --- a/src/features/song-select/SongCard.tsx +++ b/src/features/song-select/SongCard.tsx @@ -1,5 +1,4 @@ import { playSound, SFX_BUTTON_DEFAULT } from '../../lib/sounds' -import { lighten } from './color-utils' import type { Song } from './types' type SongCardProps = { @@ -10,7 +9,7 @@ type SongCardProps = { onClick: () => void } -function renderDifficultyDots(difficulty: number, color: string, active: boolean) { +function renderDifficultyDots(difficulty: number) { return (
{Array.from({ length: 5 }).map((_, index) => { @@ -67,7 +66,7 @@ export function SongCard({ song, trackNumber, offset, isActive, onClick }: SongC

{song.artist}

{song.bpm} BPM

- {renderDifficultyDots(song.difficulty, song.color, isActive)} + {renderDifficultyDots(song.difficulty)}
) diff --git a/src/features/song-select/SongInfoBar.tsx b/src/features/song-select/SongInfoBar.tsx index 3a50003..9494402 100644 --- a/src/features/song-select/SongInfoBar.tsx +++ b/src/features/song-select/SongInfoBar.tsx @@ -10,7 +10,7 @@ type SongInfoBarProps = { onConfirm: () => void } -function DifficultyDots({ difficulty, color }: { difficulty: number; color: string }) { +function DifficultyDots({ difficulty }: { difficulty: number }) { return (
{Array.from({ length: 5 }).map((_, index) => ( @@ -75,7 +75,7 @@ export function SongInfoBar({ song, onConfirm }: SongInfoBarProps) {
- + DIFF
diff --git a/src/game/ArrowGame.tsx b/src/game/ArrowGame.tsx index 44cc74e..d6f5f38 100644 --- a/src/game/ArrowGame.tsx +++ b/src/game/ArrowGame.tsx @@ -19,10 +19,6 @@ const PERFECT_WINDOW = 180 const GOOD_WINDOW = 350 const CLEANUP_DELAY = 600 -// Random mode fallback -const RANDOM_SPAWN_INTERVAL = 1800 -const RANDOM_DIRECTIONS: ArrowDirection[] = ['left', 'up', 'down', 'right'] - const STEP_TO_ARROW: Record = { left: 'left', right: 'right', @@ -54,7 +50,7 @@ export const ArrowGame = forwardRef(({ active = true, ch const arrowsRef = useRef([]) const nextId = useRef(0) const [arrows, setArrows] = useState([]) - const [score, setScore] = useState({ perfect: 0, good: 0, miss: 0, combo: 0 }) + const [, setScore] = useState({ perfect: 0, good: 0, miss: 0, combo: 0 }) const comboRef = useRef(0) const [judgment, setJudgment] = useState<{ text: string; key: number; x: number; y: number; rot: number } | null>(null) const judgmentTimer = useRef | null>(null) diff --git a/src/pages/GamePage.tsx b/src/pages/GamePage.tsx index 1522578..1192bff 100644 --- a/src/pages/GamePage.tsx +++ b/src/pages/GamePage.tsx @@ -2,7 +2,6 @@ import { useCallback, useEffect, useRef, useState } from 'react' import { Navigate, useNavigate } from 'react-router-dom' import { ROUTE_PATHS } from '../app/route-paths' import { playSound, SFX_BUTTON_DEFAULT } from '../lib/sounds' -import { SONGS } from '../features/song-select/song-data' import { useGameStatsStore } from '../stores/game-stats/store' import { ArrowGame } from '../game/ArrowGame' import type { ArrowGameHandle } from '../game/ArrowGame' @@ -107,7 +106,6 @@ export function GamePage() { // Score delta floater + combo const [scoreDelta, setScoreDelta] = useState<{ value: number; key: number; dx: number; dy: number } | null>(null) - const [scorePulse, setScorePulse] = useState(0) const [combo, setCombo] = useState(0) // Scoring: base points + combo bonus (capped at 4x) @@ -134,7 +132,6 @@ export function GamePage() { dx: 20 + Math.random() * 80, dy: -10 + Math.random() * 40, }) - setScorePulse(Date.now()) } }, [addPerfectHit, addGoodHit, addMiss, addScore],