Rev 3379 | Rev 3432 | 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 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, loading, 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><LoadingWrapperloading={loading || 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;