{"version":3,"file":"js/rescript-bundles-locations-cities-show-CityShow-res-37596116cf447da67a5c.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/locations/cities/show/CityShow.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as City from \"../../../../models/City.res.js\";\nimport * as Role from \"../../../../models/Role.res.js\";\nimport * as Hooks from \"../../../../libs/Hooks.res.js\";\nimport * as React from \"react\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as Routes_City from \"../../../../routes/common/Routes_City.res.js\";\nimport * as Api_Location from \"../../../../api/locations/Api_Location.res.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as ReactDebounce from \"rescript-debounce-react/src/ReactDebounce.res.js\";\nimport * as LocationsIndexCss from \"../../common/index/styles/LocationsIndexCss.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as LocationsIndexHeader from \"../../common/index/header/LocationsIndexHeader.res.js\";\nimport * as LocationsIndexContent from \"../../common/index/content/LocationsIndexContent.res.js\";\nimport * as LocationsIndexFilters from \"../../common/index/filters/LocationsIndexFilters.res.js\";\nimport * as LocationsIndexSubheader from \"../../common/index/subheader/LocationsIndexSubheader.res.js\";\nimport * as LocationsIndexFetchResults from \"../../common/index/fetch-result/LocationsIndexFetchResults.res.js\";\nimport * as LocationsIndexTopProvidersNew from \"../../common/index/top-providers/LocationsIndexTopProvidersNew.res.js\";\nimport * as LocationsIndexBookACallSection from \"../../common/index/book-a-call/LocationsIndexBookACallSection.res.js\";\nimport * as LocationsIndexPreloadedSearchLocations from \"../../common/index/preloaded-search-locations/LocationsIndexPreloadedSearchLocations.res.js\";\nimport * as ComponentsImportsLoadableJsx from \"Loadable/components.imports-loadable.jsx\";\n\nfunction CityShow$default(props) {\n var city = props.city;\n var initialState = React.useMemo((function () {\n return {\n status: {\n TAG: \"Ready\",\n _0: city.locations\n },\n mapStatus: \"FetchingMapLocations\",\n currentPage: 1,\n totalPages: 1,\n sortBy: {\n NAME: \"Sponsored\",\n VAL: \"Desc\"\n },\n search: \"\",\n view: \"Grid\",\n totalLocalities: 0,\n totalLocations: city.locations.totalPreloadedSearchLocations,\n totalProviders: city.locations.totalProviders,\n currentTotalLocations: city.locations.totalPreloadedSearchLocations,\n providerIds: [],\n userRole: Role.fromString(city.locations.userRole),\n resetDisabled: true,\n filtersOpen: true,\n resetCounter: 0,\n cityId: undefined,\n radius: 100,\n csvLocationsOpen: false\n };\n }), []);\n var container = React.useRef(null);\n var searchLocations = ReactDebounce.useDebounced(600, (function (param) {\n param.dispatch({\n TAG: \"PerformSearch\",\n _0: param.state.search\n });\n }));\n var scrollToTop = function () {\n Belt_Option.map(Caml_option.nullable_to_opt(container.current), (function (prim) {\n prim.scrollIntoView();\n }));\n };\n var match = Hooks.useReducer(initialState, (function (state, action) {\n if (typeof action !== \"object\") {\n switch (action) {\n case \"FetchLocations\" :\n return {\n TAG: \"SideEffects\",\n _0: (function (param) {\n var dispatch = param.dispatch;\n var state = param.state;\n $$Promise.wait(Api_Location.City.show(city.id, state.currentPage, state.sortBy, state.search, state.providerIds, state.radius), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"SucceedLocationsFetch\",\n _0: x._0\n });\n }\n SentryLogger.error1({\n rootModule: \"CityShow\",\n subModulePath: /* [] */0,\n value: \"default\",\n fullPath: \"CityShow.default\"\n }, \"CityShow::FetchLocations::Error\", [\n \"Error\",\n x._0\n ]);\n dispatch(\"FailLocationsFetch\");\n }));\n })\n };\n case \"FailLocationsFetch\" :\n return {\n TAG: \"Update\",\n _0: {\n status: \"FailedLocationsFetch\",\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n }\n };\n case \"Reset\" :\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: {\n NAME: \"Popular\",\n VAL: \"Desc\"\n },\n search: \"\",\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: [],\n userRole: state.userRole,\n resetDisabled: true,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter + 1 | 0,\n cityId: state.cityId,\n radius: 100,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: (function (param) {\n var dispatch = param.dispatch;\n var match = state.view;\n switch (match) {\n case \"Grid\" :\n case \"List\" :\n return dispatch(\"FetchLocations\");\n case \"Map\" :\n return dispatch(\"FetchMapLocations\");\n \n }\n })\n };\n case \"FetchMapLocations\" :\n return {\n TAG: \"SideEffects\",\n _0: (function (param) {\n var dispatch = param.dispatch;\n var state = param.state;\n $$Promise.wait(Api_Location.City.map(city.id, state.search, state.providerIds, state.radius), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"SucceedMapLocationsFetch\",\n _0: x._0\n });\n }\n SentryLogger.error1({\n rootModule: \"CityShow\",\n subModulePath: /* [] */0,\n value: \"default\",\n fullPath: \"CityShow.default\"\n }, \"CityShow::FetchMapLocations::Error\", [\n \"Error\",\n x._0\n ]);\n dispatch(\"FailMapLocationsFetch\");\n }));\n })\n };\n case \"FailMapLocationsFetch\" :\n return {\n TAG: \"Update\",\n _0: {\n status: state.status,\n mapStatus: \"FailedMapLocationsFetch\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n }\n };\n case \"EnableReset\" :\n return {\n TAG: \"Update\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: false,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n }\n };\n case \"ToggleFilters\" :\n return {\n TAG: \"Update\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: !state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n }\n };\n case \"ToggleLocationsCsvModalOpen\" :\n return {\n TAG: \"Update\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: !state.csvLocationsOpen\n }\n };\n \n }\n } else {\n switch (action.TAG) {\n case \"SucceedLocationsFetch\" :\n var res = action._0;\n return {\n TAG: \"Update\",\n _0: {\n status: {\n TAG: \"Ready\",\n _0: res.locations\n },\n mapStatus: state.mapStatus,\n currentPage: res.locations.currentPage,\n totalPages: res.locations.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: res.locations.totalPreloadedSearchLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n }\n };\n case \"UpdatePage\" :\n var nextPage = action._0;\n scrollToTop();\n var match = state.status;\n if (typeof match !== \"object\" && match === \"FetchingLocations\") {\n return \"NoUpdate\";\n }\n if (state.currentPage !== nextPage) {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingLocations\",\n mapStatus: state.mapStatus,\n currentPage: nextPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: (function (param) {\n param.dispatch(\"FetchLocations\");\n })\n };\n } else {\n return \"NoUpdate\";\n }\n case \"SortBy\" :\n scrollToTop();\n var match$1 = state.status;\n if (typeof match$1 !== \"object\" && match$1 === \"FetchingLocations\") {\n return \"NoUpdate\";\n }\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingLocations\",\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: action._0,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: false,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: (function (param) {\n param.dispatch(\"FetchLocations\");\n })\n };\n case \"UpdateSearchInput\" :\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: action._0,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: false,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: searchLocations\n };\n case \"PerformSearch\" :\n var input = action._0;\n var match$2 = state.view;\n var exit = 0;\n switch (match$2) {\n case \"Grid\" :\n case \"List\" :\n exit = 1;\n break;\n case \"Map\" :\n var match$3 = state.mapStatus;\n var exit$1 = 0;\n if (typeof match$3 !== \"object\") {\n if (match$3 === \"FetchingMapLocations\") {\n return \"NoUpdate\";\n }\n exit$1 = 2;\n } else {\n exit$1 = 2;\n }\n if (exit$1 === 2) {\n if (input !== state.search) {\n return \"NoUpdate\";\n } else {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: state.status,\n mapStatus: \"FetchingMapLocations\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: (function (param) {\n param.dispatch(\"FetchMapLocations\");\n })\n };\n }\n }\n break;\n \n }\n if (exit === 1) {\n var match$4 = state.status;\n var exit$2 = 0;\n if (typeof match$4 !== \"object\") {\n if (match$4 === \"FetchingLocations\") {\n return \"NoUpdate\";\n }\n exit$2 = 2;\n } else {\n exit$2 = 2;\n }\n if (exit$2 === 2) {\n if (input !== state.search) {\n return \"NoUpdate\";\n } else {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingLocations\",\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: (function (param) {\n param.dispatch(\"FetchLocations\");\n })\n };\n }\n }\n \n }\n break;\n case \"ToggleView\" :\n var view = action._0;\n switch (view) {\n case \"Grid\" :\n case \"List\" :\n break;\n case \"Map\" :\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: (function (param) {\n param.dispatch(\"FetchMapLocations\");\n })\n };\n \n }\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: (function (param) {\n param.dispatch(\"FetchLocations\");\n })\n };\n case \"UpdateTotalProviders\" :\n return {\n TAG: \"Update\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: action._0,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n }\n };\n case \"UpdateTotalLocalities\" :\n return {\n TAG: \"Update\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: action._0,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n }\n };\n case \"UpdateProviderIds\" :\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: action._0,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: (function (param) {\n var dispatch = param.dispatch;\n var match = state.view;\n switch (match) {\n case \"Grid\" :\n case \"List\" :\n return dispatch(\"FetchLocations\");\n case \"Map\" :\n return dispatch(\"FetchMapLocations\");\n \n }\n })\n };\n case \"UpdateCityRadius\" :\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: state.status,\n mapStatus: state.mapStatus,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: action._0,\n radius: action._1,\n csvLocationsOpen: state.csvLocationsOpen\n },\n _1: (function (param) {\n var dispatch = param.dispatch;\n var match = state.view;\n switch (match) {\n case \"Grid\" :\n case \"List\" :\n return dispatch(\"FetchLocations\");\n case \"Map\" :\n return dispatch(\"FetchMapLocations\");\n \n }\n })\n };\n case \"SucceedMapLocationsFetch\" :\n return {\n TAG: \"Update\",\n _0: {\n status: state.status,\n mapStatus: {\n TAG: \"ReadyMap\",\n _0: action._0\n },\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n view: state.view,\n totalLocalities: state.totalLocalities,\n totalLocations: state.totalLocations,\n totalProviders: state.totalProviders,\n currentTotalLocations: state.currentTotalLocations,\n providerIds: state.providerIds,\n userRole: state.userRole,\n resetDisabled: state.resetDisabled,\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n cityId: state.cityId,\n radius: state.radius,\n csvLocationsOpen: state.csvLocationsOpen\n }\n };\n \n }\n }\n }));\n var dispatch = match[1];\n var state = match[0];\n var res = state.status;\n var tmp;\n if (typeof res !== \"object\") {\n tmp = res === \"FetchingLocations\" ? JsxRuntime.jsx(LocationsIndexFetchResults.make, {\n status: \"Fetching\",\n reset: (function (param) {\n dispatch(\"Reset\");\n })\n }) : JsxRuntime.jsx(LocationsIndexFetchResults.make, {\n status: \"Error\",\n reset: (function (param) {\n dispatch(\"Reset\");\n })\n });\n } else {\n var res$1 = res._0;\n var match$1 = state.view;\n switch (match$1) {\n case \"Grid\" :\n var match$2 = res$1.totalPreloadedSearchLocations;\n tmp = match$2 !== 0 ? JsxRuntime.jsx(LocationsIndexPreloadedSearchLocations.make, {\n index: res$1,\n updatePage: (function (pageNum) {\n dispatch({\n TAG: \"UpdatePage\",\n _0: pageNum\n });\n })\n }) : JsxRuntime.jsx(LocationsIndexFetchResults.make, {\n status: \"Empty\",\n reset: (function (param) {\n dispatch(\"Reset\");\n })\n });\n break;\n case \"List\" :\n tmp = null;\n break;\n case \"Map\" :\n var mapRes = state.mapStatus;\n tmp = typeof mapRes !== \"object\" ? (\n mapRes === \"FetchingMapLocations\" ? JsxRuntime.jsx(LocationsIndexFetchResults.make, {\n status: \"Fetching\",\n reset: (function (param) {\n dispatch(\"Reset\");\n })\n }) : JsxRuntime.jsx(LocationsIndexFetchResults.make, {\n status: \"Error\",\n reset: (function (param) {\n dispatch(\"Reset\");\n })\n })\n ) : JsxRuntime.jsx(ComponentsImportsLoadableJsx.LocationsIndexMap, {\n preloadedSearchLocations: mapRes._0.preloadedSearchLocations,\n mapId: \"CityShow\",\n userRole: state.userRole,\n latitude: city.latitude,\n longitude: city.longitude,\n defaultZoom: 5\n });\n break;\n \n }\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(LocationsIndexFilters.make, {\n filtersOpen: state.filtersOpen,\n resetCounter: state.resetCounter,\n enableReset: (function () {\n dispatch(\"EnableReset\");\n }),\n updateProviderIds: (function (providerIds) {\n return function (param) {\n dispatch({\n TAG: \"UpdateProviderIds\",\n _0: providerIds\n });\n };\n }),\n updateCityRadius: (function (cityId, radius) {\n return function (param) {\n dispatch({\n TAG: \"UpdateCityRadius\",\n _0: cityId,\n _1: radius\n });\n };\n }),\n showCityFilter: false,\n onClick: (function (param) {\n dispatch(\"ToggleFilters\");\n })\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(LocationsIndexHeader.make, {\n locationsCount: state.currentTotalLocations,\n resetDisabled: state.resetDisabled,\n breadcrumbs: City.Show.breadcrumbs(city),\n baseRoute: Routes_City.show(city.slug, city.state.slug, city.country.slug),\n title: city.name + \" Data Centers Locations\",\n search: state.search,\n reset: (function () {\n dispatch(\"Reset\");\n }),\n onChange: (function ($$event) {\n dispatch({\n TAG: \"UpdateSearchInput\",\n _0: $$event.target.value\n });\n })\n }),\n JsxRuntime.jsx(LocationsIndexSubheader.make, {\n view: state.view,\n updateView: (function (view) {\n dispatch({\n TAG: \"ToggleView\",\n _0: view\n });\n }),\n sortBy: state.sortBy,\n sort: (function (sort) {\n return function (param) {\n dispatch({\n TAG: \"SortBy\",\n _0: sort\n });\n };\n }),\n indexType: \"City\",\n userRole: state.userRole,\n query: state.search,\n providerIds: state.providerIds,\n cityId: Caml_option.some(city.id),\n radius: state.radius,\n exportByCsv: (function (param) {\n dispatch(\"ToggleLocationsCsvModalOpen\");\n })\n }),\n tmp,\n JsxRuntime.jsx(LocationsIndexContent.make, {\n market: city.name + \", \" + city.country.name,\n totalLocations: city.locations.totalPreloadedSearchLocations,\n totalProviders: city.locations.totalProviders,\n totalCountries: city.locations.totalCountries,\n totalCities: city.locations.totalCities,\n topProviders: Belt_Array.slice(city.locations.providers, 0, 10),\n content: city.description\n }),\n JsxRuntime.jsx(LocationsIndexTopProvidersNew.make, {\n providers: city.locations.providers\n }),\n JsxRuntime.jsx(LocationsIndexBookACallSection.make, {})\n ],\n ref: Caml_option.some(container),\n className: LocationsIndexCss.Locations.container\n })\n ],\n className: LocationsIndexCss.container\n });\n}\n\nvar Css;\n\nvar $$default = CityShow$default;\n\nexport {\n Css ,\n $$default as default,\n}\n/* City Not a pure module */\n"],"names":["$$default","props","tmp","city","initialState","React","status","TAG","_0","locations","mapStatus","currentPage","totalPages","sortBy","NAME","VAL","search","view","totalLocalities","totalLocations","totalPreloadedSearchLocations","totalProviders","currentTotalLocations","providerIds","userRole","Role","resetDisabled","filtersOpen","resetCounter","cityId","undefined","radius","csvLocationsOpen","container","searchLocations","ReactDebounce","param","dispatch","state","scrollToTop","Belt_Option","Caml_option","current","prim","scrollIntoView","match","Hooks","action","$$Promise","Api_Location","show","id","x","SentryLogger","rootModule","subModulePath","value","fullPath","_1","map","res","nextPage","match$1","input","exit","match$3","exit$1","match$4","exit$2","JsxRuntime","LocationsIndexFetchResults","reset","res$1","LocationsIndexPreloadedSearchLocations","index","updatePage","pageNum","mapRes","ComponentsImportsLoadableJsx","preloadedSearchLocations","mapId","latitude","longitude","defaultZoom","children","LocationsIndexFilters","enableReset","updateProviderIds","updateCityRadius","showCityFilter","onClick","LocationsIndexHeader","locationsCount","breadcrumbs","City","baseRoute","Routes_City","slug","country","title","name","onChange","$$event","target","LocationsIndexSubheader","updateView","sort","indexType","query","exportByCsv","LocationsIndexContent","market","totalCountries","totalCities","topProviders","Belt_Array","providers","content","description","LocationsIndexTopProvidersNew","LocationsIndexBookACallSection","ref","className","LocationsIndexCss"],"sourceRoot":""}