"use client"; import Check from "@mui/icons-material/Check"; import Close from "@mui/icons-material/Close"; import Button from "@mui/material/Button"; import Stack from "@mui/material/Stack"; import { CreateCompanyInputs, EditCompanyInputs, saveCompany } from "@/app/api/companys/actions"; import { useRouter } from "next/navigation"; import React, { useCallback, useDebugValue, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { FieldErrors, FormProvider, SubmitErrorHandler, SubmitHandler, useForm, } from "react-hook-form"; import CompanyDetails from "./CompanyDetails"; import { LocalizationProvider } from '@mui/x-date-pickers'; import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs' import dayjs from "dayjs"; import { convertTimeArrayToString } from "@/app/utils/formatUtil"; interface Props { isEdit: Boolean; company?: EditCompanyInputs; companyCodes: string[]; } const CreateCompany: React.FC = ({ isEdit, company, companyCodes, }) => { const [serverError, setServerError] = useState(""); const { t } = useTranslation(); const router = useRouter(); console.log(companyCodes) const handleCancel = () => { router.back(); }; const onSubmit = useCallback>( async (data) => { try { let haveError = false if (companyCodes.includes(data.companyCode)) { haveError = true formProps.setError("companyCode", { message: t("Duplicated Code."), type: "required" }) } console.log(data); if (haveError) { return } console.log("passed") setServerError(""); // console.log(JSON.stringify(data)); // await saveCompany(data) // router.replace("/settings/company"); } catch (e) { setServerError(t("An error has occurred. Please try again later.")); } }, [router, t], ); const onSubmitError = useCallback>( (errors) => { console.log(errors) }, [], ); const formProps = useForm({ defaultValues: { id: company?.id, companyCode: company?.companyCode, companyName: company?.name, brNo: company?.brNo, contactName: company?.contactName, phone: company?.phone, otHourTo: "", otHourFrom: "", normalHourTo: "", normalHourFrom: "", currency: company?.currency, address: company?.address, district: company?.district, email: company?.email, }, }); const errors = formProps.formState.errors; return( { } ) } export default CreateCompany;