import { zodResolver } from "@hookform/resolvers/zod"; import React, { useMemo, useState } from "react"; import { FormProvider, useForm } from "react-hook-form"; import { defaultOrganizationValues, organizationSchema, } from "./OrganizationSchema"; import Modal from "../common/Modal"; import { useCreateOrganization, useOrganizationBySPRID, useOrganizationModal, useOrganizationsList, } from "../../hooks/useOrganization"; import Label from "../common/Label"; import SelectMultiple from "../common/SelectMultiple"; import { useServices } from "../../hooks/masterHook/useMaster"; const ManageOrganization = ({ projectOrganizations = ["ee"], organizationId = null, }) => { const [step, setStep] = useState(1); const orgModal = useOrganizationModal(); const { data: masterService, isLoading } = useServices(); const [searchText, setSearchText] = useState(); const [SPRID, setSPRID] = useState(""); const { data: orgList, isLoading: orgLoading } = useOrganizationsList( 20, 1, true, searchText ); const { data: OrgListbySPRID, isLoading: isLoadingBySPRID } = useOrganizationBySPRID(SPRID); const [Organization, setOrganization] = useState({}); const method = useForm({ resolver: zodResolver(organizationSchema), defaultValues: defaultOrganizationValues, }); console.log(masterService); const { handleSubmit, register, reset, formState: { errors }, } = method; const { mutate: CreateOrganization, isPending } = useCreateOrganization( () => { reset(defaultOrganizationValues); orgModal.onClose(); setStep(1); // reset to first step } ); const onSubmit = (OrgPayload) => { CreateOrganization(OrgPayload); }; const RenderTitle = useMemo(() => { if (organizationId) { return "Update Organization"; } if (step === 1) { return projectOrganizations && projectOrganizations !== null ? "Add Organization" : "Find Organization"; } if (step === 2) { return "Organization Details"; } if (step === 3) { return "Create Organization"; } return "Manage Organization"; // fallback }, [step, orgModal?.orgData, organizationId]); const contentBody = (
{/* ---------- STEP 1: Service Provider- Form Own Tenant list ---------- */} {step === 1 && (
{orgList?.map((org) => (
{org.name}
{org.contactPerson}
In Meeting
))}
{orgModal.orgData && (

Don't have required organization, Please find using{" "} setStep(2)} > SPRID

)}
{!projectOrganizations && ( )}
)} {/* ---------- STEP 1: Service Provider From Own Other Tenant ---------- */} {step === 2 && (
{/* ======== org list ======*/}
{OrgListbySPRID?.map((org) => (
Icing sweet gummies
15 minutes
In Meeting
))}
)} {/* ---------- STEP 2: Existing Organization Details ---------- */} {step === 3 && (
{Organization.name}
{/* Row 1 */}
{Organization.name}
{Organization.contactNumber}
{Organization.email}
{Organization.sprid}
{Organization.address}
    {masterService.data && masterService.data?.map((serv) => (
  • {serv.name}
  • ))}
)} {/* ---------- STEP 3: Add New Organization ---------- */} {step === 4 && (
{errors.name && ( {errors.name.message} )}
{errors.contactPerson && ( {errors.contactPerson.message} )}
{errors.contactNumber && ( {errors.contactNumber.message} )}
{errors.email && ( {errors.email.message} )}
{errors.serviceIds && ( {errors.serviceIds.message} )}