import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-7f8f9219.js';
import { _ as _extends, a as _Object$assign } from './extends-60e0e1c6.js';
import React from 'react';
import { useRouter } from 'next/router';
import Head from 'next/head';
import { B as BlockContent } from './BlockContent-52cf21c5.js';
import { g as getSerializers } from './index-c1bcae0f.js';
import './_commonjsHelpers-0c4b6f40.js';
import './es6.string.iterator-bc33758b.js';
import './_to-object-b50e61c3.js';
import './web.dom.iterable-4109ff68.js';
import './_library-528f1934.js';
import './core.get-iterator-method-133dfacd.js';
import './_iter-detect-7e5e5ce2.js';
import './_object-pie-133f504a.js';
import 'prop-types';
import './index-0dbff1d1.js';
import './slicedToArray-be2f7a22.js';
import 'react-bootstrap';
import './urlFor.js';
import './index-2446af28.js';
import './events-6c3a7a63.js';
import './index-c7e2ac95.js';
import './util-3ab476bf.js';
import './Beam.js';
import './stringify-59c8f690.js';
import './Segment.js';
import './main-b5c5aac1.js';
import './index-35bdcc81.js';
import 'react-dom';
import './typeof-a286cf0c.js';
import './_is-array-3e99e06e.js';
import './brightcove-react-player-loader.es-b43c695a.js';
import './GroupDeck.js';
import './smoothscroll-fa4e3f8c.js';
import './moment-bc12cb97.js';
import './SocialShare.js';
import 'react-share';
import './_object-to-array-0f197f89.js';
import './toConsumableArray-6d9a4616.js';
import 'react-bootstrap/Pagination';
import 'react-bootstrap/Button';
import './entities-932b50cf.js';
import './AdSlot.js';
import './debounce-533d9748.js';
import './isSymbol-a7e9aafe.js';
import './toNumber-5aeba6e7.js';
import 'react-bootstrap/Row';
import 'react-bootstrap/Col';
import './inherits-a41fe93f.js';
import './_object-sap-f353c2a9.js';
import './define-property-fe54dc9f.js';
import './index.esm-3fdda599.js';
import './iconBase-602d52fe.js';
import 'react-bootstrap/Figure';

var _this = undefined;

var blocksToText = function blocksToText(blocks) {
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

  var defaults = { nonTextBehavior: 'remove' };
  var options = _Object$assign({}, defaults, opts);
  return blocks.map(function (block) {
    if (block._type !== 'block' || !block.children) {
      return options.nonTextBehavior === 'remove' ? '' : '[' + block._type + ' block]';
    }
    return block.children.map(function (child) {
      return child.text;
    }).join('');
  }).join('\n\n');
};

var setMetaDescription = function setMetaDescription(data, router) {
  var metaDescription = blocksToText(data);
  if (router && router.asPath) {
    var queryParms = router.asPath.split('?')[1];
    if (queryParms) {
      var pageNumber = queryParms.split('&').reduce(function (acc, item) {
        if (item.startsWith('page=')) {
          if (item.split('=')[1]) {
            acc = item.split('=')[1];
            return acc;
          }
          return acc;
        }
        return acc;
      }, '');
      if (pageNumber && pageNumber !== '') {
        metaDescription = blocksToText(data) + '| Page ' + pageNumber;
      }
    }
  }
  return React.createElement(
    Head,
    null,
    React.createElement('meta', { name: 'description', content: metaDescription, key: 'description' })
  );
};

var TaxonomyDescription = function TaxonomyDescription(_ref) {
  var data = _ref.data,
      client = _ref.client;

  var router = useRouter();
  return data && data.length > 0 && React.createElement(
    'section',
    { className: 'taxonomy-description' },
    setMetaDescription(data, router),
    React.createElement(BlockContent, _extends({ serializers: getSerializers(client), blocks: data, imageOptions: { w: 320, h: 240, fit: 'max' } }, client.config()))
  );
};

TaxonomyDescription.getDescription = function () {
  var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
    var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
    var client = arguments[1];
    var query, summary;
    return regenerator.wrap(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            query = '*[_type == \'taxonomy\' && identifier == \'' + url + '\'][0].summary';
            summary = [];
            _context.prev = 2;
            _context.next = 5;
            return client.fetch(query);

          case 5:
            summary = _context.sent;
            _context.next = 11;
            break;

          case 8:
            _context.prev = 8;
            _context.t0 = _context['catch'](2);

            console.error(_context.t0);

          case 11:
            return _context.abrupt('return', summary);

          case 12:
          case 'end':
            return _context.stop();
        }
      }
    }, _callee, _this, [[2, 8]]);
  }));

  return function () {
    return _ref2.apply(this, arguments);
  };
}();

export default TaxonomyDescription;
