/* 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);