{"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":""}