@selfcommunity/react-core 0.3.0 → 0.3.1-alpha.2

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.
@@ -41,7 +41,7 @@ function useSCFetchCategory({ id = null, category = null, cacheStrategy = utils_
41
41
  * If id attempt to get the category by id
42
42
  */
43
43
  (0, react_1.useEffect)(() => {
44
- if (__categoryId && (!scCategory || cacheStrategy === utils_1.CacheStrategies.STALE_WHILE_REVALIDATE)) {
44
+ if (__categoryId && (!scCategory || (scCategory && __categoryId !== scCategory.id) || cacheStrategy === utils_1.CacheStrategies.STALE_WHILE_REVALIDATE)) {
45
45
  fetchCategory()
46
46
  .then((obj) => {
47
47
  setSCCategory(obj);
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCategory.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCategory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSCFetchCategory.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCategory.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare const commentsObjectActionTypes: {
28
28
  DATA_PREVIOUS_LOADED: string;
29
29
  DATA_RELOAD: string;
30
30
  DATA_RELOADED: string;
31
+ DATA_REVALIDATE: string;
31
32
  };
32
33
  /**
33
34
  :::info
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCommentObjects.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAElH,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAKvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;CAOrC,CAAC;AA8EF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAAK,EAAE;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,wBAAwB,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAC7B,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC,OAsMA"}
1
+ {"version":3,"file":"useSCFetchCommentObjects.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAElH,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAMvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;CAQrC,CAAC;AAsHF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAAK,EAAE;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,wBAAwB,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAC7B,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC,OA2MA"}
@@ -12,6 +12,7 @@ const utils_1 = require("@selfcommunity/utils");
12
12
  const useSCFetchFeedObject_1 = __importDefault(require("./useSCFetchFeedObject"));
13
13
  const Cache_1 = require("../constants/Cache");
14
14
  const hooks_1 = require("../utils/hooks");
15
+ const pagination_1 = require("../utils/pagination");
15
16
  /**
16
17
  * @hidden
17
18
  * We have complex state logic that involves multiple sub-values,
@@ -26,6 +27,7 @@ exports.commentsObjectActionTypes = {
26
27
  DATA_PREVIOUS_LOADED: '_data_previous_loaded',
27
28
  DATA_RELOAD: '_data_reload',
28
29
  DATA_RELOADED: '_data_reloaded',
30
+ DATA_REVALIDATE: '_data_revalidate',
29
31
  };
30
32
  /**
31
33
  * commentsReducer:
@@ -41,13 +43,15 @@ function commentsReducer(state, action) {
41
43
  case exports.commentsObjectActionTypes.LOADING_PREVIOUS:
42
44
  return Object.assign(Object.assign({}, state), { isLoadingNext: false, isLoadingPrevious: true });
43
45
  case exports.commentsObjectActionTypes.DATA_NEXT_LOADED:
44
- return Object.assign(Object.assign(Object.assign(Object.assign({}, state), { page: action.payload.currentPage, comments: action.payload.comments, isLoadingNext: false, componentLoaded: true, next: action.payload.next }), (action.payload.previous ? { previous: action.payload.previous } : {})), (action.payload.total ? { total: action.payload.total } : {}));
46
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, state), { comments: action.payload.comments, isLoadingNext: false, componentLoaded: true, revalidate: false, revalidateNext: null, revalidatePrevious: null, next: action.payload.next }), (action.payload.page ? { page: action.payload.page } : {})), (action.payload.nextPage ? { nextPage: action.payload.nextPage } : {})), (action.payload.previous ? { previous: action.payload.previous } : {})), (action.payload.previousPage ? { previousPage: action.payload.previousPage } : {})), (action.payload.total ? { total: action.payload.total } : {}));
45
47
  case exports.commentsObjectActionTypes.DATA_PREVIOUS_LOADED:
46
- return Object.assign(Object.assign({}, state), { page: action.payload.currentPage, comments: action.payload.comments, isLoadingPrevious: false, previous: action.payload.previous });
48
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, state), { comments: action.payload.comments, isLoadingPrevious: false, revalidate: false, revalidateNext: null, revalidatePrevious: null, previous: action.payload.previous }), (action.payload.page ? { page: action.payload.page } : {})), (action.payload.previousPage ? { previousPage: action.payload.previousPage } : {}));
47
49
  case exports.commentsObjectActionTypes.DATA_RELOAD:
48
- return Object.assign(Object.assign({}, state), { next: action.payload.next, comments: [], total: 0, previous: null, reload: true });
50
+ return Object.assign(Object.assign({}, state), { next: action.payload.next, previousPage: null, nextPage: null, comments: [], total: 0, previous: null, reload: true });
49
51
  case exports.commentsObjectActionTypes.DATA_RELOADED:
50
52
  return Object.assign(Object.assign({}, state), { componentLoaded: false, reload: false });
53
+ case exports.commentsObjectActionTypes.DATA_REVALIDATE:
54
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, state), { componentLoaded: true, revalidate: true }), (action.payload.revalidateNext ? { revalidateNext: action.payload.revalidateNext } : {})), (action.payload.revalidatePrevious ? { revalidatePrevious: action.payload.revalidatePrevious } : {})), { reload: false });
51
55
  default:
52
56
  throw new Error(`Unhandled type: ${action.type}`);
53
57
  }
@@ -66,12 +70,29 @@ function stateInitializer(data) {
66
70
  previous: null,
67
71
  isLoadingNext: false,
68
72
  isLoadingPrevious: false,
69
- page: data.offset / data.pageSize + 1,
73
+ page: Math.ceil(data.offset / data.pageSize + 1),
70
74
  reload: false,
75
+ revalidate: false,
76
+ revalidateNext: null,
77
+ revalidatePrevious: null,
71
78
  };
79
+ _initState['nextPage'] = _initState.next ? _initState.page + 1 : null;
80
+ _initState['previousPage'] = _initState.previous ? _initState.page - 1 : null;
72
81
  if (__commentsObjectCacheKey && utils_1.LRUCache.hasKey(__commentsObjectCacheKey) && data.cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY) {
73
82
  const _cachedData = utils_1.LRUCache.get(__commentsObjectCacheKey);
74
- return Object.assign(Object.assign({}, _initState), { total: _cachedData.count, next: _cachedData.next, previous: _cachedData.previous, comments: _cachedData.results });
83
+ let page = Math.max((0, pagination_1.getCurrentPage)(_cachedData.next, data.pageSize), 1);
84
+ const nextPage = _cachedData.next ? (0, pagination_1.getCurrentPage)(_cachedData.next, data.pageSize) : null;
85
+ const previousPage = _cachedData.previous ? Math.max((0, pagination_1.getCurrentPage)(_cachedData.previous, data.pageSize) - 1, 1) : null;
86
+ return Object.assign(Object.assign({}, _initState), {
87
+ total: _cachedData.count,
88
+ next: _cachedData.next,
89
+ previous: _cachedData.previous,
90
+ comments: _cachedData.results,
91
+ page,
92
+ nextPage,
93
+ previousPage,
94
+ componentLoaded: true,
95
+ });
75
96
  }
76
97
  return _initState;
77
98
  }
@@ -107,22 +128,13 @@ function useSCFetchCommentObjects(props) {
107
128
  };
108
129
  // STATE
109
130
  const [state, dispatch] = (0, react_1.useReducer)(commentsReducer, {}, () => stateInitializer({ obj, offset, pageSize, next: getNextUrl(), cacheStrategy }));
110
- /**
111
- * Calculate current page
112
- */
113
- const getCurrentPage = (url) => {
114
- const urlSearchParams = new URLSearchParams(url);
115
- const params = Object.fromEntries(urlSearchParams.entries());
116
- const currentOffset = params.offset ? parseInt(params.offset) : 0;
117
- return currentOffset / pageSize + 1;
118
- };
119
131
  /**
120
132
  * Get Comments (with cache)
121
133
  */
122
134
  const revalidate = (url, forward) => {
123
135
  return performFetchComments(url, false).then((res) => {
124
136
  let _comments;
125
- let currentPage = getCurrentPage(state.next);
137
+ let page = (0, pagination_1.getCurrentPage)(forward ? res.next : res.previous, pageSize);
126
138
  if (forward) {
127
139
  let start = state.comments.slice(0, state.comments.length - res.results.length);
128
140
  _comments = start.concat(res.results);
@@ -134,7 +146,7 @@ function useSCFetchCommentObjects(props) {
134
146
  if (isMountedRef.current) {
135
147
  dispatch({
136
148
  type: forward ? exports.commentsObjectActionTypes.DATA_NEXT_LOADED : exports.commentsObjectActionTypes.DATA_PREVIOUS_LOADED,
137
- payload: Object.assign(Object.assign({ page: currentPage, comments: _comments }, (forward ? { next: res.next } : { previous: res.previous })), { total: res.count }),
149
+ payload: Object.assign(Object.assign({ page, comments: _comments }, (forward ? { next: res.next } : { previous: res.previous })), { total: res.count }),
138
150
  });
139
151
  }
140
152
  });
@@ -166,15 +178,18 @@ function useSCFetchCommentObjects(props) {
166
178
  */
167
179
  function getPreviousPage() {
168
180
  if (obj && state.previous && !state.isLoadingPrevious) {
181
+ const _previous = state.previous;
169
182
  dispatch({ type: exports.commentsObjectActionTypes.LOADING_PREVIOUS });
170
- performFetchComments(state.previous)
183
+ performFetchComments(_previous)
171
184
  .then((res) => {
172
185
  if (isMountedRef.current) {
173
- let currentPage = getCurrentPage(state.previous);
186
+ let currentPage = (0, pagination_1.getCurrentPage)(_previous, pageSize);
187
+ let previousPage = res.previous ? currentPage - 1 : null;
174
188
  dispatch({
175
189
  type: exports.commentsObjectActionTypes.DATA_PREVIOUS_LOADED,
176
190
  payload: {
177
191
  page: currentPage,
192
+ previousPage,
178
193
  comments: [...res.results, ...state.comments],
179
194
  previous: res.previous,
180
195
  },
@@ -187,7 +202,7 @@ function useSCFetchCommentObjects(props) {
187
202
  })
188
203
  .then(() => {
189
204
  if (isMountedRef.current && cacheStrategy === utils_1.CacheStrategies.STALE_WHILE_REVALIDATE) {
190
- revalidate(state.next, false);
205
+ dispatch({ type: exports.commentsObjectActionTypes.DATA_REVALIDATE, payload: { revalidatePrevious: _previous } });
191
206
  }
192
207
  });
193
208
  }
@@ -197,14 +212,16 @@ function useSCFetchCommentObjects(props) {
197
212
  */
198
213
  function getNextPage() {
199
214
  if (obj && state.next && !state.isLoadingNext) {
215
+ const _next = state.next;
200
216
  dispatch({ type: exports.commentsObjectActionTypes.LOADING_NEXT });
201
- performFetchComments(state.next)
217
+ performFetchComments(_next)
202
218
  .then((res) => {
203
219
  if (isMountedRef.current) {
204
- let currentPage = getCurrentPage(state.next);
220
+ let currentPage = (0, pagination_1.getCurrentPage)(_next, pageSize);
221
+ let nextPage = res.next ? currentPage + 1 : null;
205
222
  dispatch({
206
223
  type: exports.commentsObjectActionTypes.DATA_NEXT_LOADED,
207
- payload: Object.assign({ page: currentPage, comments: [...state.comments, ...res.results], next: res.next, total: res.count, componentLoaded: true }, (offset && state.comments.length === 0 ? { previous: res.previous } : {})),
224
+ payload: Object.assign({ page: currentPage, nextPage, comments: [...state.comments, ...res.results], next: res.next, total: res.count, componentLoaded: true }, (offset && state.comments.length === 0 ? { previous: res.previous, previousPage: res.previous ? currentPage - 1 : null } : {})),
208
225
  });
209
226
  onChangePage && onChangePage(currentPage);
210
227
  }
@@ -214,7 +231,7 @@ function useSCFetchCommentObjects(props) {
214
231
  })
215
232
  .then(() => {
216
233
  if (isMountedRef.current && cacheStrategy === utils_1.CacheStrategies.STALE_WHILE_REVALIDATE) {
217
- revalidate(state.next, true);
234
+ dispatch({ type: exports.commentsObjectActionTypes.DATA_REVALIDATE, payload: { revalidateNext: _next } });
218
235
  }
219
236
  });
220
237
  }
@@ -243,6 +260,14 @@ function useSCFetchCommentObjects(props) {
243
260
  getNextPage();
244
261
  }
245
262
  }, [state.reload, isMountedRef]);
263
+ /**
264
+ * Revalidate last fetched comments
265
+ */
266
+ (0, react_1.useEffect)(() => {
267
+ if (isMountedRef.current && state.componentLoaded && Boolean(obj) && !state.reload && state.revalidate) {
268
+ revalidate(state.revalidateNext, Boolean(state.revalidateNext));
269
+ }
270
+ }, [state.revalidate, isMountedRef]);
246
271
  return Object.assign(Object.assign({ feedObject: obj, setFeedObject: setObj }, state), { pageSize,
247
272
  getNextPage,
248
273
  getPreviousPage,
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCommentObjects.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSCFetchCommentObjects.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Calculate current page from url (offset)
3
+ */
4
+ export declare function getCurrentPage(url: any, pageSize: any): number;
5
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/pagination.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,UAK3C"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurrentPage = void 0;
4
+ /**
5
+ * Calculate current page from url (offset)
6
+ */
7
+ function getCurrentPage(url, pageSize) {
8
+ const urlSearchParams = new URLSearchParams(url);
9
+ const params = Object.fromEntries(urlSearchParams.entries());
10
+ const currentOffset = params.offset ? parseInt(params.offset) : 0;
11
+ return currentOffset / pageSize + 1;
12
+ }
13
+ exports.getCurrentPage = getCurrentPage;
14
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/utils/pagination.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ;IAC1C,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,aAAa,GAAG,QAAQ,GAAG,CAAC,CAAC;AACtC,CAAC;AALD,wCAKC"}
@@ -39,7 +39,7 @@ export default function useSCFetchCategory({ id = null, category = null, cacheSt
39
39
  * If id attempt to get the category by id
40
40
  */
41
41
  useEffect(() => {
42
- if (__categoryId && (!scCategory || cacheStrategy === CacheStrategies.STALE_WHILE_REVALIDATE)) {
42
+ if (__categoryId && (!scCategory || (scCategory && __categoryId !== scCategory.id) || cacheStrategy === CacheStrategies.STALE_WHILE_REVALIDATE)) {
43
43
  fetchCategory()
44
44
  .then((obj) => {
45
45
  setSCCategory(obj);
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCategory.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCategory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAC,IAAI,EAAE,SAAS,EAAe,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAC,2BAA2B,EAAC,MAAM,yBAAyB,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,EAAE,GAAG,IAAI,EACT,QAAQ,GAAG,IAAI,EACf,aAAa,GAAG,eAAe,CAAC,WAAW,GAK5C;IACC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjD,QAAQ;IACR,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAEnE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,aAAa,KAAK,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CACnG,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,IAAI,CAAC,CAAC;IAEjD;;OAEG;IACH,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,OAAO,IAAI;aACR,OAAO,CAAC;YACP,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,EAAE,EAAE,YAAY,EAAC,CAAC;YAC/C,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;SAClC,CAAC;aACD,IAAI,CAAC,CAAC,GAA4B,EAAE,EAAE;YACrC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,IAAI,CAAC,CAAC,UAAU,IAAI,aAAa,KAAK,eAAe,CAAC,sBAAsB,CAAC,EAAE;YAC7F,aAAa,EAAE;iBACZ,IAAI,CAAC,CAAC,GAAmB,EAAE,EAAE;gBAC5B,aAAa,CAAC,GAAG,CAAC,CAAC;gBACnB,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACpC,QAAQ,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACN;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,2BAA2B,CAAC,GAAG,EAAE;QAC/B,IAAI,QAAQ,EAAE;YACZ,IAAI,aAAa,KAAK,eAAe,CAAC,YAAY,EAAE;gBAClD,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;aAC5C;iBAAM;gBACL,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC;aAC3D;SACF;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,EAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"useSCFetchCategory.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCategory.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare const commentsObjectActionTypes: {
28
28
  DATA_PREVIOUS_LOADED: string;
29
29
  DATA_RELOAD: string;
30
30
  DATA_RELOADED: string;
31
+ DATA_REVALIDATE: string;
31
32
  };
32
33
  /**
33
34
  :::info
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCommentObjects.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAElH,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAKvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;CAOrC,CAAC;AA8EF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAAK,EAAE;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,wBAAwB,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAC7B,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC,OAsMA"}
1
+ {"version":3,"file":"useSCFetchCommentObjects.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAElH,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAMvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;CAQrC,CAAC;AAsHF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAAK,EAAE;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,wBAAwB,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAC7B,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC,OA2MA"}
@@ -6,6 +6,7 @@ import { CacheStrategies, Logger, LRUCache } from '@selfcommunity/utils';
6
6
  import useSCFetchFeedObject from './useSCFetchFeedObject';
7
7
  import { getCommentObjectCacheKey, getCommentObjectsCacheKey } from '../constants/Cache';
8
8
  import { useIsComponentMountedRef } from '../utils/hooks';
9
+ import { getCurrentPage } from '../utils/pagination';
9
10
  /**
10
11
  * @hidden
11
12
  * We have complex state logic that involves multiple sub-values,
@@ -20,6 +21,7 @@ export const commentsObjectActionTypes = {
20
21
  DATA_PREVIOUS_LOADED: '_data_previous_loaded',
21
22
  DATA_RELOAD: '_data_reload',
22
23
  DATA_RELOADED: '_data_reloaded',
24
+ DATA_REVALIDATE: '_data_revalidate',
23
25
  };
24
26
  /**
25
27
  * commentsReducer:
@@ -35,13 +37,15 @@ function commentsReducer(state, action) {
35
37
  case commentsObjectActionTypes.LOADING_PREVIOUS:
36
38
  return Object.assign(Object.assign({}, state), { isLoadingNext: false, isLoadingPrevious: true });
37
39
  case commentsObjectActionTypes.DATA_NEXT_LOADED:
38
- return Object.assign(Object.assign(Object.assign(Object.assign({}, state), { page: action.payload.currentPage, comments: action.payload.comments, isLoadingNext: false, componentLoaded: true, next: action.payload.next }), (action.payload.previous ? { previous: action.payload.previous } : {})), (action.payload.total ? { total: action.payload.total } : {}));
40
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, state), { comments: action.payload.comments, isLoadingNext: false, componentLoaded: true, revalidate: false, revalidateNext: null, revalidatePrevious: null, next: action.payload.next }), (action.payload.page ? { page: action.payload.page } : {})), (action.payload.nextPage ? { nextPage: action.payload.nextPage } : {})), (action.payload.previous ? { previous: action.payload.previous } : {})), (action.payload.previousPage ? { previousPage: action.payload.previousPage } : {})), (action.payload.total ? { total: action.payload.total } : {}));
39
41
  case commentsObjectActionTypes.DATA_PREVIOUS_LOADED:
40
- return Object.assign(Object.assign({}, state), { page: action.payload.currentPage, comments: action.payload.comments, isLoadingPrevious: false, previous: action.payload.previous });
42
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, state), { comments: action.payload.comments, isLoadingPrevious: false, revalidate: false, revalidateNext: null, revalidatePrevious: null, previous: action.payload.previous }), (action.payload.page ? { page: action.payload.page } : {})), (action.payload.previousPage ? { previousPage: action.payload.previousPage } : {}));
41
43
  case commentsObjectActionTypes.DATA_RELOAD:
42
- return Object.assign(Object.assign({}, state), { next: action.payload.next, comments: [], total: 0, previous: null, reload: true });
44
+ return Object.assign(Object.assign({}, state), { next: action.payload.next, previousPage: null, nextPage: null, comments: [], total: 0, previous: null, reload: true });
43
45
  case commentsObjectActionTypes.DATA_RELOADED:
44
46
  return Object.assign(Object.assign({}, state), { componentLoaded: false, reload: false });
47
+ case commentsObjectActionTypes.DATA_REVALIDATE:
48
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, state), { componentLoaded: true, revalidate: true }), (action.payload.revalidateNext ? { revalidateNext: action.payload.revalidateNext } : {})), (action.payload.revalidatePrevious ? { revalidatePrevious: action.payload.revalidatePrevious } : {})), { reload: false });
45
49
  default:
46
50
  throw new Error(`Unhandled type: ${action.type}`);
47
51
  }
@@ -60,12 +64,29 @@ function stateInitializer(data) {
60
64
  previous: null,
61
65
  isLoadingNext: false,
62
66
  isLoadingPrevious: false,
63
- page: data.offset / data.pageSize + 1,
67
+ page: Math.ceil(data.offset / data.pageSize + 1),
64
68
  reload: false,
69
+ revalidate: false,
70
+ revalidateNext: null,
71
+ revalidatePrevious: null,
65
72
  };
73
+ _initState['nextPage'] = _initState.next ? _initState.page + 1 : null;
74
+ _initState['previousPage'] = _initState.previous ? _initState.page - 1 : null;
66
75
  if (__commentsObjectCacheKey && LRUCache.hasKey(__commentsObjectCacheKey) && data.cacheStrategy !== CacheStrategies.NETWORK_ONLY) {
67
76
  const _cachedData = LRUCache.get(__commentsObjectCacheKey);
68
- return Object.assign(Object.assign({}, _initState), { total: _cachedData.count, next: _cachedData.next, previous: _cachedData.previous, comments: _cachedData.results });
77
+ let page = Math.max(getCurrentPage(_cachedData.next, data.pageSize), 1);
78
+ const nextPage = _cachedData.next ? getCurrentPage(_cachedData.next, data.pageSize) : null;
79
+ const previousPage = _cachedData.previous ? Math.max(getCurrentPage(_cachedData.previous, data.pageSize) - 1, 1) : null;
80
+ return Object.assign(Object.assign({}, _initState), {
81
+ total: _cachedData.count,
82
+ next: _cachedData.next,
83
+ previous: _cachedData.previous,
84
+ comments: _cachedData.results,
85
+ page,
86
+ nextPage,
87
+ previousPage,
88
+ componentLoaded: true,
89
+ });
69
90
  }
70
91
  return _initState;
71
92
  }
@@ -101,22 +122,13 @@ export default function useSCFetchCommentObjects(props) {
101
122
  };
102
123
  // STATE
103
124
  const [state, dispatch] = useReducer(commentsReducer, {}, () => stateInitializer({ obj, offset, pageSize, next: getNextUrl(), cacheStrategy }));
104
- /**
105
- * Calculate current page
106
- */
107
- const getCurrentPage = (url) => {
108
- const urlSearchParams = new URLSearchParams(url);
109
- const params = Object.fromEntries(urlSearchParams.entries());
110
- const currentOffset = params.offset ? parseInt(params.offset) : 0;
111
- return currentOffset / pageSize + 1;
112
- };
113
125
  /**
114
126
  * Get Comments (with cache)
115
127
  */
116
128
  const revalidate = (url, forward) => {
117
129
  return performFetchComments(url, false).then((res) => {
118
130
  let _comments;
119
- let currentPage = getCurrentPage(state.next);
131
+ let page = getCurrentPage(forward ? res.next : res.previous, pageSize);
120
132
  if (forward) {
121
133
  let start = state.comments.slice(0, state.comments.length - res.results.length);
122
134
  _comments = start.concat(res.results);
@@ -128,7 +140,7 @@ export default function useSCFetchCommentObjects(props) {
128
140
  if (isMountedRef.current) {
129
141
  dispatch({
130
142
  type: forward ? commentsObjectActionTypes.DATA_NEXT_LOADED : commentsObjectActionTypes.DATA_PREVIOUS_LOADED,
131
- payload: Object.assign(Object.assign({ page: currentPage, comments: _comments }, (forward ? { next: res.next } : { previous: res.previous })), { total: res.count }),
143
+ payload: Object.assign(Object.assign({ page, comments: _comments }, (forward ? { next: res.next } : { previous: res.previous })), { total: res.count }),
132
144
  });
133
145
  }
134
146
  });
@@ -160,15 +172,18 @@ export default function useSCFetchCommentObjects(props) {
160
172
  */
161
173
  function getPreviousPage() {
162
174
  if (obj && state.previous && !state.isLoadingPrevious) {
175
+ const _previous = state.previous;
163
176
  dispatch({ type: commentsObjectActionTypes.LOADING_PREVIOUS });
164
- performFetchComments(state.previous)
177
+ performFetchComments(_previous)
165
178
  .then((res) => {
166
179
  if (isMountedRef.current) {
167
- let currentPage = getCurrentPage(state.previous);
180
+ let currentPage = getCurrentPage(_previous, pageSize);
181
+ let previousPage = res.previous ? currentPage - 1 : null;
168
182
  dispatch({
169
183
  type: commentsObjectActionTypes.DATA_PREVIOUS_LOADED,
170
184
  payload: {
171
185
  page: currentPage,
186
+ previousPage,
172
187
  comments: [...res.results, ...state.comments],
173
188
  previous: res.previous,
174
189
  },
@@ -181,7 +196,7 @@ export default function useSCFetchCommentObjects(props) {
181
196
  })
182
197
  .then(() => {
183
198
  if (isMountedRef.current && cacheStrategy === CacheStrategies.STALE_WHILE_REVALIDATE) {
184
- revalidate(state.next, false);
199
+ dispatch({ type: commentsObjectActionTypes.DATA_REVALIDATE, payload: { revalidatePrevious: _previous } });
185
200
  }
186
201
  });
187
202
  }
@@ -191,14 +206,16 @@ export default function useSCFetchCommentObjects(props) {
191
206
  */
192
207
  function getNextPage() {
193
208
  if (obj && state.next && !state.isLoadingNext) {
209
+ const _next = state.next;
194
210
  dispatch({ type: commentsObjectActionTypes.LOADING_NEXT });
195
- performFetchComments(state.next)
211
+ performFetchComments(_next)
196
212
  .then((res) => {
197
213
  if (isMountedRef.current) {
198
- let currentPage = getCurrentPage(state.next);
214
+ let currentPage = getCurrentPage(_next, pageSize);
215
+ let nextPage = res.next ? currentPage + 1 : null;
199
216
  dispatch({
200
217
  type: commentsObjectActionTypes.DATA_NEXT_LOADED,
201
- payload: Object.assign({ page: currentPage, comments: [...state.comments, ...res.results], next: res.next, total: res.count, componentLoaded: true }, (offset && state.comments.length === 0 ? { previous: res.previous } : {})),
218
+ payload: Object.assign({ page: currentPage, nextPage, comments: [...state.comments, ...res.results], next: res.next, total: res.count, componentLoaded: true }, (offset && state.comments.length === 0 ? { previous: res.previous, previousPage: res.previous ? currentPage - 1 : null } : {})),
202
219
  });
203
220
  onChangePage && onChangePage(currentPage);
204
221
  }
@@ -208,7 +225,7 @@ export default function useSCFetchCommentObjects(props) {
208
225
  })
209
226
  .then(() => {
210
227
  if (isMountedRef.current && cacheStrategy === CacheStrategies.STALE_WHILE_REVALIDATE) {
211
- revalidate(state.next, true);
228
+ dispatch({ type: commentsObjectActionTypes.DATA_REVALIDATE, payload: { revalidateNext: _next } });
212
229
  }
213
230
  });
214
231
  }
@@ -237,6 +254,14 @@ export default function useSCFetchCommentObjects(props) {
237
254
  getNextPage();
238
255
  }
239
256
  }, [state.reload, isMountedRef]);
257
+ /**
258
+ * Revalidate last fetched comments
259
+ */
260
+ useEffect(() => {
261
+ if (isMountedRef.current && state.componentLoaded && Boolean(obj) && !state.reload && state.revalidate) {
262
+ revalidate(state.revalidateNext, Boolean(state.revalidateNext));
263
+ }
264
+ }, [state.revalidate, isMountedRef]);
240
265
  return Object.assign(Object.assign({ feedObject: obj, setFeedObject: setObj }, state), { pageSize,
241
266
  getNextPage,
242
267
  getPreviousPage,
@@ -1 +1 @@
1
- {"version":3,"file":"useSCFetchCommentObjects.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,iBAAiB,EAA4D,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAC,SAAS,EAAE,IAAI,EAAe,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACvE,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,wBAAwB,EAAE,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AAiBxD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,YAAY,EAAE,eAAe;IAC7B,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;IACrC,oBAAoB,EAAE,uBAAuB;IAC7C,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,gBAAgB;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,KAAK,EAAE,MAAM;IACpC,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,yBAAyB,CAAC,YAAY;YACzC,uCAAW,KAAK,KAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAE;QACnE,KAAK,yBAAyB,CAAC,gBAAgB;YAC7C,uCAAW,KAAK,KAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,IAAE;QACnE,KAAK,yBAAyB,CAAC,gBAAgB;YAC7C,mEACK,KAAK,KACR,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAChC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EACjC,aAAa,EAAE,KAAK,EACpB,eAAe,EAAE,IAAI,EACrB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,KACtB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GACpE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9D;QACJ,KAAK,yBAAyB,CAAC,oBAAoB;YACjD,uCACK,KAAK,KACR,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAChC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EACjC,iBAAiB,EAAE,KAAK,EACxB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,IACjC;QACJ,KAAK,yBAAyB,CAAC,WAAW;YACxC,uCACK,KAAK,KACR,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EACzB,QAAQ,EAAE,EAAE,EACZ,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,IAAI,IACZ;QACJ,KAAK,yBAAyB,CAAC,aAAa;YAC1C,uCACK,KAAK,KACR,eAAe,EAAE,KAAK,EACtB,MAAM,EAAE,KAAK,IACb;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;KACrD;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAI;IAC5B,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpH,IAAI,UAAU,GAAG;QACf,eAAe,EAAE,KAAK;QACtB,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC;QACrC,MAAM,EAAE,KAAK;KACd,CAAC;IACF,IAAI,wBAAwB,IAAI,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,eAAe,CAAC,YAAY,EAAE;QAChI,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC3D,uCAAW,UAAU,GAAK,EAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAC,EAAE;KAC9I;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAUhD;IACC,QAAQ;IACR,MAAM,EACJ,EAAE,EACF,UAAU,EACV,cAAc,EACd,MAAM,GAAG,CAAC,EACV,QAAQ,GAAG,CAAC,EACZ,OAAO,GAAG,iBAAiB,CAAC,aAAa,EACzC,MAAM,EACN,YAAY,EACZ,aAAa,GAAG,eAAe,CAAC,YAAY,GAC7C,GAAG,KAAK,CAAC;IAEV,OAAO;IACP,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;IAEhD,aAAa;IACb,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,oBAAoB,CAAC,EAAC,EAAE,EAAE,UAAU,EAAE,cAAc,EAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAElC;;OAEG;IACH,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;QACpD,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,WAAW,IAAI,SAAS,UAAU,QAAQ,aAAa,OAAO,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;IAC7H,CAAC,CAAC;IAEF,QAAQ;IACR,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,aAAa,EAAC,CAAC,CAAC,CAAC;IAE9I;;OAEG;IACH,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,EAAE;QAC7B,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO,aAAa,GAAG,QAAQ,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAClC,OAAO,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACnD,IAAI,SAAS,CAAC;YACd,IAAI,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE;gBACX,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChF,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACvC;iBAAM;gBACL,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5E,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACvC;YACD,IAAI,YAAY,CAAC,OAAO,EAAE;gBACxB,QAAQ,CAAC;oBACP,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,oBAAoB;oBAC3G,OAAO,gCACL,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,SAAS,IAChB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAC,CAAC,KAC1D,KAAK,EAAE,GAAG,CAAC,KAAK,GACjB;iBACF,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,EAAE;QACrD,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClF,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,aAAa,KAAK,eAAe,CAAC,YAAY,EAAE;YAC5G,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;SAChE;QACD,OAAO,IAAI;aACR,OAAO,CAAC;YACP,GAAG;YACH,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;SAClC,CAAC;aACD,IAAI,CAAC,CAAC,GAAsB,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,QAAQ,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACjD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjF,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACH,SAAS,eAAe;QACtB,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACrD,QAAQ,CAAC,EAAC,IAAI,EAAE,yBAAyB,CAAC,gBAAgB,EAAC,CAAC,CAAC;YAC7D,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;iBACjC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,YAAY,CAAC,OAAO,EAAE;oBACxB,IAAI,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACjD,QAAQ,CAAC;wBACP,IAAI,EAAE,yBAAyB,CAAC,oBAAoB;wBACpD,OAAO,EAAE;4BACP,IAAI,EAAE,WAAW;4BACjB,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;4BAC7C,QAAQ,EAAE,GAAG,CAAC,QAAQ;yBACvB;qBACF,CAAC,CAAC;oBACH,YAAY,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;iBAC3C;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,YAAY,CAAC,OAAO,IAAI,aAAa,KAAK,eAAe,CAAC,sBAAsB,EAAE;oBACpF,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED;;OAEG;IACH,SAAS,WAAW;QAClB,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC7C,QAAQ,CAAC,EAAC,IAAI,EAAE,yBAAyB,CAAC,YAAY,EAAC,CAAC,CAAC;YACzD,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;iBAC7B,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,YAAY,CAAC,OAAO,EAAE;oBACxB,IAAI,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7C,QAAQ,CAAC;wBACP,IAAI,EAAE,yBAAyB,CAAC,gBAAgB;wBAChD,OAAO,kBACL,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,EAC7C,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,eAAe,EAAE,IAAI,IAClB,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3E;qBACF,CAAC,CAAC;oBACH,YAAY,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;iBAC3C;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,YAAY,CAAC,OAAO,IAAI,aAAa,KAAK,eAAe,CAAC,sBAAsB,EAAE;oBACpF,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,IAAI,KAAK,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAClF,QAAQ,CAAC;gBACP,IAAI,EAAE,yBAAyB,CAAC,WAAW;gBAC3C,OAAO,EAAE;oBACP,IAAI,EAAE,UAAU,EAAE;iBACnB;aACF,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7D;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACrH,QAAQ,CAAC;gBACP,IAAI,EAAE,yBAAyB,CAAC,aAAa;aAC9C,CAAC,CAAC;YACH,WAAW,EAAE,CAAC;SACf;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjC,qCACE,UAAU,EAAE,GAAG,EACf,aAAa,EAAE,MAAM,IAClB,KAAK,KACR,QAAQ;QACR,WAAW;QACX,eAAe;QACf,OAAO,IACP;AACJ,CAAC"}
1
+ {"version":3,"file":"useSCFetchCommentObjects.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchCommentObjects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Calculate current page from url (offset)
3
+ */
4
+ export declare function getCurrentPage(url: any, pageSize: any): number;
5
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/pagination.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,UAK3C"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Calculate current page from url (offset)
3
+ */
4
+ export function getCurrentPage(url, pageSize) {
5
+ const urlSearchParams = new URLSearchParams(url);
6
+ const params = Object.fromEntries(urlSearchParams.entries());
7
+ const currentOffset = params.offset ? parseInt(params.offset) : 0;
8
+ return currentOffset / pageSize + 1;
9
+ }
10
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/utils/pagination.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAG,EAAE,QAAQ;IAC1C,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,aAAa,GAAG,QAAQ,GAAG,CAAC,CAAC;AACtC,CAAC"}