mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-01-31 13:57:34 +00:00
fix: replace WebSocketContext default value with null and add type definitions
This commit is contained in:
@@ -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<WebSocketContextType | null>(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<WebSocket | null>(null);
|
||||
const [messages, setMessages] = useState<any[]>([]);
|
||||
const [isConnected, setIsConnected] = useState(false);
|
||||
const reconnectTimeoutRef = useRef(null);
|
||||
const reconnectTimeoutRef = useRef<NodeJS.Timeout | null>(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;
|
||||
export default WebSocketContext;
|
||||
Reference in New Issue
Block a user