Skip to content
Snippets Groups Projects

Feature/56 sse in game

Merged GOEPP THOMAS requested to merge feature/56-sse-in-game into develop
Compare and
15 files
+ 436
137
Preferences
Compare changes
Files
15
+ 31
0
// EventSourceContext.tsx
import {createContext, useContext, ReactNode, useState} from 'react';
interface EventSourceContextType {
eventSource: EventSource;
setEventSource: (es: EventSource) => void;
}
const EventSourceContext = createContext<EventSourceContextType | null>(null);
interface EventSourceProviderProps {
children: ReactNode;
}
export function EventSourceProvider({ children }: EventSourceProviderProps) {
const [eventSource, setEventSource] = useState<EventSource | null>(null);
return (
<EventSourceContext.Provider value={{ eventSource, setEventSource }}>
{children}
</EventSourceContext.Provider>
);
}
export function useEventSourceContext() {
const context = useContext(EventSourceContext);
if (!context) {
throw new Error('useEventSourceContext must be used within an EventSourceProvider');
}
return context;
}