// HomePage.js import React from 'react'; const HomePage = ({ onNavigate, isLoggedIn, onLogout }) => { const buttonStyle = (enabled) => enabled ? "w-full sm:w-auto bg-blue-600 hover:bg-blue-700 text-white font-bold py-3 px-6 rounded-lg transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50" : "w-full sm:w-auto bg-gray-400 text-gray-700 font-bold py-3 px-6 rounded-lg cursor-not-allowed opacity-50"; const codeAssistantButtonStyle = (enabled) => enabled ? "w-full sm:w-auto bg-green-600 hover:bg-green-700 text-white font-bold py-3 px-6 rounded-lg transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-green-500 focus:ring-opacity-50" : "w-full sm:w-auto bg-gray-400 text-gray-700 font-bold py-3 px-6 rounded-lg cursor-not-allowed opacity-50"; const handleAuthNavigate = (page) => { if (isLoggedIn) { onNavigate(page); } }; return ( <div className="flex flex-col items-center justify-center min-h-screen bg-gray-100 dark:bg-gray-900 text-gray-900 dark:text-gray-100 p-4"> <div className="bg-white dark:bg-gray-800 p-8 sm:p-12 rounded-lg shadow-xl text-center max-w-2xl w-full"> <h1 className="text-4xl font-bold text-blue-600 dark:text-blue-400 mb-4"> Welcome to Cortex AI! 🧠 </h1> <p className="text-lg text-gray-700 dark:text-gray-300 mb-8"> The on-premise AI platform for seamless, secure, and intelligent workflows. Leverage advanced RAG, VectorDB, and TTS/STT features in a single powerful hub. </p> {/* New section for Coding Assistant highlights */} <div className="mt-8 mb-8 text-left bg-gray-200 dark:bg-gray-700 p-6 rounded-lg"> <h2 className="text-2xl font-semibold text-gray-800 dark:text-gray-200 mb-2"> Supercharge Your Coding with AI 🤖 </h2> <p className="text-gray-600 dark:text-gray-400"> Our powerful AI assistant goes beyond simple chat. It can <strong>access your local directory</strong>, <strong>navigate your file system</strong>, and <strong>understand and parse your files</strong>. Get instant, intelligent answers to your coding questions directly from your codebase. </p> </div> <div className="flex flex-col sm:flex-row justify-center space-y-4 sm:space-y-0 sm:space-x-4"> <button onClick={() => handleAuthNavigate("voice-chat")} className={buttonStyle(isLoggedIn)} disabled={!isLoggedIn} > Start Voice Chat 🔊 </button> <button onClick={() => handleAuthNavigate("coding-assistant")} className={codeAssistantButtonStyle(isLoggedIn)} disabled={!isLoggedIn} > Code Assistant 💻 </button> {isLoggedIn ? ( <button onClick={onLogout} className="w-full sm:w-auto bg-red-500 hover:bg-red-600 text-white font-bold py-3 px-6 rounded-lg transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-red-400 focus:ring-opacity-50" > Log Out 🔒 </button> ) : ( <button onClick={() => onNavigate("login")} className="w-full sm:w-auto bg-gray-500 hover:bg-gray-600 text-white font-bold py-3 px-6 rounded-lg transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-opacity-50" > Log In 🔐 </button> )} </div> </div> </div> ); }; export default HomePage;