'use strict';

function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }

require('./_commonjsHelpers-06173234.js');
require('./_to-object-329a650b.js');
require('./es6.string.iterator-cc0bbaa4.js');
require('./_library-dd23b178.js');
require('./_iter-detect-60b2f026.js');
require('./toConsumableArray-9a3476fe.js');
require('./core.get-iterator-method-f62321d4.js');
require('./_object-pie-68c5bcbc.js');
require('./extends-60837c34.js');
require('./_object-sap-5e74ba08.js');
require('./inherits-c9f99d47.js');
require('./define-property-f4d12f4e.js');
require('./web.dom.iterable-a0e279c1.js');
require('./typeof-725500bc.js');
require('./_is-array-754e012d.js');
var React = require('react');
var React__default = _interopDefault(React);
require('./index-8bf6c863.js');
require('prop-types');
require('react-bootstrap/Container');
require('react-bootstrap/Row');
require('react-bootstrap/Col');
require('react-bootstrap/Card');
require('./moment-575fe24c.js');
require('next/router');
require('./isSymbol-04666465.js');
require('./debounce-eb287781.js');
require('./index.es-9110add6.js');
require('react-dom');
require('./visibility-sensor-0c45a583.js');
require('./index-be0c82be.js');
require('./main-02daeefe.js');
require('./slicedToArray-8f385299.js');
require('./stringify-7c5aff47.js');
var asyncToGenerator = require('./asyncToGenerator-533d476a.js');
require('./_set-species-f92c67c5.js');
require('./Segment.js');
require('./Beam.js');
require('./AdSlot.js');
require('./ADInfeed-547e399f.js');
require('./lodash-fc2922d0.js');
require('./ADlgInfeed-84cd6750.js');
var MasterDeck = require('./MasterDeck.js');

var _this = undefined;

var ArticleSeriesLandingPage = function ArticleSeriesLandingPage(props) {
  var client = props.client,
      posts = props.posts,
      summary = props.summary,
      seriesTitle = props.seriesTitle,
      seriesName = props.seriesName,
      query = props.query,
      params = props.params,
      _props$currentPage = props.currentPage,
      currentPage = _props$currentPage === undefined ? 1 : _props$currentPage,
      pageview = props.pageview,
      _props$autoScroll = props.autoScroll,
      autoScroll = _props$autoScroll === undefined ? true : _props$autoScroll,
      mapping = props.mapping,
      deck = props.deck,
      _props$variant = props.variant,
      variant = _props$variant === undefined ? 'left' : _props$variant,
      _props$defaultImage = props.defaultImage,
      defaultImage = _props$defaultImage === undefined ? '/placeholder.jpg' : _props$defaultImage;


  return React__default.createElement(
    'div',
    null,
    summary && React__default.createElement(
      'div',
      { style: { fontSize: '1rem' }, className: 'article-series-summary px-1 mt-2 mb-4' },
      summary
    ),
    seriesTitle && React__default.createElement(
      'h1',
      { className: 'article-series-title' },
      React__default.createElement(
        'a',
        seriesName && { href: '/view/' + seriesName },
        seriesTitle
      )
    ),
    posts && deck && React__default.createElement(MasterDeck, {
      deck: deck,
      variant: variant,
      defaultImage: defaultImage,
      client: client,
      mapping: mapping,
      dataRecord: posts,
      query: query,
      params: params,
      currentPage: currentPage,
      pageview: pageview,
      autoScroll: autoScroll
    })
  );
};

ArticleSeriesLandingPage.getInitialData = function () {
  var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(context, client) {
    var itemsPerPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
    var taxonomyId = arguments[3];
    var urlQuery, seriesName, page, currentPage, start, params, query, posts, seriesTitle, summary, url;
    return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            urlQuery = context.query;
            seriesName = urlQuery.series;
            page = urlQuery.page ? parseInt(urlQuery.page) : 1;
            currentPage = page ? parseInt(page) : 1;
            start = (currentPage - 1) * itemsPerPage;
            params = {
              from: start,
              to: start + itemsPerPage
            };
            query = '*[\n    _type == \'article\' \n    && !(_id in path("drafts.**")) \n    && defined(title) \n    && defined(url) \n    && references(\'' + taxonomyId + '\')\n    && url.current == \'' + seriesName + '\'\n    && is_visible == true\n    && passwordLock != true \n    && defined(published)\n    && dateTime(published) <= dateTime(now())] | order(published desc)[$from...$to]{\n      title,\n      summary,\n      published,\n      thumbnail,\n      url,\n      taxonomy,\n      body[_type == "articleSeries"]{\n        ...\n      },\n    }';
            _context.next = 9;
            return client.fetch(query, params);

          case 9:
            posts = _context.sent;
            seriesTitle = '';
            summary = false;


            if (posts.length > 0 && posts[0].body[0].articles) {
              url = posts[0].url.current + '?seriesArticle=';

              seriesTitle = posts[0].title;
              summary = posts[0].summary;
              posts = posts[0].body[0].articles;
              //start youtube thumbnail fix
              posts.map(function (post, index) {
                return post['url'] = {
                  current: url + post.param.current
                };
              });
              //end
            }
            return _context.abrupt('return', { posts: posts, query: query, params: params, seriesTitle: seriesTitle, seriesName: seriesName, summary: summary });

          case 14:
          case 'end':
            return _context.stop();
        }
      }
    }, _callee, _this);
  }));

  return function (_x, _x2) {
    return _ref.apply(this, arguments);
  };
}();

module.exports = ArticleSeriesLandingPage;
