w-lab-app/src/providers/chats-initialization-provider.tsx
2025-07-26 20:22:00 +04:00

47 lines
1.1 KiB
TypeScript

"use client";
import { createContext, ReactNode, useContext } from "react";
import { useChatsInitialization } from "@/hooks/chats/useChatsInitialization";
interface ChatsInitializationContextType {
isInitializing: boolean;
isInitialized: boolean;
error: string | null;
}
const ChatsInitializationContext =
createContext<ChatsInitializationContextType | null>(null);
export const useChatsInitializationContext = () => {
const context = useContext(ChatsInitializationContext);
if (!context) {
throw new Error(
"useChatsInitializationContext must be used within ChatsInitializationProvider"
);
}
return context;
};
interface ChatsInitializationProviderProps {
children: ReactNode;
}
export const ChatsInitializationProvider = ({
children,
}: ChatsInitializationProviderProps) => {
const { isInitializing, isInitialized, error } = useChatsInitialization();
return (
<ChatsInitializationContext.Provider
value={{
isInitializing,
isInitialized,
error,
}}
>
{children}
</ChatsInitializationContext.Provider>
);
};