File size: 578 Bytes
00a912e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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])
}
|