{"version":3,"file":"static/chunks/pages/[franchiseeSlug]/reviews-4f70e01a81128bd6.js","mappings":"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","sources":["webpack://_N_E/./components/OpenGraphDescription/index.tsx","webpack://_N_E/./components/OpenGraphTitle/index.tsx","webpack://_N_E/./components/PageTitle/index.tsx","webpack://_N_E/./components/ReviewStars/animateStars.ts","webpack://_N_E/./components/ReviewStars/index.tsx","webpack://_N_E/./components/ReviewStars/staticStars.tsx","webpack://_N_E/./components/Section/index.tsx","webpack://_N_E/./components/head.js","webpack://_N_E/./components/ReviewsPagination/index.tsx","webpack://_N_E/./pages/[franchiseeSlug]/reviews.tsx","webpack://_N_E/?4be6","webpack://_N_E/./node_modules/react-bootstrap/esm/Container.js","webpack://_N_E/./node_modules/react-bootstrap/esm/PageItem.js","webpack://_N_E/./node_modules/react-bootstrap/esm/Pagination.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/objectDestructuringEmpty.js"],"sourcesContent":["import React from 'react';\nimport Head from 'next/head';\n\ninterface OpenGraphDescriptionProps {\n // add open graph description props here\n children: React.ReactNode;\n}\n\nconst OpenGraphDescription: React.FC = ({\n children,\n}: OpenGraphDescriptionProps) => {\n const description = children.toString();\n\n return (\n \n {/* Add open graph description Content Here */}\n \n \n \n \n );\n};\n\nexport default OpenGraphDescription;\n","import React from 'react';\nimport Head from 'next/head';\n\ninterface OpenGraphTitleProps{\n title: string;\n}\n\nconst OpenGraphTitle: React.FC = ({ title }: OpenGraphTitleProps) => (\n \n {title}\n \n \n\n \n);\n\nexport default OpenGraphTitle;\n","import React from 'react';\nimport Col from 'react-bootstrap/Col';\n// import style from './PageTitle.module.scss';\n\ninterface PageTitleProps {\n // add page title props here\n children: React.ReactNode;\n className?: string;\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n}\n\nconst PageTitle: React.FC = ({\n children,\n className,\n level,\n}: PageTitleProps) => {\n const tagClass = level ? 'h1' : '';\n\n /* this is the dumbest, most repetative workaround.\n * Scout's orignal solution doesn't pass enzyme's test.\n */\n let heading: React.ReactNode =

{children}

;\n\n switch (level) {\n case 2:\n heading =

{children}

;\n break;\n case 3:\n heading =

{children}

;\n break;\n case 4:\n heading =

{children}

;\n break;\n case 5:\n heading =
{children}
;\n break;\n case 6:\n heading =
{children}
;\n break;\n default:\n break;\n }\n\n return (\n
\n \n {heading}\n \n
\n );\n};\n\nexport default PageTitle;\n","/**\n * Animate review stars\n */\nimport ScrollOut from 'scroll-out';\n\nconst animateStars = () => {\n const starsTrigger = document.querySelectorAll('.review-stars__trigger');\n\n if (!starsTrigger) {\n return;\n }\n\n starsTrigger.forEach((el) => {\n ScrollOut({\n targets: el,\n once: true,\n onShown: (element) => {\n const starsWrap = element.querySelectorAll('.review-stars__wrap');\n\n if (!starsWrap) {\n return;\n }\n\n starsWrap.forEach((el) => {\n const stars = el.querySelectorAll('span');\n\n if (!stars) {\n return;\n }\n\n stars.forEach((star, index) => {\n setTimeout(() => {\n star.classList.add('cycle-in');\n }, 125 * index);\n });\n });\n },\n });\n });\n};\n\nexport default animateStars;\n","import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core';\nimport { faStar } from '@fortawesome/free-solid-svg-icons';\nimport { blue400 } from '../../ui/colors';\nimport animateStars from './animateStars';\n\nexport interface ReviewStarsProps{\n // add review stars props here\n className?: string;\n color?: string;\n size?: SizeProp;\n\n}\n\nconst ReviewStars: React.FC = ({ className, color, size }: ReviewStarsProps) => (\n \n \n \n \n {' '}\n \n \n \n {' '}\n \n \n \n {' '}\n \n \n \n {' '}\n \n \n \n \n);\n\nReviewStars.defaultProps = {\n className: null,\n color: blue400,\n size: '1x',\n};\n\nexport { ReviewStars as default, animateStars };\n","import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core';\nimport { faStar } from '@fortawesome/free-solid-svg-icons';\nimport { blue400 } from '../../ui/colors';\n\nexport interface StaticReviewStarsProps {\n // add review stars props here\n className?: string;\n color?: string;\n size?: SizeProp;\n}\n\nconst StaticReviewStars: React.FC = ({}: StaticReviewStarsProps) => (\n
\n \n \n {' '}\n \n \n {' '}\n \n \n {' '}\n \n \n {' '}\n \n \n \n
\n);\n\nexport { StaticReviewStars as default };\n","/**\n * Create a page section with different background colors, vertical padding and widths\n * Defaults to transparent, top and bottom, col-xs-12/col-md-11/col-lg-10\n */\nimport React from 'react';\nimport { Row, Col, Container } from 'react-bootstrap';\n// import style from './Section.module.scss';\n\ninterface SectionProps {\n children?: React.ReactNode;\n className?: string;\n color?: string;\n padding?: string;\n xs?: number;\n md?: number;\n lg?: number;\n}\n\nconst Section: React.FC = ({\n xs,\n md,\n lg,\n color,\n className,\n children,\n padding,\n}: SectionProps) => {\n const sectionColor: string = color || 'transparent';\n const sectionXs: number = xs || 12;\n const sectionMd: number = md || 11;\n const sectionLg: number = lg || 10;\n let sectionPadding: string | boolean = 'y';\n\n if (padding === 'top') {\n sectionPadding = 't';\n } else if (padding === 'bottom') {\n sectionPadding = 'b';\n } else if (padding === 'none' || padding === null) {\n sectionPadding = false;\n }\n\n return (\n \n {children && (\n \n \n \n {children || null}\n \n \n \n )}\n \n );\n};\n\nexport default Section;\n","/**\n * SEO component that sets up the and page metadata.\n *\n * @link https://github.com/nfl/react-helmet\n */\nimport { datadogRum } from '@datadog/browser-rum';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Helmet from 'react-helmet';\nimport { pink500 } from '../ui/colors';\n\nconst colorTheme = pink500;\n\nfunction Head({ slug, description, lang, meta, title }) {\n const metaDescription = description || 'Meta';\n // const metaDescription = 'Meta';\n datadogRum.init({\n applicationId: '2b8a7178-88fd-4eae-b1fc-d466adbcda4c',\n clientToken: 'puba6170b123e376449351616f417bffbae',\n site: 'datadoghq.com',\n service: 'hubsite',\n\n sessionSampleRate: 100,\n sessionReplaySampleRate: 100, // if not included, the default is 100\n trackResources: true,\n trackLongTasks: true,\n trackUserInteractions: true,\n silentMultipleInit: true,\n });\n\n datadogRum.startSessionReplayRecording();\n return (\n \n {/* */}\n {/* */}\n \n );\n}\n\nHead.defaultProps = {\n lang: 'en',\n meta: [],\n description: '',\n};\n\nHead.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string.isRequired,\n};\n\nexport default Head;\n","import React from 'react';\nimport { Pagination } from 'react-bootstrap';\n\ninterface ReviewsPaginatorProps {\n // add paginator props here\n reviewsPerPage: number;\n totalReviews: number;\n paginate;\n currentPage: number;\n}\n\nconst ReviewsPaginator: React.FC = ({\n reviewsPerPage,\n totalReviews,\n paginate,\n currentPage,\n}: ReviewsPaginatorProps) => {\n const pageNumbers = [];\n\n for (let i = 1; i <= Math.ceil(totalReviews / reviewsPerPage); i++) {\n pageNumbers.push(i);\n }\n\n let pageStepSlice =\n pageNumbers.length <= 5\n ? pageNumbers\n : currentPage >= pageNumbers.length - 4\n ? pageNumbers.slice(pageNumbers.length - 5, currentPage + 4)\n : pageNumbers.slice(currentPage - 1, currentPage + 4);\n\n return (\n \n paginate(1)}\n disabled={currentPage === 1 ? true : false}\n />\n paginate(currentPage === 1 ? 1 : currentPage - 1)}\n disabled={currentPage === 1 ? true : false}\n />\n \n paginate(\n currentPage <= 5 || pageNumbers.length <= 5\n ? currentPage\n : currentPage - 5\n )\n }\n disabled={currentPage <= 5 ? true : false}\n />\n {pageStepSlice.map((number) => (\n paginate(number)}\n >\n {number}\n \n ))}\n \n paginate(\n currentPage >= pageNumbers.length - 5 || pageNumbers.length <= 5\n ? pageNumbers.length\n : currentPage + 5\n )\n }\n disabled={currentPage >= pageNumbers.length - 4 ? true : false}\n />\n \n paginate(\n currentPage === pageNumbers.length\n ? pageNumbers.length\n : currentPage + 1\n )\n }\n disabled={currentPage === pageNumbers.length ? true : false}\n />\n paginate(pageNumbers.length)}\n disabled={currentPage === pageNumbers.length ? true : false}\n />\n \n );\n};\n\nexport default ReviewsPaginator;\n","import React, { useState, useEffect } from 'react';\nimport { GetStaticPaths, GetStaticProps } from 'next';\nimport camelcaseKeys from 'camelcase-keys';\nimport { FranchiseeState } from '../../context/Franchisee/franchisee.types';\nimport Gataware from '../../SDKs/Gataware';\nimport GatherUp from '../../SDKs/GatherUp';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faPencilAlt } from '@fortawesome/free-solid-svg-icons';\nimport SVG from 'react-inlinesvg';\nimport { Container, Row, Col, Card, Accordion } from 'react-bootstrap';\nimport Layout from '../../components/Layout';\nimport Head from '../../components/head';\nimport Section from '../../components/Section';\nimport PageTitle from '../../components/PageTitle';\nimport SwooptyBg from '../../components/SwooptyBg';\nimport ReviewStars, { animateStars } from '../../components/ReviewStars';\nimport StaticReviewStars from '../../components/ReviewStars/staticStars';\nimport OpenGraphTitle from '../../components/OpenGraphTitle';\nimport OpenGraphDescription from '../../components/OpenGraphDescription';\nimport reviews from '../../data/reviews/reviews.json';\n// import { pink500 } from '../../ui/colors';\nimport { FranchiseeProvider } from '../../context/Franchisee';\nimport ReviewLinks from '../../components/ReviewLinks';\nimport * as Sentry from '@sentry/node';\nimport ReviewsPagination from '../../components/ReviewsPagination';\nimport { Duration } from 'luxon';\n// const anonymousAvatar = '/images/anonymous-avatar.svg';\n\nexport const getStaticPaths: GetStaticPaths = async () => {\n // const response = await Gataware.getLocations()\n // .then(({ data }) => JSON.parse(data))\n // .then((data) => data.data.map((franchisee) => camelcaseKeys(franchisee)));\n\n // const paths = response.map(({ slug }) => ({ params: { franchiseeSlug: slug } }));\n const popularStores: Array = ['fort-worth'];\n const paths = popularStores.map((storeSlug) => ({\n params: { franchiseeSlug: storeSlug },\n }));\n\n return {\n paths,\n fallback: 'blocking',\n };\n};\n\nexport const getStaticProps: GetStaticProps = async ({ params }) => {\n const { franchiseeSlug } = params;\n\n const response = await Gataware.getLocations({\n slugs: [franchiseeSlug.toLocaleString()],\n }).then(({ data }) => JSON.parse(data));\n\n const franchisees = await response.data\n .filter(({ slug }) => franchiseeSlug === slug)\n .map((franchisee) => camelcaseKeys(franchisee));\n\n if (!franchisees.length) {\n return {\n notFound: true,\n revalidate: Duration.fromObject({ hours: 8 }).as('seconds'),\n };\n }\n\n const [franchisee] = franchisees;\n\n let url = franchisee.url + '.com';\n\n // Let's try to get the list of businesses\n const businessesId = await GatherUp.getBusinesses()\n .then((res) => {\n if (res === null) return;\n let matchBusinessWithFranchisee = res.find((business) => (business.businessWebsiteURL.replace(/(^\\w+:|^)\\/\\//, '') === url))\n\n if (matchBusinessWithFranchisee === undefined) {\n return null;\n }\n\n // console.log(matchBusinessWithFranchisee)\n let businessId = matchBusinessWithFranchisee.businessId;\n\n return businessId;\n })\n .catch((error) => {\n // console.log(error);\n Sentry.captureException(error);\n });\n\n const storeReviews = await GatherUp.getReviews({\n businessId: businessesId,\n });\n\n return {\n props: {\n franchisee,\n storeReviews,\n businessesId,\n },\n revalidate: Duration.fromObject({ hours: 8 }).as('seconds'),\n };\n};\n\ninterface ReviewsPageProps {\n /* add about page props here */\n franchisee: FranchiseeState;\n storeReviews;\n businessesId;\n}\n\nconst Reviews: React.FC = ({\n franchisee,\n storeReviews,\n businessesId,\n}: ReviewsPageProps) => {\n const [firstReview] = storeReviews;\n const [defaultFirstReview] = reviews.defaultReviews;\n const [currentPage, setCurrentPage] = useState(1);\n const [reviewsPerPage] = useState(6);\n\n // cycle stars animation\n useEffect(animateStars);\n\n // control toggle icon on header\n const [activeEventKey, setActiveEventKey] = useState('-1');\n function toggleEventKey(eventKey: string): void {\n if (activeEventKey === eventKey) {\n setActiveEventKey('-1');\n } else {\n setActiveEventKey(eventKey);\n }\n }\n\n // Get current posts\n const indexOfLastReview = currentPage * reviewsPerPage;\n const indexOfFirstReview = indexOfLastReview - reviewsPerPage;\n const currentReviews = storeReviews.slice(\n indexOfFirstReview,\n indexOfLastReview\n );\n\n const paginate = (pageNumber) => setCurrentPage(pageNumber);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [franchisee.slug]);\n\n return (\n \n \n \n \n \n {`What Our Clients from Two Maids ${franchisee.name} are\n saying.`}\n \n
\n
\n {/* Reviews */}\n What Our Clients Say\n {businessesId === null || storeReviews.length === 0 ? (\n \n {defaultFirstReview?.imageUrl && (\n <>\n \n
\n
\n {defaultFirstReview?.content}\n
\n
\n {defaultFirstReview?.name}\n
\n
\n {defaultFirstReview?.location}\n
\n
\n \n )}\n \n \n ) : (\n <>\n \n {/* */}\n \n \n
\n
\n
\n {firstReview.reviewContent}\n
\n
\n {firstReview.reviewAuthor}\n
\n
\n {`${franchisee.name}, ${franchisee.state}`}\n
\n
\n \n \n \n )}\n
\n
\n \n {businessesId === null || storeReviews.length === 0 ? (\n <>\n {reviews.defaultReviews.map((review, index) =>\n index >= 1 ? (\n \n \n \n {/* */}\n \n \n {review.name}\n \n \n
\n {review.content}\n
\n \n
\n
\n
\n ) : null\n )}\n \n ) : (\n <>\n {franchisee.reviewFacebookUrl === '' ? null : (\n \n \n {/* \n \n {storeReviews.length} Reviews\n \n */}\n\n \n {franchisee.reviewGooglePlusUrl && (\n
\n \n Review us on Google\n \n
\n )}\n\n {franchisee.reviewFacebookUrl && (\n
\n \n Review us on Facebook\n \n
\n )}\n
\n
\n \n )}\n {currentReviews.map((review, index) =>\n index >= 1 ? (\n \n \n \n {/* */}\n \n \n {review.reviewAuthor}\n \n \n
\n {review.reviewContent}\n
\n \n
\n
\n
\n ) : null\n )}\n
\n \n
\n \n )}\n \n
\n\n {/*
\n \n
*/}\n
\n
\n );\n};\n\nexport default Reviews;\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/[franchiseeSlug]/reviews\",\n function () {\n return require(\"private-next-pages/[franchiseeSlug]/reviews.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/[franchiseeSlug]/reviews\"])\n });\n }\n ","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"fluid\", \"as\", \"className\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar defaultProps = {\n fluid: false\n};\nvar Container = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n fluid = _ref.fluid,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'container');\n var suffix = typeof fluid === 'string' ? \"-\" + fluid : '-fluid';\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames(className, fluid ? \"\" + prefix + suffix : prefix)\n }));\n});\nContainer.displayName = 'Container';\nContainer.defaultProps = defaultProps;\nexport default Container;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"active\", \"disabled\", \"className\", \"style\", \"activeLabel\", \"children\"],\n _excluded2 = [\"children\"];\n\n/* eslint-disable react/no-multi-comp */\nimport classNames from 'classnames';\nimport React from 'react';\nimport SafeAnchor from './SafeAnchor';\nvar defaultProps = {\n active: false,\n disabled: false,\n activeLabel: '(current)'\n};\nvar PageItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var active = _ref.active,\n disabled = _ref.disabled,\n className = _ref.className,\n style = _ref.style,\n activeLabel = _ref.activeLabel,\n children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var Component = active || disabled ? 'span' : SafeAnchor;\n return /*#__PURE__*/React.createElement(\"li\", {\n ref: ref,\n style: style,\n className: classNames(className, 'page-item', {\n active: active,\n disabled: disabled\n })\n }, /*#__PURE__*/React.createElement(Component, _extends({\n className: \"page-link\",\n disabled: disabled\n }, props), children, active && activeLabel && /*#__PURE__*/React.createElement(\"span\", {\n className: \"sr-only\"\n }, activeLabel)));\n});\nPageItem.defaultProps = defaultProps;\nPageItem.displayName = 'PageItem';\nexport default PageItem;\n\nfunction createButton(name, defaultValue, label) {\n if (label === void 0) {\n label = name;\n }\n\n function Button(_ref2) {\n var children = _ref2.children,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n\n return /*#__PURE__*/React.createElement(PageItem, props, /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, children || defaultValue), /*#__PURE__*/React.createElement(\"span\", {\n className: \"sr-only\"\n }, label));\n }\n\n Button.displayName = name;\n return Button;\n}\n\nexport var First = createButton('First', '«');\nexport var Prev = createButton('Prev', '‹', 'Previous');\nexport var Ellipsis = createButton('Ellipsis', '…', 'More');\nexport var Next = createButton('Next', '›');\nexport var Last = createButton('Last', '»');","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"children\", \"size\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport PageItem, { Ellipsis, First, Last, Next, Prev } from './PageItem';\n\n/**\n * @property {PageItem} Item\n * @property {PageItem} First\n * @property {PageItem} Prev\n * @property {PageItem} Ellipsis\n * @property {PageItem} Next\n * @property {PageItem} Last\n */\nvar Pagination = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n size = _ref.size,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'pagination');\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n ref: ref\n }, props, {\n className: classNames(className, decoratedBsPrefix, size && decoratedBsPrefix + \"-\" + size)\n }), children);\n});\nPagination.First = First;\nPagination.Prev = Prev;\nPagination.Ellipsis = Ellipsis;\nPagination.Item = PageItem;\nPagination.Next = Next;\nPagination.Last = Last;\nexport default Pagination;","export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n}"],"names":["description","children","toString","name","content","property","title","className","level","tagClass","heading","xs","md","lg","starsTrigger","document","querySelectorAll","forEach","el","ScrollOut","targets","once","onShown","element","starsWrap","stars","star","index","setTimeout","classList","add","blue400","StaticReviewStars","icon","faStar","color","style","fontSize","padding","sectionColor","sectionXs","sectionMd","sectionLg","sectionPadding","colorTheme","pink500","Head","slug","lang","meta","metaDescription","datadogRum","applicationId","clientToken","site","service","sessionSampleRate","sessionReplaySampleRate","trackResources","trackLongTasks","trackUserInteractions","silentMultipleInit","htmlAttributes","bodyAttributes","class","titleTemplate","link","rel","href","sizes","concat","defaultProps","reviewsPerPage","totalReviews","paginate","currentPage","pageNumbers","i","Math","ceil","push","pageStepSlice","length","slice","listStyle","display","justifyContent","width","margin","Pagination","onClick","disabled","map","number","active","franchisee","storeReviews","businessesId","firstReview","defaultFirstReview","reviews","useState","setCurrentPage","useEffect","animateStars","indexOfLastReview","indexOfFirstReview","currentReviews","Franchisee","Layout","alternateFooter","OpenGraphTitle","OpenGraphDescription","Section","PageTitle","Col","imageUrl","src","height","alt","location","xl","reviewContent","reviewAuthor","state","id","review","Card","Row","reviewFacebookUrl","reviewGooglePlusUrl","target","reviewId","ReviewsPagination","pageNumber","window","__NEXT_P","_excluded","Container","_ref","ref","bsPrefix","fluid","_ref$as","as","Component","props","prefix","suffix","displayName","_excluded2","PageItem","activeLabel","SafeAnchor","createButton","defaultValue","label","Button","_ref2","First","Prev","Ellipsis","Next","Last","size","decoratedBsPrefix","Item","_objectDestructuringEmpty","obj","TypeError"],"sourceRoot":""}