ghp / packages /client /src /hooks /room /useConnectionGuard.ts
QSLY's picture
deploy: build Hugging Face Space from source
00a912e
Raw
History Blame Contribute Delete
578 Bytes
import { useSocketContext } from '@/providers/socket-context'
import { resetAllRoomState } from '@/lib/resetStores'
import { useEffect } from 'react'
/**
* Resets all room-related stores on socket disconnect.
* Re-join on reconnect is handled by RoomPage's auto-join effect.
*/
export function useConnectionGuard() {
const { socket } = useSocketContext()
useEffect(() => {
const onDisconnect = () => {
resetAllRoomState()
}
socket.on('disconnect', onDisconnect)
return () => {
socket.off('disconnect', onDisconnect)
}
}, [socket])
}