/* eslint-disable no-case-declarations */ import { FieldValues, UseFormRegister } from 'react-hook-form' import Checkbox from '@/containers/Checkbox' import Slider from '@/containers/Slider' export type ControllerType = 'slider' | 'checkbox' export type SettingComponentData = { name: string title: string description: string controllerType: ControllerType controllerData: SliderData | CheckboxData } export type SliderData = { min: number max: number step: number value: number } type CheckboxData = { checked: boolean } const settingComponentBuilder = ( componentData: SettingComponentData[], register: UseFormRegister ) => { const components = componentData.map((data) => { switch (data.controllerType) { case 'slider': const { min, max, step, value } = data.controllerData as SliderData return ( ) case 'checkbox': const { checked } = data.controllerData as CheckboxData return ( ) default: return null } }) return
{components}
} export default settingComponentBuilder