Rev 2780 | Rev 3331 | 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, mutate } = useFetch(dailyPulseUrl, {emojis_how_are_you_feel: '',emojis_climate_on_your_organization: ''})const saveEmoji = async (url = '') => {try {setIsSubmitting(true)const response = await axios.post(url)const { data, success } = response.dataif (!success) {const errMsg = typeof data === 'string' ? data : 'Ha ocurrido un error'throw new Error(errMsg)}const isClimate = url.includes('climate')if (isClimate) {const selectedEmojis = data.emojis_climate_on_your_organization.filter((emoji) => emoji.link_save === url)mutate({...data,emojis_climate_on_your_organization: selectedEmojis})} else {const selectedEmojis = data.emojis_how_are_you_feel.filter((emoji) => emoji.link_save === url)mutate({...data,emojis_how_are_you_feel: selectedEmojis})}} 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'>¿Como te sientes hoy?</Typography><EmojiSelectoroptions={data.emojis_how_are_you_feel}onSelect={saveEmoji}/><Typography variant='h4'>¿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