{/* Track fill - 根据按钮位置调整 */}
+ style={{
+ width: `${fillPct}%`,
+ background: volumeControlsLocked ? "rgba(148,163,184,0.7)" : "#00FFF6",
+ boxShadow: volumeControlsLocked ? "none" : "0 0 8px rgba(0,255,246,0.5)",
+ }}
+ />
{
+ if (volumeControlsLocked) return;
const v = Number(e.target.value);
setLocalVol(v);
}}
onPointerDown={() => {
+ if (volumeControlsLocked) return;
isDragging.current = true;
}}
onPointerUp={(e) => {
isDragging.current = false;
+ if (volumeControlsLocked) return;
setVolume(Number(e.currentTarget.value));
}}
onPointerCancel={(e) => {
isDragging.current = false;
+ if (volumeControlsLocked) return;
setVolume(Number(e.currentTarget.value));
}}
onBlur={(e) => {
isDragging.current = false;
+ if (volumeControlsLocked) {
+ return;
+ }
setVolume(Number(e.currentTarget.value));
}}
onKeyUp={(e) => {
+ if (volumeControlsLocked) return;
const k = e.key;
if (
k === "ArrowLeft" ||
@@ -646,8 +699,12 @@ export default function Home() {