import useTranslation from "next-translate/useTranslation"; import { useRouter } from "next/router"; import { CheckBoxfield, DateFieldPicker, DecimalField, FieldArrayForm, FileUploadField, MultiLinefield, NumericField, PickList, Radiofield, ReadOnlyfield, RichMultiLinefield, Textfield, YesNofield } from "../elements"; export default function BuildField(props) { const { t } = useTranslation(); const { locale } = useRouter(); // Destructure frequently used props for clarity const { fieldType, label, datafieldname, picklistData, validation, hint, maxFieldLength, dateStart, dateEnd, documentTypeCode, uploadCount, setUploadCount, setFileCount, parentField, parentFieldShowOnValue, requiredDocumentValue, requiredDocumentLabel, setDocumentsList, documentList, maxSubField, datafieldcontent } = props; // Extract deeply nested props for convenience (avoid props.props.props all over) // Defensive checks in case nested props don't exist const sectionProps = props?.props?.props || {}; const pageProps = sectionProps?.props || {}; const appealType = sectionProps.appealType || {}; const form = sectionProps.form || {}; const formProps = pageProps.form || sectionProps.form || {}; const setFilesForAppeal = sectionProps.setFilesForAppeal; const accountDetails = sectionProps.accountDetails || pageProps.accountDetails || {}; const ticketnumber = appealType.caseReference?.ticketnumber || ""; const fileList = appealType.fileList || {}; const containerID = accountDetails.containerID || sectionProps.containerID || ""; // Mapping fieldType to components const fieldTypeMap = { "{270BD3DB-D9AF-4782-9025-509E298DEC0A}": ( ), "{3EF39988-22BB-4f0b-BBBE-64B5A3748AEE}": ( ), "{67FAC785-CD58-4f9f-ABB3-4B7DDC6ED5ED}": ( ), "{07FAC785-CD58-4f9f-ABB3-4B7DDC6ED5ED}": ( ), "{4273EDBD-AC1D-40d3-9FB2-095C621B552D}": ( ), "{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}": ( ), "{E0DECE4B-6FC8-4a8f-A065-082708572369}": ( ), "{E0DECE4B-6666-4a8f-A065-082708572369}": ( ), "{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}": ( ), "{C3EFE0C3-0EC6-42be-8349-CBD9079DFD8E}": ( ), "{16D63FD6-119B-4353-BDCA-18358721C3FE}": (
), "{0273EDBD-AC1D-40d3-9FB2-095C621B552D}": ( ), "{9EF39988-22BB-4f0b-BBBE-64B5A3748AEE}": ( ) }; return (
{fieldTypeMap[fieldType] || ( )}
); }