import React, { useState } from "react"; import Navbar from "./components/Navbar"; import HomePage from "./pages/HomePage"; // Import the new HomePage import VoiceChatPage from "./pages/VoiceChatPage"; import CodingAssistantPage from "./pages/CodingAssistantPage"; import LoginPage from "./pages/LoginPage"; const Icon = ({ path, onClick, className }) => ( <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className={`w-6 h-6 cursor-pointer transition-colors duration-200 ${className}`} onClick={onClick} > <path d={path} /> </svg> ); export default function App() { const [currentPage, setCurrentPage] = useState("home"); const [isSidebarOpen, setIsSidebarOpen] = useState(false); const toggleSidebar = () => { setIsSidebarOpen(!isSidebarOpen); }; const renderPage = () => { switch (currentPage) { case "home": return <HomePage onNavigate={setCurrentPage} />; case "voice-chat": return <VoiceChatPage Icon={Icon} />; case "coding-assistant" : return <CodingAssistantPage Icon={Icon} /> case "login": return <LoginPage />; default: // You can add a 404 or a default page here return <HomePage onNavigate={setCurrentPage} />; } }; return ( <div className="flex min-h-screen bg-gray-100 dark:bg-gray-900 font-sans"> {currentPage !== "login" && ( <Navbar isOpen={isSidebarOpen} onToggle={toggleSidebar} onNavigate={setCurrentPage} Icon={Icon} /> )} <div className="flex-grow"> {renderPage()} </div> </div> ); }