/* eslint no-useless-escape:0 import/prefer-default-export:0 */
import { Modal, Popconfirm, message } from 'antd';

const reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;

const isUrl = (path) => reg.test(path);

const isAntDesignPro = () => {
  if (ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site') {
    return true;
  }

  return window.location.hostname === 'preview.pro.ant.design';
}; // 给官方演示站点用，用于关闭真实开发环境不需要使用的特性

const isAntDesignProOrDev = () => {
  const { NODE_ENV } = process.env;

  if (NODE_ENV === 'development') {
    return true;
  }

  return isAntDesignPro();
};

export { isAntDesignProOrDev, isAntDesignPro, isUrl };

export const dispatch = (type, payload, callback) => {
  window.g_app._store.dispatch({
    type,
    payload,
    callback,
  });
};


export const isFromIframe = () => { // 判断是否来自iframe 嵌入页面 暂时放弃使用
  return false;
  let isFromIframe = window.frames.length !== parent.frames.length;
  if(window.location.origin.indexOf('localhost') > -1){
    return false;
  }
  return isFromIframe;
}

export const getModal = () => {
  return isFromIframe() ? window?.parent?.iframeParentComponent?.Modal : Modal;
};

export const getPopconfirm = () => {
  return isFromIframe() ? window?.parent?.iframeParentComponent?.Popconfirm : Popconfirm;
};

export const getMessage = () => {
  return isFromIframe() ? window?.parent?.iframeParentComponent?.message : message;
};
