Rev 3331 | Rev 3374 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from 'react'import { useDispatch } from 'react-redux'import { Typography } from '@mui/material'import { axios } from '@utils'import { useFetch } from '@hooks'import { addNotification } from '@store/notification/notification.actions'import Widget from '@components/UI/Widget'import EmojiSelector from '@components/common/emoji-selector'import LoadingWrapper from '@components/common/loading-wrapper'const DailyPulse = ({ dailyPulseUrl = '' }) => {const [isSubmitting, setIsSubmitting] = useState(false)const dispatch = useDispatch()const { data, isLoading, refetch } = useFetch(dailyPulseUrl, {emojis_how_are_you_feel: [],emojis_climate_on_your_organization: []})/* const updateEmojis = (id) => {const isClimate = data.emojis_climate_on_your_organization.some((emoji) => emoji.id === id)if (isClimate) {data.emojis_climate_on_your_organization.filter((emoji) => emoji.id === id)}} */const saveEmoji = async ({ link_save = '', id = '' }) => {try {setIsSubmitting(true)const response = await axios.post(link_save)const { data, success } = response.dataif (!success) {const errMsg = typeof data === 'string' ? data : 'Ha ocurrido un error'throw new Error(errMsg)}refetch()} catch (error) {dispatch(addNotification({ style: 'danger', msg: error.message }))} finally {setIsSubmitting(false)}}return (<Widget><Widget.Header title='Pulso Diario' /><Widget.Body><LoadingWrapperloading={isLoading || isSubmitting}displayChildren={isSubmitting}><Typography variant='h4' textAlign='center'>¿Como te sientes hoy?</Typography><EmojiSelectoroptions={data.emojis_how_are_you_feel}onSelect={saveEmoji}/><Typography variant='h4' textAlign='center'>¿Como esta el clima en la organización?</Typography><EmojiSelectoroptions={data.emojis_climate_on_your_organization}onSelect={saveEmoji}/></LoadingWrapper></Widget.Body></Widget>)}export default DailyPulse