{"version":3,"file":"static/chunks/3229.d3cf45c245165036.js","mappings":"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","sources":["webpack://_N_E/./components/StorePicker/index.tsx","webpack://_N_E/./data/revalidate.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport camelcaseKeys from 'camelcase-keys';\nimport Cleave from 'cleave.js/react';\nimport React, { useEffect, useState } from 'react';\nimport { Card, Row } from 'react-bootstrap';\nimport SyncLoader from 'react-spinners/SyncLoader';\n// import MoonLoader from 'react-spinners/MoonLoader';\nimport * as Sentry from '@sentry/node';\nimport { FranchiseeState } from '../../context/Franchisee/franchisee.types';\nimport StorePickerCard from '../StorePickerCard';\n// import Gataware from '../../SDKs/Gataware';\nimport axios, { AxiosResponse } from 'axios';\nimport useSWR from 'swr';\nimport { duplicateRequest } from '../../data/revalidate';\nimport { pink500 } from '../../ui/colors';\nimport { validateZipCode } from '../../utils/stringValidation';\n\ninterface StorePickerProps {\n onSelect?: Function;\n show: boolean;\n}\n\n// const sortStores = (storeA, storeB) => {\n// if (storeA.state > storeB.state) return 1;\n// if (storeA.state < storeB.state) return -1;\n// if (storeA.name > storeB.name) return 1;\n// if (storeA.name < storeB.name) return -1;\n// return 0;\n// };\n\nconst StorePicker: React.FC = ({\n onSelect,\n show,\n}: StorePickerProps) => {\n const [searchString, setSearchString] = useState('');\n const [franchisees, setFranchisees] = useState>([]);\n // saved full results for if the use doesn't get any stores from their zipCode\n const [franchiseesStore, setFranchiseesStore] = useState<\n Array\n >([]);\n const [loading, setLoading] = useState(false);\n const [initialLoading, setInitialLoading] = useState(false);\n const [errorMessage, setErrorMessage] = useState(false);\n const [networkError, setNetworkError] = useState(false);\n\n const { data: locations, error } = useSWR('/api/get-locations/', {\n dedupingInterval: duplicateRequest,\n });\n\n useEffect(() => {\n if (show && franchiseesStore.length < 1) {\n setInitialLoading(true);\n if (locations) {\n const filteredFranchisee = locations.data.filter(\n (franchisee) =>\n !franchisee.slug.includes('corporate') &&\n // !franchisee.slug.includes('training') &&\n !franchisee.slug.includes('client')\n );\n const franchiseeData = filteredFranchisee\n .map((franchisee) => camelcaseKeys(franchisee)).sort((a, b) => a.name.localeCompare(b.name));\n setFranchisees(franchiseeData);\n setFranchiseesStore(franchiseeData);\n setInitialLoading(false);\n } else if (error) {\n setInitialLoading(false);\n setNetworkError(true);\n }\n }\n }, [show]);\n\n useEffect(() => {\n if (validateZipCode(searchString)) {\n setLoading(true);\n // axios\n // .post('/api/search-zip-code', { searchZipCode: searchString })\n // .then((result) => console.log(result.data))\n // .catch((e) => console.log(e));\n\n axios\n .post('/api/get-franchisee-by-zone-zip-code/', { zipCode: searchString })\n .then(({ data, status }: AxiosResponse) => {\n setFranchisees([]);\n if (status === 200) {\n const franchiseeData = data.data.map((franchisee) =>\n camelcaseKeys(franchisee)\n ).sort((a, b) => a.name.localeCompare(b.name));;\n setFranchisees(franchiseeData);\n setErrorMessage(false);\n } else if (status === 502) {\n setInitialLoading(false);\n setNetworkError(true);\n }\n if (data.data === undefined || data.data.length < 1) {\n axios.post('/api/get-locations/', {\n zipCode: searchString,\n }).then(res => {\n // console.log('The res data is: ', res.data.data)\n if (res.data.data && res.data.data.length > 0) {\n let franchiseeData = res.data.data.map((franchisee) =>\n camelcaseKeys(franchisee)\n ).sort((a, b) => a.name.localeCompare(b.name));;\n setFranchisees(franchiseeData);\n setErrorMessage(false);\n } else {\n setErrorMessage(true);\n return;\n }\n })\n }})\n .catch((error) => {\n Sentry.captureException(error);\n })\n .finally(() => setLoading(false));\n } else if (franchisees.length !== franchiseesStore.length) {\n setFranchisees(franchiseesStore);\n }\n }, [searchString]);\n\n return (\n <>\n {/* Add store picker Content Here */}\n {}\n
\n \n Select a Store{' '}\n \n \n {\n setSearchString(e.currentTarget.value);\n }}\n />\n
\n
\n {initialLoading && (\n \n )}\n {franchisees.map((franchisee) => (\n \n ))}\n {networkError && (\n \n \n
502 Bad Gateway
\n \n

\n There seems to be a network issue. This request cannot be\n completed at this time.\n

\n
\n
\n
\n
\n )}\n\n {errorMessage && (\n \n \n
No Location Found
\n \n

\n Unfortunately, your zip code is not currently in our service area. We are growing and hope to service your area in the future, so please check back with us.\n

\n
\n
\n
\n
\n )}\n
\n \n );\n};\n\nStorePicker.defaultProps = {\n // add store picker default props here\n onSelect: () => {},\n};\n\nconst MemoizedStorePicker = React.memo(StorePicker);\nexport default MemoizedStorePicker;\n","// This file has global variables to alter the revalidation time of statically generated data and duplication time of requests.\n\n// 8 hours in seconds\nexport const revalidateData = 28800;\n\n// 8 hours in milliseconds\nexport const duplicateRequest = 28800000;\n"],"names":["StorePicker","onSelect","show","useState","searchString","setSearchString","franchisees","setFranchisees","franchiseesStore","setFranchiseesStore","loading","setLoading","initialLoading","setInitialLoading","errorMessage","setErrorMessage","networkError","setNetworkError","useSWR","dedupingInterval","locations","data","error","useEffect","length","franchiseeData","filter","franchisee","slug","includes","map","camelcaseKeys","sort","a","b","name","localeCompare","validateZipCode","axios","zipCode","then","status","undefined","res","Sentry","className","style","marginTop","htmlFor","color","pink500","size","id","placeholder","type","options","numericOnly","maxLength","value","autoComplete","onChange","e","currentTarget","css","StorePickerCard","zipCodeInput","source","Card","bsPrefix","Row","defaultProps","React"],"sourceRoot":""}