@selfcommunity/react-templates 0.5.0-alpha.0 → 0.5.0-alpha.10

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 (72) hide show
  1. package/lib/cjs/components/Category/Category.js +1 -2
  2. package/lib/cjs/components/Category/Skeleton.js +1 -2
  3. package/lib/cjs/components/CategoryFeed/CategoryFeed.js +15 -4
  4. package/lib/cjs/components/CategoryFeed/Skeleton.js +2 -2
  5. package/lib/cjs/components/Event/Event.js +1 -2
  6. package/lib/cjs/components/Event/Skeleton.js +1 -2
  7. package/lib/cjs/components/EventFeed/EventFeed.js +30 -16
  8. package/lib/cjs/components/EventFeed/Skeleton.js +2 -2
  9. package/lib/cjs/components/ExploreFeed/ExploreFeed.js +5 -4
  10. package/lib/cjs/components/ExploreFeed/Skeleton.js +2 -2
  11. package/lib/cjs/components/FeedObjectDetail/FeedObjectDetail.js +5 -4
  12. package/lib/cjs/components/FeedObjectDetail/Skeleton.js +1 -2
  13. package/lib/cjs/components/Group/Group.js +1 -2
  14. package/lib/cjs/components/Group/Skeleton.js +1 -2
  15. package/lib/cjs/components/GroupFeed/GroupFeed.js +22 -7
  16. package/lib/cjs/components/GroupFeed/Skeleton.js +2 -2
  17. package/lib/cjs/components/Lesson/Lesson.js +2 -3
  18. package/lib/cjs/components/LoyaltyProgramDetail/LoyaltyProgramDetail.js +2 -4
  19. package/lib/cjs/components/LoyaltyProgramDetail/PointsList.js +1 -2
  20. package/lib/cjs/components/LoyaltyProgramDetail/PrizeItemSkeleton.js +1 -2
  21. package/lib/cjs/components/LoyaltyProgramDetail/Skeleton.js +1 -2
  22. package/lib/cjs/components/MainFeed/MainFeed.js +5 -4
  23. package/lib/cjs/components/MainFeed/Skeleton.js +2 -2
  24. package/lib/cjs/components/NotificationFeed/NotificationFeed.js +2 -2
  25. package/lib/cjs/components/NotificationFeed/Skeleton.js +2 -2
  26. package/lib/cjs/components/UserFeed/Skeleton.js +2 -2
  27. package/lib/cjs/components/UserFeed/UserFeed.js +5 -4
  28. package/lib/cjs/components/UserProfile/Skeleton.js +1 -2
  29. package/lib/cjs/components/UserProfile/UserProfile.js +6 -4
  30. package/lib/esm/components/Category/Category.js +1 -2
  31. package/lib/esm/components/Category/Skeleton.js +1 -2
  32. package/lib/esm/components/CategoryFeed/CategoryFeed.js +17 -6
  33. package/lib/esm/components/CategoryFeed/Skeleton.js +1 -1
  34. package/lib/esm/components/Event/Event.js +1 -2
  35. package/lib/esm/components/Event/Skeleton.js +1 -2
  36. package/lib/esm/components/EventFeed/EventFeed.js +30 -16
  37. package/lib/esm/components/EventFeed/Skeleton.js +1 -1
  38. package/lib/esm/components/ExploreFeed/ExploreFeed.js +4 -3
  39. package/lib/esm/components/ExploreFeed/Skeleton.js +1 -1
  40. package/lib/esm/components/FeedObjectDetail/FeedObjectDetail.js +5 -4
  41. package/lib/esm/components/FeedObjectDetail/Skeleton.js +1 -2
  42. package/lib/esm/components/Group/Group.js +1 -2
  43. package/lib/esm/components/Group/Skeleton.js +1 -2
  44. package/lib/esm/components/GroupFeed/GroupFeed.js +23 -8
  45. package/lib/esm/components/GroupFeed/Skeleton.js +1 -1
  46. package/lib/esm/components/Lesson/Lesson.js +1 -2
  47. package/lib/esm/components/LoyaltyProgramDetail/LoyaltyProgramDetail.js +1 -3
  48. package/lib/esm/components/LoyaltyProgramDetail/PointsList.js +1 -2
  49. package/lib/esm/components/LoyaltyProgramDetail/PrizeItemSkeleton.js +1 -2
  50. package/lib/esm/components/LoyaltyProgramDetail/Skeleton.js +1 -2
  51. package/lib/esm/components/MainFeed/MainFeed.js +4 -3
  52. package/lib/esm/components/MainFeed/Skeleton.js +1 -1
  53. package/lib/esm/components/NotificationFeed/NotificationFeed.js +1 -1
  54. package/lib/esm/components/NotificationFeed/Skeleton.js +1 -1
  55. package/lib/esm/components/UserFeed/Skeleton.js +1 -1
  56. package/lib/esm/components/UserFeed/UserFeed.js +4 -3
  57. package/lib/esm/components/UserProfile/Skeleton.js +1 -2
  58. package/lib/esm/components/UserProfile/UserProfile.js +6 -4
  59. package/lib/umd/{c473ce30406a3dad83e1.eot → 30b299174b4fa1fb9ce8.eot} +0 -0
  60. package/lib/umd/{b6dbec3d5816ff8baef1.woff → 3b49304a98beb1239bc7.ttf} +0 -0
  61. package/lib/umd/589.js +2 -0
  62. package/lib/umd/738.js +1 -1
  63. package/lib/umd/73cbb3dbfaa3ddd4df47.js +2 -0
  64. package/lib/umd/73cbb3dbfaa3ddd4df47.js.LICENSE.txt +21 -0
  65. package/lib/umd/ab247f43e550f5f6d0f8.woff2 +0 -0
  66. package/lib/umd/{ba74e493633796d551d1.ttf → ce10db0c87e7112cb315.woff} +0 -0
  67. package/lib/umd/{6158171e38cbff3c3340.svg → fff8590360ed9eed64ae.svg} +75 -69
  68. package/lib/umd/react-templates.js +1 -1
  69. package/package.json +9 -6
  70. package/lib/umd/60a7fdeaadfe844bc015.woff2 +0 -0
  71. package/lib/umd/916.js +0 -2
  72. /package/lib/umd/{916.js.LICENSE.txt → 589.js.LICENSE.txt} +0 -0
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const styles_1 = require("@mui/material/styles");
6
5
  const material_1 = require("@mui/material");
7
6
  const react_ui_1 = require("@selfcommunity/react-ui");
8
7
  const CategoryFeed_1 = tslib_1.__importDefault(require("../CategoryFeed"));
@@ -15,7 +14,7 @@ const classes = {
15
14
  root: `${constants_1.PREFIX}-root`,
16
15
  feed: `${constants_1.PREFIX}-feed`
17
16
  };
18
- const Root = (0, styles_1.styled)(material_1.Box, {
17
+ const Root = (0, material_1.styled)(material_1.Box, {
19
18
  name: constants_1.PREFIX,
20
19
  slot: 'Root'
21
20
  })(() => ({}));
@@ -3,14 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
- const styles_1 = require("@mui/material/styles");
7
6
  const Skeleton_1 = tslib_1.__importDefault(require("../CategoryFeed/Skeleton"));
8
7
  const react_ui_1 = require("@selfcommunity/react-ui");
9
8
  const constants_1 = require("./constants");
10
9
  const classes = {
11
10
  root: `${constants_1.PREFIX}-skeleton-root`
12
11
  };
13
- const Root = (0, styles_1.styled)(material_1.Box, {
12
+ const Root = (0, material_1.styled)(material_1.Box, {
14
13
  name: constants_1.PREFIX,
15
14
  slot: 'SkeletonRoot'
16
15
  })(() => ({}));
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const styles_1 = require("@mui/material/styles");
6
+ const material_1 = require("@mui/material");
7
7
  const react_ui_1 = require("@selfcommunity/react-ui");
8
8
  const api_services_1 = require("@selfcommunity/api-services");
9
9
  const react_core_1 = require("@selfcommunity/react-core");
@@ -17,7 +17,7 @@ const constants_1 = require("./constants");
17
17
  const classes = {
18
18
  root: `${constants_1.PREFIX}-root`
19
19
  };
20
- const Root = (0, styles_1.styled)(react_ui_1.Feed, {
20
+ const Root = (0, material_1.styled)(react_ui_1.Feed, {
21
21
  name: constants_1.PREFIX,
22
22
  slot: 'Root'
23
23
  })(() => ({}));
@@ -64,6 +64,7 @@ const WIDGETS = [
64
64
  * @param inProps
65
65
  */
66
66
  function CategoryFeed(inProps) {
67
+ var _a;
67
68
  // PROPS
68
69
  const props = (0, system_1.useThemeProps)({
69
70
  props: inProps,
@@ -73,16 +74,23 @@ function CategoryFeed(inProps) {
73
74
  // CONTEXT
74
75
  const scRoutingContext = (0, react_core_1.useSCRouting)();
75
76
  const scUserContext = (0, react_core_1.useSCUser)();
77
+ const { preferences, features } = (0, react_core_1.useSCPreferences)();
76
78
  const { enqueueSnackbar } = (0, notistack_1.useSnackbar)();
77
79
  // REF
78
80
  const feedRef = (0, react_1.useRef)();
79
81
  // Hooks
80
82
  const { scCategory } = (0, react_core_1.useSCFetchCategory)({ id: categoryId, category });
83
+ const isPaymentsEnabled = (0, react_1.useMemo)(() => preferences &&
84
+ features &&
85
+ features.includes(types_1.SCFeatureName.PAYMENTS) &&
86
+ react_core_1.SCPreferences.CONFIGURATIONS_PAYMENTS_ENABLED in preferences &&
87
+ preferences[react_core_1.SCPreferences.CONFIGURATIONS_PAYMENTS_ENABLED].value, [preferences]);
81
88
  // HANDLERS
82
89
  const handleComposerSuccess = (feedObject) => {
83
90
  // Not insert if the category does not match
84
91
  if (feedObject.categories.findIndex((c) => c.id === scCategory.id) === -1) {
85
- enqueueSnackbar((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composerIconButton.composer.success", defaultMessage: "ui.composerIconButton.composer.success" }), {
92
+ const messageId = feedObject.scheduled_at ? 'ui.composer.scheduled.success' : 'ui.composerIconButton.composer.success';
93
+ enqueueSnackbar((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: messageId, defaultMessage: messageId }), {
86
94
  action: (snackbarId) => ((0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes[`${feedObject.type.toUpperCase()}_ROUTE_NAME`], react_ui_1.ContributionUtils.getRouteData(feedObject)) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composerIconButton.composer.viewContribute", defaultMessage: "ui.composerIconButton.composer.viewContribute" }) }))),
87
95
  variant: 'success',
88
96
  autoHideDuration: 7000
@@ -96,7 +104,7 @@ function CategoryFeed(inProps) {
96
104
  seen_by_id: [],
97
105
  has_boost: false
98
106
  };
99
- feedRef && feedRef.current && feedRef.current.addFeedData(feedUnit, true);
107
+ !feedObject.draft && feedRef && feedRef.current && feedRef.current.addFeedData(feedUnit, true);
100
108
  };
101
109
  // WIDGETS
102
110
  const _widgets = (0, react_1.useMemo)(() => widgets.map((w) => {
@@ -108,6 +116,9 @@ function CategoryFeed(inProps) {
108
116
  if (!scCategory) {
109
117
  return (0, jsx_runtime_1.jsx)(index_1.CategoryFeedSkeleton, {});
110
118
  }
119
+ else if (scCategory && isPaymentsEnabled && !scCategory.followed && !scCategory.payment_order && ((_a = scCategory.paywalls) === null || _a === void 0 ? void 0 : _a.length) > 0) {
120
+ return (0, jsx_runtime_1.jsx)(react_ui_1.HiddenPurchasableContent, {});
121
+ }
111
122
  return ((0, jsx_runtime_1.jsx)(Root, Object.assign({ id: id, className: (0, classnames_1.default)(classes.root, className), ref: feedRef, endpoint: Object.assign(Object.assign({}, api_services_1.Endpoints.CategoryFeed), { url: () => api_services_1.Endpoints.CategoryFeed.url({ id: scCategory.id }) }), widgets: _widgets, ItemComponent: react_ui_1.FeedObject, itemPropsGenerator: (scUser, item) => ({
112
123
  feedObject: item[item.type],
113
124
  feedObjectType: item.type,
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const styles_1 = require("@mui/material/styles");
6
+ const material_1 = require("@mui/material");
7
7
  const react_ui_1 = require("@selfcommunity/react-ui");
8
8
  const constants_1 = require("./constants");
9
9
  const classes = {
10
10
  root: `${constants_1.PREFIX}-skeleton-root`
11
11
  };
12
- const Root = (0, styles_1.styled)(react_ui_1.FeedSkeleton, {
12
+ const Root = (0, material_1.styled)(react_ui_1.FeedSkeleton, {
13
13
  name: constants_1.PREFIX,
14
14
  slot: 'SkeletonRoot'
15
15
  })(() => ({}));
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const styles_1 = require("@mui/material/styles");
6
5
  const material_1 = require("@mui/material");
7
6
  const react_ui_1 = require("@selfcommunity/react-ui");
8
7
  const react_core_1 = require("@selfcommunity/react-core");
@@ -16,7 +15,7 @@ const classes = {
16
15
  root: `${constants_1.PREFIX}-root`,
17
16
  feed: `${constants_1.PREFIX}-feed`
18
17
  };
19
- const Root = (0, styles_1.styled)(material_1.Box, {
18
+ const Root = (0, material_1.styled)(material_1.Box, {
20
19
  name: constants_1.PREFIX,
21
20
  slot: 'Root'
22
21
  })(() => ({}));
@@ -3,14 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
- const styles_1 = require("@mui/material/styles");
7
6
  const Skeleton_1 = tslib_1.__importDefault(require("../EventFeed/Skeleton"));
8
7
  const react_ui_1 = require("@selfcommunity/react-ui");
9
8
  const constants_1 = require("./constants");
10
9
  const classes = {
11
10
  root: `${constants_1.PREFIX}-skeleton-root`
12
11
  };
13
- const Root = (0, styles_1.styled)(material_1.Box, {
12
+ const Root = (0, material_1.styled)(material_1.Box, {
14
13
  name: constants_1.PREFIX,
15
14
  slot: 'SkeletonRoot'
16
15
  })(() => ({}));
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const styles_1 = require("@mui/material/styles");
6
+ const material_1 = require("@mui/material");
7
7
  const react_ui_1 = require("@selfcommunity/react-ui");
8
8
  const api_services_1 = require("@selfcommunity/api-services");
9
9
  const react_core_1 = require("@selfcommunity/react-core");
@@ -14,11 +14,10 @@ const react_intl_1 = require("react-intl");
14
14
  const notistack_1 = require("notistack");
15
15
  const constants_1 = require("./constants");
16
16
  const Skeleton_1 = tslib_1.__importDefault(require("./Skeleton"));
17
- const material_1 = require("@mui/material");
18
17
  const classes = {
19
18
  root: `${constants_1.PREFIX}-root`
20
19
  };
21
- const Root = (0, styles_1.styled)(react_ui_1.Feed, {
20
+ const Root = (0, material_1.styled)(react_ui_1.Feed, {
22
21
  name: constants_1.PREFIX,
23
22
  slot: 'Root'
24
23
  })(() => ({}));
@@ -84,18 +83,33 @@ function EventFeed(inProps) {
84
83
  name: constants_1.PREFIX
85
84
  });
86
85
  const { id = 'event_feed', className, event, eventId, widgets = WIDGETS, FeedObjectProps = {}, FeedSidebarProps = null, FeedProps = {} } = props;
86
+ // STATUS
87
+ const [status, setStatus] = (0, react_1.useState)(undefined);
87
88
  // CONTEXT
88
89
  const scRoutingContext = (0, react_core_1.useSCRouting)();
89
90
  const scUserContext = (0, react_core_1.useSCUser)();
91
+ const scEventsManager = scUserContext.managers.events;
90
92
  const { enqueueSnackbar } = (0, notistack_1.useSnackbar)();
93
+ const { scEvent } = (0, react_core_1.useSCFetchEvent)({ id: eventId, event });
91
94
  // REF
92
95
  const feedRef = (0, react_1.useRef)();
93
- // Hooks
94
- const { scEvent } = (0, react_core_1.useSCFetchEvent)({ id: eventId, event });
96
+ // CONST
97
+ const authUserId = scUserContext.user ? scUserContext.user.id : null;
98
+ (0, react_1.useEffect)(() => {
99
+ var _a;
100
+ /**
101
+ * Call scEventsManager.subscriptionStatus inside an effect
102
+ * to avoid warning rendering child during update parent state
103
+ */
104
+ if (authUserId) {
105
+ setStatus((_a = scEventsManager === null || scEventsManager === void 0 ? void 0 : scEventsManager.subscriptionStatus) === null || _a === void 0 ? void 0 : _a.call(scEventsManager, scEvent));
106
+ }
107
+ }, [authUserId, scEventsManager === null || scEventsManager === void 0 ? void 0 : scEventsManager.subscriptionStatus, scEvent]);
95
108
  // HANDLERS
96
109
  const handleComposerSuccess = (feedObject) => {
97
110
  var _a;
98
- enqueueSnackbar((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composerIconButton.composer.success", defaultMessage: "ui.composerIconButton.composer.success" }), {
111
+ const messageId = feedObject.scheduled_at ? 'ui.composer.scheduled.success' : 'ui.composerIconButton.composer.success';
112
+ enqueueSnackbar((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: messageId, defaultMessage: messageId }), {
99
113
  action: () => ((0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes[`${feedObject.type.toUpperCase()}_ROUTE_NAME`], react_ui_1.ContributionUtils.getRouteData(feedObject)) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composerIconButton.composer.viewContribute", defaultMessage: "ui.composerIconButton.composer.viewContribute" }) }))),
100
114
  variant: 'success',
101
115
  autoHideDuration: 7000
@@ -108,7 +122,7 @@ function EventFeed(inProps) {
108
122
  seen_by_id: [],
109
123
  has_boost: false
110
124
  };
111
- feedRef && feedRef.current && feedRef.current.addFeedData(feedUnit, true);
125
+ !feedObject.draft && feedRef && feedRef.current && feedRef.current.addFeedData(feedUnit, true);
112
126
  }
113
127
  };
114
128
  // WIDGETS
@@ -119,17 +133,17 @@ function EventFeed(inProps) {
119
133
  return w;
120
134
  }), [widgets, scEvent]);
121
135
  if (scUserContext.user === undefined ||
136
+ (scUserContext.user && status === undefined) ||
122
137
  !scEvent ||
123
- (scUserContext.user &&
124
- ((scEvent.privacy === types_1.SCEventPrivacyType.PUBLIC && !scEvent.subscription_status) ||
125
- scEvent.subscription_status === types_1.SCEventSubscriptionStatusType.INVITED)) ||
138
+ (scUserContext.user && scEvent.privacy === types_1.SCEventPrivacyType.PUBLIC && !status) ||
126
139
  (scEvent && ((eventId !== undefined && scEvent.id !== eventId) || (event && scEvent.id !== event.id)))) {
127
140
  return (0, jsx_runtime_1.jsx)(Skeleton_1.default, {});
128
141
  }
129
142
  else if (scEvent.privacy === types_1.SCEventPrivacyType.PRIVATE &&
130
- scEvent.subscription_status !== types_1.SCEventSubscriptionStatusType.SUBSCRIBED &&
131
- scEvent.subscription_status !== types_1.SCEventSubscriptionStatusType.GOING &&
132
- scEvent.subscription_status !== types_1.SCEventSubscriptionStatusType.NOT_GOING) {
143
+ (status === types_1.SCEventSubscriptionStatusType.INVITED ||
144
+ (status !== types_1.SCEventSubscriptionStatusType.SUBSCRIBED &&
145
+ status !== types_1.SCEventSubscriptionStatusType.GOING &&
146
+ status !== types_1.SCEventSubscriptionStatusType.NOT_GOING))) {
133
147
  return ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ mt: 2 }, { children: (0, jsx_runtime_1.jsx)(react_ui_1.EventInfoWidget, { className: classes.root, event: scEvent }) })));
134
148
  }
135
149
  return ((0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className), id: id, ref: feedRef, endpoint: Object.assign(Object.assign({}, api_services_1.Endpoints.GetEventFeed), { url: () => api_services_1.Endpoints.GetEventFeed.url({ id: scEvent.id }) }), widgets: _widgets, ItemComponent: react_ui_1.FeedObject, itemPropsGenerator: (scUser, item) => {
@@ -145,9 +159,9 @@ function EventFeed(inProps) {
145
159
  }, FeedSidebarProps: FeedSidebarProps, HeaderComponent: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_ui_1.EventInfoWidget, { className: classes.root, event: scEvent }), Boolean(scEvent &&
146
160
  ((!scUserContext.user && scEvent.privacy === types_1.SCEventPrivacyType.PUBLIC) ||
147
161
  (scUserContext.user &&
148
- (scEvent.subscription_status === types_1.SCEventSubscriptionStatusType.SUBSCRIBED ||
149
- scEvent.subscription_status === types_1.SCEventSubscriptionStatusType.GOING ||
150
- scEvent.subscription_status === types_1.SCEventSubscriptionStatusType.NOT_GOING)))) && ((0, jsx_runtime_1.jsx)(react_ui_1.InlineComposerWidget, { onSuccess: handleComposerSuccess, defaultValue: { event: scEvent }, label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.eventFeed.composer.label", defaultMessage: "templates.eventFeed.composer.label" }), feedType: types_1.SCFeedTypologyType.EVENT }))] }), CustomAdvProps: { position: types_1.SCCustomAdvPosition.POSITION_FEED, groupsId: [scEvent.id] }, enabledCustomAdvPositions: [
162
+ (status === types_1.SCEventSubscriptionStatusType.SUBSCRIBED ||
163
+ status === types_1.SCEventSubscriptionStatusType.GOING ||
164
+ status === types_1.SCEventSubscriptionStatusType.NOT_GOING)))) && ((0, jsx_runtime_1.jsx)(react_ui_1.InlineComposerWidget, { onSuccess: handleComposerSuccess, defaultValue: { event: scEvent }, label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.eventFeed.composer.label", defaultMessage: "templates.eventFeed.composer.label" }), feedType: types_1.SCFeedTypologyType.EVENT }))] }), CustomAdvProps: { position: types_1.SCCustomAdvPosition.POSITION_FEED, groupsId: [scEvent.id] }, enabledCustomAdvPositions: [
151
165
  types_1.SCCustomAdvPosition.POSITION_FEED_SIDEBAR,
152
166
  types_1.SCCustomAdvPosition.POSITION_FEED,
153
167
  types_1.SCCustomAdvPosition.POSITION_BELOW_TOPBAR
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const styles_1 = require("@mui/material/styles");
6
+ const material_1 = require("@mui/material");
7
7
  const react_ui_1 = require("@selfcommunity/react-ui");
8
8
  const constants_1 = require("./constants");
9
9
  const classes = {
10
10
  root: `${constants_1.PREFIX}-skeleton-root`
11
11
  };
12
- const Root = (0, styles_1.styled)(react_ui_1.FeedSkeleton, {
12
+ const Root = (0, material_1.styled)(react_ui_1.FeedSkeleton, {
13
13
  name: constants_1.PREFIX,
14
14
  slot: 'SkeletonRoot'
15
15
  })(() => ({}));
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const styles_1 = require("@mui/material/styles");
6
+ const material_1 = require("@mui/material");
7
7
  const react_ui_1 = require("@selfcommunity/react-ui");
8
8
  const api_services_1 = require("@selfcommunity/api-services");
9
9
  const system_1 = require("@mui/system");
@@ -16,7 +16,7 @@ const react_core_1 = require("@selfcommunity/react-core");
16
16
  const classes = {
17
17
  root: `${constants_1.PREFIX}-root`
18
18
  };
19
- const Root = (0, styles_1.styled)(react_ui_1.Feed, {
19
+ const Root = (0, material_1.styled)(react_ui_1.Feed, {
20
20
  name: constants_1.PREFIX,
21
21
  slot: 'Root'
22
22
  })(() => ({}));
@@ -90,7 +90,8 @@ function ExploreFeed(inProps) {
90
90
  const feedRef = (0, react_1.useRef)();
91
91
  // HANDLERS
92
92
  const handleComposerSuccess = (feedObject) => {
93
- enqueueSnackbar((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.inlineComposerWidget.success", defaultMessage: "ui.inlineComposerWidget.success" }), {
93
+ const messageId = feedObject.scheduled_at ? 'ui.composer.scheduled.success' : 'ui.inlineComposerWidget.success';
94
+ enqueueSnackbar((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: messageId, defaultMessage: messageId }), {
94
95
  variant: 'success',
95
96
  autoHideDuration: 3000
96
97
  });
@@ -101,7 +102,7 @@ function ExploreFeed(inProps) {
101
102
  seen_by_id: [],
102
103
  has_boost: false
103
104
  };
104
- feedRef && feedRef.current && feedRef.current.addFeedData(feedUnit, true);
105
+ !feedObject.draft && feedRef && feedRef.current && feedRef.current.addFeedData(feedUnit, true);
105
106
  };
106
107
  const handleAddGenerationContent = (feedObjects) => {
107
108
  if (feedRef && feedRef.current) {
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const styles_1 = require("@mui/material/styles");
6
+ const material_1 = require("@mui/material");
7
7
  const react_ui_1 = require("@selfcommunity/react-ui");
8
8
  const constants_1 = require("./constants");
9
9
  const classes = {
10
10
  root: `${constants_1.PREFIX}-skeleton-root`
11
11
  };
12
- const Root = (0, styles_1.styled)(react_ui_1.FeedSkeleton, {
12
+ const Root = (0, material_1.styled)(react_ui_1.FeedSkeleton, {
13
13
  name: constants_1.PREFIX,
14
14
  slot: 'SkeletonRoot'
15
15
  })(() => ({}));
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const styles_1 = require("@mui/material/styles");
7
6
  const material_1 = require("@mui/material");
8
7
  const react_ui_1 = require("@selfcommunity/react-ui");
9
8
  const Skeleton_1 = tslib_1.__importDefault(require("./Skeleton"));
@@ -16,7 +15,7 @@ const constants_1 = require("./constants");
16
15
  const classes = {
17
16
  root: `${constants_1.PREFIX}-root`
18
17
  };
19
- const Root = (0, styles_1.styled)(material_1.Box, {
18
+ const Root = (0, material_1.styled)(material_1.Box, {
20
19
  name: constants_1.PREFIX,
21
20
  slot: 'Root'
22
21
  })(() => ({}));
@@ -57,8 +56,10 @@ function FeedObjectDetail(inProps) {
57
56
  const scUserContext = (0, react_core_1.useSCUser)();
58
57
  const scPreferences = (0, react_core_1.useSCPreferences)();
59
58
  // RETRIVE OBJECTS
60
- const { obj, setObj, error } = (0, react_core_1.useSCFetchFeedObject)({ id: feedObjectId, feedObject, feedObjectType });
59
+ const { obj, error } = (0, react_core_1.useSCFetchFeedObject)({ id: feedObjectId, feedObject, feedObjectType });
61
60
  const [comments, setComments] = (0, react_1.useState)([]);
61
+ const commentsEnabled = react_core_1.SCPreferences.CONFIGURATIONS_COMMENTS_ENABLED in scPreferences.preferences &&
62
+ scPreferences.preferences[react_core_1.SCPreferences.CONFIGURATIONS_COMMENTS_ENABLED].value;
62
63
  /**
63
64
  * Compute preferences
64
65
  */
@@ -97,6 +98,6 @@ function FeedObjectDetail(inProps) {
97
98
  if (!obj) {
98
99
  return (0, jsx_runtime_1.jsx)(Skeleton_1.default, {});
99
100
  }
100
- return ((0, jsx_runtime_1.jsx)(Root, Object.assign({ id: id, className: (0, classnames_1.default)(classes.root, className) }, { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, Object.assign({ container: true, spacing: 2 }, { children: [(0, jsx_runtime_1.jsxs)(material_1.Grid, Object.assign({ item: true, xs: 12, md: 7 }, { children: [(0, jsx_runtime_1.jsx)(react_ui_1.FeedObject, Object.assign({}, FeedObjectProps, { feedObject: obj, template: react_ui_1.SCFeedObjectTemplateType.DETAIL, onReply: handleReply })), renderAdvertising(), (0, jsx_runtime_1.jsx)(react_ui_1.CommentsFeedObject, Object.assign({ showTitle: true, feedObject: obj, comments: comments }, CommentsFeedObjectProps), `comments_${obj.id}`)] })), (0, jsx_runtime_1.jsx)(material_1.Grid, Object.assign({ item: true, xs: 12, md: 5 }, { children: (0, jsx_runtime_1.jsx)(material_1.Hidden, Object.assign({ mdDown: true }, { children: (0, jsx_runtime_1.jsx)(react_ui_1.StickyBox, Object.assign({}, FeedSidebarProps, { children: (0, jsx_runtime_1.jsx)(react_ui_1.RelatedFeedObjectsWidget, Object.assign({ feedObject: obj, feedObjectId: obj.id }, RelatedFeedObjectProps), `related_${obj.id}`) })) })) }))] })) })));
101
+ return ((0, jsx_runtime_1.jsx)(Root, Object.assign({ id: id, className: (0, classnames_1.default)(classes.root, className) }, { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, Object.assign({ container: true, spacing: 2 }, { children: [(0, jsx_runtime_1.jsxs)(material_1.Grid, Object.assign({ item: true, xs: 12, md: 7 }, { children: [(0, jsx_runtime_1.jsx)(react_ui_1.FeedObject, Object.assign({}, FeedObjectProps, { feedObject: obj, template: react_ui_1.SCFeedObjectTemplateType.DETAIL, onReply: handleReply })), renderAdvertising(), commentsEnabled && ((0, jsx_runtime_1.jsx)(react_ui_1.CommentsFeedObject, Object.assign({ showTitle: true, feedObject: obj, comments: comments }, CommentsFeedObjectProps), `comments_${obj.id}`))] })), (0, jsx_runtime_1.jsx)(material_1.Grid, Object.assign({ item: true, xs: 12, md: 5 }, { children: (0, jsx_runtime_1.jsx)(material_1.Hidden, Object.assign({ mdDown: true }, { children: (0, jsx_runtime_1.jsx)(react_ui_1.StickyBox, Object.assign({}, FeedSidebarProps, { children: (0, jsx_runtime_1.jsx)(react_ui_1.RelatedFeedObjectsWidget, Object.assign({ feedObject: obj, feedObjectId: obj.id }, RelatedFeedObjectProps), `related_${obj.id}`) })) })) }))] })) })));
101
102
  }
102
103
  exports.default = FeedObjectDetail;
@@ -3,12 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  const react_ui_1 = require("@selfcommunity/react-ui");
5
5
  const material_1 = require("@mui/material");
6
- const styles_1 = require("@mui/material/styles");
7
6
  const constants_1 = require("./constants");
8
7
  const classes = {
9
8
  root: `${constants_1.PREFIX}-skeleton-root`
10
9
  };
11
- const Root = (0, styles_1.styled)(material_1.Box, {
10
+ const Root = (0, material_1.styled)(material_1.Box, {
12
11
  name: constants_1.PREFIX,
13
12
  slot: 'SkeletonRoot'
14
13
  })(() => ({}));
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const styles_1 = require("@mui/material/styles");
6
5
  const material_1 = require("@mui/material");
7
6
  const react_ui_1 = require("@selfcommunity/react-ui");
8
7
  const react_core_1 = require("@selfcommunity/react-core");
@@ -15,7 +14,7 @@ const classes = {
15
14
  root: `${constants_1.PREFIX}-root`,
16
15
  feed: `${constants_1.PREFIX}-feed`
17
16
  };
18
- const Root = (0, styles_1.styled)(material_1.Box, {
17
+ const Root = (0, material_1.styled)(material_1.Box, {
19
18
  name: constants_1.PREFIX,
20
19
  slot: 'Root'
21
20
  })(() => ({}));
@@ -3,14 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
- const styles_1 = require("@mui/material/styles");
7
6
  const Skeleton_1 = tslib_1.__importDefault(require("../GroupFeed/Skeleton"));
8
7
  const react_ui_1 = require("@selfcommunity/react-ui");
9
8
  const constants_1 = require("./constants");
10
9
  const classes = {
11
10
  root: `${constants_1.PREFIX}-skeleton-root`
12
11
  };
13
- const Root = (0, styles_1.styled)(material_1.Box, {
12
+ const Root = (0, material_1.styled)(material_1.Box, {
14
13
  name: constants_1.PREFIX,
15
14
  slot: 'SkeletonRoot'
16
15
  })(() => ({}));
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const styles_1 = require("@mui/material/styles");
6
+ const material_1 = require("@mui/material");
7
7
  const react_ui_1 = require("@selfcommunity/react-ui");
8
8
  const api_services_1 = require("@selfcommunity/api-services");
9
9
  const react_core_1 = require("@selfcommunity/react-core");
@@ -17,7 +17,7 @@ const Skeleton_1 = tslib_1.__importDefault(require("./Skeleton"));
17
17
  const classes = {
18
18
  root: `${constants_1.PREFIX}-root`
19
19
  };
20
- const Root = (0, styles_1.styled)(react_ui_1.Feed, {
20
+ const Root = (0, material_1.styled)(react_ui_1.Feed, {
21
21
  name: constants_1.PREFIX,
22
22
  slot: 'Root'
23
23
  })(() => ({}));
@@ -69,17 +69,32 @@ function GroupFeed(inProps) {
69
69
  name: constants_1.PREFIX
70
70
  });
71
71
  const { id = 'group_feed', className, group, groupId, widgets = WIDGETS, FeedObjectProps = {}, FeedSidebarProps = null, FeedProps = {} } = props;
72
+ // STATUS
73
+ const [status, setStatus] = (0, react_1.useState)(undefined);
72
74
  // CONTEXT
73
75
  const scRoutingContext = (0, react_core_1.useSCRouting)();
76
+ const scUserContext = (0, react_core_1.useSCUser)();
77
+ const scGroupsManager = scUserContext.managers.groups;
74
78
  const { enqueueSnackbar } = (0, notistack_1.useSnackbar)();
79
+ const { scGroup, setSCGroup } = (0, react_core_1.useSCFetchGroup)({ id: groupId, group });
75
80
  // REF
76
81
  const feedRef = (0, react_1.useRef)();
77
- // Hooks
78
- const { scGroup, setSCGroup } = (0, react_core_1.useSCFetchGroup)({ id: groupId, group });
82
+ // CONST
83
+ const authUserId = scUserContext.user ? scUserContext.user.id : null;
84
+ (0, react_1.useEffect)(() => {
85
+ /**
86
+ * Call scGroupsManager.subscriptionStatus inside an effect
87
+ * to avoid warning rendering child during update parent state
88
+ */
89
+ if (authUserId) {
90
+ setStatus(scGroupsManager.subscriptionStatus(scGroup));
91
+ }
92
+ }, [authUserId, scGroupsManager.subscriptionStatus, scGroup]);
79
93
  // HANDLERS
80
94
  const handleComposerSuccess = (feedObject) => {
81
95
  var _a;
82
- enqueueSnackbar((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composerIconButton.composer.success", defaultMessage: "ui.composerIconButton.composer.success" }), {
96
+ const messageId = feedObject.scheduled_at ? 'ui.composer.scheduled.success' : 'ui.composerIconButton.composer.success';
97
+ enqueueSnackbar((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: messageId, defaultMessage: messageId }), {
83
98
  action: (snackbarId) => ((0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes[`${feedObject.type.toUpperCase()}_ROUTE_NAME`], react_ui_1.ContributionUtils.getRouteData(feedObject)) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composerIconButton.composer.viewContribute", defaultMessage: "ui.composerIconButton.composer.viewContribute" }) }))),
84
99
  variant: 'success',
85
100
  autoHideDuration: 7000
@@ -92,7 +107,7 @@ function GroupFeed(inProps) {
92
107
  seen_by_id: [],
93
108
  has_boost: false
94
109
  };
95
- feedRef && feedRef.current && feedRef.current.addFeedData(feedUnit, true);
110
+ !feedObject.draft && feedRef && feedRef.current && feedRef.current.addFeedData(feedUnit, true);
96
111
  }
97
112
  };
98
113
  // WIDGETS
@@ -105,7 +120,7 @@ function GroupFeed(inProps) {
105
120
  if (!scGroup) {
106
121
  return (0, jsx_runtime_1.jsx)(Skeleton_1.default, {});
107
122
  }
108
- else if (scGroup && scGroup.subscription_status !== types_1.SCGroupSubscriptionStatusType.SUBSCRIBED) {
123
+ else if (scGroup && status !== types_1.SCGroupSubscriptionStatusType.SUBSCRIBED) {
109
124
  return (0, jsx_runtime_1.jsx)(react_ui_1.GroupInfoWidget, { className: classes.root, groupId: scGroup === null || scGroup === void 0 ? void 0 : scGroup.id });
110
125
  }
111
126
  return ((0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className), id: id, ref: feedRef, endpoint: Object.assign(Object.assign({}, api_services_1.Endpoints.GetGroupFeed), { url: () => api_services_1.Endpoints.GetGroupFeed.url({ id: scGroup.id }) }), widgets: _widgets, ItemComponent: react_ui_1.FeedObject, itemPropsGenerator: (scUser, item) => {
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const styles_1 = require("@mui/material/styles");
6
+ const material_1 = require("@mui/material");
7
7
  const react_ui_1 = require("@selfcommunity/react-ui");
8
8
  const constants_1 = require("./constants");
9
9
  const classes = {
10
10
  root: `${constants_1.PREFIX}-skeleton-root`
11
11
  };
12
- const Root = (0, styles_1.styled)(react_ui_1.FeedSkeleton, {
12
+ const Root = (0, material_1.styled)(react_ui_1.FeedSkeleton, {
13
13
  name: constants_1.PREFIX,
14
14
  slot: 'SkeletonRoot'
15
15
  })(() => ({}));
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const styles_1 = require("@mui/material/styles");
7
6
  const system_1 = require("@mui/system");
8
7
  const material_1 = require("@mui/material");
9
8
  const constants_1 = require("./constants");
@@ -24,12 +23,12 @@ const classes = {
24
23
  previewInfo: `${constants_1.PREFIX}-preview-info`,
25
24
  button: `${constants_1.PREFIX}-button`
26
25
  };
27
- const Root = (0, styles_1.styled)(material_1.Box, {
26
+ const Root = (0, material_1.styled)(material_1.Box, {
28
27
  name: constants_1.PREFIX,
29
28
  slot: 'Root',
30
29
  overridesResolver: (_props, styles) => [styles.root]
31
30
  })(() => ({}));
32
- const Container = (0, styles_1.styled)(material_1.Box, {
31
+ const Container = (0, material_1.styled)(material_1.Box, {
33
32
  name: constants_1.PREFIX,
34
33
  slot: 'ContainerRoot',
35
34
  overridesResolver: (_props, styles) => styles.containerRoot,
@@ -3,12 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const styles_1 = require("@mui/material/styles");
7
6
  const api_services_1 = require("@selfcommunity/api-services");
8
7
  const react_core_1 = require("@selfcommunity/react-core");
9
8
  const material_1 = require("@mui/material");
10
9
  const react_intl_1 = require("react-intl");
11
- const Chip_1 = tslib_1.__importDefault(require("@mui/material/Chip"));
12
10
  const classnames_1 = tslib_1.__importDefault(require("classnames"));
13
11
  const system_1 = require("@mui/system");
14
12
  const Skeleton_1 = tslib_1.__importDefault(require("./Skeleton"));
@@ -33,7 +31,7 @@ const classes = {
33
31
  notRequestable: `${constants_1.PREFIX}-not-requestable`,
34
32
  endMessage: `${constants_1.PREFIX}-end-message`
35
33
  };
36
- const Root = (0, styles_1.styled)(material_1.Box, {
34
+ const Root = (0, material_1.styled)(material_1.Box, {
37
35
  name: constants_1.PREFIX,
38
36
  slot: 'Root'
39
37
  })(() => ({}));
@@ -186,6 +184,6 @@ function LoyaltyProgramDetail(inProps) {
186
184
  if (loading) {
187
185
  return (0, jsx_runtime_1.jsx)(Skeleton_1.default, {});
188
186
  }
189
- return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { children: [points !== 0 && ((0, jsx_runtime_1.jsxs)(material_1.Typography, Object.assign({ className: classes.title, variant: "h5" }, { children: [!isMobile && (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.loyaltyProgramWidget.title", defaultMessage: "ui.loyaltyProgramWidget.title" }), (0, jsx_runtime_1.jsx)(Chip_1.default, { className: classes.userPoints, component: "span", label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.userPoints", defaultMessage: "templates.loyaltyProgramDetail.userPoints", values: { total: points } }) })] }))), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.sectionTitle }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.community", defaultMessage: "templates.loyaltyProgramDetail.community" }) })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.sectionInfo }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.description", defaultMessage: "templates.loyaltyProgramDetail.description" }) })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.sectionTitle }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.listTitle", defaultMessage: "templates.loyaltyProgramDetail.listTitle" }) })), (0, jsx_runtime_1.jsx)(PointsList_1.default, { className: classes.pointsSection }), prizes.length !== 0 && ((0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.sectionTitle }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.prizes", defaultMessage: "templates.loyaltyProgramDetail.prizes" }) }))), (0, jsx_runtime_1.jsx)(react_ui_1.InfiniteScroll, Object.assign({ dataLength: prizes.length, next: handleNext, hasMoreNext: Boolean(next), loaderNext: (0, jsx_runtime_1.jsx)(PrizeItemSkeleton_1.default, {}), endMessage: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: prizes.length !== 0 ? ((0, jsx_runtime_1.jsxs)(material_1.Typography, Object.assign({ className: classes.endMessage }, { children: [(0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.content.end.message", defaultMessage: "templates.loyaltyProgramDetail.content.end.message" }), (0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ color: 'secondary', onClick: handleScrollUp }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.content.end.button", defaultMessage: "templates.loyaltyProgramDetail.content.end.button" }) }))] }))) : null }) }, { children: (0, jsx_runtime_1.jsx)(material_1.Grid, Object.assign({ container: true, spacing: !isMobile ? 3 : 0, direction: isMobile ? 'column' : 'row', className: classes.prizeSection }, { children: prizes.map((prize) => ((0, jsx_runtime_1.jsx)(material_1.Grid, Object.assign({ item: true, xs: 12, sm: 12, md: 6, lg: 4, xl: 3 }, { children: (0, jsx_runtime_1.jsxs)(material_1.Card, Object.assign({ className: classes.card }, { children: [(0, jsx_runtime_1.jsx)(material_1.CardMedia, { component: "img", image: prize.image }), (0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.prizePoints }, { children: (0, jsx_runtime_1.jsx)(Chip_1.default, { className: points <= prize.points ? classes.notRequestable : null, label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.prize.points", defaultMessage: "templates.loyaltyProgramDetail.prize.points", values: { total: prize.points } }) }) })), (0, jsx_runtime_1.jsxs)(material_1.CardContent, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "body1", className: classes.cardTitle }, { children: prize.title })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "body2", className: classes.cardContent }, { children: prize.description }))] }), (0, jsx_runtime_1.jsxs)(material_1.CardActions, { children: [prize.link && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ size: "medium", color: "secondary", href: prize.link, target: "_blank", className: classes.actionButton }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.button.more", defaultMessage: "templates.loyaltyProgramDetail.button.more" }) }))), ((!prize.link && prize.active && points >= prize.points) || (prize.active && points >= prize.points)) && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ size: "small", variant: "outlined", className: classes.actionButton, disabled: points < prize.points, onClick: () => handleOpenAlert(prize.id) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.button.request", defaultMessage: "templates.loyaltyProgramDetail.button.request" }) })))] })] })) }), prize.id))) })) })), open && ((0, jsx_runtime_1.jsx)(react_ui_1.ConfirmDialog, { open: open, title: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.dialog.msg", defaultMessage: "templates.loyaltyProgramDetail.dialog.msg" }), btnConfirm: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.dialog.confirm", defaultMessage: "templates.loyaltyProgramDetail.dialog.confirm" }), onConfirm: () => requestPrize(prizeRequested), onClose: () => setOpen(false) }))] })));
187
+ return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { children: [points !== 0 && ((0, jsx_runtime_1.jsxs)(material_1.Typography, Object.assign({ className: classes.title, variant: "h5" }, { children: [!isMobile && (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.loyaltyProgramWidget.title", defaultMessage: "ui.loyaltyProgramWidget.title" }), (0, jsx_runtime_1.jsx)(material_1.Chip, { className: classes.userPoints, component: "span", label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.userPoints", defaultMessage: "templates.loyaltyProgramDetail.userPoints", values: { total: points } }) })] }))), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.sectionTitle }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.community", defaultMessage: "templates.loyaltyProgramDetail.community" }) })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.sectionInfo }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.description", defaultMessage: "templates.loyaltyProgramDetail.description" }) })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.sectionTitle }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.listTitle", defaultMessage: "templates.loyaltyProgramDetail.listTitle" }) })), (0, jsx_runtime_1.jsx)(PointsList_1.default, { className: classes.pointsSection }), prizes.length !== 0 && ((0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.sectionTitle }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.prizes", defaultMessage: "templates.loyaltyProgramDetail.prizes" }) }))), (0, jsx_runtime_1.jsx)(react_ui_1.InfiniteScroll, Object.assign({ dataLength: prizes.length, next: handleNext, hasMoreNext: Boolean(next), loaderNext: (0, jsx_runtime_1.jsx)(PrizeItemSkeleton_1.default, {}), endMessage: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: prizes.length !== 0 ? ((0, jsx_runtime_1.jsxs)(material_1.Typography, Object.assign({ className: classes.endMessage }, { children: [(0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.content.end.message", defaultMessage: "templates.loyaltyProgramDetail.content.end.message" }), (0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ color: 'secondary', onClick: handleScrollUp }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.content.end.button", defaultMessage: "templates.loyaltyProgramDetail.content.end.button" }) }))] }))) : null }) }, { children: (0, jsx_runtime_1.jsx)(material_1.Grid, Object.assign({ container: true, spacing: !isMobile ? 3 : 0, direction: isMobile ? 'column' : 'row', className: classes.prizeSection }, { children: prizes.map((prize) => ((0, jsx_runtime_1.jsx)(material_1.Grid, Object.assign({ item: true, xs: 12, sm: 12, md: 6, lg: 4, xl: 3 }, { children: (0, jsx_runtime_1.jsxs)(material_1.Card, Object.assign({ className: classes.card }, { children: [(0, jsx_runtime_1.jsx)(material_1.CardMedia, { component: "img", image: prize.image }), (0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.prizePoints }, { children: (0, jsx_runtime_1.jsx)(material_1.Chip, { className: points <= prize.points ? classes.notRequestable : null, label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.prize.points", defaultMessage: "templates.loyaltyProgramDetail.prize.points", values: { total: prize.points } }) }) })), (0, jsx_runtime_1.jsxs)(material_1.CardContent, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "body1", className: classes.cardTitle }, { children: prize.title })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "body2", className: classes.cardContent }, { children: prize.description }))] }), (0, jsx_runtime_1.jsxs)(material_1.CardActions, { children: [prize.link && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ size: "medium", color: "secondary", href: prize.link, target: "_blank", className: classes.actionButton }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.button.more", defaultMessage: "templates.loyaltyProgramDetail.button.more" }) }))), ((!prize.link && prize.active && points >= prize.points) || (prize.active && points >= prize.points)) && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ size: "small", variant: "outlined", className: classes.actionButton, disabled: points < prize.points, onClick: () => handleOpenAlert(prize.id) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.button.request", defaultMessage: "templates.loyaltyProgramDetail.button.request" }) })))] })] })) }), prize.id))) })) })), open && ((0, jsx_runtime_1.jsx)(react_ui_1.ConfirmDialog, { open: open, title: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.dialog.msg", defaultMessage: "templates.loyaltyProgramDetail.dialog.msg" }), btnConfirm: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "templates.loyaltyProgramDetail.dialog.confirm", defaultMessage: "templates.loyaltyProgramDetail.dialog.confirm" }), onConfirm: () => requestPrize(prizeRequested), onClose: () => setOpen(false) }))] })));
190
188
  }
191
189
  exports.default = LoyaltyProgramDetail;
@@ -4,7 +4,6 @@ exports.PointElement = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_1 = require("react");
7
- const styles_1 = require("@mui/material/styles");
8
7
  const react_core_1 = require("@selfcommunity/react-core");
9
8
  const material_1 = require("@mui/material");
10
9
  const react_intl_1 = require("react-intl");
@@ -30,7 +29,7 @@ function PointElement({ message, points }) {
30
29
  }
31
30
  }
32
31
  exports.PointElement = PointElement;
33
- const Root = (0, styles_1.styled)(material_1.Grid, {
32
+ const Root = (0, material_1.styled)(material_1.Grid, {
34
33
  name: constants_1.PREFIX,
35
34
  slot: 'PointsListRoot'
36
35
  })(() => ({}));
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
- const styles_1 = require("@mui/material/styles");
5
4
  const material_1 = require("@mui/material");
6
5
  const react_ui_1 = require("@selfcommunity/react-ui");
7
6
  const constants_1 = require("./constants");
@@ -10,7 +9,7 @@ const classes = {
10
9
  content: `${constants_1.PREFIX}-content`,
11
10
  actions: `${constants_1.PREFIX}-actions`
12
11
  };
13
- const Root = (0, styles_1.styled)(react_ui_1.Widget, {
12
+ const Root = (0, material_1.styled)(react_ui_1.Widget, {
14
13
  name: constants_1.PREFIX,
15
14
  slot: 'PrizeItemSkeletonRoot'
16
15
  })(() => ({}));