{"version":3,"file":"js/rescript-bundles-blog-posts-analytics-BlogPostsDashboardAnalytics-res-6e6d8387e3d6e07ab3f1.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/blog-posts/analytics/BlogPostsDashboardAnalytics.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H1 from \"../../../styleguide/components/Heading/H1.res.js\";\nimport * as ID from \"../../../libs/ID.res.js\";\nimport * as Hooks from \"../../../libs/Hooks.res.js\";\nimport * as Table from \"../../../styleguide/components/Table/Table.res.js\";\nimport * as React from \"react\";\nimport * as Control from \"../../../styleguide/components/Control/Control.res.js\";\nimport * as Popover from \"../../../styleguide/components/Popover/Popover.res.js\";\nimport * as $$Promise from \"../../../bindings/Promise.res.js\";\nimport * as Spinner from \"../../../styleguide/components/Spinner/Spinner.res.js\";\nimport * as Belt_Set from \"rescript/lib/es6/belt_Set.js\";\nimport * as Checkbox from \"../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Dropdown from \"../../../styleguide/forms/Dropdown/Dropdown.res.js\";\nimport * as IconMenu from \"../../../styleguide/icons/IconMenu.res.js\";\nimport * as TableRow from \"../../../styleguide/components/Table/TableRow.res.js\";\nimport * as Container from \"../../../styleguide/components/Container/Container.res.js\";\nimport * as TableBody from \"../../../styleguide/components/Table/TableBody.res.js\";\nimport * as TableCell from \"../../../styleguide/components/Table/TableCell.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Pagination from \"../../../styleguide/components/Pagination/Pagination.res.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 IconSorting from \"../../../styleguide/icons/IconSorting.res.js\";\nimport * as SearchField from \"../../../styleguide/forms/SearchField/SearchField.res.js\";\nimport * as TableHeader from \"../../../styleguide/components/Table/TableHeader.res.js\";\nimport * as Api_BlogPost from \"../../../api/blog-posts/Api_BlogPost.res.js\";\nimport * as SentryLogger from \"../../../loggers/SentryLogger.res.js\";\nimport * as ReactDebounce from \"rescript-debounce-react/src/ReactDebounce.res.js\";\nimport * as BlogPostNavbar from \"../common/navbar/BlogPostNavbar.res.js\";\nimport * as Routes_BlogPost from \"../../../routes/common/Routes_BlogPost.res.js\";\nimport * as TableHeaderCell from \"../../../styleguide/components/Table/TableHeaderCell.res.js\";\nimport * as BlogPostsOptions from \"../dashboard/BlogPostsOptions.res.js\";\nimport * as DashboardIndexCss from \"../../../styleguide/dashboard/components/views/index/DashboardIndexCss.res.js\";\nimport * as DashboardTableCss from \"../../../styleguide/dashboard/components/table/DashboardTableCss.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardFilterCss from \"../../../styleguide/dashboard/components/filters/DashboardFilterCss.res.js\";\n\nvar initialState_sortBy = {\n  NAME: \"TotalViews\",\n  VAL: \"Desc\"\n};\n\nvar initialState_categoryFilter = ID.$$Set.make();\n\nvar initialState = {\n  status: \"FetchingBlogPosts\",\n  currentPage: 1,\n  totalPages: 1,\n  sortBy: initialState_sortBy,\n  search: \"\",\n  categoryFilter: initialState_categoryFilter\n};\n\nfunction BlogPostsDashboardAnalytics$default(props) {\n  var categories = props.categories;\n  var container = React.useRef(null);\n  var searchBlogPosts = ReactDebounce.useDebounced(300, (function (param) {\n          param.dispatch({\n                TAG: \"PerformSearch\",\n                _0: param.state.search\n              });\n        }));\n  var match = Hooks.useReducer(initialState, (function (state, action) {\n          if (typeof action !== \"object\") {\n            if (action === \"FetchBlogPosts\") {\n              return {\n                      TAG: \"SideEffects\",\n                      _0: (function (param) {\n                          var dispatch = param.dispatch;\n                          var state = param.state;\n                          var match = state.search;\n                          var tmp = match === \"\" ? undefined : state.search;\n                          $$Promise.wait(Api_BlogPost.fetchBlogPostsAnalytics(state.currentPage, tmp, state.sortBy, Belt_Set.toList(state.categoryFilter)), (function (x) {\n                                  if (x.TAG === \"Ok\") {\n                                    return dispatch({\n                                                TAG: \"SucceedBlogPostsFetch\",\n                                                _0: x._0\n                                              });\n                                  }\n                                  SentryLogger.error1({\n                                        rootModule: \"BlogPostsDashboardAnalytics\",\n                                        subModulePath: /* [] */0,\n                                        value: \"default\",\n                                        fullPath: \"BlogPostsDashboardAnalytics.default\"\n                                      }, \"BlogPostsDashboardAnalytics::FetchBlogPosts::Error\", [\n                                        \"Error\",\n                                        x._0\n                                      ]);\n                                  dispatch(\"FailBlogPostsFetch\");\n                                }));\n                        })\n                    };\n            } else {\n              return {\n                      TAG: \"Update\",\n                      _0: {\n                        status: \"FailedBlogPostsFetch\",\n                        currentPage: state.currentPage,\n                        totalPages: state.totalPages,\n                        sortBy: state.sortBy,\n                        search: state.search,\n                        categoryFilter: state.categoryFilter\n                      }\n                    };\n            }\n          }\n          switch (action.TAG) {\n            case \"SucceedBlogPostsFetch\" :\n                var res = action._0;\n                return {\n                        TAG: \"UpdateWithSideEffects\",\n                        _0: {\n                          status: {\n                            TAG: \"Ready\",\n                            _0: res.blogPosts\n                          },\n                          currentPage: res.currentPage,\n                          totalPages: res.totalPages,\n                          sortBy: state.sortBy,\n                          search: state.search,\n                          categoryFilter: state.categoryFilter\n                        },\n                        _1: (function (param) {\n                            Belt_Option.map(Caml_option.nullable_to_opt(container.current), (function (prim) {\n                                    return prim.scrollTop;\n                                  }));\n                          })\n                      };\n            case \"UpdatePage\" :\n                var nextPage = action._0;\n                var match = state.status;\n                if (typeof match !== \"object\" && match === \"FetchingBlogPosts\") {\n                  return \"NoUpdate\";\n                }\n                if (state.currentPage !== nextPage) {\n                  return {\n                          TAG: \"UpdateWithSideEffects\",\n                          _0: {\n                            status: \"FetchingBlogPosts\",\n                            currentPage: nextPage,\n                            totalPages: state.totalPages,\n                            sortBy: state.sortBy,\n                            search: state.search,\n                            categoryFilter: state.categoryFilter\n                          },\n                          _1: (function (param) {\n                              param.dispatch(\"FetchBlogPosts\");\n                            })\n                        };\n                } else {\n                  return \"NoUpdate\";\n                }\n            case \"SortBy\" :\n                var sort = action._0;\n                var match$1 = state.status;\n                if (typeof match$1 !== \"object\" && match$1 === \"FetchingBlogPosts\") {\n                  return \"NoUpdate\";\n                }\n                var tmp;\n                if (sort === \"ThisWeek\") {\n                  var match$2 = state.sortBy;\n                  tmp = typeof match$2 === \"object\" && match$2.NAME === \"ThisWeek\" && match$2.VAL === \"Desc\" ? ({\n                        NAME: \"ThisWeek\",\n                        VAL: \"Asc\"\n                      }) : ({\n                        NAME: \"ThisWeek\",\n                        VAL: \"Desc\"\n                      });\n                } else if (sort === \"Title\") {\n                  var match$3 = state.sortBy;\n                  tmp = typeof match$3 === \"object\" && match$3.NAME === \"Title\" && match$3.VAL === \"Desc\" ? ({\n                        NAME: \"Title\",\n                        VAL: \"Asc\"\n                      }) : ({\n                        NAME: \"Title\",\n                        VAL: \"Desc\"\n                      });\n                } else if (sort === \"TotalViews\") {\n                  var match$4 = state.sortBy;\n                  tmp = typeof match$4 === \"object\" && match$4.NAME === \"TotalViews\" && match$4.VAL === \"Desc\" ? ({\n                        NAME: \"TotalViews\",\n                        VAL: \"Asc\"\n                      }) : ({\n                        NAME: \"TotalViews\",\n                        VAL: \"Desc\"\n                      });\n                } else if (sort === \"LastWeek\") {\n                  var match$5 = state.sortBy;\n                  tmp = typeof match$5 === \"object\" && match$5.NAME === \"LastWeek\" && match$5.VAL === \"Desc\" ? ({\n                        NAME: \"LastWeek\",\n                        VAL: \"Asc\"\n                      }) : ({\n                        NAME: \"LastWeek\",\n                        VAL: \"Desc\"\n                      });\n                } else {\n                  var match$6 = state.sortBy;\n                  tmp = typeof match$6 === \"object\" && match$6.NAME === \"Category\" && match$6.VAL !== \"Desc\" ? ({\n                        NAME: \"Category\",\n                        VAL: \"Desc\"\n                      }) : ({\n                        NAME: \"Category\",\n                        VAL: \"Asc\"\n                      });\n                }\n                return {\n                        TAG: \"UpdateWithSideEffects\",\n                        _0: {\n                          status: \"FetchingBlogPosts\",\n                          currentPage: state.currentPage,\n                          totalPages: state.totalPages,\n                          sortBy: tmp,\n                          search: state.search,\n                          categoryFilter: state.categoryFilter\n                        },\n                        _1: (function (param) {\n                            param.dispatch(\"FetchBlogPosts\");\n                          })\n                      };\n            case \"UpdateSearchInput\" :\n                return {\n                        TAG: \"UpdateWithSideEffects\",\n                        _0: {\n                          status: state.status,\n                          currentPage: state.currentPage,\n                          totalPages: state.totalPages,\n                          sortBy: state.sortBy,\n                          search: action._0,\n                          categoryFilter: state.categoryFilter\n                        },\n                        _1: searchBlogPosts\n                      };\n            case \"PerformSearch\" :\n                var match$7 = state.status;\n                if (typeof match$7 !== \"object\" && match$7 === \"FetchingBlogPosts\") {\n                  return \"NoUpdate\";\n                }\n                if (action._0 !== state.search) {\n                  return \"NoUpdate\";\n                } else {\n                  return {\n                          TAG: \"UpdateWithSideEffects\",\n                          _0: {\n                            status: \"FetchingBlogPosts\",\n                            currentPage: state.currentPage,\n                            totalPages: state.totalPages,\n                            sortBy: state.sortBy,\n                            search: state.search,\n                            categoryFilter: state.categoryFilter\n                          },\n                          _1: (function (param) {\n                              param.dispatch(\"FetchBlogPosts\");\n                            })\n                        };\n                }\n            case \"ToggleCategoryFilter\" :\n                var categoryId = action._0;\n                var match$8 = state.status;\n                if (typeof match$8 !== \"object\" && match$8 === \"FetchingBlogPosts\") {\n                  return \"NoUpdate\";\n                }\n                var categoryFilter = Belt_Set.has(state.categoryFilter, categoryId) ? Belt_Set.remove(state.categoryFilter, categoryId) : Belt_Set.add(state.categoryFilter, categoryId);\n                return {\n                        TAG: \"UpdateWithSideEffects\",\n                        _0: {\n                          status: \"FetchingBlogPosts\",\n                          currentPage: state.currentPage,\n                          totalPages: state.totalPages,\n                          sortBy: state.sortBy,\n                          search: state.search,\n                          categoryFilter: categoryFilter\n                        },\n                        _1: (function (param) {\n                            param.dispatch(\"FetchBlogPosts\");\n                          })\n                      };\n            \n          }\n        }));\n  var dispatch = match[1];\n  var state = match[0];\n  React.useEffect((function () {\n          dispatch(\"FetchBlogPosts\");\n        }), []);\n  var len = categories.length;\n  var tmp;\n  if (len !== 1 && len !== 0) {\n    var x = Belt_Set.size(state.categoryFilter);\n    tmp = JsxRuntime.jsxs(Dropdown.make, {\n          children: [\n            JsxRuntime.jsx(Dropdown.Trigger.make, {\n                  className: DashboardFilterCss.dropdown,\n                  children: x !== 0 ? (\n                      x !== 1 ? String(x) + \" Categories\" : \"1 Category\"\n                    ) : \"All Categories\"\n                }),\n            JsxRuntime.jsx(Dropdown.Body.make, {\n                  position: {\n                    TAG: \"Below\",\n                    _0: \"LeftEdge\"\n                  },\n                  className: DashboardFilterCss.dropdownBody,\n                  children: Belt_Array.map(categories, (function (category) {\n                          var id = \"blogPost-categories-filter--category-\" + ID.toString(category.id);\n                          return JsxRuntime.jsxs(\"div\", {\n                                      children: [\n                                        JsxRuntime.jsx(Checkbox.make, {\n                                              id: id,\n                                              size: \"SM\",\n                                              checked: Belt_Set.has(state.categoryFilter, category.id),\n                                              onChange: (function (param) {\n                                                  dispatch({\n                                                        TAG: \"ToggleCategoryFilter\",\n                                                        _0: category.id\n                                                      });\n                                                })\n                                            }),\n                                        JsxRuntime.jsx(\"label\", {\n                                              children: category.title,\n                                              className: DashboardFilterCss.label,\n                                              htmlFor: id\n                                            })\n                                      ],\n                                      className: DashboardFilterCss.dropdownBodyRow\n                                    }, id);\n                        }))\n                })\n          ]\n        });\n  } else {\n    tmp = null;\n  }\n  var match$1 = state.sortBy;\n  var match$2 = state.sortBy;\n  var match$3 = state.sortBy;\n  var match$4 = state.sortBy;\n  var match$5 = state.sortBy;\n  var blogPosts = state.status;\n  var tmp$1;\n  if (typeof blogPosts !== \"object\") {\n    tmp$1 = blogPosts === \"FetchingBlogPosts\" ? JsxRuntime.jsx(TableRow.make, {\n            children: JsxRuntime.jsx(TableCell.make, {\n                  colSpan: 7,\n                  children: JsxRuntime.jsx(\"div\", {\n                        children: JsxRuntime.jsx(Spinner.make, {\n                              size: \"XL\",\n                              color: \"Teal\"\n                            }),\n                        className: DashboardTableCss.spinner\n                      })\n                })\n          }) : JsxRuntime.jsx(TableRow.make, {\n            className: DashboardTableCss.fetchError,\n            children: JsxRuntime.jsx(TableCell.make, {\n                  colSpan: 7,\n                  children: \"Something went wrong during the search\"\n                })\n          });\n  } else {\n    var blogPosts$1 = blogPosts._0;\n    tmp$1 = blogPosts$1.length !== 0 ? Belt_Array.map(blogPosts$1, (function (blogPost) {\n              return JsxRuntime.jsxs(TableRow.make, {\n                          children: [\n                            JsxRuntime.jsx(TableCell.make, {\n                                  children: JsxRuntime.jsx(\"a\", {\n                                        children: blogPost.title,\n                                        className: DashboardTableCss.tableLink,\n                                        href: Routes_BlogPost.Dashboard.edit(blogPost.id)\n                                      })\n                                }),\n                            JsxRuntime.jsx(TableCell.make, {\n                                  children: blogPost.category\n                                }),\n                            JsxRuntime.jsx(TableCell.make, {\n                                  children: String(blogPost.ahoyEventsCount)\n                                }),\n                            JsxRuntime.jsx(TableCell.make, {\n                                  children: String(blogPost.thisWeek)\n                                }),\n                            JsxRuntime.jsx(TableCell.make, {\n                                  children: String(blogPost.lastWeek)\n                                }),\n                            JsxRuntime.jsx(TableCell.make, {\n                                  children: JsxRuntime.jsx(\"div\", {\n                                        children: JsxRuntime.jsxs(Popover.make, {\n                                              children: [\n                                                JsxRuntime.jsx(Popover.Trigger.make, {\n                                                      children: JsxRuntime.jsx(Control.make, {\n                                                            children: JsxRuntime.jsx(IconMenu.make, {\n                                                                  size: \"MD\",\n                                                                  color: \"Teal\"\n                                                                })\n                                                          })\n                                                    }),\n                                                JsxRuntime.jsxs(Dropdown.Body.make, {\n                                                      position: {\n                                                        TAG: \"Below\",\n                                                        _0: \"RightEdge\"\n                                                      },\n                                                      className: DashboardFilterCss.dropdownBody,\n                                                      children: [\n                                                        JsxRuntime.jsx(Control.make, {\n                                                              className: DashboardFilterCss.dropdownBodyRow,\n                                                              children: JsxRuntime.jsx(\"a\", {\n                                                                    children: \"Edit\",\n                                                                    className: DashboardFilterCss.dropdownBodyLink,\n                                                                    href: Routes_BlogPost.Dashboard.edit(blogPost.id)\n                                                                  })\n                                                            }),\n                                                        JsxRuntime.jsx(Control.make, {\n                                                              className: DashboardFilterCss.dropdownBodyRow,\n                                                              children: JsxRuntime.jsx(\"a\", {\n                                                                    children: \"View\",\n                                                                    className: DashboardFilterCss.dropdownBodyLink,\n                                                                    href: Routes_BlogPost.show(blogPost.slug)\n                                                                  })\n                                                            })\n                                                      ]\n                                                    })\n                                              ]\n                                            }),\n                                        className: DashboardIndexCss.menu\n                                      })\n                                })\n                          ]\n                        }, ID.toString(blogPost.id));\n            })) : JsxRuntime.jsx(TableRow.make, {\n            className: DashboardTableCss.fetchError,\n            children: JsxRuntime.jsx(TableCell.make, {\n                  colSpan: 7,\n                  children: \"No blog posts were found.\"\n                })\n          });\n  }\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(BlogPostNavbar.make, {\n                      selectedCategory: \"Analytics\"\n                    }),\n                JsxRuntime.jsxs(Container.make, {\n                      className: DashboardIndexCss.layout,\n                      setRef: Caml_option.some(container),\n                      children: [\n                        JsxRuntime.jsxs(\"div\", {\n                              children: [\n                                JsxRuntime.jsx(H1.make, {\n                                      className: DashboardIndexCss.title,\n                                      children: \"Blog Post Analytics\"\n                                    }),\n                                JsxRuntime.jsxs(\"div\", {\n                                      children: [\n                                        JsxRuntime.jsx(SearchField.make, {\n                                              id: \"blogPosts-search\",\n                                              value: state.search,\n                                              placeholder: \"Search by title, category, or date\",\n                                              inputClassName: DashboardFilterCss.searchField,\n                                              onChange: (function ($$event) {\n                                                  dispatch({\n                                                        TAG: \"UpdateSearchInput\",\n                                                        _0: $$event.target.value\n                                                      });\n                                                })\n                                            }),\n                                        tmp,\n                                        JsxRuntime.jsx(BlogPostsOptions.make, {})\n                                      ],\n                                      className: DashboardIndexCss.headerControls\n                                    })\n                              ],\n                              className: DashboardIndexCss.header\n                            }),\n                        JsxRuntime.jsx(\"section\", {\n                              children: JsxRuntime.jsxs(Table.make, {\n                                    className: DashboardTableCss.table,\n                                    children: [\n                                      JsxRuntime.jsx(TableHeader.make, {\n                                            children: JsxRuntime.jsxs(TableRow.make, {\n                                                  children: [\n                                                    JsxRuntime.jsx(TableHeaderCell.make, {\n                                                          children: JsxRuntime.jsx(Control.make, {\n                                                                onClick: (function (param) {\n                                                                    dispatch({\n                                                                          TAG: \"SortBy\",\n                                                                          _0: \"Title\"\n                                                                        });\n                                                                  }),\n                                                                children: JsxRuntime.jsxs(\"span\", {\n                                                                      children: [\n                                                                        \"Blog Post\",\n                                                                        JsxRuntime.jsx(IconSorting.make, {\n                                                                              size: \"XXS\",\n                                                                              direction: typeof match$1 === \"object\" && match$1.NAME === \"Title\" ? match$1.VAL : undefined\n                                                                            })\n                                                                      ],\n                                                                      className: DashboardTableCss.controlCell\n                                                                    })\n                                                              })\n                                                        }),\n                                                    JsxRuntime.jsx(TableHeaderCell.make, {\n                                                          children: JsxRuntime.jsx(Control.make, {\n                                                                onClick: (function (param) {\n                                                                    dispatch({\n                                                                          TAG: \"SortBy\",\n                                                                          _0: \"Category\"\n                                                                        });\n                                                                  }),\n                                                                children: JsxRuntime.jsxs(\"span\", {\n                                                                      children: [\n                                                                        \"Category\",\n                                                                        JsxRuntime.jsx(IconSorting.make, {\n                                                                              size: \"XXS\",\n                                                                              direction: typeof match$2 === \"object\" && match$2.NAME === \"Category\" ? match$2.VAL : undefined\n                                                                            })\n                                                                      ],\n                                                                      className: DashboardTableCss.controlCell\n                                                                    })\n                                                              })\n                                                        }),\n                                                    JsxRuntime.jsx(TableHeaderCell.make, {\n                                                          children: JsxRuntime.jsx(Control.make, {\n                                                                onClick: (function (param) {\n                                                                    dispatch({\n                                                                          TAG: \"SortBy\",\n                                                                          _0: \"TotalViews\"\n                                                                        });\n                                                                  }),\n                                                                children: JsxRuntime.jsxs(\"span\", {\n                                                                      children: [\n                                                                        \"Page Views\",\n                                                                        JsxRuntime.jsx(IconSorting.make, {\n                                                                              size: \"XXS\",\n                                                                              direction: typeof match$3 === \"object\" && match$3.NAME === \"TotalViews\" ? match$3.VAL : undefined\n                                                                            })\n                                                                      ],\n                                                                      className: DashboardTableCss.controlCell\n                                                                    })\n                                                              })\n                                                        }),\n                                                    JsxRuntime.jsx(TableHeaderCell.make, {\n                                                          children: JsxRuntime.jsx(Control.make, {\n                                                                onClick: (function (param) {\n                                                                    dispatch({\n                                                                          TAG: \"SortBy\",\n                                                                          _0: \"ThisWeek\"\n                                                                        });\n                                                                  }),\n                                                                children: JsxRuntime.jsxs(\"span\", {\n                                                                      children: [\n                                                                        \"This Week\",\n                                                                        JsxRuntime.jsx(IconSorting.make, {\n                                                                              size: \"XXS\",\n                                                                              direction: typeof match$4 === \"object\" && match$4.NAME === \"ThisWeek\" ? match$4.VAL : undefined\n                                                                            })\n                                                                      ],\n                                                                      className: DashboardTableCss.controlCell\n                                                                    })\n                                                              })\n                                                        }),\n                                                    JsxRuntime.jsx(TableHeaderCell.make, {\n                                                          children: JsxRuntime.jsx(Control.make, {\n                                                                onClick: (function (param) {\n                                                                    dispatch({\n                                                                          TAG: \"SortBy\",\n                                                                          _0: \"LastWeek\"\n                                                                        });\n                                                                  }),\n                                                                children: JsxRuntime.jsxs(\"span\", {\n                                                                      children: [\n                                                                        \"Last Week\",\n                                                                        JsxRuntime.jsx(IconSorting.make, {\n                                                                              size: \"XXS\",\n                                                                              direction: typeof match$5 === \"object\" && match$5.NAME === \"LastWeek\" ? match$5.VAL : undefined\n                                                                            })\n                                                                      ],\n                                                                      className: DashboardTableCss.controlCell\n                                                                    })\n                                                              })\n                                                        }),\n                                                    JsxRuntime.jsx(TableHeaderCell.make, {\n                                                          children: \"\"\n                                                        })\n                                                  ]\n                                                })\n                                          }),\n                                      JsxRuntime.jsx(TableBody.make, {\n                                            children: tmp$1\n                                          })\n                                    ]\n                                  }),\n                              className: DashboardTableCss.tableWrapper\n                            }),\n                        state.totalPages > 1 ? JsxRuntime.jsx(\"div\", {\n                                children: JsxRuntime.jsx(Pagination.make, {\n                                      currentPage: state.currentPage,\n                                      totalPages: state.totalPages,\n                                      onPageClick: (function (x) {\n                                          dispatch({\n                                                TAG: \"UpdatePage\",\n                                                _0: x\n                                              });\n                                        })\n                                    }),\n                                className: DashboardIndexCss.pagination\n                              }) : null\n                      ]\n                    })\n              ]\n            });\n}\n\nvar TableCss;\n\nvar Css;\n\nvar Filters;\n\nvar $$default = BlogPostsDashboardAnalytics$default;\n\nexport {\n  TableCss ,\n  Css ,\n  Filters ,\n  initialState ,\n  $$default as default,\n}\n/* initialState Not a pure module */\n"],"names":["initialState","status","currentPage","totalPages","sortBy","NAME","VAL","search","categoryFilter","ID","make","$$default","props","categories","container","React","searchBlogPosts","ReactDebounce","param","dispatch","TAG","_0","state","match","Hooks","action","tmp","undefined","$$Promise","Api_BlogPost","Belt_Set","x","SentryLogger","rootModule","subModulePath","value","fullPath","res","blogPosts","_1","Belt_Option","Caml_option","current","prim","scrollTop","nextPage","sort","match$1","match$2","match$3","match$4","match$5","match$6","match$7","categoryId","match$8","len","length","JsxRuntime","Dropdown","children","className","DashboardFilterCss","String","position","Belt_Array","category","id","Checkbox","size","checked","onChange","title","htmlFor","tmp$1","TableRow","TableCell","colSpan","Spinner","color","DashboardTableCss","blogPosts$1","blogPost","href","Routes_BlogPost","edit","ahoyEventsCount","thisWeek","lastWeek","Popover","Control","IconMenu","slug","DashboardIndexCss","BlogPostNavbar","selectedCategory","Container","setRef","H1","SearchField","placeholder","inputClassName","$$event","target","BlogPostsOptions","Table","TableHeader","TableHeaderCell","onClick","IconSorting","direction","TableBody","Pagination","onPageClick"],"sourceRoot":""}