Proyectos de Subversion LeadersLinked - SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
2671 stevensc 1
import React from 'react'
2
import { useForm } from 'react-hook-form'
3
 
2855 stevensc 4
import Modal from '@components/UI/modal/Modal'
5
import Input from '@components/UI/inputs/Input'
6
import Select from '@components/UI/inputs/Select'
7
import Ckeditor from '@components/UI/Ckeditor'
2671 stevensc 8
 
9
const INTELLIGENCES = [
10
  {
11
    value: 'emotional',
12
    name: 'Emocional'
13
  },
14
  {
15
    value: 'physical',
16
    name: 'Físico'
17
  },
18
  {
19
    value: 'intellectual',
20
    name: 'Intelectual'
21
  },
22
  {
23
    value: 'consciousness',
24
    name: 'Consciencia'
25
  }
26
]
27
 
28
const FREQUENCYS = [
29
  {
30
    value: 'daily',
31
    name: 'Diariamente'
32
  },
33
  {
34
    value: 'weekly',
35
    name: 'Semanalmente'
36
  },
37
  {
38
    value: 'monthly',
39
    name: 'Mensualmente'
40
  },
41
  {
42
    value: 'yearly',
43
    name: 'Anualmente'
44
  }
45
]
46
 
3121 stevensc 47
export default function HabitsModal({ show, onConfirm, onClose }) {
2802 stevensc 48
  const {
49
    control,
2855 stevensc 50
    formState: { errors },
51
    handleSubmit
2802 stevensc 52
  } = useForm({
2671 stevensc 53
    defaultValues: {
54
      title: '',
55
      description: '',
56
      frequency: 'daily',
57
      value: 1,
58
      intelligence: ''
59
    }
60
  })
61
 
3121 stevensc 62
  const onSubmit = handleSubmit(({ habit }) => onConfirm(habit))
2671 stevensc 63
 
64
  return (
3121 stevensc 65
    <Modal show={show} title='Propósito' onClose={onClose} onAccept={onSubmit}>
2671 stevensc 66
      <Input
2855 stevensc 67
        name='title'
2671 stevensc 68
        label='Titulo'
69
        placeholder='Define el título de tu hábito'
2855 stevensc 70
        control={control}
71
        rules={{ required: 'Este campo es requerido' }}
2671 stevensc 72
        error={errors.title?.message}
73
      />
74
 
75
      <Input
2855 stevensc 76
        type='number'
77
        name='value'
2671 stevensc 78
        label='Valor'
79
        placeholder='Define un valor a hábito'
2855 stevensc 80
        control={control}
81
        rules={{ required: 'Este campo es requerido' }}
2671 stevensc 82
        error={errors.value?.message}
83
      />
84
 
85
      <Select
86
        name='frequency'
87
        label='Frecuencia'
88
        options={FREQUENCYS}
89
        control={control}
90
        rules={{ required: 'Este campo es requerido' }}
91
        error={errors.frequency?.message}
92
      />
93
 
94
      <Select
95
        name='intelligence'
96
        label='Inteligencia'
97
        options={INTELLIGENCES}
98
        control={control}
99
        rules={{ required: 'Este campo es requerido' }}
100
        error={errors.intelligence?.message}
101
      />
102
 
103
      <Ckeditor
2855 stevensc 104
        name='description'
2671 stevensc 105
        label='Descripción'
2855 stevensc 106
        control={control}
107
        rules={{ required: 'Este campo es requerido' }}
108
        error={errors.description?.message}
2671 stevensc 109
      />
110
    </Modal>
111
  )
112
}