diff --git a/app/components/Login.tsx b/app/components/Login.tsx index 665a7b3..ade180b 100644 --- a/app/components/Login.tsx +++ b/app/components/Login.tsx @@ -47,13 +47,10 @@ const Login: React.FC = () => { const savedAccountPassword = localStorage.getItem('accountPassword'); const savedAccountName = localStorage.getItem('accountName'); - if ( - (email === savedAccountEmail || accountName === savedAccountName) && - password === savedAccountPassword - ) { + if ((email === savedAccountEmail || accountName === savedAccountName) && password === savedAccountPassword) { setIsLoggedIn(true); // Successful login setShowLoginPopup(false); // Close the login popup - // Save credentials to localStorage (optional in case of changes) + // Save credentials to localStorage localStorage.setItem('accountName', savedAccountName || accountName); localStorage.setItem('accountEmail', savedAccountEmail || email); localStorage.setItem('accountPassword', savedAccountPassword || password); @@ -78,7 +75,7 @@ const Login: React.FC = () => {
{/* Login or Settings Button */} {/* Conditional rendering of the Login Popup */} @@ -97,12 +94,8 @@ const Login: React.FC = () => { { - const input = e.target.value; - setEmail(input); // Update both email and accountName states - setAccountName(input); - }} + value={email} + onChange={(e) => setEmail(e.target.value)} />
@@ -185,7 +178,7 @@ const Login: React.FC = () => { )} {/* Conditional rendering of the Settings Popup */} - {showSettingsPopup && } + {showSettingsPopup && } ); }; diff --git a/app/components/Models.tsx b/app/components/Models.tsx index cf84932..4a1fb90 100644 --- a/app/components/Models.tsx +++ b/app/components/Models.tsx @@ -30,12 +30,12 @@ const modelDropdown = { const Models: React.FC = () => { // Initialize state with value from localStorage or default to '' const [radioSelection, setRadioSelection] = useState(''); - + useEffect(() => { const handleStorageChange = () => { setRadioSelection(localStorage.getItem('radioSelection') || ''); }; - handleStorageChange(); + handleStorageChange() // Update dropdown immediately when localStorage changes internally or externally window.addEventListener('storage', handleStorageChange); @@ -54,58 +54,52 @@ const Models: React.FC = () => { // Determine the filtered models based on current radioSelection const filteredModels = (() => { - let models = []; switch (radioSelection) { case 'Offline': - models = modelDropdown.offlineModels; // Show only offline models - break; + return modelDropdown.offlineModels; // Show only offline models case 'AI Online': - models = modelDropdown.onlineModels; // Show only online models - break; + return modelDropdown.onlineModels; // Show only online models case 'FOSS': - models = modelDropdown.fossModels; // Show only FOSS models - break; + return modelDropdown.fossModels; // Show only FOSS models default: - models = [...modelDropdown.offlineModels, ...modelDropdown.onlineModels, ...modelDropdown.fossModels]; // Show all models if nothing matches - break; + return [...modelDropdown.offlineModels, ...modelDropdown.onlineModels, ...modelDropdown.fossModels]; // Show all models if nothing matches } - return Array.from(new Set(models)); // Remove duplicates using Set })(); const isOfflineModel = (model: string) => modelDropdown.offlineModels.includes(model); return (
-
-
-

Different AI Models

-
+
+
+

Different AI Models

+
- {/* Model Selection Dropdown */} -
- - -
- - {/* Model Grid with Cards */} -
- {['Code', 'Math', 'Language', 'Character', 'Finance', 'Weather', 'Time', 'Image', 'Custom1', 'Custom2'].map((category) => ( - + {/* Model Selection Dropdown */} +
+ + +
+ + {/* Model Grid with Cards */} +
+ {['Code', 'Math', 'Language', 'Character', 'Finance', 'Weather', 'Time', 'Image', 'Custom1', 'Custom2'].map((category) => ( + + ))}
+
); }; diff --git a/app/layout.tsx b/app/layout.tsx index 0425420..8070a08 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -12,7 +12,7 @@ export default function RootLayout({ children }: { children: ReactNode }) { {metadata.title} {/* Tried adding the favicon here */} - +
{children}