@replyke/core 7.0.0-beta.11 → 7.0.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/cjs/hooks/comments/index.d.ts +2 -1
  2. package/dist/cjs/hooks/comments/index.js +3 -3
  3. package/dist/cjs/hooks/comments/index.js.map +1 -1
  4. package/dist/cjs/hooks/comments/useFetchManyComments.d.ts +2 -2
  5. package/dist/cjs/hooks/comments/useFetchManyComments.js +5 -7
  6. package/dist/cjs/hooks/comments/useFetchManyComments.js.map +1 -1
  7. package/dist/cjs/hooks/comments/useFetchManyCommentsWrapper.d.ts +21 -0
  8. package/dist/cjs/hooks/comments/{useProfileComments.js → useFetchManyCommentsWrapper.js} +40 -18
  9. package/dist/cjs/hooks/comments/useFetchManyCommentsWrapper.js.map +1 -0
  10. package/dist/cjs/hooks/entities/index.d.ts +2 -0
  11. package/dist/cjs/hooks/entities/index.js +3 -1
  12. package/dist/cjs/hooks/entities/index.js.map +1 -1
  13. package/dist/cjs/hooks/entities/useFetchManyEntitiesWrapper.d.ts +41 -0
  14. package/dist/cjs/hooks/entities/useFetchManyEntitiesWrapper.js +241 -0
  15. package/dist/cjs/hooks/entities/useFetchManyEntitiesWrapper.js.map +1 -0
  16. package/dist/cjs/index.d.ts +2 -2
  17. package/dist/cjs/index.js +5 -4
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/interfaces/models/Comment.d.ts +3 -0
  20. package/dist/esm/hooks/comments/index.d.ts +2 -1
  21. package/dist/esm/hooks/comments/index.js +1 -1
  22. package/dist/esm/hooks/comments/index.js.map +1 -1
  23. package/dist/esm/hooks/comments/useFetchManyComments.d.ts +2 -2
  24. package/dist/esm/hooks/comments/useFetchManyComments.js +5 -7
  25. package/dist/esm/hooks/comments/useFetchManyComments.js.map +1 -1
  26. package/dist/esm/hooks/comments/useFetchManyCommentsWrapper.d.ts +21 -0
  27. package/dist/esm/hooks/comments/{useProfileComments.js → useFetchManyCommentsWrapper.js} +40 -18
  28. package/dist/esm/hooks/comments/useFetchManyCommentsWrapper.js.map +1 -0
  29. package/dist/esm/hooks/entities/index.d.ts +2 -0
  30. package/dist/esm/hooks/entities/index.js +1 -0
  31. package/dist/esm/hooks/entities/index.js.map +1 -1
  32. package/dist/esm/hooks/entities/useFetchManyEntitiesWrapper.d.ts +41 -0
  33. package/dist/esm/hooks/entities/useFetchManyEntitiesWrapper.js +236 -0
  34. package/dist/esm/hooks/entities/useFetchManyEntitiesWrapper.js.map +1 -0
  35. package/dist/esm/index.d.ts +2 -2
  36. package/dist/esm/index.js +2 -2
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/interfaces/models/Comment.d.ts +3 -0
  39. package/package.json +1 -1
  40. package/dist/cjs/hooks/comments/useProfileComments.d.ts +0 -18
  41. package/dist/cjs/hooks/comments/useProfileComments.js.map +0 -1
  42. package/dist/esm/hooks/comments/useProfileComments.d.ts +0 -18
  43. package/dist/esm/hooks/comments/useProfileComments.js.map +0 -1
@@ -9,4 +9,5 @@ export { default as useUpdateComment } from "./useUpdateComment";
9
9
  export { default as useCommentVotes } from "./useCommentVotes";
10
10
  export { default as useDeleteComment } from "./useDeleteComment";
11
11
  export { default as useEntityComments } from "./useEntityComments";
12
- export { default as useProfileComments } from "./useProfileComments";
12
+ export { default as useFetchManyCommentsWrapper } from "./useFetchManyCommentsWrapper";
13
+ export type { UseFetchManyCommentsWrapperProps, UseFetchManyCommentsWrapperValues, } from "./useFetchManyCommentsWrapper";
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useProfileComments = exports.useEntityComments = exports.useDeleteComment = exports.useCommentVotes = exports.useUpdateComment = exports.useReplies = exports.useFetchCommentByForeignId = exports.useFetchComment = exports.useFetchManyComments = exports.useCreateComment = exports.useCommentSectionData = exports.useCommentSection = void 0;
6
+ exports.useFetchManyCommentsWrapper = exports.useEntityComments = exports.useDeleteComment = exports.useCommentVotes = exports.useUpdateComment = exports.useReplies = exports.useFetchCommentByForeignId = exports.useFetchComment = exports.useFetchManyComments = exports.useCreateComment = exports.useCommentSectionData = exports.useCommentSection = void 0;
7
7
  var useCommentSection_1 = require("./useCommentSection");
8
8
  Object.defineProperty(exports, "useCommentSection", { enumerable: true, get: function () { return __importDefault(useCommentSection_1).default; } });
9
9
  var useCommentSectionData_1 = require("./useCommentSectionData");
@@ -26,6 +26,6 @@ var useDeleteComment_1 = require("./useDeleteComment");
26
26
  Object.defineProperty(exports, "useDeleteComment", { enumerable: true, get: function () { return __importDefault(useDeleteComment_1).default; } });
27
27
  var useEntityComments_1 = require("./useEntityComments");
28
28
  Object.defineProperty(exports, "useEntityComments", { enumerable: true, get: function () { return __importDefault(useEntityComments_1).default; } });
29
- var useProfileComments_1 = require("./useProfileComments");
30
- Object.defineProperty(exports, "useProfileComments", { enumerable: true, get: function () { return __importDefault(useProfileComments_1).default; } });
29
+ var useFetchManyCommentsWrapper_1 = require("./useFetchManyCommentsWrapper");
30
+ Object.defineProperty(exports, "useFetchManyCommentsWrapper", { enumerable: true, get: function () { return __importDefault(useFetchManyCommentsWrapper_1).default; } });
31
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/comments/index.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,+DAAyE;AAAhE,6IAAA,OAAO,OAAwB;AACxC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/comments/index.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,+DAAyE;AAAhE,6IAAA,OAAO,OAAwB;AACxC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B"}
@@ -1,5 +1,5 @@
1
1
  import { CommentsSortByOptions } from "../../interfaces/CommentsSortByOptions";
2
- import { Comment } from "../../interfaces/models/Comment";
2
+ import { Comment, CommentIncludeParam } from "../../interfaces/models/Comment";
3
3
  import { PaginatedResponse } from "../../interfaces/IPaginatedResponse";
4
4
  declare function useFetchManyComments(): (props: {
5
5
  entityId?: string | null | undefined;
@@ -8,7 +8,7 @@ declare function useFetchManyComments(): (props: {
8
8
  sortBy?: CommentsSortByOptions;
9
9
  page: number;
10
10
  limit?: number;
11
- includeEntity?: boolean;
11
+ include?: CommentIncludeParam;
12
12
  sourceId?: string | null | undefined;
13
13
  }) => Promise<PaginatedResponse<Comment>>;
14
14
  export default useFetchManyComments;
@@ -46,20 +46,17 @@ function useFetchManyComments() {
46
46
  var _this = this;
47
47
  var projectId = (0, useProject_1.default)().projectId;
48
48
  var fetchComments = (0, react_1.useCallback)(function (props) { return __awaiter(_this, void 0, void 0, function () {
49
- var entityId, userId, parentId, sortBy, page, limit, includeEntity, sourceId, params, response;
49
+ var entityId, userId, parentId, sortBy, page, limit, include, sourceId, params, response;
50
50
  return __generator(this, function (_a) {
51
51
  switch (_a.label) {
52
52
  case 0:
53
- entityId = props.entityId, userId = props.userId, parentId = props.parentId, sortBy = props.sortBy, page = props.page, limit = props.limit, includeEntity = props.includeEntity, sourceId = props.sourceId;
53
+ entityId = props.entityId, userId = props.userId, parentId = props.parentId, sortBy = props.sortBy, page = props.page, limit = props.limit, include = props.include, sourceId = props.sourceId;
54
54
  if (page === 0) {
55
55
  throw new Error("Can't fetch comments with page 0");
56
56
  }
57
57
  if (limit === 0) {
58
58
  throw new Error("Can't fetch with limit 0");
59
59
  }
60
- if (!sortBy) {
61
- throw new Error("Can't fetch without sortBy property");
62
- }
63
60
  if (!projectId) {
64
61
  throw new Error("No project specified");
65
62
  }
@@ -74,10 +71,11 @@ function useFetchManyComments() {
74
71
  params.userId = userId;
75
72
  if (parentId)
76
73
  params.parentId = parentId;
77
- if (includeEntity)
78
- params.includeEntity = includeEntity;
79
74
  if (sourceId)
80
75
  params.sourceId = sourceId;
76
+ if (include) {
77
+ params.include = Array.isArray(include) ? include.join(',') : include;
78
+ }
81
79
  return [4 /*yield*/, axios_1.default.get("/".concat(projectId, "/comments"), {
82
80
  params: params,
83
81
  })];
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchManyComments.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useFetchManyComments.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AAIpC,sEAAgD;AAChD,6DAAuC;AAEvC,SAAS,oBAAoB;IAA7B,iBAiEC;IAhES,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,UAAO,KASN;;;;;oBAEG,QAAQ,GAQN,KAAK,SARC,EACR,MAAM,GAOJ,KAAK,OAPD,EACN,QAAQ,GAMN,KAAK,SANC,EACR,MAAM,GAKJ,KAAK,OALD,EACN,IAAI,GAIF,KAAK,KAJH,EACJ,KAAK,GAGH,KAAK,MAHF,EACL,aAAa,GAEX,KAAK,cAFM,EACb,QAAQ,GACN,KAAK,SADC,CACA;oBAEV,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBACtD,CAAC;oBAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBAC9C,CAAC;oBAED,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBACzD,CAAC;oBAED,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBAEK,MAAM,GAAwB;wBAClC,MAAM,QAAA;wBACN,IAAI,MAAA;wBACJ,KAAK,OAAA;qBACN,CAAC;oBAEF,IAAI,QAAQ;wBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACzC,IAAI,MAAM;wBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;oBACnC,IAAI,QAAQ;wBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACzC,IAAI,aAAa;wBAAE,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;oBACxD,IAAI,QAAQ;wBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAExB,qBAAM,eAAK,CAAC,GAAG,CAC9B,WAAI,SAAS,cAAW,EACxB;4BACE,MAAM,QAAA;yBACP,CACF,EAAA;;oBALK,QAAQ,GAAG,SAKhB;oBACD,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;SACtB,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"useFetchManyComments.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useFetchManyComments.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AAIpC,sEAAgD;AAChD,6DAAuC;AAEvC,SAAS,oBAAoB;IAA7B,iBAgEC;IA/DS,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,UAAO,KASN;;;;;oBAEG,QAAQ,GAQN,KAAK,SARC,EACR,MAAM,GAOJ,KAAK,OAPD,EACN,QAAQ,GAMN,KAAK,SANC,EACR,MAAM,GAKJ,KAAK,OALD,EACN,IAAI,GAIF,KAAK,KAJH,EACJ,KAAK,GAGH,KAAK,MAHF,EACL,OAAO,GAEL,KAAK,QAFA,EACP,QAAQ,GACN,KAAK,SADC,CACA;oBAEV,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBACtD,CAAC;oBAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBAC9C,CAAC;oBAED,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBAEK,MAAM,GAAwB;wBAClC,MAAM,QAAA;wBACN,IAAI,MAAA;wBACJ,KAAK,OAAA;qBACN,CAAC;oBAEF,IAAI,QAAQ;wBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACzC,IAAI,MAAM;wBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;oBACnC,IAAI,QAAQ;wBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACzC,IAAI,QAAQ;wBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAEzC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACxE,CAAC;oBAEgB,qBAAM,eAAK,CAAC,GAAG,CAC9B,WAAI,SAAS,cAAW,EACxB;4BACE,MAAM,QAAA;yBACP,CACF,EAAA;;oBALK,QAAQ,GAAG,SAKhB;oBACD,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;SACtB,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,kBAAe,oBAAoB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { CommentsSortByOptions } from "../../interfaces/CommentsSortByOptions";
2
+ import { Comment, CommentIncludeParam } from "../../interfaces/models/Comment";
3
+ export interface UseFetchManyCommentsWrapperProps {
4
+ entityId?: string | null;
5
+ userId?: string | null;
6
+ parentId?: string | null;
7
+ sourceId?: string | null;
8
+ limit?: number;
9
+ include?: CommentIncludeParam;
10
+ defaultSortBy?: CommentsSortByOptions;
11
+ }
12
+ export interface UseFetchManyCommentsWrapperValues {
13
+ comments: Comment[];
14
+ loading: boolean;
15
+ hasMore: boolean;
16
+ sortBy: CommentsSortByOptions | null;
17
+ setSortBy: (newSortBy: CommentsSortByOptions) => void;
18
+ loadMore: () => void;
19
+ }
20
+ declare function useFetchManyCommentsWrapper(props: UseFetchManyCommentsWrapperProps): UseFetchManyCommentsWrapperValues;
21
+ export default useFetchManyCommentsWrapper;
@@ -51,14 +51,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
51
51
  var react_1 = require("react");
52
52
  var useFetchManyComments_1 = __importDefault(require("./useFetchManyComments"));
53
53
  var handleError_1 = require("../../utils/handleError");
54
- function useProfileComments(props) {
54
+ function useFetchManyCommentsWrapper(props) {
55
55
  var _this = this;
56
- var userId = props.userId, _a = props.limit, limit = _a === void 0 ? 10 : _a, _b = props.defaultSortBy, defaultSortBy = _b === void 0 ? "new" : _b, includeEntity = props.includeEntity;
56
+ var entityId = props.entityId, userId = props.userId, parentId = props.parentId, sourceId = props.sourceId, _a = props.limit, limit = _a === void 0 ? 10 : _a, _b = props.defaultSortBy, defaultSortBy = _b === void 0 ? "new" : _b, include = props.include;
57
57
  var fetchManyComments = (0, useFetchManyComments_1.default)();
58
58
  var loading = (0, react_1.useRef)(true);
59
- var _c = (0, react_1.useState)(true), loadingState = _c[0], setLoadingState = _c[1]; // required to trigger rerenders
59
+ var _c = (0, react_1.useState)(true), loadingState = _c[0], setLoadingState = _c[1];
60
60
  var hasMore = (0, react_1.useRef)(true);
61
- var _d = (0, react_1.useState)(true), hasMoreState = _d[0], setHasMoreState = _d[1]; // required to trigger rerenders
61
+ var _d = (0, react_1.useState)(true), hasMoreState = _d[0], setHasMoreState = _d[1];
62
62
  var _e = (0, react_1.useState)(defaultSortBy), sortBy = _e[0], setSortBy = _e[1];
63
63
  var _f = (0, react_1.useState)(1), page = _f[0], setPage = _f[1];
64
64
  var _g = (0, react_1.useState)([]), comments = _g[0], setComments = _g[1];
@@ -67,10 +67,7 @@ function useProfileComments(props) {
67
67
  return __generator(this, function (_a) {
68
68
  switch (_a.label) {
69
69
  case 0:
70
- if (!userId) {
71
- // console.warn(
72
- // "The 'fetch comments' operation was invoked without a valid user and has been aborted."
73
- // );
70
+ if (!userId && !entityId && !parentId) {
74
71
  return [2 /*return*/];
75
72
  }
76
73
  _a.label = 1;
@@ -82,11 +79,14 @@ function useProfileComments(props) {
82
79
  setHasMoreState(true);
83
80
  setPage(1);
84
81
  return [4 /*yield*/, fetchManyComments({
82
+ entityId: entityId,
85
83
  userId: userId,
84
+ parentId: parentId,
85
+ sourceId: sourceId,
86
86
  page: 1,
87
87
  sortBy: sortBy,
88
- limit: 10,
89
- includeEntity: includeEntity,
88
+ limit: limit,
89
+ include: include,
90
90
  })];
91
91
  case 2:
92
92
  response = _a.sent();
@@ -99,7 +99,7 @@ function useProfileComments(props) {
99
99
  return [3 /*break*/, 5];
100
100
  case 3:
101
101
  err_1 = _a.sent();
102
- (0, handleError_1.handleError)(err_1, "Failed to reset profile comments:");
102
+ (0, handleError_1.handleError)(err_1, "Failed to reset comments:");
103
103
  return [3 /*break*/, 5];
104
104
  case 4:
105
105
  loading.current = false;
@@ -108,7 +108,16 @@ function useProfileComments(props) {
108
108
  case 5: return [2 /*return*/];
109
109
  }
110
110
  });
111
- }); }, [fetchManyComments, limit, sortBy, userId, includeEntity]);
111
+ }); }, [
112
+ fetchManyComments,
113
+ limit,
114
+ sortBy,
115
+ entityId,
116
+ userId,
117
+ parentId,
118
+ sourceId,
119
+ include,
120
+ ]);
112
121
  var loadMore = function () {
113
122
  if (loading.current || !hasMore.current)
114
123
  return;
@@ -119,7 +128,7 @@ function useProfileComments(props) {
119
128
  (0, react_1.useEffect)(function () {
120
129
  resetComments();
121
130
  }, [resetComments]);
122
- // useEffect to get a new batch of entities
131
+ // useEffect to get a new batch of comments
123
132
  (0, react_1.useEffect)(function () {
124
133
  var loadMoreComments = function () { return __awaiter(_this, void 0, void 0, function () {
125
134
  var response, newComments_1, pagination, err_2;
@@ -132,11 +141,14 @@ function useProfileComments(props) {
132
141
  case 1:
133
142
  _a.trys.push([1, 3, 4, 5]);
134
143
  return [4 /*yield*/, fetchManyComments({
144
+ entityId: entityId,
135
145
  userId: userId,
146
+ parentId: parentId,
147
+ sourceId: sourceId,
136
148
  page: page,
137
149
  sortBy: sortBy,
138
150
  limit: limit,
139
- includeEntity: includeEntity,
151
+ include: include,
140
152
  })];
141
153
  case 2:
142
154
  response = _a.sent();
@@ -159,11 +171,21 @@ function useProfileComments(props) {
159
171
  }
160
172
  });
161
173
  }); };
162
- // We only load more if th page changed
174
+ // We only load more if the page changed
163
175
  if (page > 1 && hasMore.current && !loading.current) {
164
176
  loadMoreComments();
165
177
  }
166
- }, [page]);
178
+ }, [
179
+ page,
180
+ fetchManyComments,
181
+ entityId,
182
+ userId,
183
+ parentId,
184
+ sourceId,
185
+ sortBy,
186
+ limit,
187
+ include,
188
+ ]);
167
189
  return {
168
190
  comments: comments,
169
191
  loading: loadingState,
@@ -173,5 +195,5 @@ function useProfileComments(props) {
173
195
  loadMore: loadMore,
174
196
  };
175
197
  }
176
- exports.default = useProfileComments;
177
- //# sourceMappingURL=useProfileComments.js.map
198
+ exports.default = useFetchManyCommentsWrapper;
199
+ //# sourceMappingURL=useFetchManyCommentsWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchManyCommentsWrapper.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useFetchManyCommentsWrapper.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiE;AAGjE,gFAA0D;AAC1D,uDAAsD;AAqBtD,SAAS,2BAA2B,CAClC,KAAuC;IADzC,iBA0IC;IAtIG,IAAA,QAAQ,GAON,KAAK,SAPC,EACR,MAAM,GAMJ,KAAK,OAND,EACN,QAAQ,GAKN,KAAK,SALC,EACR,QAAQ,GAIN,KAAK,SAJC,EACR,KAGE,KAAK,MAHG,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,KAEE,KAAK,cAFc,EAArB,aAAa,mBAAG,KAAK,KAAA,EACrB,OAAO,GACL,KAAK,QADA,CACC;IACV,IAAM,iBAAiB,GAAG,IAAA,8BAAoB,GAAE,CAAC;IAEjD,IAAM,OAAO,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IACvB,IAAA,KAAkC,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAA/C,YAAY,QAAA,EAAE,eAAe,QAAkB,CAAC;IAEvD,IAAM,OAAO,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IACvB,IAAA,KAAkC,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAA/C,YAAY,QAAA,EAAE,eAAe,QAAkB,CAAC;IAEjD,IAAA,KAAsB,IAAA,gBAAQ,EAAwB,aAAa,CAAC,EAAnE,MAAM,QAAA,EAAE,SAAS,QAAkD,CAAC;IACrE,IAAA,KAAkB,IAAA,gBAAQ,EAAC,CAAC,CAAC,EAA5B,IAAI,QAAA,EAAE,OAAO,QAAe,CAAC;IAC9B,IAAA,KAA0B,IAAA,gBAAQ,EAAY,EAAE,CAAC,EAAhD,QAAQ,QAAA,EAAE,WAAW,QAA2B,CAAC;IAExD,IAAM,aAAa,GAAG,IAAA,mBAAW,EAAC;;;;;oBAChC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACtC,sBAAO;oBACT,CAAC;;;;oBAGC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;oBACvB,eAAe,CAAC,IAAI,CAAC,CAAC;oBAEtB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;oBACvB,eAAe,CAAC,IAAI,CAAC,CAAC;oBAEtB,OAAO,CAAC,CAAC,CAAC,CAAC;oBAEM,qBAAM,iBAAiB,CAAC;4BACvC,QAAQ,UAAA;4BACR,MAAM,QAAA;4BACN,QAAQ,UAAA;4BACR,QAAQ,UAAA;4BACR,IAAI,EAAE,CAAC;4BACP,MAAM,QAAA;4BACN,KAAK,OAAA;4BACL,OAAO,SAAA;yBACR,CAAC,EAAA;;oBATI,QAAQ,GAAG,SASf;oBAEF,IAAI,QAAQ,EAAE,CAAC;wBACC,WAAW,GAAiB,QAAQ,KAAzB,EAAE,UAAU,GAAK,QAAQ,WAAb,CAAc;wBACnD,WAAW,CAAC,WAAW,CAAC,CAAC;wBACzB,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;wBACrC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACtC,CAAC;;;;oBAED,IAAA,yBAAW,EAAC,KAAG,EAAE,2BAA2B,CAAC,CAAC;;;oBAE9C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;oBACxB,eAAe,CAAC,KAAK,CAAC,CAAC;;;;;SAE1B,EAAE;QACD,iBAAiB;QACjB,KAAK;QACL,MAAM;QACN,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IAEH,IAAM,QAAQ,GAAG;QACf,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO;QAChD,OAAO,CAAC,UAAC,QAAQ;YACf,OAAO,QAAQ,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,aAAa,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,2CAA2C;IAC3C,IAAA,iBAAS,EAAC;QACR,IAAM,gBAAgB,GAAG;;;;;wBACvB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;wBACvB,eAAe,CAAC,IAAI,CAAC,CAAC;;;;wBAEH,qBAAM,iBAAiB,CAAC;gCACvC,QAAQ,UAAA;gCACR,MAAM,QAAA;gCACN,QAAQ,UAAA;gCACR,QAAQ,UAAA;gCACR,IAAI,MAAA;gCACJ,MAAM,QAAA;gCACN,KAAK,OAAA;gCACL,OAAO,SAAA;6BACR,CAAC,EAAA;;wBATI,QAAQ,GAAG,SASf;wBAEF,IAAI,QAAQ,EAAE,CAAC;4BACL,gBAAkC,QAAQ,KAAzB,EAAE,UAAU,GAAK,QAAQ,WAAb,CAAc;4BACnD,WAAW,CAAC,UAAC,YAAY,IAAK,uCAAI,YAAY,SAAK,aAAW,SAAhC,CAAiC,CAAC,CAAC;4BACjE,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;4BACrC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBACtC,CAAC;;;;wBAED,IAAA,yBAAW,EAAC,KAAG,EAAE,+BAA+B,CAAC,CAAC;;;wBAElD,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;wBACxB,eAAe,CAAC,KAAK,CAAC,CAAC;;;;;aAE1B,CAAC;QAEF,wCAAwC;QACxC,IAAI,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACpD,gBAAgB,EAAE,CAAC;QACrB,CAAC;IACH,CAAC,EAAE;QACD,IAAI;QACJ,iBAAiB;QACjB,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,KAAK;QACL,OAAO;KACR,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,UAAA;QACR,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,YAAY;QACrB,MAAM,QAAA;QACN,SAAS,WAAA;QACT,QAAQ,UAAA;KACT,CAAC;AACJ,CAAC;AAED,kBAAe,2BAA2B,CAAC"}
@@ -9,6 +9,8 @@ export { default as useFetchEntityByForeignId } from "./useFetchEntityByForeignI
9
9
  export { default as useFetchEntityByShortId } from "./useFetchEntityByShortId";
10
10
  export { default as useFetchManyEntities } from "./useFetchManyEntities";
11
11
  export { default as useIncrementEntityViews } from "./useIncrementEntityViews";
12
+ export { default as useFetchManyEntitiesWrapper } from "./useFetchManyEntitiesWrapper";
13
+ export type { UseFetchManyEntitiesWrapperProps, UseFetchManyEntitiesWrapperValues, } from "./useFetchManyEntitiesWrapper";
12
14
  export { default as useRemoveEntityDownvote } from "./useRemoveEntityDownvote";
13
15
  export { default as useRemoveEntityUpvote } from "./useRemoveEntityUpvote";
14
16
  export { default as useUpdateEntity } from "./useUpdateEntity";
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useUpvoteEntity = exports.useUpdateEntity = exports.useRemoveEntityUpvote = exports.useRemoveEntityDownvote = exports.useIncrementEntityViews = exports.useFetchManyEntities = exports.useFetchEntityByShortId = exports.useFetchEntityByForeignId = exports.useFetchEntity = exports.useEntityVotes = exports.useDownvoteEntity = exports.useDeleteEntity = exports.useCreateEntity = exports.useEntityData = exports.useEntity = void 0;
6
+ exports.useUpvoteEntity = exports.useUpdateEntity = exports.useRemoveEntityUpvote = exports.useRemoveEntityDownvote = exports.useFetchManyEntitiesWrapper = exports.useIncrementEntityViews = exports.useFetchManyEntities = exports.useFetchEntityByShortId = exports.useFetchEntityByForeignId = exports.useFetchEntity = exports.useEntityVotes = exports.useDownvoteEntity = exports.useDeleteEntity = exports.useCreateEntity = exports.useEntityData = exports.useEntity = void 0;
7
7
  var useEntity_1 = require("./useEntity");
8
8
  Object.defineProperty(exports, "useEntity", { enumerable: true, get: function () { return __importDefault(useEntity_1).default; } });
9
9
  var useEntityData_1 = require("./useEntityData");
@@ -26,6 +26,8 @@ var useFetchManyEntities_1 = require("./useFetchManyEntities");
26
26
  Object.defineProperty(exports, "useFetchManyEntities", { enumerable: true, get: function () { return __importDefault(useFetchManyEntities_1).default; } });
27
27
  var useIncrementEntityViews_1 = require("./useIncrementEntityViews");
28
28
  Object.defineProperty(exports, "useIncrementEntityViews", { enumerable: true, get: function () { return __importDefault(useIncrementEntityViews_1).default; } });
29
+ var useFetchManyEntitiesWrapper_1 = require("./useFetchManyEntitiesWrapper");
30
+ Object.defineProperty(exports, "useFetchManyEntitiesWrapper", { enumerable: true, get: function () { return __importDefault(useFetchManyEntitiesWrapper_1).default; } });
29
31
  var useRemoveEntityDownvote_1 = require("./useRemoveEntityDownvote");
30
32
  Object.defineProperty(exports, "useRemoveEntityDownvote", { enumerable: true, get: function () { return __importDefault(useRemoveEntityDownvote_1).default; } });
31
33
  var useRemoveEntityUpvote_1 = require("./useRemoveEntityUpvote");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/entities/index.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AAEjC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,yEAAmF;AAA1E,uJAAA,OAAO,OAA6B;AAC7C,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,+DAAyE;AAAhE,6IAAA,OAAO,OAAwB;AACxC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/entities/index.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AAEjC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,yEAAmF;AAA1E,uJAAA,OAAO,OAA6B;AAC7C,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,+DAAyE;AAAhE,6IAAA,OAAO,OAAwB;AACxC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B;AAK/C,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB"}
@@ -0,0 +1,41 @@
1
+ import { EntityListSortByOptions, SortDirection, SortType } from "../../interfaces/EntityListSortByOptions";
2
+ import { Entity, EntityIncludeParam } from "../../interfaces/models/Entity";
3
+ import { TimeFrame } from "../../interfaces/TimeFrame";
4
+ import { KeywordsFilters } from "../../interfaces/entity-filters/KeywordsFilters";
5
+ import { TitleFilters } from "../../interfaces/entity-filters/TitleFilters";
6
+ import { ContentFilters } from "../../interfaces/entity-filters/ContentFilters";
7
+ import { AttachmentsFilters } from "../../interfaces/entity-filters/AttachmentsFilters";
8
+ import { LocationFilters } from "../../interfaces/entity-filters/LocationFilters";
9
+ import { MetadataFilters } from "../../interfaces/entity-filters/MetadataFilters";
10
+ export interface UseFetchManyEntitiesWrapperProps {
11
+ userId?: string | null;
12
+ limit?: number;
13
+ sourceId?: string | null;
14
+ spaceId?: string | null;
15
+ followedOnly?: boolean;
16
+ include?: EntityIncludeParam;
17
+ defaultSortBy?: EntityListSortByOptions;
18
+ defaultSortDir?: SortDirection;
19
+ defaultSortType?: SortType;
20
+ timeFrame?: TimeFrame | null;
21
+ keywordsFilters?: KeywordsFilters | null;
22
+ titleFilters?: TitleFilters | null;
23
+ contentFilters?: ContentFilters | null;
24
+ attachmentsFilters?: AttachmentsFilters | null;
25
+ locationFilters?: LocationFilters | null;
26
+ metadataFilters?: MetadataFilters | null;
27
+ }
28
+ export interface UseFetchManyEntitiesWrapperValues {
29
+ entities: Entity[];
30
+ loading: boolean;
31
+ hasMore: boolean;
32
+ sortBy: EntityListSortByOptions;
33
+ sortDir: SortDirection;
34
+ sortType: SortType;
35
+ setSortBy: (newSortBy: EntityListSortByOptions) => void;
36
+ setSortDir: (newSortDir: SortDirection) => void;
37
+ setSortType: (newSortType: SortType) => void;
38
+ loadMore: () => void;
39
+ }
40
+ declare function useFetchManyEntitiesWrapper(props: UseFetchManyEntitiesWrapperProps): UseFetchManyEntitiesWrapperValues;
41
+ export default useFetchManyEntitiesWrapper;
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48
+ return (mod && mod.__esModule) ? mod : { "default": mod };
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ var react_1 = require("react");
52
+ var useFetchManyEntities_1 = __importDefault(require("./useFetchManyEntities"));
53
+ var handleError_1 = require("../../utils/handleError");
54
+ function useFetchManyEntitiesWrapper(props) {
55
+ var _this = this;
56
+ var userId = props.userId, _a = props.limit, limit = _a === void 0 ? 10 : _a, _b = props.defaultSortBy, defaultSortBy = _b === void 0 ? "new" : _b, _c = props.defaultSortDir, defaultSortDir = _c === void 0 ? "desc" : _c, _d = props.defaultSortType, defaultSortType = _d === void 0 ? "auto" : _d, timeFrame = props.timeFrame, sourceId = props.sourceId, spaceId = props.spaceId, include = props.include, followedOnly = props.followedOnly, keywordsFilters = props.keywordsFilters, titleFilters = props.titleFilters, contentFilters = props.contentFilters, attachmentsFilters = props.attachmentsFilters, locationFilters = props.locationFilters, metadataFilters = props.metadataFilters;
57
+ var fetchManyEntities = (0, useFetchManyEntities_1.default)();
58
+ var loading = (0, react_1.useRef)(true);
59
+ var _e = (0, react_1.useState)(true), loadingState = _e[0], setLoadingState = _e[1];
60
+ var hasMore = (0, react_1.useRef)(true);
61
+ var _f = (0, react_1.useState)(true), hasMoreState = _f[0], setHasMoreState = _f[1];
62
+ var _g = (0, react_1.useState)(defaultSortBy), sortBy = _g[0], setSortBy = _g[1];
63
+ var _h = (0, react_1.useState)(defaultSortDir), sortDir = _h[0], setSortDir = _h[1];
64
+ var _j = (0, react_1.useState)(defaultSortType), sortType = _j[0], setSortType = _j[1];
65
+ var _k = (0, react_1.useState)(1), page = _k[0], setPage = _k[1];
66
+ var _l = (0, react_1.useState)([]), entities = _l[0], setEntities = _l[1];
67
+ var resetEntities = (0, react_1.useCallback)(function () { return __awaiter(_this, void 0, void 0, function () {
68
+ var response, newEntities, pagination, err_1;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0:
72
+ if (!userId) {
73
+ return [2 /*return*/];
74
+ }
75
+ _a.label = 1;
76
+ case 1:
77
+ _a.trys.push([1, 3, 4, 5]);
78
+ loading.current = true;
79
+ setLoadingState(true);
80
+ hasMore.current = true;
81
+ setHasMoreState(true);
82
+ setPage(1);
83
+ return [4 /*yield*/, fetchManyEntities({
84
+ userId: userId,
85
+ page: 1,
86
+ sortBy: sortBy,
87
+ sortDir: sortDir,
88
+ sortType: sortType,
89
+ timeFrame: timeFrame,
90
+ sourceId: sourceId,
91
+ spaceId: spaceId,
92
+ limit: limit,
93
+ include: include,
94
+ followedOnly: followedOnly,
95
+ keywordsFilters: keywordsFilters,
96
+ titleFilters: titleFilters,
97
+ contentFilters: contentFilters,
98
+ attachmentsFilters: attachmentsFilters,
99
+ locationFilters: locationFilters,
100
+ metadataFilters: metadataFilters,
101
+ })];
102
+ case 2:
103
+ response = _a.sent();
104
+ if (response) {
105
+ newEntities = response.data, pagination = response.pagination;
106
+ setEntities(newEntities);
107
+ hasMore.current = pagination.hasMore;
108
+ setHasMoreState(pagination.hasMore);
109
+ }
110
+ return [3 /*break*/, 5];
111
+ case 3:
112
+ err_1 = _a.sent();
113
+ (0, handleError_1.handleError)(err_1, "Failed to reset profile entities:");
114
+ return [3 /*break*/, 5];
115
+ case 4:
116
+ loading.current = false;
117
+ setLoadingState(false);
118
+ return [7 /*endfinally*/];
119
+ case 5: return [2 /*return*/];
120
+ }
121
+ });
122
+ }); }, [
123
+ fetchManyEntities,
124
+ limit,
125
+ sortBy,
126
+ sortDir,
127
+ sortType,
128
+ timeFrame,
129
+ sourceId,
130
+ spaceId,
131
+ userId,
132
+ include,
133
+ followedOnly,
134
+ keywordsFilters,
135
+ titleFilters,
136
+ contentFilters,
137
+ attachmentsFilters,
138
+ locationFilters,
139
+ metadataFilters,
140
+ ]);
141
+ var loadMore = function () {
142
+ if (loading.current || !hasMore.current)
143
+ return;
144
+ setPage(function (prevPage) {
145
+ return prevPage + 1;
146
+ });
147
+ };
148
+ (0, react_1.useEffect)(function () {
149
+ resetEntities();
150
+ }, [resetEntities]);
151
+ // useEffect to get a new batch of entities
152
+ (0, react_1.useEffect)(function () {
153
+ var loadMoreEntities = function () { return __awaiter(_this, void 0, void 0, function () {
154
+ var response, newEntities_1, pagination, err_2;
155
+ return __generator(this, function (_a) {
156
+ switch (_a.label) {
157
+ case 0:
158
+ loading.current = true;
159
+ setLoadingState(true);
160
+ _a.label = 1;
161
+ case 1:
162
+ _a.trys.push([1, 3, 4, 5]);
163
+ return [4 /*yield*/, fetchManyEntities({
164
+ userId: userId,
165
+ page: page,
166
+ sortBy: sortBy,
167
+ sortDir: sortDir,
168
+ sortType: sortType,
169
+ timeFrame: timeFrame,
170
+ sourceId: sourceId,
171
+ spaceId: spaceId,
172
+ limit: limit,
173
+ include: include,
174
+ followedOnly: followedOnly,
175
+ keywordsFilters: keywordsFilters,
176
+ titleFilters: titleFilters,
177
+ contentFilters: contentFilters,
178
+ attachmentsFilters: attachmentsFilters,
179
+ locationFilters: locationFilters,
180
+ metadataFilters: metadataFilters,
181
+ })];
182
+ case 2:
183
+ response = _a.sent();
184
+ if (response) {
185
+ newEntities_1 = response.data, pagination = response.pagination;
186
+ setEntities(function (prevEntities) { return __spreadArray(__spreadArray([], prevEntities, true), newEntities_1, true); });
187
+ hasMore.current = pagination.hasMore;
188
+ setHasMoreState(pagination.hasMore);
189
+ }
190
+ return [3 /*break*/, 5];
191
+ case 3:
192
+ err_2 = _a.sent();
193
+ (0, handleError_1.handleError)(err_2, "Loading more entities failed:");
194
+ return [3 /*break*/, 5];
195
+ case 4:
196
+ loading.current = false;
197
+ setLoadingState(false);
198
+ return [7 /*endfinally*/];
199
+ case 5: return [2 /*return*/];
200
+ }
201
+ });
202
+ }); };
203
+ // We only load more if the page changed
204
+ if (page > 1 && hasMore.current && !loading.current) {
205
+ loadMoreEntities();
206
+ }
207
+ }, [
208
+ page,
209
+ fetchManyEntities,
210
+ userId,
211
+ sortBy,
212
+ sortDir,
213
+ sortType,
214
+ timeFrame,
215
+ sourceId,
216
+ spaceId,
217
+ limit,
218
+ include,
219
+ followedOnly,
220
+ keywordsFilters,
221
+ titleFilters,
222
+ contentFilters,
223
+ attachmentsFilters,
224
+ locationFilters,
225
+ metadataFilters,
226
+ ]);
227
+ return {
228
+ entities: entities,
229
+ loading: loadingState,
230
+ hasMore: hasMoreState,
231
+ sortBy: sortBy,
232
+ sortDir: sortDir,
233
+ sortType: sortType,
234
+ setSortBy: setSortBy,
235
+ setSortDir: setSortDir,
236
+ setSortType: setSortType,
237
+ loadMore: loadMore,
238
+ };
239
+ }
240
+ exports.default = useFetchManyEntitiesWrapper;
241
+ //# sourceMappingURL=useFetchManyEntitiesWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchManyEntitiesWrapper.js","sourceRoot":"","sources":["../../../../src/hooks/entities/useFetchManyEntitiesWrapper.tsx"],"names":[],"mappings":"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"}
@@ -13,11 +13,11 @@ export { useAuth, type UseAuthValues } from "./hooks/auth";
13
13
  export { useUser, useUserActions, type UseUserProps, type UseUserValues, } from "./hooks/user";
14
14
  export { useAppNotifications, useAppNotificationsActions, type UseAppNotificationsProps, type UseAppNotificationsValues, } from "./hooks/app-notifications";
15
15
  export { useLists, useListsActions, useIsEntitySaved, type UseListsProps, type UseListsValues, } from "./hooks/lists";
16
- export { useEntity, useEntityData, useCreateEntity, useDeleteEntity, useDownvoteEntity, useEntityVotes, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useFetchManyEntities, useIncrementEntityViews, useRemoveEntityDownvote, useRemoveEntityUpvote, useUpdateEntity, useUpvoteEntity, } from "./hooks/entities";
16
+ export { useEntity, useEntityData, useCreateEntity, useDeleteEntity, useDownvoteEntity, useEntityVotes, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useFetchManyEntities, useIncrementEntityViews, useFetchManyEntitiesWrapper, useRemoveEntityDownvote, useRemoveEntityUpvote, useUpdateEntity, useUpvoteEntity, type UseFetchManyEntitiesWrapperProps, type UseFetchManyEntitiesWrapperValues, } from "./hooks/entities";
17
17
  export { useEntityList, useEntityListActions, type UseEntityListProps, type UseEntityListValues, type EntityListFilters, type EntityListSort, type EntityListFetchOptions, } from "./hooks/entity-lists";
18
18
  export { useSpace, useSpaceData, useFetchSpace, useFetchSpaceByShortId, useFetchSpaceBySlug, useFetchSpaceBreadcrumb, useFetchSpaceChildren, useFetchManySpaces, useCheckSlugAvailability, useCreateSpace, useUpdateSpace, useDeleteSpace, useJoinSpace, useLeaveSpace, useFetchSpaceMembers, useFetchMySpaces, useUpdateMemberRole, useApproveMember, useDeclineMember, useRemoveMember, useSpacePermissions, type UseSpaceDataProps, type UseSpaceDataValues, type CreateSpaceProps, type UpdateSpaceProps, } from "./hooks/spaces";
19
19
  export { useSpaceList, useSpaceListActions, type UseSpaceListProps, type UseSpaceListValues, } from "./hooks/space-lists";
20
- export { useCommentSection, useCommentSectionData, useCreateComment, useFetchManyComments, useFetchComment, useFetchCommentByForeignId, useReplies, useUpdateComment, useCommentVotes, useDeleteComment, useEntityComments, useProfileComments, } from "./hooks/comments";
20
+ export { useCommentSection, useCommentSectionData, useCreateComment, useFetchManyComments, useFetchComment, useFetchCommentByForeignId, useReplies, useUpdateComment, useCommentVotes, useDeleteComment, useEntityComments, useFetchManyCommentsWrapper, type UseFetchManyCommentsWrapperProps, type UseFetchManyCommentsWrapperValues, } from "./hooks/comments";
21
21
  export { useFetchUser, useFetchUserByForeignId, useFetchUserByUsername, useCheckUsernameAvailability, useFetchUserSuggestions, useMentions, useUpdateUser, } from "./hooks/users";
22
22
  export { useFetchFollowStatus, useFetchFollowers, useFetchFollowersByUserId, useFetchFollowersCount, useFetchFollowersCountByUserId, useFetchFollowing, useFetchFollowingByUserId, useFetchFollowingCount, useFetchFollowingCountByUserId, useFollowManager, useFollowUser, useUnfollowByFollowId, useUnfollowUserByUserId, } from "./hooks/relationships/follows";
23
23
  export { useRequestConnection, useAcceptConnection, useDeclineConnection, useRemoveConnection, useFetchConnections, useFetchConnectionStatus, useRemoveConnectionByUserId, useFetchConnectionsCount, useFetchSentPendingConnections, useFetchReceivedPendingConnections, useFetchConnectionsByUserId, useFetchConnectionsCountByUserId, useConnectionManager, } from "./hooks/relationships/connections";