refactor: update SuccessModal and News context for improved state management and clarity

This commit is contained in:
Ardeman
2025-02-25 06:00:12 +08:00
parent 6b2ba85642
commit cf130a00d9
4 changed files with 58 additions and 39 deletions
+24 -21
View File
@@ -31,10 +31,9 @@ const DESCRIPTIONS: DescriptionMap = {
}
export const SuccessModal = ({ isOpen, onClose }: ModalProperties) => {
if (!isOpen) return
const message =
DESCRIPTIONS[isOpen] || 'Terjadi kesalahan. Silakan coba lagi.'
const message = isOpen
? DESCRIPTIONS[isOpen]
: 'Terjadi kesalahan. Silakan coba lagi.'
return (
<Dialog
@@ -48,7 +47,10 @@ export const SuccessModal = ({ isOpen, onClose }: ModalProperties) => {
transition
/>
<div className="fixed inset-0 flex w-screen justify-center overflow-y-auto p-4 max-sm:bg-white sm:items-center">
<DialogPanel className="max-w-lg space-y-6 rounded-lg bg-white p-8 duration-300 ease-out data-[closed]:scale-95 data-[closed]:opacity-0 sm:shadow-lg">
<DialogPanel
className="max-w-lg space-y-6 rounded-lg bg-white p-8 duration-300 ease-out data-[closed]:scale-95 data-[closed]:opacity-0 sm:shadow-lg"
transition
>
<DialogTitle className="relative flex justify-center">
<button
onClick={onClose}
@@ -73,22 +75,23 @@ export const SuccessModal = ({ isOpen, onClose }: ModalProperties) => {
<div className="relative">
<div className="relative flex flex-col items-center justify-center">
<div className="mb-4 p-4 text-center">
{['resetPassword', 'register', 'payment'].includes(isOpen) && (
<div className="justify-center">
<img
src={'/images/back-to-home.svg'}
alt={APP.title}
className="h-[300px]"
/>
<Button
className="mt-5 w-full rounded-md"
variant={'newsPrimary'}
onClick={onClose}
>
Back to Home
</Button>
</div>
)}
{isOpen &&
['resetPassword', 'register', 'payment'].includes(isOpen) && (
<div className="justify-center">
<img
src={'/images/back-to-home.svg'}
alt={APP.title}
className="h-[300px]"
/>
<Button
className="mt-5 w-full rounded-md"
variant={'newsPrimary'}
onClick={onClose}
>
Back to Home
</Button>
</div>
)}
{isOpen === 'warning' && (
<div className="justify-center">
<img