forked from React-Group/interstellar_ai
		
	main #28
					 6 changed files with 63 additions and 38 deletions
				
			
		|  | @ -11,7 +11,7 @@ const Login: React.FC = () => { | |||
|   // Credentials state
 | ||||
|   const [email, setEmail] = useState(''); | ||||
|   const [password, setPassword] = useState(''); | ||||
|   const [accountName, setAccountName] = useState(''); // Set the account name
 | ||||
|   const [accountName, setAccountName] = useState(''); | ||||
|   const [newAccountEmail, setNewAccountEmail] = useState(''); | ||||
|   const [newAccountPassword, setNewAccountPassword] = useState(''); | ||||
|   const [newAccountName, setNewAccountName] = useState(''); | ||||
|  | @ -27,7 +27,7 @@ const Login: React.FC = () => { | |||
|   // Function to toggle the sign-up popup
 | ||||
|   const toggleSignUpPopup = () => { | ||||
|     setShowSignUpPopup(!showSignUpPopup); | ||||
|     setShowLoginPopup(false); // Hide login popup when opening the sign-up popup
 | ||||
|     setShowLoginPopup(false); | ||||
|   }; | ||||
| 
 | ||||
|   // Function to handle login
 | ||||
|  | @ -40,6 +40,11 @@ const Login: React.FC = () => { | |||
|     } | ||||
|   }; | ||||
| 
 | ||||
|   const handleLogout = () => { | ||||
|     setIsLoggedIn(false); | ||||
|     setShowSettingsPopup(false); // Optionally close settings popup on logout
 | ||||
|   }; | ||||
| 
 | ||||
|   // Function to handle account creation
 | ||||
|   const handleCreateAccount = () => { | ||||
|     console.log('New Account Created:', newAccountEmail, newAccountPassword); | ||||
|  | @ -53,7 +58,6 @@ const Login: React.FC = () => { | |||
|   return ( | ||||
|     <div> | ||||
|       {/* Login or Settings Button */} | ||||
| 
 | ||||
|       <button className='header-login-button' onClick={isLoggedIn ? toggleSettingsPopup : toggleLoginPopup}> | ||||
|         {isLoggedIn ? 'Settings' : 'Log In'} | ||||
|       </button> | ||||
|  | @ -130,7 +134,7 @@ const Login: React.FC = () => { | |||
|                 type="text" | ||||
|                 placeholder="Name" | ||||
|                 value={newAccountName} | ||||
|                 onChange={(e) => setAccountName(e.target.value)} | ||||
|                 onChange={(e) => setNewAccountName(e.target.value)} | ||||
|               /> | ||||
|             </div> | ||||
| 
 | ||||
|  | @ -158,7 +162,7 @@ const Login: React.FC = () => { | |||
|       )} | ||||
| 
 | ||||
|       {/* Conditional rendering of the Settings Popup */} | ||||
|       {showSettingsPopup && <Settings closeSettings={toggleSettingsPopup} accountName={accountName} />} | ||||
|       {showSettingsPopup && <Settings closeSettings={toggleSettingsPopup} accountName={accountName}/>} | ||||
|     </div> | ||||
|   ); | ||||
| }; | ||||
|  |  | |||
|  | @ -19,6 +19,12 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = ( | |||
|       return false; // Default to false if item is null or empty
 | ||||
|     }; | ||||
| 
 | ||||
|     interface SettingsProps { | ||||
|       closeSettings: () => void; | ||||
|       accountName: string; | ||||
|       handleLogout: () => void; // Add this line to accept handleLogout as a prop
 | ||||
|     } | ||||
| 
 | ||||
|     // Active section
 | ||||
|     const [activeSection, setActiveSection] = useState(() => localStorage.getItem('activeSection') || 'general'); | ||||
| 
 | ||||
|  | @ -842,6 +848,16 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = ( | |||
|                 onChange={(e) => setNewPassword(e.target.value)} | ||||
|               /> | ||||
|             </div> | ||||
|             <div className="settings-option"> | ||||
|               <button | ||||
|                 onClick={() => { | ||||
|                   closeSettings(); // Optionally close settings after logout
 | ||||
|                 }} | ||||
|                 className="logout-button" | ||||
|               > | ||||
|                 Logout | ||||
|               </button> | ||||
|             </div> | ||||
|           </div> | ||||
|         ); | ||||
| 
 | ||||
|  |  | |||
|  | @ -20,3 +20,4 @@ export const exportSettings = (settings: any) => { | |||
|     reader.readAsText(file); | ||||
|   }; | ||||
| 
 | ||||
|    | ||||
|  | @ -1,18 +1,19 @@ | |||
| import Header from "./components/Header"; | ||||
| 
 | ||||
| import { ReactNode } from 'react'; | ||||
| 
 | ||||
| export const metadata = { | ||||
|   title: 'AI Assistant | Interstellar Development', | ||||
|   description: 'A little AI chat that is able to assist you in little tasks', | ||||
| } | ||||
| }; | ||||
| 
 | ||||
| export default function RootLayout({ | ||||
|   children, | ||||
| }: { | ||||
|   children: React.ReactNode | ||||
| }) { | ||||
| export default function RootLayout({ children }: { children: ReactNode }) { | ||||
|   return ( | ||||
|     <html lang="en"> | ||||
|       <head> | ||||
|         <title>{metadata.title}</title> | ||||
|         <meta name="description" content={metadata.description} /> | ||||
|         {/* Tried adding the favicon here */} | ||||
|         <link rel="icon" href="./public/favicon.ico" type="image/x-icon" /> | ||||
|       </head> | ||||
|       <body> | ||||
|         <main>{children}</main> | ||||
|       </body> | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ import Documentation from './components/Documentation'; // Ensure the import pat | |||
| import History from './components/History'; | ||||
| import Models from './components/Models'; | ||||
| import Credits from './components/Credits'; | ||||
| import Head from 'next/head'; | ||||
| import './styles/master.css'; | ||||
| 
 | ||||
| const LandingPage: React.FC = () => { | ||||
|  | @ -51,6 +52,7 @@ const LandingPage: React.FC = () => { | |||
|   }; | ||||
| 
 | ||||
|   return ( | ||||
|     <> | ||||
|       <div className="container"> | ||||
|         <Header | ||||
|           toggleDivs={toggleDivs} | ||||
|  | @ -74,6 +76,7 @@ const LandingPage: React.FC = () => { | |||
|           {view === 'Credits' && <Credits />} {/* Now Credits will render properly */} | ||||
|         </div> | ||||
|       </div> | ||||
|     </> | ||||
|   ); | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										
											BIN
										
									
								
								public/favicon.ico
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								public/favicon.ico
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 4.2 KiB | 
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue