@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.
- package/lib/cjs/components/Category/Category.js +1 -2
- package/lib/cjs/components/Category/Skeleton.js +1 -2
- package/lib/cjs/components/CategoryFeed/CategoryFeed.js +15 -4
- package/lib/cjs/components/CategoryFeed/Skeleton.js +2 -2
- package/lib/cjs/components/Event/Event.js +1 -2
- package/lib/cjs/components/Event/Skeleton.js +1 -2
- package/lib/cjs/components/EventFeed/EventFeed.js +30 -16
- package/lib/cjs/components/EventFeed/Skeleton.js +2 -2
- package/lib/cjs/components/ExploreFeed/ExploreFeed.js +5 -4
- package/lib/cjs/components/ExploreFeed/Skeleton.js +2 -2
- package/lib/cjs/components/FeedObjectDetail/FeedObjectDetail.js +5 -4
- package/lib/cjs/components/FeedObjectDetail/Skeleton.js +1 -2
- package/lib/cjs/components/Group/Group.js +1 -2
- package/lib/cjs/components/Group/Skeleton.js +1 -2
- package/lib/cjs/components/GroupFeed/GroupFeed.js +22 -7
- package/lib/cjs/components/GroupFeed/Skeleton.js +2 -2
- package/lib/cjs/components/Lesson/Lesson.js +2 -3
- package/lib/cjs/components/LoyaltyProgramDetail/LoyaltyProgramDetail.js +2 -4
- package/lib/cjs/components/LoyaltyProgramDetail/PointsList.js +1 -2
- package/lib/cjs/components/LoyaltyProgramDetail/PrizeItemSkeleton.js +1 -2
- package/lib/cjs/components/LoyaltyProgramDetail/Skeleton.js +1 -2
- package/lib/cjs/components/MainFeed/MainFeed.js +5 -4
- package/lib/cjs/components/MainFeed/Skeleton.js +2 -2
- package/lib/cjs/components/NotificationFeed/NotificationFeed.js +2 -2
- package/lib/cjs/components/NotificationFeed/Skeleton.js +2 -2
- package/lib/cjs/components/UserFeed/Skeleton.js +2 -2
- package/lib/cjs/components/UserFeed/UserFeed.js +5 -4
- package/lib/cjs/components/UserProfile/Skeleton.js +1 -2
- package/lib/cjs/components/UserProfile/UserProfile.js +6 -4
- package/lib/esm/components/Category/Category.js +1 -2
- package/lib/esm/components/Category/Skeleton.js +1 -2
- package/lib/esm/components/CategoryFeed/CategoryFeed.js +17 -6
- package/lib/esm/components/CategoryFeed/Skeleton.js +1 -1
- package/lib/esm/components/Event/Event.js +1 -2
- package/lib/esm/components/Event/Skeleton.js +1 -2
- package/lib/esm/components/EventFeed/EventFeed.js +30 -16
- package/lib/esm/components/EventFeed/Skeleton.js +1 -1
- package/lib/esm/components/ExploreFeed/ExploreFeed.js +4 -3
- package/lib/esm/components/ExploreFeed/Skeleton.js +1 -1
- package/lib/esm/components/FeedObjectDetail/FeedObjectDetail.js +5 -4
- package/lib/esm/components/FeedObjectDetail/Skeleton.js +1 -2
- package/lib/esm/components/Group/Group.js +1 -2
- package/lib/esm/components/Group/Skeleton.js +1 -2
- package/lib/esm/components/GroupFeed/GroupFeed.js +23 -8
- package/lib/esm/components/GroupFeed/Skeleton.js +1 -1
- package/lib/esm/components/Lesson/Lesson.js +1 -2
- package/lib/esm/components/LoyaltyProgramDetail/LoyaltyProgramDetail.js +1 -3
- package/lib/esm/components/LoyaltyProgramDetail/PointsList.js +1 -2
- package/lib/esm/components/LoyaltyProgramDetail/PrizeItemSkeleton.js +1 -2
- package/lib/esm/components/LoyaltyProgramDetail/Skeleton.js +1 -2
- package/lib/esm/components/MainFeed/MainFeed.js +4 -3
- package/lib/esm/components/MainFeed/Skeleton.js +1 -1
- package/lib/esm/components/NotificationFeed/NotificationFeed.js +1 -1
- package/lib/esm/components/NotificationFeed/Skeleton.js +1 -1
- package/lib/esm/components/UserFeed/Skeleton.js +1 -1
- package/lib/esm/components/UserFeed/UserFeed.js +4 -3
- package/lib/esm/components/UserProfile/Skeleton.js +1 -2
- package/lib/esm/components/UserProfile/UserProfile.js +6 -4
- package/lib/umd/{c473ce30406a3dad83e1.eot → 30b299174b4fa1fb9ce8.eot} +0 -0
- package/lib/umd/{b6dbec3d5816ff8baef1.woff → 3b49304a98beb1239bc7.ttf} +0 -0
- package/lib/umd/589.js +2 -0
- package/lib/umd/738.js +1 -1
- package/lib/umd/73cbb3dbfaa3ddd4df47.js +2 -0
- package/lib/umd/73cbb3dbfaa3ddd4df47.js.LICENSE.txt +21 -0
- package/lib/umd/ab247f43e550f5f6d0f8.woff2 +0 -0
- package/lib/umd/{ba74e493633796d551d1.ttf → ce10db0c87e7112cb315.woff} +0 -0
- package/lib/umd/{6158171e38cbff3c3340.svg → fff8590360ed9eed64ae.svg} +75 -69
- package/lib/umd/react-templates.js +1 -1
- package/package.json +9 -6
- package/lib/umd/60a7fdeaadfe844bc015.woff2 +0 -0
- package/lib/umd/916.js +0 -2
- /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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
-
//
|
|
94
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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
|
-
(
|
|
149
|
-
|
|
150
|
-
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
-
//
|
|
78
|
-
const
|
|
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
|
-
|
|
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 &&
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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)(
|
|
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,
|
|
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,
|
|
12
|
+
const Root = (0, material_1.styled)(react_ui_1.Widget, {
|
|
14
13
|
name: constants_1.PREFIX,
|
|
15
14
|
slot: 'PrizeItemSkeletonRoot'
|
|
16
15
|
})(() => ({}));
|