@selfcommunity/react-ui 0.7.0-alpha.25 → 0.7.0-alpha.26

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 (122) hide show
  1. package/lib/cjs/components/CategoriesFollowed/CategoriesFollowed.d.ts.map +1 -1
  2. package/lib/cjs/components/CategoriesFollowed/CategoriesFollowed.js +41 -29
  3. package/lib/cjs/components/CategoriesFollowed/CategoriesFollowed.js.map +1 -1
  4. package/lib/cjs/components/CategoriesFollowed/Skeleton.d.ts.map +1 -1
  5. package/lib/cjs/components/CategoriesFollowed/Skeleton.js +3 -1
  6. package/lib/cjs/components/CategoriesFollowed/Skeleton.js.map +1 -1
  7. package/lib/cjs/components/CategoriesPopular/CategoriesPopular.d.ts.map +1 -1
  8. package/lib/cjs/components/CategoriesPopular/CategoriesPopular.js +37 -26
  9. package/lib/cjs/components/CategoriesPopular/CategoriesPopular.js.map +1 -1
  10. package/lib/cjs/components/CategoriesPopular/Skeleton.d.ts.map +1 -1
  11. package/lib/cjs/components/CategoriesPopular/Skeleton.js +3 -1
  12. package/lib/cjs/components/CategoriesPopular/Skeleton.js.map +1 -1
  13. package/lib/cjs/components/CategoriesSuggestion/CategoriesSuggestion.d.ts +6 -0
  14. package/lib/cjs/components/CategoriesSuggestion/CategoriesSuggestion.d.ts.map +1 -1
  15. package/lib/cjs/components/CategoriesSuggestion/CategoriesSuggestion.js +31 -25
  16. package/lib/cjs/components/CategoriesSuggestion/CategoriesSuggestion.js.map +1 -1
  17. package/lib/cjs/components/CategoriesSuggestion/Skeleton.d.ts.map +1 -1
  18. package/lib/cjs/components/CategoriesSuggestion/Skeleton.js +3 -1
  19. package/lib/cjs/components/CategoriesSuggestion/Skeleton.js.map +1 -1
  20. package/lib/cjs/components/IncubatorSuggestion/IncubatorSuggestion.d.ts +6 -0
  21. package/lib/cjs/components/IncubatorSuggestion/IncubatorSuggestion.d.ts.map +1 -1
  22. package/lib/cjs/components/IncubatorSuggestion/IncubatorSuggestion.js +33 -25
  23. package/lib/cjs/components/IncubatorSuggestion/IncubatorSuggestion.js.map +1 -1
  24. package/lib/cjs/components/IncubatorsList/IncubatorsList.d.ts +7 -1
  25. package/lib/cjs/components/IncubatorsList/IncubatorsList.d.ts.map +1 -1
  26. package/lib/cjs/components/IncubatorsList/IncubatorsList.js +45 -27
  27. package/lib/cjs/components/IncubatorsList/IncubatorsList.js.map +1 -1
  28. package/lib/cjs/components/PeopleSuggestion/PeopleSuggestion.d.ts +6 -0
  29. package/lib/cjs/components/PeopleSuggestion/PeopleSuggestion.d.ts.map +1 -1
  30. package/lib/cjs/components/PeopleSuggestion/PeopleSuggestion.js +34 -38
  31. package/lib/cjs/components/PeopleSuggestion/PeopleSuggestion.js.map +1 -1
  32. package/lib/cjs/components/PollSuggestion/PollSuggestion.d.ts +7 -1
  33. package/lib/cjs/components/PollSuggestion/PollSuggestion.d.ts.map +1 -1
  34. package/lib/cjs/components/PollSuggestion/PollSuggestion.js +32 -24
  35. package/lib/cjs/components/PollSuggestion/PollSuggestion.js.map +1 -1
  36. package/lib/cjs/components/RelatedFeedObjects/RelatedFeedObjects.d.ts +7 -1
  37. package/lib/cjs/components/RelatedFeedObjects/RelatedFeedObjects.d.ts.map +1 -1
  38. package/lib/cjs/components/RelatedFeedObjects/RelatedFeedObjects.js +37 -27
  39. package/lib/cjs/components/RelatedFeedObjects/RelatedFeedObjects.js.map +1 -1
  40. package/lib/cjs/components/TrendingFeed/TrendingFeed.d.ts +6 -0
  41. package/lib/cjs/components/TrendingFeed/TrendingFeed.d.ts.map +1 -1
  42. package/lib/cjs/components/TrendingFeed/TrendingFeed.js +31 -24
  43. package/lib/cjs/components/TrendingFeed/TrendingFeed.js.map +1 -1
  44. package/lib/cjs/components/TrendingPeople/TrendingPeople.d.ts +6 -0
  45. package/lib/cjs/components/TrendingPeople/TrendingPeople.d.ts.map +1 -1
  46. package/lib/cjs/components/TrendingPeople/TrendingPeople.js +39 -28
  47. package/lib/cjs/components/TrendingPeople/TrendingPeople.js.map +1 -1
  48. package/lib/cjs/components/UserFollowers/UserFollowers.d.ts +6 -0
  49. package/lib/cjs/components/UserFollowers/UserFollowers.d.ts.map +1 -1
  50. package/lib/cjs/components/UserFollowers/UserFollowers.js +67 -41
  51. package/lib/cjs/components/UserFollowers/UserFollowers.js.map +1 -1
  52. package/lib/cjs/components/UsersFollowed/UsersFollowed.d.ts +6 -0
  53. package/lib/cjs/components/UsersFollowed/UsersFollowed.d.ts.map +1 -1
  54. package/lib/cjs/components/UsersFollowed/UsersFollowed.js +46 -32
  55. package/lib/cjs/components/UsersFollowed/UsersFollowed.js.map +1 -1
  56. package/lib/cjs/utils/tools.d.ts +29 -0
  57. package/lib/cjs/utils/tools.d.ts.map +1 -0
  58. package/lib/cjs/utils/tools.js +81 -0
  59. package/lib/cjs/utils/tools.js.map +1 -0
  60. package/lib/esm/components/CategoriesFollowed/CategoriesFollowed.d.ts.map +1 -1
  61. package/lib/esm/components/CategoriesFollowed/CategoriesFollowed.js +46 -34
  62. package/lib/esm/components/CategoriesFollowed/CategoriesFollowed.js.map +1 -1
  63. package/lib/esm/components/CategoriesFollowed/Skeleton.d.ts.map +1 -1
  64. package/lib/esm/components/CategoriesFollowed/Skeleton.js +3 -1
  65. package/lib/esm/components/CategoriesFollowed/Skeleton.js.map +1 -1
  66. package/lib/esm/components/CategoriesPopular/CategoriesPopular.d.ts.map +1 -1
  67. package/lib/esm/components/CategoriesPopular/CategoriesPopular.js +40 -29
  68. package/lib/esm/components/CategoriesPopular/CategoriesPopular.js.map +1 -1
  69. package/lib/esm/components/CategoriesPopular/Skeleton.d.ts.map +1 -1
  70. package/lib/esm/components/CategoriesPopular/Skeleton.js +3 -1
  71. package/lib/esm/components/CategoriesPopular/Skeleton.js.map +1 -1
  72. package/lib/esm/components/CategoriesSuggestion/CategoriesSuggestion.d.ts +6 -0
  73. package/lib/esm/components/CategoriesSuggestion/CategoriesSuggestion.d.ts.map +1 -1
  74. package/lib/esm/components/CategoriesSuggestion/CategoriesSuggestion.js +35 -29
  75. package/lib/esm/components/CategoriesSuggestion/CategoriesSuggestion.js.map +1 -1
  76. package/lib/esm/components/CategoriesSuggestion/Skeleton.d.ts.map +1 -1
  77. package/lib/esm/components/CategoriesSuggestion/Skeleton.js +3 -1
  78. package/lib/esm/components/CategoriesSuggestion/Skeleton.js.map +1 -1
  79. package/lib/esm/components/IncubatorSuggestion/IncubatorSuggestion.d.ts +6 -0
  80. package/lib/esm/components/IncubatorSuggestion/IncubatorSuggestion.d.ts.map +1 -1
  81. package/lib/esm/components/IncubatorSuggestion/IncubatorSuggestion.js +36 -28
  82. package/lib/esm/components/IncubatorSuggestion/IncubatorSuggestion.js.map +1 -1
  83. package/lib/esm/components/IncubatorsList/IncubatorsList.d.ts +7 -1
  84. package/lib/esm/components/IncubatorsList/IncubatorsList.d.ts.map +1 -1
  85. package/lib/esm/components/IncubatorsList/IncubatorsList.js +47 -29
  86. package/lib/esm/components/IncubatorsList/IncubatorsList.js.map +1 -1
  87. package/lib/esm/components/PeopleSuggestion/PeopleSuggestion.d.ts +6 -0
  88. package/lib/esm/components/PeopleSuggestion/PeopleSuggestion.d.ts.map +1 -1
  89. package/lib/esm/components/PeopleSuggestion/PeopleSuggestion.js +36 -40
  90. package/lib/esm/components/PeopleSuggestion/PeopleSuggestion.js.map +1 -1
  91. package/lib/esm/components/PollSuggestion/PollSuggestion.d.ts +7 -1
  92. package/lib/esm/components/PollSuggestion/PollSuggestion.d.ts.map +1 -1
  93. package/lib/esm/components/PollSuggestion/PollSuggestion.js +35 -27
  94. package/lib/esm/components/PollSuggestion/PollSuggestion.js.map +1 -1
  95. package/lib/esm/components/RelatedFeedObjects/RelatedFeedObjects.d.ts +7 -1
  96. package/lib/esm/components/RelatedFeedObjects/RelatedFeedObjects.d.ts.map +1 -1
  97. package/lib/esm/components/RelatedFeedObjects/RelatedFeedObjects.js +40 -30
  98. package/lib/esm/components/RelatedFeedObjects/RelatedFeedObjects.js.map +1 -1
  99. package/lib/esm/components/TrendingFeed/TrendingFeed.d.ts +6 -0
  100. package/lib/esm/components/TrendingFeed/TrendingFeed.d.ts.map +1 -1
  101. package/lib/esm/components/TrendingFeed/TrendingFeed.js +34 -27
  102. package/lib/esm/components/TrendingFeed/TrendingFeed.js.map +1 -1
  103. package/lib/esm/components/TrendingPeople/TrendingPeople.d.ts +6 -0
  104. package/lib/esm/components/TrendingPeople/TrendingPeople.d.ts.map +1 -1
  105. package/lib/esm/components/TrendingPeople/TrendingPeople.js +41 -30
  106. package/lib/esm/components/TrendingPeople/TrendingPeople.js.map +1 -1
  107. package/lib/esm/components/UserFollowers/UserFollowers.d.ts +6 -0
  108. package/lib/esm/components/UserFollowers/UserFollowers.d.ts.map +1 -1
  109. package/lib/esm/components/UserFollowers/UserFollowers.js +70 -44
  110. package/lib/esm/components/UserFollowers/UserFollowers.js.map +1 -1
  111. package/lib/esm/components/UsersFollowed/UsersFollowed.d.ts +6 -0
  112. package/lib/esm/components/UsersFollowed/UsersFollowed.d.ts.map +1 -1
  113. package/lib/esm/components/UsersFollowed/UsersFollowed.js +49 -35
  114. package/lib/esm/components/UsersFollowed/UsersFollowed.js.map +1 -1
  115. package/lib/esm/utils/tools.d.ts +29 -0
  116. package/lib/esm/utils/tools.d.ts.map +1 -0
  117. package/lib/esm/utils/tools.js +76 -0
  118. package/lib/esm/utils/tools.js.map +1 -0
  119. package/lib/umd/react-ui.js +11 -11
  120. package/lib/umd/react-ui.js.LICENSE.txt +1 -1
  121. package/lib/umd/react-ui.js.map +1 -1
  122. package/package.json +3 -3
@@ -9,13 +9,13 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useEffect, useState } from 'react';
12
+ import React, { useEffect, useReducer, useState } from 'react';
13
13
  import { styled } from '@mui/material/styles';
14
14
  import { Button, List, Typography, ListItem, useMediaQuery, useTheme } from '@mui/material';
15
15
  import CardContent from '@mui/material/CardContent';
16
16
  import { http, Endpoints } from '@selfcommunity/api-services';
17
- import { Logger } from '@selfcommunity/utils';
18
- import { useIsComponentMountedRef, useSCUser } from '@selfcommunity/react-core';
17
+ import { CacheStrategies, Logger } from '@selfcommunity/utils';
18
+ import { SCCache, useIsComponentMountedRef, useSCUser } from '@selfcommunity/react-core';
19
19
  import Skeleton from './Skeleton';
20
20
  import { SCOPE_SC_UI } from '../../constants/Errors';
21
21
  import { FormattedMessage } from 'react-intl';
@@ -28,6 +28,7 @@ import { useThemeProps } from '@mui/system';
28
28
  import Widget from '../Widget';
29
29
  import IncubatorDetail from '../IncubatorDetail';
30
30
  import HiddenPlaceholder from '../../shared/HiddenPlaceholder';
31
+ import { actionToolsTypes, dataToolsReducer, stateToolsInitializer } from '../../utils/tools';
31
32
  const PREFIX = 'SCIncubatorSuggestion';
32
33
  const classes = {
33
34
  root: `${PREFIX}-root`,
@@ -85,7 +86,7 @@ export default function IncubatorSuggestion(inProps) {
85
86
  props: inProps,
86
87
  name: PREFIX
87
88
  });
88
- const { autoHide = true, className, IncubatorProps = {}, onHeightChange, onStateChange } = props, rest = __rest(props, ["autoHide", "className", "IncubatorProps", "onHeightChange", "onStateChange"]);
89
+ const { autoHide = true, className, IncubatorProps = {}, cacheStrategy = CacheStrategies.NETWORK_ONLY, onHeightChange, onStateChange } = props, rest = __rest(props, ["autoHide", "className", "IncubatorProps", "cacheStrategy", "onHeightChange", "onStateChange"]);
89
90
  // REFS
90
91
  const isMountedRef = useIsComponentMountedRef();
91
92
  // CONTEXT
@@ -94,14 +95,14 @@ export default function IncubatorSuggestion(inProps) {
94
95
  // STATE
95
96
  const theme = useTheme();
96
97
  const isMobile = useMediaQuery(theme.breakpoints.down('md'));
97
- const [incubators, setIncubators] = useState([]);
98
- const [visibleIncubators, setVisibleIncubators] = useState(limit);
99
- const [loading, setLoading] = useState(true);
100
- const [hasMore, setHasMore] = useState(false);
101
- const [total, setTotal] = useState(0);
98
+ const [state, dispatch] = useReducer(dataToolsReducer, {
99
+ isLoadingNext: true,
100
+ next: `${Endpoints.GetIncubatorSuggestion.url()}?limit=10`,
101
+ cacheKey: SCCache.getToolsStateCacheKey(SCCache.INCUBATOR_SUGGESTION_TOOLS_STATE_CACHE_PREFIX_KEY),
102
+ cacheStrategy
103
+ }, stateToolsInitializer);
102
104
  const [openIncubatorsDialog, setOpenIncubatorsDialog] = useState(false);
103
105
  const [openIncubatorDetailDialog, setOpenIncubatorDetailDialog] = useState(false);
104
- const [next, setNext] = useState(`${Endpoints.GetIncubatorSuggestion.url()}?limit=10`);
105
106
  const [detailObj, setDetailObj] = useState(null);
106
107
  // HANDLERS
107
108
  function handleIncubatorDetailDialogOpening(incubator) {
@@ -116,24 +117,27 @@ export default function IncubatorSuggestion(inProps) {
116
117
  * Fetches incubator suggestion list
117
118
  */
118
119
  function fetchIncubatorSuggestion() {
119
- if (next) {
120
+ if (state.next) {
121
+ dispatch({ type: actionToolsTypes.LOADING_NEXT });
120
122
  http
121
123
  .request({
122
- url: next,
124
+ url: state.next,
123
125
  method: Endpoints.GetIncubatorSuggestion.method
124
126
  })
125
127
  .then((res) => {
126
128
  if (isMountedRef.current) {
127
129
  const data = res.data;
128
- setIncubators([...incubators, ...data]);
129
- setHasMore(data.length > visibleIncubators);
130
- setNext(data['next']);
131
- setLoading(false);
132
- setTotal(data.length);
130
+ dispatch({
131
+ type: actionToolsTypes.LOAD_NEXT_SUCCESS,
132
+ payload: {
133
+ results: data,
134
+ count: data.length
135
+ }
136
+ });
133
137
  }
134
138
  })
135
139
  .catch((error) => {
136
- setLoading(false);
140
+ dispatch({ type: actionToolsTypes.LOAD_NEXT_FAILURE, payload: { errorLoadNext: error } });
137
141
  Logger.error(SCOPE_SC_UI, error);
138
142
  });
139
143
  }
@@ -142,8 +146,9 @@ export default function IncubatorSuggestion(inProps) {
142
146
  * On mount, if user is authenticated, fetches suggested incubators list
143
147
  */
144
148
  useEffect(() => {
145
- if (scUserContext.user) {
149
+ if (scUserContext.user && cacheStrategy === CacheStrategies.NETWORK_ONLY) {
146
150
  fetchIncubatorSuggestion();
151
+ onStateChange && onStateChange({ cacheStrategy: CacheStrategies.CACHE_FIRST });
147
152
  }
148
153
  }, [authUserId]);
149
154
  /**
@@ -151,7 +156,7 @@ export default function IncubatorSuggestion(inProps) {
151
156
  * @param incubator
152
157
  */
153
158
  function handleSubscriptionsUpdate(incubator) {
154
- const newIncubators = [...incubators];
159
+ const newIncubators = [...state.results];
155
160
  const index = newIncubators.findIndex((i) => i.id === incubator.id);
156
161
  if (index !== -1) {
157
162
  if (incubator.subscribed) {
@@ -162,34 +167,37 @@ export default function IncubatorSuggestion(inProps) {
162
167
  newIncubators[index].subscribers_count = incubator.subscribers_count + 1;
163
168
  newIncubators[index].subscribed = !incubator.subscribed;
164
169
  }
165
- setIncubators(newIncubators);
170
+ dispatch({
171
+ type: actionToolsTypes.SET_RESULTS,
172
+ payload: { results: newIncubators }
173
+ });
166
174
  }
167
175
  }
168
176
  /**
169
177
  * Renders suggested incubators list
170
178
  */
171
- if (loading) {
179
+ if (state.isLoadingNext) {
172
180
  return React.createElement(Skeleton, null);
173
181
  }
174
182
  const c = (React.createElement(CardContent, null,
175
183
  React.createElement(Typography, { className: classes.title, variant: 'h5' },
176
184
  React.createElement(FormattedMessage, { id: "ui.IncubatorSuggestion.title", defaultMessage: "ui.IncubatorSuggestion.title" })),
177
- !total ? (React.createElement(Typography, { className: classes.noResults, variant: "body2" },
185
+ !state.count ? (React.createElement(Typography, { className: classes.noResults, variant: "body2" },
178
186
  React.createElement(FormattedMessage, { id: "ui.IncubatorSuggestion.noResults", defaultMessage: "ui.IncubatorSuggestion.noResults" }))) : (React.createElement(React.Fragment, null,
179
- React.createElement(List, null, incubators.slice(0, visibleIncubators).map((incubator) => (React.createElement(ListItem, { key: incubator.id },
187
+ React.createElement(List, null, state.results.slice(0, limit).map((incubator) => (React.createElement(ListItem, { key: incubator.id },
180
188
  React.createElement(Incubator, Object.assign({ elevation: 0, incubator: incubator, className: classes.incubatorItem, subscribeButtonProps: { onSubscribe: handleSubscriptionsUpdate }, ButtonProps: { onClick: () => handleIncubatorDetailDialogOpening(incubator) } }, IncubatorProps)))))),
181
- hasMore && (React.createElement(Button, { className: classes.showMore, size: "small", onClick: () => setOpenIncubatorsDialog(true) },
189
+ limit < state.count && (React.createElement(Button, { className: classes.showMore, size: "small", onClick: () => setOpenIncubatorsDialog(true) },
182
190
  React.createElement(FormattedMessage, { id: "ui.IncubatorSuggestion.ShowAll", defaultMessage: "ui.IncubatorSuggestion.ShowAll" }))))),
183
- openIncubatorsDialog && (React.createElement(BaseDialog, { title: React.createElement(FormattedMessage, { id: "ui.IncubatorSuggestion.title", defaultMessage: "ui.IncubatorSuggestion.title" }), onClose: () => setOpenIncubatorsDialog(false), open: openIncubatorsDialog }, loading ? (React.createElement(CentralProgress, { size: 50 })) : (React.createElement(InfiniteScroll, { dataLength: incubators.length, next: fetchIncubatorSuggestion, hasMoreNext: Boolean(next), loaderNext: React.createElement(CentralProgress, { size: 30 }), height: isMobile ? '100vh' : 400, endMessage: React.createElement("p", { style: { textAlign: 'center' } },
191
+ openIncubatorsDialog && (React.createElement(BaseDialog, { title: React.createElement(FormattedMessage, { id: "ui.IncubatorSuggestion.title", defaultMessage: "ui.IncubatorSuggestion.title" }), onClose: () => setOpenIncubatorsDialog(false), open: openIncubatorsDialog }, state.isLoadingNext ? (React.createElement(CentralProgress, { size: 50 })) : (React.createElement(InfiniteScroll, { dataLength: state.results.length, next: fetchIncubatorSuggestion, hasMoreNext: Boolean(state.next), loaderNext: React.createElement(CentralProgress, { size: 30 }), height: isMobile ? '100vh' : 400, endMessage: React.createElement("p", { style: { textAlign: 'center' } },
184
192
  React.createElement("b", null,
185
193
  React.createElement(FormattedMessage, { id: "ui.IncubatorSuggestion.noMoreIncubators", defaultMessage: "ui.IncubatorSuggestion.noMoreIncubators" }))) },
186
- React.createElement(List, null, incubators.map((i) => (React.createElement(ListItem, { key: i.id, sx: { display: 'block', padding: 0 } },
194
+ React.createElement(List, null, state.results.map((i) => (React.createElement(ListItem, { key: i.id, sx: { display: 'block', padding: 0 } },
187
195
  React.createElement(Incubator, Object.assign({ elevation: 0, incubator: i, className: classes.incubatorItem, subscribeButtonProps: { onSubscribe: handleSubscriptionsUpdate }, ButtonProps: { onClick: () => handleIncubatorDetailDialogOpening(i) } }, IncubatorProps)))))))))),
188
196
  openIncubatorDetailDialog && (React.createElement(IncubatorDetail, { open: openIncubatorDetailDialog, onClose: handleIncubatorDetailDialogClose, incubator: detailObj, onSubscriptionsUpdate: handleSubscriptionsUpdate }))));
189
197
  /**
190
198
  * Renders root object (if results and autoHide prop is set to false, otherwise component is hidden)
191
199
  */
192
- if (autoHide && !total) {
200
+ if (autoHide && !state.count) {
193
201
  return React.createElement(HiddenPlaceholder, null);
194
202
  }
195
203
  if (scUserContext.user) {
@@ -1 +1 @@
1
- {"version":3,"file":"IncubatorSuggestion.js","sourceRoot":"","sources":["../../../../src/components/IncubatorSuggestion/IncubatorSuggestion.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IncubatorSuggestion.js","sourceRoot":"","sources":["../../../../src/components/IncubatorSuggestion/IncubatorSuggestion.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { CacheStrategies } from '@selfcommunity/utils';
1
2
  import { IncubatorProps } from '../Incubator';
2
- import { VirtualScrollerItemProps } from "../../types/virtualScroller";
3
+ import { VirtualScrollerItemProps } from '../../types/virtualScroller';
3
4
  export interface IncubatorsListProps extends VirtualScrollerItemProps {
4
5
  /**
5
6
  * Hides this component
@@ -16,6 +17,11 @@ export interface IncubatorsListProps extends VirtualScrollerItemProps {
16
17
  * @default {}
17
18
  */
18
19
  IncubatorProps?: IncubatorProps;
20
+ /**
21
+ * Caching strategies
22
+ * @default CacheStrategies.CACHE_FIRST
23
+ */
24
+ cacheStrategy?: CacheStrategies;
19
25
  /**
20
26
  * Other props
21
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IncubatorsList.d.ts","sourceRoot":"","sources":["../../../../src/components/IncubatorsList/IncubatorsList.tsx"],"names":[],"mappings":"AAcA,OAAkB,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAOvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAwCvE,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACnE;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AACD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAoOhF"}
1
+ {"version":3,"file":"IncubatorsList.d.ts","sourceRoot":"","sources":["../../../../src/components/IncubatorsList/IncubatorsList.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,eAAe,EAAS,MAAM,sBAAsB,CAAC;AAS7D,OAAkB,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAOvD,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AA0CrE,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACnE;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AACD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAyPhF"}
@@ -9,12 +9,12 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useEffect, useState } from 'react';
12
+ import React, { useEffect, useReducer, useState } from 'react';
13
13
  import { styled } from '@mui/material/styles';
14
14
  import { Button, List, Typography, Box, IconButton, ListItem } from '@mui/material';
15
15
  import CardContent from '@mui/material/CardContent';
16
16
  import { http, Endpoints } from '@selfcommunity/api-services';
17
- import { Logger } from '@selfcommunity/utils';
17
+ import { CacheStrategies, Logger } from '@selfcommunity/utils';
18
18
  import Skeleton from './Skeleton';
19
19
  import { SCOPE_SC_UI } from '../../constants/Errors';
20
20
  import { FormattedMessage } from 'react-intl';
@@ -29,6 +29,8 @@ import { useThemeProps } from '@mui/system';
29
29
  import Widget from '../Widget';
30
30
  import CreateIncubatorDialog from './CreateIncubatorDialog';
31
31
  import IncubatorDetail from '../IncubatorDetail';
32
+ import { actionToolsTypes, dataToolsReducer, stateToolsInitializer } from '../../utils/tools';
33
+ import { SCCache, useIsComponentMountedRef } from '@selfcommunity/react-core';
32
34
  const PREFIX = 'SCIncubatorsList';
33
35
  const classes = {
34
36
  root: `${PREFIX}-root`,
@@ -97,17 +99,19 @@ export default function IncubatorsList(inProps) {
97
99
  props: inProps,
98
100
  name: PREFIX
99
101
  });
100
- const { autoHide = true, className, IncubatorProps = {} } = props, rest = __rest(props, ["autoHide", "className", "IncubatorProps"]);
102
+ const { autoHide = true, className, IncubatorProps = {}, cacheStrategy = CacheStrategies.NETWORK_ONLY, onHeightChange, onStateChange } = props, rest = __rest(props, ["autoHide", "className", "IncubatorProps", "cacheStrategy", "onHeightChange", "onStateChange"]);
103
+ // REFS
104
+ const isMountedRef = useIsComponentMountedRef();
101
105
  // STATE
102
- const [incubators, setIncubators] = useState([]);
103
- const [visibleIncubators, setVisibleIncubators] = useState(limit);
104
- const [loading, setLoading] = useState(true);
105
- const [hasMore, setHasMore] = useState(false);
106
- const [total, setTotal] = useState(0);
106
+ const [state, dispatch] = useReducer(dataToolsReducer, {
107
+ isLoadingNext: true,
108
+ next: `${Endpoints.GetAllIncubators.url()}?limit=10`,
109
+ cacheKey: SCCache.getToolsStateCacheKey(SCCache.INCUBATORS_LIST_TOOLS_STATE_CACHE_PREFIX_KEY),
110
+ cacheStrategy
111
+ }, stateToolsInitializer);
107
112
  const [openIncubatorsDialog, setOpenIncubatorsDialog] = useState(false);
108
113
  const [openCreateIncubatorDialog, setOpenCreateIncubatorDialog] = useState(false);
109
114
  const [openIncubatorDetailDialog, setOpenIncubatorDetailDialog] = useState(false);
110
- const [next, setNext] = useState(`${Endpoints.GetAllIncubators.url()}?limit=10`);
111
115
  const [anchorEl, setAnchorEl] = React.useState(null);
112
116
  const isOpen = Boolean(anchorEl);
113
117
  const [detailObj, setDetailObj] = useState(null);
@@ -133,22 +137,27 @@ export default function IncubatorsList(inProps) {
133
137
  * Fetches incubators list
134
138
  */
135
139
  function fetchIncubators() {
136
- if (next) {
140
+ if (state.next) {
141
+ dispatch({ type: actionToolsTypes.LOADING_NEXT });
137
142
  http
138
143
  .request({
139
- url: next,
144
+ url: state.next,
140
145
  method: Endpoints.GetAllIncubators.method
141
146
  })
142
147
  .then((res) => {
143
- const data = res.data;
144
- setIncubators([...incubators, ...data['results']]);
145
- setHasMore(data['count'] > visibleIncubators);
146
- setNext(data['next']);
147
- setLoading(false);
148
- setTotal(data['count']);
148
+ if (isMountedRef.current) {
149
+ const data = res.data.results;
150
+ dispatch({
151
+ type: actionToolsTypes.LOAD_NEXT_SUCCESS,
152
+ payload: {
153
+ results: data,
154
+ count: data.length
155
+ }
156
+ });
157
+ }
149
158
  })
150
159
  .catch((error) => {
151
- setLoading(false);
160
+ dispatch({ type: actionToolsTypes.LOAD_NEXT_FAILURE, payload: { errorLoadNext: error } });
152
161
  Logger.error(SCOPE_SC_UI, error);
153
162
  });
154
163
  }
@@ -157,14 +166,17 @@ export default function IncubatorsList(inProps) {
157
166
  * On mount, fetches incubators list
158
167
  */
159
168
  useEffect(() => {
160
- fetchIncubators();
169
+ if (cacheStrategy === CacheStrategies.NETWORK_ONLY) {
170
+ fetchIncubators();
171
+ onStateChange && onStateChange({ cacheStrategy: CacheStrategies.CACHE_FIRST });
172
+ }
161
173
  }, []);
162
174
  /**
163
175
  * Handles subscriptions counter update on subscribe/unsubscribe action.
164
176
  * @param incubator
165
177
  */
166
178
  function handleSubscriptionsUpdate(incubator) {
167
- const newIncubators = [...incubators];
179
+ const newIncubators = [...state.results];
168
180
  const index = newIncubators.findIndex((i) => i.id === incubator.id);
169
181
  if (index !== -1) {
170
182
  if (incubator.subscribed) {
@@ -175,13 +187,19 @@ export default function IncubatorsList(inProps) {
175
187
  newIncubators[index].subscribers_count = incubator.subscribers_count + 1;
176
188
  newIncubators[index].subscribed = !incubator.subscribed;
177
189
  }
178
- setIncubators(newIncubators);
190
+ dispatch({
191
+ type: actionToolsTypes.SET_RESULTS,
192
+ payload: { results: newIncubators }
193
+ });
179
194
  }
180
195
  }
181
196
  /**
182
197
  * Renders incubators list
183
198
  */
184
- const c = (React.createElement(React.Fragment, null, loading ? (React.createElement(Skeleton, { elevation: 0 })) : (React.createElement(CardContent, null,
199
+ if (state.isLoadingNext) {
200
+ return React.createElement(Skeleton, { elevation: 0 });
201
+ }
202
+ const c = (React.createElement(CardContent, null,
185
203
  React.createElement(Box, { className: classes.header },
186
204
  React.createElement(Typography, { className: classes.title, variant: 'h5' },
187
205
  React.createElement(FormattedMessage, { id: "ui.incubatorsList.title", defaultMessage: "ui.incubatorsList.title" })),
@@ -194,26 +212,26 @@ export default function IncubatorsList(inProps) {
194
212
  React.createElement(Box, { sx: { p: '10px' } },
195
213
  React.createElement(Typography, { component: 'span', sx: { whiteSpace: 'pre-line' } },
196
214
  React.createElement(FormattedMessage, { id: "ui.incubatorsList.popover", defaultMessage: "ui.incubatorsList.popover" })))))),
197
- !total ? (React.createElement(Typography, { className: classes.noResults, variant: "body2" },
215
+ !state.count ? (React.createElement(Typography, { className: classes.noResults, variant: "body2" },
198
216
  React.createElement(FormattedMessage, { id: "ui.incubatorsList.noResults", defaultMessage: "ui.incubatorsList.noResults" }))) : (React.createElement(React.Fragment, null,
199
- React.createElement(List, null, incubators.slice(0, visibleIncubators).map((incubator) => (React.createElement(ListItem, { key: incubator.id },
217
+ React.createElement(List, null, state.results.slice(0, limit).map((incubator) => (React.createElement(ListItem, { key: incubator.id },
200
218
  React.createElement(Incubator, Object.assign({ elevation: 0, incubator: incubator, className: classes.incubatorItem, subscribeButtonProps: { onSubscribe: handleSubscriptionsUpdate }, ButtonProps: { onClick: () => handleIncubatorDetailDialogOpening(incubator) } }, IncubatorProps)))))),
201
219
  React.createElement(Box, { className: classes.actions },
202
- hasMore && (React.createElement(Button, { size: "small", onClick: () => setOpenIncubatorsDialog(true) },
220
+ limit < state.count && (React.createElement(Button, { size: "small", onClick: () => setOpenIncubatorsDialog(true) },
203
221
  React.createElement(FormattedMessage, { id: "ui.incubatorsList.ShowAll", defaultMessage: "ui.incubatorsList.ShowAll" }))),
204
222
  React.createElement(Button, { size: "small", onClick: () => setOpenCreateIncubatorDialog(true) },
205
223
  React.createElement(FormattedMessage, { id: "ui.incubatorsList.SuggestNewTopic", defaultMessage: "ui.incubatorsList.SuggestNewTopic" }))))),
206
- openIncubatorsDialog && (React.createElement(BaseDialog, { title: React.createElement(FormattedMessage, { id: "ui.incubatorsList.title", defaultMessage: "ui.incubatorsList.title" }), onClose: () => setOpenIncubatorsDialog(false), open: openIncubatorsDialog }, loading ? (React.createElement(CentralProgress, { size: 50 })) : (React.createElement(InfiniteScroll, { dataLength: incubators.length, next: fetchIncubators, hasMoreNext: Boolean(next), loaderNext: React.createElement(CentralProgress, { size: 30 }), height: 400, endMessage: React.createElement("p", { style: { textAlign: 'center' } },
224
+ openIncubatorsDialog && (React.createElement(BaseDialog, { title: React.createElement(FormattedMessage, { id: "ui.incubatorsList.title", defaultMessage: "ui.incubatorsList.title" }), onClose: () => setOpenIncubatorsDialog(false), open: openIncubatorsDialog }, state.isLoadingNext ? (React.createElement(CentralProgress, { size: 50 })) : (React.createElement(InfiniteScroll, { dataLength: state.results.length, next: fetchIncubators, hasMoreNext: Boolean(state.next), loaderNext: React.createElement(CentralProgress, { size: 30 }), height: 400, endMessage: React.createElement("p", { style: { textAlign: 'center' } },
207
225
  React.createElement("b", null,
208
226
  React.createElement(FormattedMessage, { id: "ui.incubatorsList.noMoreIncubators", defaultMessage: "ui.incubatorsList.noMoreIncubators" }))) },
209
- React.createElement(List, null, incubators.map((i) => (React.createElement(ListItem, { key: i.id, sx: { display: 'block', padding: 0 } },
227
+ React.createElement(List, null, state.results.map((i) => (React.createElement(ListItem, { key: i.id, sx: { display: 'block', padding: 0 } },
210
228
  React.createElement(Incubator, Object.assign({ elevation: 0, incubator: i, className: classes.incubatorItem, subscribeButtonProps: { onSubscribe: handleSubscriptionsUpdate }, ButtonProps: { onClick: () => handleIncubatorDetailDialogOpening(i) } }, IncubatorProps)))))))))),
211
229
  openCreateIncubatorDialog && React.createElement(CreateIncubatorDialog, { open: openCreateIncubatorDialog, onClose: handleCreateIncubatorDialogClose }),
212
- openIncubatorDetailDialog && (React.createElement(IncubatorDetail, { open: openIncubatorDetailDialog, onClose: handleIncubatorDetailDialogClose, incubator: detailObj, onSubscriptionsUpdate: handleSubscriptionsUpdate }))))));
230
+ openIncubatorDetailDialog && (React.createElement(IncubatorDetail, { open: openIncubatorDetailDialog, onClose: handleIncubatorDetailDialogClose, incubator: detailObj, onSubscriptionsUpdate: handleSubscriptionsUpdate }))));
213
231
  /**
214
232
  * Renders root object (if results and autoHide prop is set to false, otherwise component is hidden)
215
233
  */
216
- if (autoHide && !total) {
234
+ if (autoHide && !state.count) {
217
235
  return null;
218
236
  }
219
237
  return (React.createElement(Root, Object.assign({ className: classNames(classes.root, className) }, rest), c));
@@ -1 +1 @@
1
- {"version":3,"file":"IncubatorsList.js","sourceRoot":"","sources":["../../../../src/components/IncubatorsList/IncubatorsList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IncubatorsList.js","sourceRoot":"","sources":["../../../../src/components/IncubatorsList/IncubatorsList.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { UserProps } from '../User';
2
2
  import { VirtualScrollerItemProps } from '../../types/virtualScroller';
3
+ import { CacheStrategies } from '@selfcommunity/utils';
3
4
  export interface PeopleSuggestionProps extends VirtualScrollerItemProps {
4
5
  /**
5
6
  * Hides this component
@@ -16,6 +17,11 @@ export interface PeopleSuggestionProps extends VirtualScrollerItemProps {
16
17
  * @default empty object
17
18
  */
18
19
  UserProps?: UserProps;
20
+ /**
21
+ * Caching strategies
22
+ * @default CacheStrategies.CACHE_FIRST
23
+ */
24
+ cacheStrategy?: CacheStrategies;
19
25
  /**
20
26
  * Other props
21
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PeopleSuggestion.d.ts","sourceRoot":"","sources":["../../../../src/components/PeopleSuggestion/PeopleSuggestion.tsx"],"names":[],"mappings":"AAcA,OAAa,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAMxC,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAuBrE,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,CAuJpF"}
1
+ {"version":3,"file":"PeopleSuggestion.d.ts","sourceRoot":"","sources":["../../../../src/components/PeopleSuggestion/PeopleSuggestion.tsx"],"names":[],"mappings":"AAeA,OAAa,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAMxC,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAwBrD,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,CAqJpF"}
@@ -9,11 +9,11 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useContext, useEffect, useState } from 'react';
12
+ import React, { useContext, useEffect, useReducer, useState } from 'react';
13
13
  import { styled } from '@mui/material/styles';
14
14
  import { Button, CardContent, List, ListItem, Typography } from '@mui/material';
15
15
  import { http, Endpoints } from '@selfcommunity/api-services';
16
- import { SCPreferences, SCPreferencesContext, SCUserContext, useIsComponentMountedRef } from '@selfcommunity/react-core';
16
+ import { SCCache, SCPreferences, SCPreferencesContext, SCUserContext, useIsComponentMountedRef } from '@selfcommunity/react-core';
17
17
  import PeopleSuggestionSkeleton from './Skeleton';
18
18
  import User from '../User';
19
19
  import { FormattedMessage } from 'react-intl';
@@ -21,6 +21,8 @@ import classNames from 'classnames';
21
21
  import Widget from '../Widget';
22
22
  import { useThemeProps } from '@mui/system';
23
23
  import HiddenPlaceholder from '../../shared/HiddenPlaceholder';
24
+ import { CacheStrategies } from '@selfcommunity/utils';
25
+ import { actionToolsTypes, dataToolsReducer, stateToolsInitializer } from '../../utils/tools';
24
26
  const PREFIX = 'SCPeopleSuggestion';
25
27
  const classes = {
26
28
  root: `${PREFIX}-root`,
@@ -74,15 +76,17 @@ export default function PeopleSuggestion(inProps) {
74
76
  props: inProps,
75
77
  name: PREFIX
76
78
  });
77
- const { autoHide, className, UserProps = {}, onHeightChange, onStateChange } = props, rest = __rest(props, ["autoHide", "className", "UserProps", "onHeightChange", "onStateChange"]);
79
+ const { autoHide, className, UserProps = {}, onHeightChange, onStateChange, cacheStrategy = CacheStrategies.NETWORK_ONLY } = props, rest = __rest(props, ["autoHide", "className", "UserProps", "onHeightChange", "onStateChange", "cacheStrategy"]);
78
80
  // REFS
79
81
  const isMountedRef = useIsComponentMountedRef();
80
82
  // STATE
81
- const [users, setUsers] = useState([]);
82
- const [visiblePeople, setVisiblePeople] = useState(limit);
83
- const [loading, setLoading] = useState(true);
84
- const [hasMore, setHasMore] = useState(false);
85
- const [total, setTotal] = useState(0);
83
+ const [state, dispatch] = useReducer(dataToolsReducer, {
84
+ isLoadingNext: true,
85
+ next: Endpoints.UserSuggestion.url({}),
86
+ cacheKey: SCCache.getToolsStateCacheKey(SCCache.PEOPLE_SUGGESTION_TOOLS_STATE_CACHE_PREFIX_KEY),
87
+ cacheStrategy,
88
+ visibleItems: limit
89
+ }, stateToolsInitializer);
86
90
  const [openPeopleSuggestionDialog, setOpenPeopleSuggestionDialog] = useState(false);
87
91
  // CONTEXT
88
92
  const scUserContext = useContext(SCUserContext);
@@ -94,18 +98,11 @@ export default function PeopleSuggestion(inProps) {
94
98
  /**
95
99
  * Handles list change on user follow
96
100
  */
97
- function handleOnFollowUser(user, follow) {
98
- setUsers(users.filter((u) => u.id !== user.id));
99
- setTotal((prev) => prev - 1);
100
- setHasMore(total - 1 > limit);
101
- }
102
- /**
103
- * Handles list change on user connection
104
- */
105
- function handleOnConnectUser(user, status) {
106
- setUsers(users.filter((u) => u.id !== user.id));
107
- setTotal((prev) => prev - 1);
108
- setHasMore(total - 1 > limit);
101
+ function handleOnFollowConnectUser(user, follow) {
102
+ dispatch({
103
+ type: actionToolsTypes.SET_RESULTS,
104
+ payload: { results: state.results.filter((u) => u.id !== user.id), count: state.count - 1 }
105
+ });
109
106
  }
110
107
  /**
111
108
  * Fetches user suggestion list
@@ -119,13 +116,17 @@ export default function PeopleSuggestion(inProps) {
119
116
  .then((res) => {
120
117
  if (isMountedRef.current) {
121
118
  const data = res.data;
122
- setUsers(data['results']);
123
- setHasMore(data['count'] > visiblePeople);
124
- setLoading(false);
125
- setTotal(data.count);
119
+ dispatch({
120
+ type: actionToolsTypes.LOAD_NEXT_SUCCESS,
121
+ payload: {
122
+ results: data.results,
123
+ count: data.results.length
124
+ }
125
+ });
126
126
  }
127
127
  })
128
128
  .catch((error) => {
129
+ dispatch({ type: actionToolsTypes.LOAD_NEXT_FAILURE, payload: { errorLoadNext: error } });
129
130
  console.log(error);
130
131
  });
131
132
  }
@@ -133,20 +134,15 @@ export default function PeopleSuggestion(inProps) {
133
134
  * Loads more people on "see more" button click
134
135
  */
135
136
  function loadPeople(n) {
136
- const newIndex = visiblePeople + n;
137
- const newHasMore = newIndex < users.length - 1;
138
- setVisiblePeople(newIndex);
139
- setHasMore(newHasMore);
137
+ dispatch({ type: actionToolsTypes.SET_VISIBLE_ITEMS, payload: { visibleItems: state.visibleItems + n } });
140
138
  }
141
139
  /**
142
140
  * On mount, fetches people suggestion list
143
141
  */
144
142
  useEffect(() => {
145
- if (scUserContext.user) {
143
+ if (scUserContext.user && cacheStrategy === CacheStrategies.NETWORK_ONLY) {
146
144
  fetchUserSuggestion();
147
- }
148
- else {
149
- setLoading(false);
145
+ onStateChange && onStateChange({ cacheStrategy: CacheStrategies.CACHE_FIRST });
150
146
  }
151
147
  }, [authUserId]);
152
148
  /**
@@ -154,30 +150,30 @@ export default function PeopleSuggestion(inProps) {
154
150
  */
155
151
  useEffect(() => {
156
152
  onHeightChange && onHeightChange();
157
- }, [users.length, loading]);
153
+ }, [state.results]);
158
154
  /**
159
155
  * Renders people suggestion list
160
156
  */
161
- if (loading) {
157
+ if (state.isLoadingNext) {
162
158
  return React.createElement(PeopleSuggestionSkeleton, null);
163
159
  }
164
160
  /**
165
161
  * Renders root object (if results and if user is logged, otherwise component is hidden)
166
162
  */
167
- if ((autoHide && !total) || !scUserContext.user) {
163
+ if ((autoHide && !state.count) || !scUserContext.user) {
168
164
  return React.createElement(HiddenPlaceholder, null);
169
165
  }
170
166
  return (React.createElement(Root, Object.assign({ className: classNames(classes.root, className) }, rest),
171
167
  React.createElement(CardContent, null,
172
168
  React.createElement(Typography, { className: classes.title, variant: "h5" },
173
169
  React.createElement(FormattedMessage, { id: "ui.peopleSuggestion.title", defaultMessage: "ui.peopleSuggestion.title" })),
174
- !total ? (React.createElement(Typography, { className: classes.noResults, variant: "body2" },
170
+ !state.count ? (React.createElement(Typography, { className: classes.noResults, variant: "body2" },
175
171
  React.createElement(FormattedMessage, { id: "ui.peopleSuggestion.subtitle.noResults", defaultMessage: "ui.peopleSuggestion.subtitle.noResults" }))) : (React.createElement(React.Fragment, null,
176
- React.createElement(List, null, users.slice(0, visiblePeople).map((user, index) => (React.createElement(ListItem, { key: user.id },
172
+ React.createElement(List, null, state.results.slice(0, state.visibleItems).map((user) => (React.createElement(ListItem, { key: user.id },
177
173
  React.createElement(User, Object.assign({ elevation: 0, user: user }, (followEnabled
178
- ? { followConnectUserButtonProps: { onFollow: handleOnFollowUser } }
179
- : { followConnectUserButtonProps: { onChangeConnectionStatus: handleOnConnectUser } }), { className: classes.suggestedUserItem }, UserProps)))))),
180
- hasMore && (React.createElement(Button, { className: classes.showMore, size: "small", onClick: () => loadPeople(limit) },
174
+ ? { followConnectUserButtonProps: { onFollow: handleOnFollowConnectUser } }
175
+ : { followConnectUserButtonProps: { onChangeConnectionStatus: handleOnFollowConnectUser } }), { className: classes.suggestedUserItem }, UserProps)))))),
176
+ state.visibleItems < state.results.length && (React.createElement(Button, { className: classes.showMore, size: "small", onClick: () => loadPeople(limit) },
181
177
  React.createElement(FormattedMessage, { id: "ui.peopleSuggestion.button.showMore", defaultMessage: "ui.peopleSuggestion.button.showMore" }))))),
182
178
  openPeopleSuggestionDialog && React.createElement(React.Fragment, null))));
183
179
  }