book / src /theme /Root.jsx
Ammar Ahmed Khan
Add Physical AI Humanoid Book Platform
e2eff86
import React, { useState, useEffect } from 'react';
import { ChatbotProvider } from '@site/src/contexts/ChatbotContext';
import FloatingChatIcon from '@site/src/components/Chatbot/FloatingChatIcon';
import ChatbotInterface from '@site/src/components/Chatbot/ChatbotInterface';
// Global state provider component
const Root = ({ children }) => {
const [showChatbot, setShowChatbot] = useState(false);
const [isClient, setIsClient] = useState(false);
useEffect(() => {
// Set isClient to true after component mounts on client
setIsClient(true);
}, []);
const toggleChatbot = () => {
setShowChatbot(!showChatbot);
};
return (
<ChatbotProvider>
{children}
{isClient && (
<>
<FloatingChatIcon onClick={toggleChatbot} isOpen={showChatbot} />
<ChatbotInterface
isVisible={showChatbot}
onClose={() => setShowChatbot(false)}
/>
</>
)}
</ChatbotProvider>
);
};
export default Root;