import { useState } from "react"; import { useAuthContext, ToggleLanguage, ToggleTheme, useLangContext, useThemeContext } from "@aabdelmonaem/core-lib"; import { useLocation, useNavigate } from "react-router-dom"; import styles from './login.module.css'; import { IconEyeFill, IconEyeSlashFill, MoonIcon, SunIcon } from "../../common/iconComponents"; const LoginView = () => { const navigate = useNavigate(); const location = useLocation(); const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [errorMessages, setErrorMessages] = useState({} as any); const [loginMessages, setLoginMessages] = useState(""); const auth = useAuthContext(); const { t, isEnglish } = useLangContext(); const { theme } = useThemeContext(); let from = location.state?.from?.pathname || "/"; const [showPassword, setShowPassword] = useState(false); const handleUsernameChange = (e:any) => { setUsername(e.target.value); }; const handlePasswordChange = (e:any) => { setPassword(e.target.value); }; const handleSubmit = (e:any) => { e.preventDefault(); setLoginMessages(""); auth.signin(username, password, (message) => { if (message !== undefined && message !== null) { setLoginMessages(message); } else { navigate(from, { replace: true }); } }); }; const renderErrorMessage = (name:any) => name === errorMessages.name && (
{errorMessages.message}
); const loginErrorMessage = () => (
{loginMessages}
); return ( <>
{/*
*/}

{t("loginHeader")}

{renderErrorMessage("uname")}
setShowPassword(!showPassword)} > {!showPassword ? : < IconEyeSlashFill />}
{renderErrorMessage("pass")}
{loginErrorMessage()}
{theme === "dark" ? ( ) : ( )} {isEnglish() ? ( ع ) : ( E )}
) }; export default LoginView;