Settings aprroch 1 login overhaul

This commit is contained in:
sageTheDM 2024-09-26 14:57:31 +02:00
parent 1876a3afd8
commit 727c5e540b
2 changed files with 25 additions and 12 deletions

View file

@ -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>
@ -135,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>
@ -163,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>
); );
}; };

View file

@ -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>
); );