From 218670d336509dabcdf739fb1d05cae8e5d27ebf Mon Sep 17 00:00:00 2001 From: azeeee05 Date: Thu, 9 Jul 2026 10:40:10 +0530 Subject: [PATCH] feat: implement cohort creation and editing modal with multi-step wizard and success feedback --- src/app/cohartManage/components/AddCohart.tsx | 20 +++- src/assets/icons/SuccessTick.png | Bin 0 -> 24212 bytes src/components/custom/CustomSuccessModal.tsx | 90 +++++++++++------- 3 files changed, 72 insertions(+), 38 deletions(-) create mode 100644 src/assets/icons/SuccessTick.png diff --git a/src/app/cohartManage/components/AddCohart.tsx b/src/app/cohartManage/components/AddCohart.tsx index 2f89fc6..2c80eea 100644 --- a/src/app/cohartManage/components/AddCohart.tsx +++ b/src/app/cohartManage/components/AddCohart.tsx @@ -10,6 +10,7 @@ import { CustomRadio, CustomCheckBox, } from '../../../components/custom'; +import CustomSuccessModal from '../../../components/custom/CustomSuccessModal'; import { createCohart, updateCohart } from '../CohartManageApi'; import { getCabinClasses, @@ -135,6 +136,7 @@ export default function AddCohart({ isOpen, onClose, onSuccess, editData }: AddC const [submitting, setSubmitting] = useState(false); const [error, setError] = useState(null); const [openSection, setOpenSection] = useState('passenger'); + const [showSuccessModal, setShowSuccessModal] = useState(false); // Step 1 const [stepOne, setStepOne] = useState(EMPTY_STEP_ONE); @@ -240,8 +242,7 @@ export default function AddCohart({ isOpen, onClose, onSuccess, editData }: AddC await createCohart(payload); } - handleClose(); - onSuccess(); + setShowSuccessModal(true); } catch { setError(`Failed to ${isEditMode ? 'update' : 'create'} cohort. Please try again.`); } finally { @@ -315,6 +316,7 @@ export default function AddCohart({ isOpen, onClose, onSuccess, editData }: AddC // ─── Render ──────────────────────────────────────────────────────────────── return ( + <> + + { + setShowSuccessModal(false); + handleClose(); + onSuccess(); + }} + title={isEditMode ? "Cohort Updated Successfully." : "Cohort Created Successfully."} + cohortName={stepOne.name} + cohortStatus={stepOne.status} + cohortDescription={stepOne.description} + /> + ); } diff --git a/src/assets/icons/SuccessTick.png b/src/assets/icons/SuccessTick.png new file mode 100644 index 0000000000000000000000000000000000000000..d83c16221faec355cf075ef7037b54244ae6aa3e GIT binary patch literal 24212 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 literal 0 HcmV?d00001 diff --git a/src/components/custom/CustomSuccessModal.tsx b/src/components/custom/CustomSuccessModal.tsx index 7b16271..94bab51 100644 --- a/src/components/custom/CustomSuccessModal.tsx +++ b/src/components/custom/CustomSuccessModal.tsx @@ -1,19 +1,25 @@ import React, { useEffect } from "react"; +import { createPortal } from "react-dom"; +import { X } from "lucide-react"; +import CustomStatus from "./CustomStatus"; +import SuccessTick from "../../assets/icons/SuccessTick.png"; interface CustomSuccessModalProps { isOpen: boolean; onClose: () => void; title?: string; - description?: string; - buttonText?: string; + cohortName?: string; + cohortStatus?: string; + cohortDescription?: string; } const CustomSuccessModal: React.FC = ({ isOpen, onClose, - title = "Success!", - description = "Your action has been completed successfully.", - buttonText = "Continue", + title = "Cohort Created Successfully.", + cohortName, + cohortStatus, + cohortDescription, }) => { useEffect(() => { const handleEsc = (e: KeyboardEvent) => { @@ -33,7 +39,7 @@ const CustomSuccessModal: React.FC = ({ if (!isOpen) return null; - return ( + return createPortal(
{/* Overlay */}
= ({ {/* Modal Content */}
+ {/* Close Button */} + + {/* Animated Icon Background */} -
-
- - - -
+
+ Success
{/* Content */} -

+

{title}

-

- {description} -

- {/* Action Button */} - + {cohortName && ( +
+
+
+

+ COHORT NAME +

+

+ {cohortName} +

+
+ {cohortStatus && ( + + )} +
+ + {cohortDescription && ( +
+

+ DESCRIPTION +

+

+ {cohortDescription} +

+
+ )} +
+ )}
-
+
, + document.body ); };