diff --git a/src/contexts/WebSocketContext.jsx b/src/contexts/WebSocketContext.tsx similarity index 84% rename from src/contexts/WebSocketContext.jsx rename to src/contexts/WebSocketContext.tsx index f6a28dd..dbdc9ad 100644 --- a/src/contexts/WebSocketContext.jsx +++ b/src/contexts/WebSocketContext.tsx @@ -1,11 +1,13 @@ import { createContext, useContext, useEffect, useRef, useState } from 'react'; -const WebSocketContext = createContext({ - ws: null, - sendMessage: () => {}, - messages: [], - isConnected: false -}); +type WebSocketContextType = { + ws: WebSocket | null; + sendMessage: (message: any) => void; + messages: any[]; + isConnected: boolean; +}; + +const WebSocketContext = createContext(null); export const useWebSocket = () => { const context = useContext(WebSocketContext); @@ -16,10 +18,10 @@ export const useWebSocket = () => { }; const useWebSocketProviderState = () => { - const wsRef = useRef(null); - const [messages, setMessages] = useState([]); + const wsRef = useRef(null); + const [messages, setMessages] = useState([]); const [isConnected, setIsConnected] = useState(false); - const reconnectTimeoutRef = useRef(null); + const reconnectTimeoutRef = useRef(null); useEffect(() => { connect(); @@ -92,7 +94,7 @@ const useWebSocketProviderState = () => { } }; - const sendMessage = (message) => { + const sendMessage = (message: any) => { const socket = wsRef.current; if (socket && isConnected) { socket.send(JSON.stringify(message)); @@ -109,7 +111,7 @@ const useWebSocketProviderState = () => { }; }; -export const WebSocketProvider = ({ children }) => { +export const WebSocketProvider = ({ children }: { children: React.ReactNode }) => { const webSocketData = useWebSocketProviderState(); return ( @@ -119,4 +121,4 @@ export const WebSocketProvider = ({ children }) => { ); }; -export default WebSocketContext; \ No newline at end of file +export default WebSocketContext;