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