Settings aprroch 1 login overhaul
This commit is contained in:
parent
1876a3afd8
commit
727c5e540b
2 changed files with 25 additions and 12 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
|
||||||
|
@ -42,7 +42,8 @@ const Login: React.FC = () => {
|
||||||
|
|
||||||
const handleLogout = () => {
|
const handleLogout = () => {
|
||||||
setIsLoggedIn(false);
|
setIsLoggedIn(false);
|
||||||
}
|
setShowSettingsPopup(false); // Optionally close settings popup on logout
|
||||||
|
};
|
||||||
|
|
||||||
// Function to handle account creation
|
// Function to handle account creation
|
||||||
const handleCreateAccount = () => {
|
const handleCreateAccount = () => {
|
||||||
|
@ -53,12 +54,10 @@ const Login: React.FC = () => {
|
||||||
|
|
||||||
// Function to toggle the settings popup
|
// Function to toggle the settings popup
|
||||||
const toggleSettingsPopup = () => setShowSettingsPopup(!showSettingsPopup);
|
const toggleSettingsPopup = () => setShowSettingsPopup(!showSettingsPopup);
|
||||||
const isStartedAsLogOut = 'false'
|
|
||||||
|
|
||||||
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>
|
||||||
|
@ -129,13 +128,13 @@ const Login: React.FC = () => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* New Account Name Input */}
|
{/* New Account Name Input */}
|
||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
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,12 +157,12 @@ const Login: React.FC = () => {
|
||||||
<button className="close-popup" onClick={toggleSignUpPopup} aria-label="Close popup">
|
<button className="close-popup" onClick={toggleSignUpPopup} aria-label="Close popup">
|
||||||
Close
|
Close
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* 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,8 +848,16 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
|
||||||
onChange={(e) => setNewPassword(e.target.value)}
|
onChange={(e) => setNewPassword(e.target.value)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
{/* Logout Button */}
|
<div className="settings-option">
|
||||||
|
<button
|
||||||
|
onClick={() => {
|
||||||
|
closeSettings(); // Optionally close settings after logout
|
||||||
|
}}
|
||||||
|
className="logout-button"
|
||||||
|
>
|
||||||
|
Logout
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue