{"version":3,"file":"assets/js/chunks/ROUTE_BICYCLE_REGION.956bd3b7e1edf0bc9aa3.js","mappings":"oKAQO,MAMMA,EAAkBC,GAAWC,IACxCC,EAAAA,EAAAA,IAAc,CAAEF,YAAWG,MAAKC,GAAYH,GAASI,EAAAA,EAAAA,IAAcD,K,uPCG9D,MAAME,EAAaC,IAAsB,IAArB,aAAEC,GAAcD,EACzC,MAAM,UAAEE,EAAS,YAAEC,GAAgBC,EAAAA,GAC7B,aAAEC,IAAiBC,EAAAA,EAAAA,IAAWL,EAAaM,MAAMC,YAEvD,OACEC,EAAAA,cAACC,EAAAA,EAAI,CAACC,WAAY,CAACT,EAAWC,GAAcS,IAAI,QAC9CH,EAAAA,cAACI,EAAAA,EAAoB,CAACC,MAAOC,EAAAA,GAAUC,UACvCP,EAAAA,cAACQ,EAAAA,EAAG,CAACL,IAAI,MAAMM,UAAWb,EAAeI,EAAAA,cAACU,EAAAA,EAAkB,MAAMV,EAAAA,cAACW,EAAAA,EAAc,QACjFX,EAAAA,cAACY,EAAAA,EAAM,CAACT,IAAI,SAASU,aAAW,GAC9Bb,EAAAA,cAACc,EAAAA,EAAiB,CAACX,IAAI,oBAAoBU,aAAW,KAExDb,EAAAA,cAACe,EAAAA,EAAY,CAACZ,IAAI,eAAea,eAAgBhB,EAAAA,cAACiB,EAAAA,EAAqB,OACrEjB,EAAAA,cAACkB,EAAAA,EAA0B,OAE7BlB,EAAAA,cAACmB,EAAAA,EAAqB,MACtBnB,EAAAA,cAACoB,EAAAA,EAAI,CAACjB,IAAI,OAAOkB,kBAAgB,GAC/BrB,EAAAA,cAACsB,EAAAA,EAAoB,CAACjB,MAAOC,EAAAA,GAAUC,WAEpC,C,qSCjBJ,MAAMgB,EAAehC,IAA+C,IAA9C,OAAEiC,EAAQ1B,OAAO,SAAEb,EAAQ,SAAEc,IAAYR,EACpE,KAAKkC,EAAAA,EAAAA,IAAmB1B,KAAa,MAAM,IAAI2B,EAAAA,EAAkB,6CAEjE,MAAM,WAAEC,EAAU,OAAEC,GAAWJ,EACzBK,EAAW,GAAGF,KAAcC,IAMlC,OAAOE,EAAAA,EAAAA,IAAWD,EAAUE,EAAAA,GAAkBC,OAAOC,MAA9CH,CAAqD7C,EAAUc,GACnEZ,MAAK,KACJ,MAAM+C,GAAeC,EAAAA,EAAAA,IAAmBpC,KAExC,GAAImC,EAAaP,aAAeA,IAAcS,EAAAA,EAAAA,IAAQF,EAAaG,eAAiBT,EAClF,MAAM,IAAIU,EAAAA,GACRC,EAAAA,EAAAA,IAAkBC,EAAAA,GAAsB,CACtCb,WAAYO,EAAaP,WACzBC,QAAQQ,EAAAA,EAAAA,IAAQF,EAAaG,gBAInC,OAAOI,QAAQC,IAAI,CACjBzD,GAAS0D,EAAAA,EAAAA,IAAWrC,EAAAA,GAAUC,UAC9BtB,GAAS2D,EAAAA,EAAAA,IAAef,KACxBgB,EAAAA,EAAAA,IAA2BvC,EAAAA,GAAUC,QAArCsC,CAA8C5D,EAAUc,IACxDhB,EAAAA,EAAAA,IAAgB,iBAAhBA,CAAkCE,EAAUc,GAC5Cd,GAAS6D,EAAAA,EAAAA,IAAW,CAAEC,MAAMC,EAAAA,EAAAA,IAAsBd,EAAaa,UAC/D,IAEHE,MAAMC,EAAAA,EAAsB,EAGjC,WAAeC,EAAAA,EAAAA,GAAmB,CAAE5B,eAAcjC,WAAUA,EAAAA,G","sources":["webpack://web-pwa/./src/store/seo/seo-faq.actions.js","webpack://web-pwa/./src/domain/seo/zones/bicycle-zone.page.jsx","webpack://web-pwa/./src/routes/zones/bicycleRegion.route.js"],"sourcesContent":["import {\n fetchCityActivityFaq,\n fetchItineraryHPFaq,\n fetchItineraryLandingPageFaq,\n fetchLayerFaq\n} from '../../dataSource/seo/seo.request'\nimport { setSeoFaqData } from './seoSlice'\n\nexport const loadSeoItineraryHPFaq = mode => dispatch =>\n fetchItineraryHPFaq({ mode }).then(response => dispatch(setSeoFaqData(response)))\n\nexport const loadSeoCityActivityFaq = rubricId => dispatch =>\n fetchCityActivityFaq({ rubricId }).then(response => dispatch(setSeoFaqData(response)))\n\nexport const loadSeoLayerFaq = pageKey => dispatch =>\n fetchLayerFaq({ pageKey }).then(response => dispatch(setSeoFaqData(response)))\n\nexport const loadSeoItineraryLandingPageFaq = mode => dispatch =>\n fetchItineraryLandingPageFaq({ mode }).then(response => dispatch(setSeoFaqData(response)))\n","import React from 'react'\nimport AddressSearchDialogContent from '../../../routes/address/AddressSearchDialogContent'\nimport { PAGE_CLASSES } from '../../../routes/pageClasses.constants'\nimport { selectZone } from '../../../store/address/address.selectors'\nimport { MAP_MODES } from '../../../store/map/map.constants'\nimport AddressHeaderForm from '../../address/AddressHeaderForm'\nimport Page from '../../genericComponents/Page'\nimport Header from '../../header/Header'\nimport Main from '../../main/Main'\nimport Map from '../../map/Map'\nimport PushNotificationPopup from '../../PushNotification/PushNotificationPopup'\nimport SearchDialog from '../../search/SearchDialog'\nimport AddressSuggestContent from '../../suggest/AddressSuggestContent'\nimport DepartmentMapImage from './DepartmentMapImage'\nimport LayerZoneMainContent from './LayerZoneMainContent'\nimport LayerZoneMetaManager from './LayerZoneMetaManager'\nimport RegionMapImage from './RegionMapImage'\n\nexport const renderPage = ({ routeContext }) => {\n const { LayerPage, withToaster } = PAGE_CLASSES\n const { isDepartment } = selectZone(routeContext.store.getState())\n\n return (\n \n \n : } />\n
\n \n
\n }>\n \n \n \n
\n \n
\n
\n )\n}\n","import { mapUpdated, setMapMode } from '../../store/map/mapSlice'\nimport PageNotFoundError from '../../domain/error/PageNotFoundError'\nimport PermanentRedirectError from '../../domain/error/PermanentRedirectError'\nimport { bboxArrayToBboxArrays } from '../../domain/map/conversion'\nimport { generateFullRoute } from '../../domain/router/routeUtils'\nimport { renderPage } from '../../domain/seo/zones/bicycle-zone.page'\nimport { searchArea } from '../../store/address/address.actions'\nimport { selectFirstAddress } from '../../store/address/address.selectors'\nimport { MAP_MODES } from '../../store/map/map.constants'\nimport { selectIsFrenchSite } from '../../store/navigation/navigation.selectors'\nimport { setSearchTerms } from '../../store/search/searchSlice'\nimport { geocodeForwardCtx } from '../../store/search/search.service.constants'\nimport { loadSeoLayerFaq } from '../../store/seo/seo-faq.actions'\nimport { redirectLayerRegionRouteIfTownUpperCased, searchLayerZoneDescription } from '../../store/seo/seo-zone.actions'\nimport { slugify } from '../../utils/string'\nimport { ROUTE_BICYCLE_REGION } from '../index'\nimport { technicalErrorCatcher } from '../routeErrors.utils'\nimport { handleRouteLoading } from '../routeService'\n\nexport const onRouteEnter = ({ params, store: { dispatch, getState } }) => {\n if (!selectIsFrenchSite(getState())) throw new PageNotFoundError('bicycle region accessed from foreign site')\n\n const { regionCode, region } = params\n const location = `${regionCode}-${region}`\n\n if (__SERVER__) {\n redirectLayerRegionRouteIfTownUpperCased(regionCode, region, ROUTE_BICYCLE_REGION)\n }\n\n return searchArea(location, geocodeForwardCtx.filter.state)(dispatch, getState)\n .then(() => {\n const firstAddress = selectFirstAddress(getState())\n\n if (firstAddress.regionCode !== regionCode || slugify(firstAddress.regionLabel) !== region)\n throw new PermanentRedirectError(\n generateFullRoute(ROUTE_BICYCLE_REGION, {\n regionCode: firstAddress.regionCode,\n region: slugify(firstAddress.regionLabel)\n })\n )\n\n return Promise.all([\n dispatch(setMapMode(MAP_MODES.bicycle)),\n dispatch(setSearchTerms(location)),\n searchLayerZoneDescription(MAP_MODES.bicycle)(dispatch, getState),\n loadSeoLayerFaq('bicycle-region')(dispatch, getState),\n dispatch(mapUpdated({ bbox: bboxArrayToBboxArrays(firstAddress.bbox) }))\n ])\n })\n .catch(technicalErrorCatcher)\n}\n\nexport default handleRouteLoading({ onRouteEnter, renderPage })\n"],"names":["loadSeoLayerFaq","pageKey","dispatch","fetchLayerFaq","then","response","setSeoFaqData","renderPage","_ref","routeContext","LayerPage","withToaster","PAGE_CLASSES","isDepartment","selectZone","store","getState","React","Page","cssClasses","key","LayerZoneMetaManager","layer","MAP_MODES","bicycle","Map","staticMap","DepartmentMapImage","RegionMapImage","Header","transparent","AddressHeaderForm","SearchDialog","suggestContent","AddressSuggestContent","AddressSearchDialogContent","PushNotificationPopup","Main","withoutSubHeader","LayerZoneMainContent","onRouteEnter","params","selectIsFrenchSite","PageNotFoundError","regionCode","region","location","searchArea","geocodeForwardCtx","filter","state","firstAddress","selectFirstAddress","slugify","regionLabel","PermanentRedirectError","generateFullRoute","ROUTE_BICYCLE_REGION","Promise","all","setMapMode","setSearchTerms","searchLayerZoneDescription","mapUpdated","bbox","bboxArrayToBboxArrays","catch","technicalErrorCatcher","handleRouteLoading"],"sourceRoot":""}