{"version":3,"file":"static/chunks/pages/locations-0a634b5ba72b11db.js","mappings":"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","sources":["webpack://_N_E/./components/AccordionIcon/index.tsx","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/Section/index.tsx","webpack://_N_E/./components/TextColumns/index.tsx","webpack://_N_E/./components/head.js","webpack://_N_E/./pages/locations.tsx","webpack://_N_E/?df33"],"sourcesContent":["/**\n * Teeny little + icon that changes when the accodion toggles\n */\nimport React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faPlusCircle, faMinusCircle } from '@fortawesome/free-solid-svg-icons';\nimport { pink500 } from '../../ui/colors';\n// import style from './AccordionIcon.module.scss';\n\ninterface AccordionIconProps{\n // add AccordionIcon props here\n className?: string;\n eventKey: String;\n currentActiveKey : String;\n}\n\nconst AccordionIcon: React.FC = ({ className, eventKey, currentActiveKey } : AccordionIconProps) => {\n const active = (eventKey === currentActiveKey);\n return (\n
\n \n\n
\n );\n};\n\nexport default AccordionIcon;\n","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 * 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","import React from 'react';\n// import style from './TextColumns.module.scss';\n\ninterface TextColumnsProps {\n // add Text Columns props here\n children: React.ReactNode;\n className?: string;\n\n}\n\nconst TextColumns: React.FC = ({ children, className }: TextColumnsProps) => (\n \n {children}\n \n);\n\nexport default TextColumns;\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, { useState } from 'react';\nimport Link from 'next/link';\nimport Accordion from 'react-bootstrap/Accordion';\nimport Col from 'react-bootstrap/Col';\nimport Row from 'react-bootstrap/Row';\nimport Container from 'react-bootstrap/Container';\nimport Card from 'react-bootstrap/Card';\nimport SVG from 'react-inlinesvg';\nimport { faPhoneAlt, faGlobe } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport camelcaseKeys from 'camelcase-keys';\nimport Layout from '../components/Layout';\nimport OpenGraphTitle from '../components/OpenGraphTitle';\nimport OpenGraphDescription from '../components/OpenGraphDescription';\nimport Section from '../components/Section';\nimport PageTitle from '../components/PageTitle';\nimport PhoneLink from '../components/PhoneLink';\nimport TextColumns from '../components/TextColumns';\nimport AccordionIcon from '../components/AccordionIcon';\nimport Head from '../components/head';\nimport Gataware from '../SDKs/Gataware';\nimport { FranchiseeState } from '../context/Franchisee/franchisee.types';\nimport territoriesHash from '../data/territories_hash.json';\nimport { FranchiseeProvider } from '../context/Franchisee';\nimport axios from 'axios';\nimport Image from 'next/image';\n\nconst iconSparkles = '/images/sparkles-two.svg';\nconst iconNeighborhood = '/images/icon-neighborhood.svg';\n\nexport const getStaticProps = async () => {\n const response = await Gataware.getLocations()\n .then(({ data }) => JSON.parse(data))\n .then((data) =>\n data.data.filter(\n (franchisee) =>\n !franchisee.slug.includes('corporate') &&\n !franchisee.slug.includes('training') &&\n !franchisee.slug.includes('client')\n )\n );\n\n const franchisees = await camelcaseKeys(response);\n\n const franchiseesByState = [];\n\n territoriesHash.forEach((usState) => {\n const stateObject = {\n state: usState.name,\n franchisees: franchisees\n .filter(({ state }) => state === usState.abbreviation)\n .sort(({ name: storeNameA }, { name: storeNameB }) => {\n if (storeNameA > storeNameB) return 1;\n if (storeNameA < storeNameB) return -1;\n return 0;\n }),\n };\n franchiseesByState.push(stateObject);\n });\n\n return {\n props: {\n franchisees,\n franchiseesByState,\n },\n };\n};\n\ntype FranchiseeTerritory = {\n state: string;\n franchisees: Array;\n};\ninterface LocationsPageProps {\n /* add locations page props here */\n // franchisees: Array;\n franchiseesByState: Array;\n}\n\nconst Locations: React.FC = ({\n // franchisees,\n franchiseesByState,\n}: LocationsPageProps) => {\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 return (\n \n \n \n \n \n Find a Two Maids store near you!\n \n
\n
\n Locations\n
\n
\n \n {franchiseesByState.map((state: FranchiseeTerritory) => {\n const hasFranchises = state.franchisees.length > 0;\n if (hasFranchises) {\n return (\n
\n toggleEventKey(state.state)}\n >\n \n \n

\n {state.state}\n

\n \n \n
\n \n \n <>\n {state.franchisees.map((franchisee) => (\n \n \n \n

\n \n {\n axios\n .delete('/api/search-zip-code')\n .then((result) => {})\n .catch((e) => console.log(e));\n }}\n >\n {franchisee.name}\n \n \n

\n \n
\n

\n \n {franchisee.addressLineOne}\n {franchisee.addressLineTwo && (\n <>\n
\n {franchisee.addressLineTwo}\n \n )}\n
\n {franchisee.city}, {franchisee.state}{' '}\n {franchisee.zipCode}\n \n
\n \n

\n {franchisee.cities.split(';').length > 0 &&\n franchisee.cities !== '' && (\n <>\n

\n We serve the following areas:\n

\n \n {franchisee.cities\n .split(';')\n .map((city, index) => (\n \n {city}\n
\n \n ))}\n
\n \n )}\n
\n ))}\n \n \n \n );\n }\n return (\n \n \n \n \n

{state.state}

\n \n
\n
\n
\n );\n })}\n
\n
\n
\n
\n );\n};\n\nexport default Locations;\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/locations\",\n function () {\n return require(\"private-next-pages/locations.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/locations\"])\n });\n }\n "],"names":["className","active","eventKey","currentActiveKey","icon","faMinusCircle","faPlusCircle","color","pink500","description","children","toString","name","content","property","title","level","tagClass","heading","xs","md","lg","padding","sectionColor","sectionXs","sectionMd","sectionLg","sectionPadding","colorTheme","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","franchiseesByState","useState","activeEventKey","setActiveEventKey","alternateFooter","bsPrefix","map","state","franchisees","length","as","Card","onClick","franchisee","prefetch","passHref","axios","then","result","e","console","log","addressLineOne","city","zipCode","target","addressLineTwo","number","phonePrimary","cities","split","index","window","__NEXT_P","push"],"sourceRoot":""}