Compare commits
2 Commits
main
...
Kartik_Bug
| Author | SHA1 | Date | |
|---|---|---|---|
| 55ff4d5d29 | |||
| 97cb357a3c |
@ -1,4 +1,4 @@
|
|||||||
import React, { useEffect } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import { FormProvider, useForm } from "react-hook-form";
|
import { FormProvider, useForm } from "react-hook-form";
|
||||||
import {
|
import {
|
||||||
useCreateOrganization,
|
useCreateOrganization,
|
||||||
@ -14,6 +14,7 @@ import Label from "../common/Label";
|
|||||||
import { useGlobalServices } from "../../hooks/masterHook/useMaster";
|
import { useGlobalServices } from "../../hooks/masterHook/useMaster";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
import SelectMultiple from "../common/SelectMultiple";
|
import SelectMultiple from "../common/SelectMultiple";
|
||||||
|
import { LogoUpload } from "../Tenant/LogoUpload";
|
||||||
|
|
||||||
const ManagOrg = () => {
|
const ManagOrg = () => {
|
||||||
const { data: service, isLoading } = useGlobalServices();
|
const { data: service, isLoading } = useGlobalServices();
|
||||||
@ -31,10 +32,14 @@ const ManagOrg = () => {
|
|||||||
defaultValues: defaultOrganizationValues,
|
defaultValues: defaultOrganizationValues,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const [logoPreview, setLogoPreview] = useState(null);
|
||||||
|
const [logoName, setLogoName] = useState("");
|
||||||
|
|
||||||
const {
|
const {
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
register,
|
register,
|
||||||
reset,
|
reset,
|
||||||
|
getValues,
|
||||||
formState: { errors },
|
formState: { errors },
|
||||||
} = method;
|
} = method;
|
||||||
|
|
||||||
@ -62,6 +67,7 @@ const ManagOrg = () => {
|
|||||||
email: organization.email || "",
|
email: organization.email || "",
|
||||||
serviceIds: organization.services?.map((s) => s.id) || [],
|
serviceIds: organization.services?.map((s) => s.id) || [],
|
||||||
address: organization.address || "",
|
address: organization.address || "",
|
||||||
|
logoImage: organization.logoImage || "",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, [organization, reset, service?.data]);
|
}, [organization, reset, service?.data]);
|
||||||
@ -93,6 +99,14 @@ const ManagOrg = () => {
|
|||||||
}
|
}
|
||||||
onOpen({ startStep: 2 });
|
onOpen({ startStep: 2 });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const logoImage = getValues("logoImage");
|
||||||
|
if (logoImage) {
|
||||||
|
setLogoPreview(logoImage);
|
||||||
|
setLogoName("Uploaded Logo");
|
||||||
|
}
|
||||||
|
}, [getValues]);
|
||||||
return (
|
return (
|
||||||
<FormProvider {...method}>
|
<FormProvider {...method}>
|
||||||
<form className="form" onSubmit={handleSubmit(onSubmit)}>
|
<form className="form" onSubmit={handleSubmit(onSubmit)}>
|
||||||
@ -176,6 +190,17 @@ const ManagOrg = () => {
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="col-sm-12 text-start mt-2">
|
||||||
|
<Label htmlFor="logoImage" required>Logo Image</Label>
|
||||||
|
|
||||||
|
<LogoUpload
|
||||||
|
preview={logoPreview}
|
||||||
|
setPreview={setLogoPreview}
|
||||||
|
fileName={logoName}
|
||||||
|
setFileName={setLogoName}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="d-flex justify-content-between gap-2 my-2">
|
<div className="d-flex justify-content-between gap-2 my-2">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@ -13,6 +13,7 @@ export const organizationSchema = z.object({
|
|||||||
.regex(phoneRegex, { message: "Invalid phone number" }),
|
.regex(phoneRegex, { message: "Invalid phone number" }),
|
||||||
contactPerson: z.string().min(1, { message: "Person name required" }),
|
contactPerson: z.string().min(1, { message: "Person name required" }),
|
||||||
address: z.string().min(1, { message: "Address is required!" }),
|
address: z.string().min(1, { message: "Address is required!" }),
|
||||||
|
logoImage: z.string().min(1, { message: "Logo is required!" }),
|
||||||
email: z
|
email: z
|
||||||
.string().trim()
|
.string().trim()
|
||||||
.min(1, { message: "Email is required" })
|
.min(1, { message: "Email is required" })
|
||||||
@ -28,6 +29,7 @@ export const defaultOrganizationValues = {
|
|||||||
contactPerson: "",
|
contactPerson: "",
|
||||||
address: "",
|
address: "",
|
||||||
email: "",
|
email: "",
|
||||||
|
logoImage:"",
|
||||||
serviceIds: [],
|
serviceIds: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -45,7 +45,7 @@ export const LogoUpload = ({ preview, setPreview, fileName, setFileName }) => {
|
|||||||
return (
|
return (
|
||||||
<div className="col-sm-12 mb-3">
|
<div className="col-sm-12 mb-3">
|
||||||
<div
|
<div
|
||||||
className="border border-secondary border-dashed rounded p-2 text-center position-relative"
|
className="border border-secondary text-black border-dashed rounded p-2 text-center position-relative"
|
||||||
style={{ cursor: "pointer" }}
|
style={{ cursor: "pointer" }}
|
||||||
onClick={() => document.getElementById("logoImageInput")?.click()}
|
onClick={() => document.getElementById("logoImageInput")?.click()}
|
||||||
>
|
>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user