diff --git a/app/components/popup/modal.tsx b/app/components/popup/modal.tsx index fa40245..d814d6f 100644 --- a/app/components/popup/modal.tsx +++ b/app/components/popup/modal.tsx @@ -7,6 +7,7 @@ import { } from '@headlessui/react' import type { ReactNode } from 'react' +import { LeftArrow } from '~/components/icons/left-arrow' import { APP } from '~/data/meta' type ModalProperties = { @@ -34,8 +35,17 @@ export const PopupModal = ({ className="fixed inset-0 bg-black/50 duration-300 ease-out data-[closed]:opacity-0" transition /> -
- +
+ + {APP.title} diff --git a/app/components/ui/form-login.tsx b/app/components/ui/form-login.tsx index 9c84f0b..dff3dcd 100644 --- a/app/components/ui/form-login.tsx +++ b/app/components/ui/form-login.tsx @@ -1,6 +1,5 @@ // import { EyeIcon, EyeOffIcon } from 'lucide-react' import { useState, type Dispatch, type SetStateAction } from 'react' -import { Link } from 'react-router' import { EyeIcon } from '~/components/icons/eye' @@ -9,10 +8,11 @@ import { Button } from './button' type TProperties = { setIsRegisterOpen: Dispatch> setIsLoginOpen: Dispatch> + setIsForgetOpen: Dispatch> } export const FormLogin = (properties: TProperties) => { - const { setIsRegisterOpen, setIsLoginOpen } = properties + const { setIsRegisterOpen, setIsLoginOpen, setIsForgetOpen } = properties const [showPassword, setShowPassword] = useState(false) return ( @@ -67,14 +67,18 @@ export const FormLogin = (properties: TProperties) => {
{/* Lupa Kata Sandi */} -
+
Lupa Kata Sandi? - { + setIsLoginOpen(false) + setIsForgetOpen(true) + }} className="font-semibold text-[#2E2F7C]" + variant="link" > Reset Kata Sandi - +
{/* Tombol Masuk */} diff --git a/app/contexts/news.tsx b/app/contexts/news.tsx index e338fe1..54a00ea 100644 --- a/app/contexts/news.tsx +++ b/app/contexts/news.tsx @@ -12,6 +12,8 @@ type NewsContextProperties = { setIsLoginOpen: Dispatch> isRegisterOpen: boolean setIsRegisterOpen: Dispatch> + isForgetOpen: boolean + setForgetOpen: Dispatch> } const NewsContext = createContext(undefined) @@ -19,10 +21,18 @@ const NewsContext = createContext(undefined) export const NewsProvider = ({ children }: PropsWithChildren) => { const [isLoginOpen, setIsLoginOpen] = useState(false) const [isRegisterOpen, setIsRegisterOpen] = useState(false) + const [isForgetOpen, setForgetOpen] = useState(false) return ( {children} diff --git a/app/layouts/news/default.tsx b/app/layouts/news/default.tsx index ad3c2ae..9683fae 100644 --- a/app/layouts/news/default.tsx +++ b/app/layouts/news/default.tsx @@ -2,6 +2,7 @@ import { type PropsWithChildren } from 'react' import { PopupModal } from '~/components/popup/modal' import Banner from '~/components/ui/banner' +import FormForgotPassword from '~/components/ui/form-forgot-password' import { FormLogin } from '~/components/ui/form-login' import { FormRegister } from '~/components/ui/form-register' import { useNewsContext } from '~/contexts/news' @@ -13,8 +14,14 @@ import { HeaderTop } from './header-top' export const NewsDefaultLayout = (properties: PropsWithChildren) => { const { children } = properties - const { isLoginOpen, setIsLoginOpen, isRegisterOpen, setIsRegisterOpen } = - useNewsContext() + const { + isLoginOpen, + setIsLoginOpen, + isRegisterOpen, + setIsRegisterOpen, + isForgetOpen, + setForgetOpen, + } = useNewsContext() return (
@@ -39,16 +46,25 @@ export const NewsDefaultLayout = (properties: PropsWithChildren) => { setIsRegisterOpen(false)} - description="Selamat Datang, silakan daftarkan akun Anda untuk melanjutkan!" + description="Selamat Datang, silakan isi keterangan akun Anda untuk melanjutkan!" > + + setForgetOpen(false)} + description="Selamat Datang, silakan isi keterangan akun Anda untuk melanjutkan!" + > + +
) }