Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3113 | Autoría | Ultima modificación | Ver Log |

import React from 'react'
import { useForm } from 'react-hook-form'

import Modal from '@components/UI/modal/Modal'
import Input from '@components/UI/inputs/Input'
import Select from '@components/UI/inputs/Select'
import Ckeditor from '@components/UI/Ckeditor'

const INTELLIGENCES = [
  {
    value: 'emotional',
    name: 'Emocional'
  },
  {
    value: 'physical',
    name: 'Físico'
  },
  {
    value: 'intellectual',
    name: 'Intelectual'
  },
  {
    value: 'consciousness',
    name: 'Consciencia'
  }
]

const FREQUENCYS = [
  {
    value: 'daily',
    name: 'Diariamente'
  },
  {
    value: 'weekly',
    name: 'Semanalmente'
  },
  {
    value: 'monthly',
    name: 'Mensualmente'
  },
  {
    value: 'yearly',
    name: 'Anualmente'
  }
]

export default function HabitsModal({ show, onConfirm, onClose }) {
  const {
    control,
    formState: { errors },
    handleSubmit
  } = useForm({
    defaultValues: {
      title: '',
      description: '',
      frequency: 'daily',
      value: 1,
      intelligence: ''
    }
  })

  const onSubmit = handleSubmit(({ habit }) => onConfirm(habit))

  return (
    <Modal show={show} title='Propósito' onClose={onClose} onAccept={onSubmit}>
      <Input
        name='title'
        label='Titulo'
        placeholder='Define el título de tu hábito'
        control={control}
        rules={{ required: 'Este campo es requerido' }}
        error={errors.title?.message}
      />

      <Input
        type='number'
        name='value'
        label='Valor'
        placeholder='Define un valor a hábito'
        control={control}
        rules={{ required: 'Este campo es requerido' }}
        error={errors.value?.message}
      />

      <Select
        name='frequency'
        label='Frecuencia'
        options={FREQUENCYS}
        control={control}
        rules={{ required: 'Este campo es requerido' }}
        error={errors.frequency?.message}
      />

      <Select
        name='intelligence'
        label='Inteligencia'
        options={INTELLIGENCES}
        control={control}
        rules={{ required: 'Este campo es requerido' }}
        error={errors.intelligence?.message}
      />

      <Ckeditor
        name='description'
        label='Descripción'
        control={control}
        rules={{ required: 'Este campo es requerido' }}
        error={errors.description?.message}
      />
    </Modal>
  )
}