Rev 3432 | 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 LoadingWrapper from '@components/common/loading-wrapper';import EmojiGroup from '@components/common/emoji-selector';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 saveEmoji = async (link_save = '') => {try {setIsSubmitting(true);const response = await axios.post(link_save);const { data, success } = response.data;if (!success) {const errMsg = typeof data === 'string' ? data : 'Error al guardar';throw new Error(errMsg);}refetch();} catch (error) {dispatch(addNotification({ style: 'danger', msg: error.message }));} finally {setIsSubmitting(false);}};if (data.emojis_how_are_you_feel.length <= 1 &&data.emojis_climate_on_your_organization.length <= 1) {return null;}return (<Widget><Widget.Header title='Pulso Diario' /><Widget.Body><LoadingWrapper loading={isLoading || isSubmitting} displayChildren={isSubmitting}><Typography variant='h4' textAlign='center'>¿Como te sientes hoy?</Typography><EmojiGroup>{data.emojis_how_are_you_feel?.map(({ id, image, link_save }, index) => (<EmojiGroup.Itemkey={id}image={image}index={index}onClick={() => saveEmoji(link_save)}/>))}</EmojiGroup><Typography variant='h4' textAlign='center'>¿Como esta el clima en la organización?</Typography><EmojiGroup>{data.emojis_climate_on_your_organization?.map(({ id, image, link_save }, index) => (<EmojiGroup.Itemkey={id}image={image}index={index}onClick={() => saveEmoji(link_save)}/>))}</EmojiGroup></LoadingWrapper></Widget.Body></Widget>);};export default DailyPulse;