'use strict';

var slicedToArray = require('./slicedToArray-067dd3bc.js');
var React = require('react');
var AdSlot = require('./AdSlot.js');
var main = require('./main-ae8472f3.js');
require('./_commonjsHelpers-06173234.js');
require('./web.dom.iterable-d98303e0.js');
require('./core.get-iterator-method-5643aa10.js');
require('./extends-be0d85bc.js');
require('prop-types');
require('./index-d2a6ef75.js');
require('./events-1b438fe7.js');
require('./debounce-d4a2369b.js');
require('./isSymbol-03abbdf0.js');
require('./toNumber-5e1fac58.js');
require('./Beam.js');
require('./stringify-f7a37a8d.js');
require('./asyncToGenerator-65df6bf8.js');
require('./_library-dd23b178.js');
require('./_set-species-0c7864a2.js');
require('./_iter-detect-b1df62f0.js');
require('./Segment.js');

function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

var React__default = /*#__PURE__*/_interopDefaultLegacy(React);

var ADFloatingFooter = function ADFloatingFooter(_ref) {
  var title = _ref.title,
      floatingAd = _ref.floatingAd,
      minScreenWidth = _ref.minScreenWidth,
      _ref$refreshFlag = _ref.refreshFlag,
      refreshFlag = _ref$refreshFlag === undefined ? true : _ref$refreshFlag,
      _ref$ignoreSession = _ref.ignoreSession,
      ignoreSession = _ref$ignoreSession === undefined ? false : _ref$ignoreSession;
  var className = floatingAd.className,
      slotId = floatingAd.slotId,
      adUnit = floatingAd.adUnit,
      _floatingAd$targeting = floatingAd.targeting,
      targeting = _floatingAd$targeting === undefined ? {} : _floatingAd$targeting,
      _floatingAd$position = floatingAd.position,
      position = _floatingAd$position === undefined ? 'float' : _floatingAd$position,
      networkID = floatingAd.networkID;

  var adTargeting = {
    content_placement: targeting.content_placement,
    tags: targeting.tags,
    document_group: targeting.document_group,
    rootDocumentGroup: targeting.rootDocumentGroup,
    document_url: targeting.document_url,
    pos: position,
    campaign_id: targeting.campaign_id,
    issue_url: targeting.issue_url,
    publication_url: targeting.publication_url
  };

  var _useState = React.useState(false),
      _useState2 = slicedToArray._slicedToArray(_useState, 2),
      widthFlag = _useState2[0],
      setWidthFlag = _useState2[1];

  var _useState3 = React.useState(true),
      _useState4 = slicedToArray._slicedToArray(_useState3, 2);
      _useState4[0];
      var setPreviewAd = _useState4[1];

  var _useState5 = React.useState(false),
      _useState6 = slicedToArray._slicedToArray(_useState5, 2),
      showAd = _useState6[0],
      setShowAd = _useState6[1];

  var _useState7 = React.useState(refreshFlag),
      _useState8 = slicedToArray._slicedToArray(_useState7, 2),
      adRefreshFlag = _useState8[0],
      setAdRefreshFlag = _useState8[1];

  React.useEffect(function () {
    // Checking data in session storage to show AD
    if (ignoreSession || !sessionStorage.getItem('mjh-floating-footer-ad')) setShowAd(true);
    if (main.main_22.toLowerCase().indexOf('adwallet') >= 0) {
      setAdRefreshFlag(false);
    }
  }, []);

  React.useEffect(function () {
    var path = window && window.location && window.location.search;
    // Setting flag for Ad-preview URLs
    setPreviewAd(path.split('&').some(function (param) {
      return param.includes('creativeId');
    }));
  }, []);

  React.useEffect(function () {
    if (window && window.innerWidth > minScreenWidth) {
      setWidthFlag(true);
    }

    try {
      var _floatingAd = document.getElementById('floating-ad');
      var parent = document.getElementById('floating-ad-wrapper');
      if (_floatingAd.children[0].children.length === 0) {
        parent.classList.remove('display-floating');
        parent.classList.add('hide-floating');
      }
    } catch (e) {}
  }, [minScreenWidth]);

  var collapseAd = function collapseAd() {
    var parent = document.getElementById('floating-ad-wrapper');
    parent.style.height = '0%';
    parent.style.width = '0%';
    parent.classList.remove('display-floating');
    parent.classList.add('hide-floating');
    // Saving data in session storage on close AD
    sessionStorage.setItem('mjh-floating-footer-ad', Math.floor(Date.now() / 1000));
  };

  return React__default["default"].createElement(
    React__default["default"].Fragment,
    null,
    showAd && widthFlag && adTargeting.document_url && React__default["default"].createElement(
      'div',
      { id: 'floating-ad-wrapper', className: 'floating-ad-wrapper display-floating ' + title },
      React__default["default"].createElement(AdSlot, {
        className: className,
        slotId: slotId,
        networkID: networkID,
        sizes: [[1025, 100]],
        adUnit: adUnit,
        targeting: adTargeting,
        refreshFlag: adRefreshFlag
        /* Passing function to check for ad creative only if it is not in preview. */
        // checkIsAdFound={previewAd ? null : checkIsAdFound}
      }),
      React__default["default"].createElement(
        'div',
        { className: 'closeButton', onClick: function onClick() {
            return collapseAd();
          } },
        'x'
      )
    ),
    React__default["default"].createElement(
      'style',
      { jsx: 'true' },
      '\n          .display-floating {\n            display: block;\n          }\n          .hide-floating {\n            display: none;\n          }\n          .floating-ad-wrapper {\n            margin: 0;\n            background-color: #f5f5f5;\n            position: fixed;\n            bottom: 0;\n            left: 50%;\n            transform: translateX(-50%);\n            z-index: 9000;\n          }\n          .closeButton {\n            position: absolute;\n            top: -16px;\n            right: -16px;\n            background: grey;\n            color: white;\n            font-weight: 500;\n            border: 2px solid white;\n            border-radius: 50%;\n            width: 30px;\n            height: 30px;\n            text-align: center;\n            font-size: 15px;\n            cursor: pointer;\n            z-index: 999999;\n          }\n          .floating-ad-wrapper div[id*=\'google_ads_iframe\']:empty {\n            height: 0px !important;\n          }\n        '
    )
  );
};

module.exports = ADFloatingFooter;
