// * Packages import { usePage } from "@inertiajs/react"; // * Other import SimpleString from "@/back/Components/Inputs/SimpleString"; import SimpleNumber from "@/back/Components/Inputs/SimpleNumber"; import SimpleSwitch from "@/back/Components/Inputs/SimpleSwitch"; import SimpleWysiwyg from "@/back/Components/Inputs/SimpleWysiwyg"; import ImageCropperWrapper from "@/back/Components/Inputs/ImageCropper/ImageCropperWrapper"; import DynamicList from "@/back/Components/DynamicPages/DynamicList"; import { ConfigField, DynamicFieldTypes, DynamicInternalField } from "@/back/types/global"; import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; import { extractLaravelValidationValue, extractMinMaxFromValidation, extractRequiredValidation, } from "@/hooks/use-laravel-validation"; type DynamicInputsProps = { name: string; config: ConfigField[]; content: DynamicInternalField | null; setData: (name: string, value: string | boolean | File | object | null) => void; reset: (name?: string) => void; }; export default function DynamicInputs({ name, config, content = null, setData, reset, }: DynamicInputsProps) { const enumDynamicFieldTypes = usePage().props.enumDynamicFieldTypes as DynamicFieldTypes; // Translations. const transAssociateTo = useTrans("back.form_associate_to"); const transUnsupportedType = useTrans("back.unsupported_type"); /** * Get a translation for a specific field label. * Need to recreate useTrans hook to avoid hook error. * @param fieldLabel string * @returns string */ const getTrans = (fieldLabel: string): string => { return str(`${transAssociateTo.split("|")[0].replace(":attribute", fieldLabel)}`).ucFirst().value(); }; return (
{transUnsupportedType} {typeEnum?.label ?? field.type}
); } })}