marco.pms.web/src/components/Tenant/ContactInfro.jsx

108 lines
2.8 KiB
JavaScript

import React from "react";
import Label from "../common/Label";
import { useFormContext } from "react-hook-form";
const ContactInfro = ({ onNext }) => {
const {
register,
control,
trigger,
formState: { errors },
} = useFormContext();
const handleNext = async () => {
const valid = await trigger([
"firstName",
"lastName",
"email",
"contactNumber",
"billingAddress",
]);
if (valid) {
onNext(); // go to next tab
}
};
return (
<div className="row g-6">
<div className="col-sm-6">
<Label htmlFor="firstName" required>
First Name
</Label>
<input
id="firstName"
type="text"
className={`form-control form-control-sm`}
{...register("firstName")}
/>
{errors.firstName && (
<div className="danger-text">{errors.firstName.message}</div>
)}
</div>
<div className="col-sm-6">
<Label htmlFor="lastName" required>
Last Name
</Label>
<input
id="lastName"
type="text"
className={`form-control form-control-sm `}
{...register("lastName")}
/>
{errors.lastName && (
<div className="danger-text">{errors.lastName.message}</div>
)}
</div>
<div className="col-sm-6">
<Label htmlFor="email" required>
Email
</Label>
<input
id="email"
type="email"
className={`form-control form-control-sm `}
{...register("email")}
/>
{errors.email && (
<div className="danger-text">{errors.email.message}</div>
)}
</div>
<div className="col-sm-6">
<Label htmlFor="contactNumber" required>
Contact Number
</Label>
<input
id="contactNumber"
type="text"
className={`form-control form-control-sm `}
{...register("contactNumber")}
/>
{errors.contactNumber && (
<div className="danger-text">{errors.contactNumber.message}</div>
)}
</div>
<div className="col-12">
<Label htmlFor="billingAddress" required>
Billing Address
</Label>
<textarea
id="billingAddress"
className={`form-control `}
{...register("billingAddress")}
rows={3}
/>
{errors.billingAddress && (
<div className="danger-text">{errors.billingAddress.message}</div>
)}
</div>
<div className="d-flex justify-content-end mt-3">
<button type="button" className="btn btn-sm btn-primary" onClick={handleNext}>
Next
</button>
</div>
</div>
);
};
export default ContactInfro;