"use client"; import { createContext, ReactNode, useContext } from "react"; import type { IChatMessage } from "@/entities/chats/types"; import { useChatSocket } from "@/hooks/chats/useChatSocket"; type ChatContextValue = ReturnType; const ChatContext = createContext(null); export function useChat() { const ctx = useContext(ChatContext); if (!ctx) { throw new Error("useChat must be used within "); } return ctx; } interface ChatProviderProps { chatId: string; initialMessages?: IChatMessage[]; initialTotal?: number; children: ReactNode; } export function ChatProvider({ chatId, initialMessages, initialTotal, children, }: ChatProviderProps) { const value = useChatSocket(chatId, { initialMessages, initialTotal, }); return {children}; }