import * as React from "react" import type { MessageRepository } from "./types" const MessageRepositoryContext = React.createContext( null ) export interface MessageRepositoryProviderProps { children: React.ReactNode repository: MessageRepository } export function MessageRepositoryProvider({ children, repository, }: MessageRepositoryProviderProps) { return ( {children} ) } export function useMessageRepository() { const repository = React.useContext(MessageRepositoryContext) if (!repository) { throw new Error( "MessagePanel requires a MessageRepositoryProvider or a repository prop." ) } return repository } export function useOptionalMessageRepository() { return React.useContext(MessageRepositoryContext) }