forked from React-Group/interstellar_ai
		
	Compare commits
	
		
			7 commits
		
	
	
		
			8a992cc219
			...
			cc9c9df3d7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| cc9c9df3d7 | |||
| 09ca0aa2ad | |||
| 4713b8dac1 | |||
| 727c5e540b | |||
| 1876a3afd8 | |||
| ff335f50bc | |||
| 2cac162ad6 | 
					 6 changed files with 63 additions and 38 deletions
				
			
		|  | @ -11,7 +11,7 @@ const Login: React.FC = () => { | ||||||
|   // Credentials state
 |   // Credentials state
 | ||||||
|   const [email, setEmail] = useState(''); |   const [email, setEmail] = useState(''); | ||||||
|   const [password, setPassword] = useState(''); |   const [password, setPassword] = useState(''); | ||||||
|   const [accountName, setAccountName] = useState(''); // Set the account name
 |   const [accountName, setAccountName] = useState(''); | ||||||
|   const [newAccountEmail, setNewAccountEmail] = useState(''); |   const [newAccountEmail, setNewAccountEmail] = useState(''); | ||||||
|   const [newAccountPassword, setNewAccountPassword] = useState(''); |   const [newAccountPassword, setNewAccountPassword] = useState(''); | ||||||
|   const [newAccountName, setNewAccountName] = useState(''); |   const [newAccountName, setNewAccountName] = useState(''); | ||||||
|  | @ -27,7 +27,7 @@ const Login: React.FC = () => { | ||||||
|   // Function to toggle the sign-up popup
 |   // Function to toggle the sign-up popup
 | ||||||
|   const toggleSignUpPopup = () => { |   const toggleSignUpPopup = () => { | ||||||
|     setShowSignUpPopup(!showSignUpPopup); |     setShowSignUpPopup(!showSignUpPopup); | ||||||
|     setShowLoginPopup(false); // Hide login popup when opening the sign-up popup
 |     setShowLoginPopup(false); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   // Function to handle login
 |   // 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
 |   // Function to handle account creation
 | ||||||
|   const handleCreateAccount = () => { |   const handleCreateAccount = () => { | ||||||
|     console.log('New Account Created:', newAccountEmail, newAccountPassword); |     console.log('New Account Created:', newAccountEmail, newAccountPassword); | ||||||
|  | @ -53,7 +58,6 @@ const Login: React.FC = () => { | ||||||
|   return ( |   return ( | ||||||
|     <div> |     <div> | ||||||
|       {/* Login or Settings Button */} |       {/* Login or Settings Button */} | ||||||
| 
 |  | ||||||
|       <button className='header-login-button' onClick={isLoggedIn ? toggleSettingsPopup : toggleLoginPopup}> |       <button className='header-login-button' onClick={isLoggedIn ? toggleSettingsPopup : toggleLoginPopup}> | ||||||
|         {isLoggedIn ? 'Settings' : 'Log In'} |         {isLoggedIn ? 'Settings' : 'Log In'} | ||||||
|       </button> |       </button> | ||||||
|  | @ -130,7 +134,7 @@ const Login: React.FC = () => { | ||||||
|                 type="text" |                 type="text" | ||||||
|                 placeholder="Name" |                 placeholder="Name" | ||||||
|                 value={newAccountName} |                 value={newAccountName} | ||||||
|                 onChange={(e) => setAccountName(e.target.value)} |                 onChange={(e) => setNewAccountName(e.target.value)} | ||||||
|               /> |               /> | ||||||
|             </div> |             </div> | ||||||
| 
 | 
 | ||||||
|  | @ -158,7 +162,7 @@ const Login: React.FC = () => { | ||||||
|       )} |       )} | ||||||
| 
 | 
 | ||||||
|       {/* Conditional rendering of the Settings Popup */} |       {/* Conditional rendering of the Settings Popup */} | ||||||
|       {showSettingsPopup && <Settings closeSettings={toggleSettingsPopup} accountName={accountName} />} |       {showSettingsPopup && <Settings closeSettings={toggleSettingsPopup} accountName={accountName}/>} | ||||||
|     </div> |     </div> | ||||||
|   ); |   ); | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -19,6 +19,12 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = ( | ||||||
|       return false; // Default to false if item is null or empty
 |       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
 |     // Active section
 | ||||||
|     const [activeSection, setActiveSection] = useState(() => localStorage.getItem('activeSection') || 'general'); |     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)} |                 onChange={(e) => setNewPassword(e.target.value)} | ||||||
|               /> |               /> | ||||||
|             </div> |             </div> | ||||||
|  |             <div className="settings-option"> | ||||||
|  |               <button | ||||||
|  |                 onClick={() => { | ||||||
|  |                   closeSettings(); // Optionally close settings after logout
 | ||||||
|  |                 }} | ||||||
|  |                 className="logout-button" | ||||||
|  |               > | ||||||
|  |                 Logout | ||||||
|  |               </button> | ||||||
|  |             </div> | ||||||
|           </div> |           </div> | ||||||
|         ); |         ); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -20,3 +20,4 @@ export const exportSettings = (settings: any) => { | ||||||
|     reader.readAsText(file); |     reader.readAsText(file); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |    | ||||||
|  | @ -1,18 +1,19 @@ | ||||||
| import Header from "./components/Header"; | import { ReactNode } from 'react'; | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| export const metadata = { | export const metadata = { | ||||||
|   title: 'AI Assistant | Interstellar Development', |   title: 'AI Assistant | Interstellar Development', | ||||||
|   description: 'A little AI chat that is able to assist you in little tasks', |   description: 'A little AI chat that is able to assist you in little tasks', | ||||||
| } | }; | ||||||
| 
 | 
 | ||||||
| export default function RootLayout({ | export default function RootLayout({ children }: { children: ReactNode }) { | ||||||
|   children, |  | ||||||
| }: { |  | ||||||
|   children: React.ReactNode |  | ||||||
| }) { |  | ||||||
|   return ( |   return ( | ||||||
|     <html lang="en"> |     <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> |       <body> | ||||||
|         <main>{children}</main> |         <main>{children}</main> | ||||||
|       </body> |       </body> | ||||||
|  |  | ||||||
|  | @ -7,6 +7,7 @@ import Documentation from './components/Documentation'; // Ensure the import pat | ||||||
| import History from './components/History'; | import History from './components/History'; | ||||||
| import Models from './components/Models'; | import Models from './components/Models'; | ||||||
| import Credits from './components/Credits'; | import Credits from './components/Credits'; | ||||||
|  | import Head from 'next/head'; | ||||||
| import './styles/master.css'; | import './styles/master.css'; | ||||||
| 
 | 
 | ||||||
| const LandingPage: React.FC = () => { | const LandingPage: React.FC = () => { | ||||||
|  | @ -51,6 +52,7 @@ const LandingPage: React.FC = () => { | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   return ( |   return ( | ||||||
|  |     <> | ||||||
|       <div className="container"> |       <div className="container"> | ||||||
|         <Header |         <Header | ||||||
|           toggleDivs={toggleDivs} |           toggleDivs={toggleDivs} | ||||||
|  | @ -74,6 +76,7 @@ const LandingPage: React.FC = () => { | ||||||
|           {view === 'Credits' && <Credits />} {/* Now Credits will render properly */} |           {view === 'Credits' && <Credits />} {/* Now Credits will render properly */} | ||||||
|         </div> |         </div> | ||||||
|       </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