"use client"; import React, { useState } from "react"; import Link from "next/link"; import Cookies from "js-cookie"; import { close, error, loading } from "@/config/swal"; import { useRouter } from "next/navigation"; import Swal from "sweetalert2"; import withReactContent from "sweetalert2-react-content"; import { Input } from "../ui/input"; import { Button } from "../ui/button"; import { Label } from "../ui/label"; import { EyeSlashFilledIcon, EyeFilledIcon } from "../icons"; import Image from "next/image"; import { EyeOff, Eye } from "lucide-react"; export default function Login() { const router = useRouter(); const [isVisible, setIsVisible] = useState(false); const [isVisibleSetup, setIsVisibleSetup] = useState([false, false]); const [oldEmail, setOldEmail] = useState(""); const [newEmail, setNewEmail] = useState(""); const toggleVisibility = () => setIsVisible(!isVisible); const [needOtp, setNeedOtp] = useState(false); const [isFirstLogin, setFirstLogin] = useState(false); const [otpValue, setOtpValue] = useState(""); const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [showPassword, setShowPassword] = useState(false); const setValUsername = (e: any) => { const uname = e.replaceAll(/[^\w.-]/g, ""); setUsername(uname.toLowerCase()); }; const onSubmit = async () => { if (!username || !password) { error("Username & Password Wajib Diisi !"); return; } loading(); setTimeout(() => { const users = [ { username: "admin", password: "admin123", role: "Admin", redirect: "/admin/dashboard", }, { username: "approver", password: "approver123", role: "Approver", redirect: "/admin/dashboard", }, { username: "kontributor", password: "kontributor123", role: "Kontributor", redirect: "/admin/dashboard", }, ]; const foundUser = users.find( (u) => u.username === username && u.password === password, ); if (!foundUser) { close(); error("Username / Password Tidak Sesuai"); return; } // Dummy Token const fakeToken = `dummy-token-${foundUser.role}`; const fakeRefresh = `dummy-refresh-${foundUser.role}`; const newTime = (new Date().getTime() + 10 * 60 * 1000).toString(); Cookies.set("time_refresh", newTime, { expires: 1 }); Cookies.set("access_token", fakeToken, { expires: 1 }); Cookies.set("refresh_token", fakeRefresh, { expires: 1 }); Cookies.set("time_refresh", newTime, { expires: 1 }); Cookies.set("username", foundUser.username); Cookies.set("fullname", foundUser.role); Cookies.set("roleName", foundUser.role); Cookies.set("status", "login"); close(); router.push(foundUser.redirect); }, 1000); }; return (
{/* LEFT IMAGE SECTION */}
Login Illustration
{/* RIGHT FORM SECTION */}
{/* LOGO */}
Qudoco Logo
{/* TITLE */}

Welcome Back

{/* FORM */}
{/* Username */}
setValUsername(e.target.value)} className="w-full border-b border-gray-300 focus:border-[#9c6b16] outline-none py-2 bg-transparent transition" />
{/* Password */}
setPassword(e.target.value)} className="w-full border-b border-gray-300 focus:border-[#9c6b16] outline-none py-2 pr-10 bg-transparent transition" />
{/* BUTTON */}
{/* REGISTER */}

Don’t have an account?{" "} Register

{/* FOOTER */}
Terms Privacy Policy Security
© 2024 Copyrights by company. All Rights Reserved.
Designed by Qudoco Team
); }