/* eslint no-useless-escape:0 import/prefer-default-export:0 */
import { Modal } 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 getModal = () => {
  if (window?.parent?.iframeParentComponent?.Modal) {
    return window?.parent?.iframeParentComponent?.Modal;
  } else {
    return Modal;
  }
};
