"use client" import { CommonStatusDataMap } from "@rahoot/common/types/game/status" import QuestionMedia from "@rahoot/web/components/game/QuestionMedia" import { useEvent } from "@rahoot/web/contexts/socketProvider" import { SFX_SHOW_SOUND } from "@rahoot/web/utils/constants" import { useEffect, useState } from "react" import useSound from "use-sound" type Props = { data: CommonStatusDataMap["SHOW_QUESTION"] } const Question = ({ data: { question, image, media, cooldown } }: Props) => { const [sfxShow] = useSound(SFX_SHOW_SOUND, { volume: 0.5 }) const [seconds, setSeconds] = useState(cooldown) const [paused, setPaused] = useState(false) useEffect(() => { sfxShow() }, [sfxShow]) useEvent("game:cooldown", (sec) => { setSeconds(sec) }) useEvent("game:cooldownPause", (isPaused) => { setPaused(isPaused) }) const percent = Math.max(0, Math.min(100, (seconds / cooldown) * 100)) return (

{question}

{paused && (
Paused
)}
) } export default Question