Spaces:
Paused
Paused
File size: 1,282 Bytes
c62de68 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import React, { createContext, useContext, useState } from 'react';
const AuthContext = createContext();
export const AuthProvider = ({ children }) => {
const [user, setUser] = useState(() => {
const saved = localStorage.getItem('prestacaja_user');
return saved ? JSON.parse(saved) : null;
});
const [isLoggingOut, setIsLoggingOut] = useState(false);
const login = (email, password) => {
if (email === 'patricia_admin@gmail.com' && password === 'patricia2026@mtz') {
const userData = {
email: 'patricia_admin@gmail.com',
name: 'PATRICIA FERNANDEZ CUEVAS',
role: 'ADMINISTRADOR',
id: 'admin_1'
};
setUser(userData);
localStorage.setItem('prestacaja_user', JSON.stringify(userData));
return { success: true };
}
return { success: false, message: 'Nombre de usuario o contraseña incorrectos.' };
};
const logout = () => {
setIsLoggingOut(true);
setTimeout(() => {
setUser(null);
localStorage.removeItem('prestacaja_user');
setIsLoggingOut(false);
}, 2200);
};
return (
<AuthContext.Provider value={{ user, login, logout, isLoggingOut }}>
{children}
</AuthContext.Provider>
);
};
export const useAuth = () => useContext(AuthContext);
|