fix: 排行榜初始位置避开服务端读取 window

This commit is contained in:
chenpei 2026-08-17 12:10:22 +08:00
parent 91b617bc2e
commit 2bb2434c7e

View File

@ -27,12 +27,18 @@ export default function RankingPanel() {
likes: []
})
const [loading, setLoading] = useState(true)
const [position, setPosition] = useState<Position>({ x: 32, y: window.innerHeight / 2 - 200 })
const [position, setPosition] = useState<Position>(() => ({
x: 32,
y: typeof window === 'undefined' ? 200 : window.innerHeight / 2 - 200,
}))
const [isDragging, setIsDragging] = useState(false)
const [dragOffset, setDragOffset] = useState<Position>({ x: 0, y: 0 })
const panelRef = useRef<HTMLDivElement>(null)
const buttonRef = useRef<HTMLButtonElement>(null)
const [buttonPosition, setButtonPosition] = useState<Position>({ x: 32, y: window.innerHeight / 2 - 24 })
const [buttonPosition, setButtonPosition] = useState<Position>(() => ({
x: 32,
y: typeof window === 'undefined' ? 200 : window.innerHeight / 2 - 24,
}))
const [isButtonDragging, setIsButtonDragging] = useState(false)
const [buttonDragOffset, setButtonDragOffset] = useState<Position>({ x: 0, y: 0 })
const clickStartRef = useRef<{ x: number; y: number; time: number } | null>(null)