const ManageOrganization1 = ({ projectOrganizations = [], organizationId = null, }) => { const [step, setStep] = useState(1); // default = scenario decision const orgModal = useOrganizationModal(); const { data: services, isLoading } = useServices(); const method = useForm({ resolver: zodResolver(organizationSchema), defaultValues: defaultOrganizationValues, }); const { handleSubmit, register, reset, formState: { errors }, } = method; const { mutate: CreateOrganization, isPending } = useCreateOrganization( () => { reset(defaultOrganizationValues); orgModal.onClose(); setStep(1); // reset to first step } ); // 🔹 Decide first step when modal opens useEffect(() => { if (orgModal.isOpen) { if (organizationId) { setStep(3); // update flow → show org details directly } else if (projectOrganizations && projectOrganizations.length > 0) { setStep(1); // Scenario 1 → from current tenant list } else { setStep(2); // Scenario 2 → search with SPRID } } }, [orgModal.isOpen, organizationId, projectOrganizations]); const onSubmit = (OrgPayload) => { CreateOrganization(OrgPayload); }; const RenderTitle = useMemo(() => { if (organizationId) return "Update Organization"; if (step === 1) return "Add Organization"; // current tenant if (step === 2) return "Find Organization"; // search with SPRID if (step === 3) return "Organization Details"; if (step === 4) return "Create Organization"; return "Manage Organization"; }, [step, organizationId]); const contentBody = (
Show organization details here (from SPR or tenant list). User selects services and clicks Add.