/* eslint-disable */ import React, { memo, useMemo, useState } from 'react'; import classNames from 'classnames'; import Button from '@material-ui/core/Button'; import Typography from '@material-ui/core/Typography'; import useLang from '@Hooks/useLang'; import useMessage from '@Hooks/useMessage'; import useMappedState from '@Hooks/useMappedState'; import Modal from '@Components/Base/Modal'; import { DialogItemObject } from './types'; import Styles from './index.module.css'; /* Dialog Item */ function DialogItem(props: DialogItemObject): React.ReactElement { /* Global & Local States */ const { i18n } = useLang(); const { dialog, requestRemoveDialog } = props; const [hiddenDebugMessage, setHiddenDebugMessage] = useState(false); /* Functions */ const onConfirmClick = (): void => { if (dialog.onConfirm) dialog.onConfirm(); requestRemoveDialog(); }; /* Views */ return (
{dialog.typeTitle}
{dialog.typeContent && dialog.typeContent}
{dialog.typeHiddenMessage && hiddenDebugMessage && (
{dialog.typeHiddenMessage && dialog.typeHiddenMessage}
)}
{dialog.typeHiddenMessage && ( )}
); } function ModalDialog(): React.ReactElement { /* Global & Local States */ const reduxMessage = useMessage(); const storeMessage = useMappedState(state => state.message); /* Functions */ const requestRemoveDialog = (): void => { reduxMessage.removeDialog(); }; /* Views */ const RenderMessages = useMemo(() => { if (storeMessage.messageDialogList.list.length > 0) { return ; } return ; }, [storeMessage.messageDialogList]); const RenderIsMessageOpen = useMemo(() => { if (storeMessage.messageDialogList.list.length > 0) { return true; } return false; }, [storeMessage.messageDialogList]); /* Main */ return ( {RenderMessages} ); } export default memo(ModalDialog);