import React, { useState } from 'react'; import { login } from '../api/auth'; import { Link } from 'react-router-dom'; import { colors } from '../theme'; export default function Login() { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const [showPassword, setShowPassword] = useState(false); const handleSubmit = async (e) => { e.preventDefault(); setError(''); setLoading(true); try { const data = await login(username, password); localStorage.setItem('access', data.access); localStorage.setItem('refresh', data.refresh); // Disparar evento personalizado para que el navbar se actualice window.dispatchEvent(new CustomEvent('authStateChanged')); // Redirigir al dashboard window.location.href = '/admin'; } catch (err) { setError('Usuario o contraseña incorrectos'); } finally { setLoading(false); } }; return ( <>
{/* Background pattern */}
{/* Main Card */}
{/* Header with navy background */}

EFC

Bienvenido de vuelta

Inicia sesión para acceder a tu plataforma aduanal

{/* Form */}
{/* Username Field */}
setUsername(e.target.value)} />
{/* Password Field */}
setPassword(e.target.value)} />
{/* Error Message */} {error && (

{error}

)} {/* Login Button */}
{/* Additional Links */}
{/* Footer */}

Desarrollado por @AduanaSoft

Solución especializada para Agentes Aduanales

{/* Floating elements with new colors */}
); }
{/* Main Card */}
{/* Header with gradient */}

EFC

Bienvenido de vuelta

Inicia sesión para acceder a tu plataforma aduanal

{/* Form */}
{/* Username Field */}
setUsername(e.target.value)} />
{/* Password Field */}
setPassword(e.target.value)} />
{/* Error Message */} {error && (

{error}

)} {/* Login Button */}
{/* Additional Links */}
Volver al inicio
{/* Footer */}

Desarrollado por @AduanaSoft

Solución especializada para Agentes Aduanales

{/* Floating elements */}
); }