"use client"; import AiProviderContext from "@app/contexts/aiProviderContext"; import type { AiProviderPublic } from "@server/routers/aiProvider/types"; import { useTranslations } from "next-intl"; import { useEffect, useState } from "react"; type AiProviderProviderProps = { children: React.ReactNode; provider: AiProviderPublic; }; export function AiProviderProvider({ children, provider: serverProvider }: AiProviderProviderProps) { const [provider, setProvider] = useState(serverProvider); const t = useTranslations(); useEffect(() => { setProvider(serverProvider); }, [serverProvider]); const updateProvider = (updated: Partial) => { if (!provider) { throw new Error(t("aiProviderErrorNoUpdate")); } setProvider((prev) => { if (!prev) { return prev; } return { ...prev, ...updated }; }); }; return ( {children} ); } export default AiProviderProvider;