mirror of
https://github.com/ceratic/project_vollidioten_website.git
synced 2026-05-14 00:16:47 +02:00
Refactor CityProfile and PlayerProfile components for improved data fetching and error handling; add NPC management modals for banner, gallery, and logo with enhanced user experience and error feedback.
This commit is contained in:
@@ -34,6 +34,10 @@ const NavItem = ({
|
||||
const Layout: React.FC<LayoutProps> = ({ children, activeTab, onNavigate }) => {
|
||||
const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
|
||||
const [user, setUser] = useState<DiscordUser | null>(null);
|
||||
const [rememberMe, setRememberMe] = useState(() => {
|
||||
// Load remember me preference from localStorage
|
||||
return localStorage.getItem('rememberMe') === 'true';
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
// Subscribe to auth changes
|
||||
@@ -151,13 +155,28 @@ const Layout: React.FC<LayoutProps> = ({ children, activeTab, onNavigate }) => {
|
||||
</button>
|
||||
</div>
|
||||
) : (
|
||||
<button
|
||||
onClick={() => authService.login()}
|
||||
className="flex items-center gap-2 text-textMain hover:text-accentInfo transition-colors font-medium"
|
||||
>
|
||||
<Icons.Users className="w-4 h-4" />
|
||||
<span>Discord Login</span>
|
||||
</button>
|
||||
<div className="flex items-center gap-2">
|
||||
<button
|
||||
onClick={() => authService.login(rememberMe)}
|
||||
className="flex items-center gap-2 text-textMain hover:text-accentInfo transition-colors font-medium text-sm"
|
||||
>
|
||||
<Icons.Users className="w-4 h-4" />
|
||||
<span>Discord Login</span>
|
||||
</button>
|
||||
<label className="flex items-center gap-1 text-xs text-textMuted cursor-pointer">
|
||||
<input
|
||||
type="checkbox"
|
||||
checked={rememberMe}
|
||||
onChange={(e) => {
|
||||
setRememberMe(e.target.checked);
|
||||
// Store preference for next login
|
||||
localStorage.setItem('rememberMe', e.target.checked.toString());
|
||||
}}
|
||||
className="w-3 h-3 text-accentInfo bg-surface border-border rounded focus:ring-accentInfo"
|
||||
/>
|
||||
<span>Remember me (30 days)</span>
|
||||
</label>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user