@selfcommunity/react-ui 0.6.0-alpha.7 → 0.6.0-alpha.8
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/BroadcastMessages/BroadcastMessages.d.ts.map +1 -1
- package/lib/cjs/components/BroadcastMessages/BroadcastMessages.js +4 -0
- package/lib/cjs/components/BroadcastMessages/BroadcastMessages.js.map +1 -1
- package/lib/cjs/components/FeedObject/Actions/Actions.d.ts.map +1 -1
- package/lib/cjs/components/FeedObject/Actions/Actions.js +5 -2
- package/lib/cjs/components/FeedObject/Actions/Actions.js.map +1 -1
- package/lib/cjs/components/FeedObject/Actions/Reaction/Reaction.d.ts +33 -0
- package/lib/cjs/components/FeedObject/Actions/Reaction/Reaction.d.ts.map +1 -0
- package/lib/cjs/components/FeedObject/Actions/Reaction/Reaction.js +483 -0
- package/lib/cjs/components/FeedObject/Actions/Reaction/Reaction.js.map +1 -0
- package/lib/cjs/components/FeedObject/Actions/Reaction/index.d.ts +3 -0
- package/lib/cjs/components/FeedObject/Actions/Reaction/index.d.ts.map +1 -0
- package/lib/cjs/components/FeedObject/Actions/Reaction/index.js +8 -0
- package/lib/cjs/components/FeedObject/Actions/Reaction/index.js.map +1 -0
- package/lib/cjs/components/FeedObject/Actions/Vote/Vote.js +1 -1
- package/lib/cjs/components/FeedObject/Actions/Vote/Vote.js.map +1 -1
- package/lib/esm/components/BroadcastMessages/BroadcastMessages.d.ts.map +1 -1
- package/lib/esm/components/BroadcastMessages/BroadcastMessages.js +4 -0
- package/lib/esm/components/BroadcastMessages/BroadcastMessages.js.map +1 -1
- package/lib/esm/components/FeedObject/Actions/Actions.d.ts.map +1 -1
- package/lib/esm/components/FeedObject/Actions/Actions.js +6 -3
- package/lib/esm/components/FeedObject/Actions/Actions.js.map +1 -1
- package/lib/esm/components/FeedObject/Actions/Reaction/Reaction.d.ts +33 -0
- package/lib/esm/components/FeedObject/Actions/Reaction/Reaction.d.ts.map +1 -0
- package/lib/esm/components/FeedObject/Actions/Reaction/Reaction.js +453 -0
- package/lib/esm/components/FeedObject/Actions/Reaction/Reaction.js.map +1 -0
- package/lib/esm/components/FeedObject/Actions/Reaction/index.d.ts +3 -0
- package/lib/esm/components/FeedObject/Actions/Reaction/index.d.ts.map +1 -0
- package/lib/esm/components/FeedObject/Actions/Reaction/index.js +3 -0
- package/lib/esm/components/FeedObject/Actions/Reaction/index.js.map +1 -0
- package/lib/esm/components/FeedObject/Actions/Vote/Vote.js +1 -1
- package/lib/esm/components/FeedObject/Actions/Vote/Vote.js.map +1 -1
- package/lib/umd/react-ui.js +1 -1
- package/lib/umd/react-ui.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BroadcastMessages.d.ts","sourceRoot":"","sources":["../../../../src/components/BroadcastMessages/BroadcastMessages.tsx"],"names":[],"mappings":";AAeA,OAAgB,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAwChD,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"BroadcastMessages.d.ts","sourceRoot":"","sources":["../../../../src/components/BroadcastMessages/BroadcastMessages.tsx"],"names":[],"mappings":";AAeA,OAAgB,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAwChD,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAmJtF"}
|
|
@@ -172,6 +172,10 @@ function BroadcastMessages(inProps) {
|
|
|
172
172
|
setMessages(refresh ? res.data : [...messages, ...res.data]);
|
|
173
173
|
setNext(res.next);
|
|
174
174
|
setLoading(false);
|
|
175
|
+
const unviewd = res.data.filter((m) => !m.viewed_at).length;
|
|
176
|
+
if (unviewd > 0) {
|
|
177
|
+
scUserContext.setUnseenNotificationBannersCounter(scUserContext.user.unseen_notification_banners_counter - unviewd);
|
|
178
|
+
}
|
|
175
179
|
})
|
|
176
180
|
.catch((error) => {
|
|
177
181
|
utils_1.Logger.error(Errors_1.SCOPE_SC_UI, error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BroadcastMessages.js","sourceRoot":"","sources":["../../../../src/components/BroadcastMessages/BroadcastMessages.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BroadcastMessages.js","sourceRoot":"","sources":["../../../../src/components/BroadcastMessages/BroadcastMessages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../../../src/components/FeedObject/Actions/Actions.tsx"],"names":[],"mappings":";AAGA,OAAa,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACvC,OAAgB,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAChD,OAAc,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../../../src/components/FeedObject/Actions/Actions.tsx"],"names":[],"mappings":";AAGA,OAAa,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACvC,OAAgB,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAChD,OAAc,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;AAwBnE,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAE1C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAE9C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpC;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,UAAU,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CA8ElE"}
|
|
@@ -14,6 +14,7 @@ const react_core_1 = require("@selfcommunity/react-core");
|
|
|
14
14
|
const feedObject_1 = require("../../../types/feedObject");
|
|
15
15
|
const classnames_1 = __importDefault(require("classnames"));
|
|
16
16
|
const system_1 = require("@mui/system");
|
|
17
|
+
const Reaction_1 = __importDefault(require("./Reaction"));
|
|
17
18
|
const PREFIX = 'SCFeedObjectActions';
|
|
18
19
|
const classes = {
|
|
19
20
|
root: `${PREFIX}-root`,
|
|
@@ -37,8 +38,11 @@ function Actions(inProps) {
|
|
|
37
38
|
name: PREFIX
|
|
38
39
|
});
|
|
39
40
|
const { className, feedObjectId, feedObject, feedObjectType = types_1.SCFeedObjectTypologyType.POST, feedObjectTemplate = feedObject_1.SCFeedObjectTemplateType.PREVIEW, hideVoteAction = false, hideShareAction = false, hideCommentAction = false, handleExpandActivities, VoteActionProps = {}, CommentActionProps = {}, ShareActionProps = {} } = props;
|
|
41
|
+
// PREFERENCES
|
|
42
|
+
const scPreferences = (0, react_core_1.useSCPreferences)();
|
|
40
43
|
// STATE
|
|
41
44
|
const { obj, setObj } = (0, react_core_1.useSCFetchFeedObject)({ id: feedObjectId, feedObject, feedObjectType });
|
|
45
|
+
const reactionsEnabled = scPreferences.features.includes(react_core_1.SCFeatures.REACTION);
|
|
42
46
|
if (!obj) {
|
|
43
47
|
return null;
|
|
44
48
|
}
|
|
@@ -60,8 +64,7 @@ function Actions(inProps) {
|
|
|
60
64
|
*/
|
|
61
65
|
const columnWidth = getColumnWidth();
|
|
62
66
|
return (react_1.default.createElement(Root, { container: true, className: (0, classnames_1.default)(classes.root, className) },
|
|
63
|
-
!hideVoteAction && (react_1.default.createElement(material_1.Grid, { item: true, xs: columnWidth, className: classes.action },
|
|
64
|
-
react_1.default.createElement(Vote_1.default, Object.assign({ feedObject: obj, feedObjectType: feedObjectType }, VoteActionProps)))),
|
|
67
|
+
!hideVoteAction && (react_1.default.createElement(material_1.Grid, { item: true, xs: columnWidth, className: classes.action }, reactionsEnabled ? (react_1.default.createElement(Reaction_1.default, Object.assign({ feedObject: obj, feedObjectType: feedObjectType }, VoteActionProps))) : (react_1.default.createElement(Vote_1.default, Object.assign({ feedObject: obj, feedObjectType: feedObjectType }, VoteActionProps))))),
|
|
65
68
|
!hideCommentAction && (react_1.default.createElement(material_1.Grid, { item: true, xs: columnWidth, className: classes.action },
|
|
66
69
|
react_1.default.createElement(Comment_1.default, Object.assign({ feedObject: obj, feedObjectType: feedObjectType, feedObjectTemplate: feedObjectTemplate, onCommentAction: handleExpandActivities }, CommentActionProps)))),
|
|
67
70
|
!hideShareAction && (react_1.default.createElement(material_1.Grid, { item: true, xs: columnWidth, className: classes.action },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../../../../src/components/FeedObject/Actions/Actions.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,iDAA4C;AAC5C,4CAAmC;AACnC,kDAAuC;AACvC,wDAAgD;AAChD,oDAA0C;AAC1C,gDAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../../../../src/components/FeedObject/Actions/Actions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { VoteProps } from '../Vote';
|
|
3
|
+
/**
|
|
4
|
+
* We have complex state logic that involves multiple sub-values,
|
|
5
|
+
* so useReducer is preferable to useState.
|
|
6
|
+
* Define all possible auth action types label
|
|
7
|
+
* Use this to export actions and dispatch an action
|
|
8
|
+
*/
|
|
9
|
+
export declare const voteActionTypes: {
|
|
10
|
+
LOADING: string;
|
|
11
|
+
REQUEST_VOTES_LOADING: string;
|
|
12
|
+
REQUEST_VOTES_SUCCESS: string;
|
|
13
|
+
REQUEST_VOTES_FAILED: string;
|
|
14
|
+
TOGGLE_VOTE_DIALOG: string;
|
|
15
|
+
REFRESHING_VOTES: string;
|
|
16
|
+
VOTING: string;
|
|
17
|
+
REQUEST_VOTING_SUCCESS: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Action types label for reaction actions handler
|
|
21
|
+
*/
|
|
22
|
+
export declare const reactionActionTypes: {
|
|
23
|
+
ADD: string;
|
|
24
|
+
CHANGE: string;
|
|
25
|
+
REMOVE: string;
|
|
26
|
+
};
|
|
27
|
+
export interface TabPanelProps {
|
|
28
|
+
children?: React.ReactNode;
|
|
29
|
+
index: string;
|
|
30
|
+
value: string | any;
|
|
31
|
+
}
|
|
32
|
+
export default function Reaction(inProps: VoteProps): JSX.Element;
|
|
33
|
+
//# sourceMappingURL=Reaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Reaction.d.ts","sourceRoot":"","sources":["../../../../../../src/components/FeedObject/Actions/Reaction/Reaction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AA4BtE,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;CAS3B,CAAC;AAgEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AA8DF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB;AAWD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAwbhE"}
|
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.reactionActionTypes = exports.voteActionTypes = void 0;
|
|
41
|
+
const react_1 = __importStar(require("react"));
|
|
42
|
+
const BaseDialog_1 = __importDefault(require("../../../../shared/BaseDialog"));
|
|
43
|
+
const react_intl_1 = require("react-intl");
|
|
44
|
+
const material_1 = require("@mui/material");
|
|
45
|
+
const InfiniteScroll_1 = __importDefault(require("../../../../shared/InfiniteScroll"));
|
|
46
|
+
const Icon_1 = __importDefault(require("@mui/material/Icon"));
|
|
47
|
+
const Skeleton_1 = __importDefault(require("@mui/material/Skeleton"));
|
|
48
|
+
const LoadingButton_1 = __importDefault(require("@mui/lab/LoadingButton"));
|
|
49
|
+
const CentralProgress_1 = __importDefault(require("../../../../shared/CentralProgress"));
|
|
50
|
+
const User_1 = __importDefault(require("../../../User"));
|
|
51
|
+
const Errors_1 = require("../../../../constants/Errors");
|
|
52
|
+
const styles_1 = require("@mui/material/styles");
|
|
53
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
54
|
+
const notistack_1 = require("notistack");
|
|
55
|
+
const types_1 = require("@selfcommunity/types");
|
|
56
|
+
const api_services_1 = require("@selfcommunity/api-services");
|
|
57
|
+
const utils_1 = require("@selfcommunity/utils");
|
|
58
|
+
const react_core_1 = require("@selfcommunity/react-core");
|
|
59
|
+
const system_1 = require("@mui/system");
|
|
60
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
61
|
+
/**
|
|
62
|
+
* We have complex state logic that involves multiple sub-values,
|
|
63
|
+
* so useReducer is preferable to useState.
|
|
64
|
+
* Define all possible auth action types label
|
|
65
|
+
* Use this to export actions and dispatch an action
|
|
66
|
+
*/
|
|
67
|
+
exports.voteActionTypes = {
|
|
68
|
+
LOADING: '_loading_votes',
|
|
69
|
+
REQUEST_VOTES_LOADING: '_request_votes_loading',
|
|
70
|
+
REQUEST_VOTES_SUCCESS: '_request_votes_success',
|
|
71
|
+
REQUEST_VOTES_FAILED: '_request_votes_failed',
|
|
72
|
+
TOGGLE_VOTE_DIALOG: '_toggle_vote_dialog',
|
|
73
|
+
REFRESHING_VOTES: '_refreshing_votes',
|
|
74
|
+
VOTING: '_voting',
|
|
75
|
+
REQUEST_VOTING_SUCCESS: '_request_vote_success'
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* votesReducer manage the state of authentication
|
|
79
|
+
* update the state base on action type
|
|
80
|
+
* @param state
|
|
81
|
+
* @param action
|
|
82
|
+
*/
|
|
83
|
+
function votesReducer(state, action) {
|
|
84
|
+
switch (action.type) {
|
|
85
|
+
case exports.voteActionTypes.REQUEST_VOTES_LOADING:
|
|
86
|
+
return Object.assign({}, state, { loadingVotes: true });
|
|
87
|
+
case exports.voteActionTypes.REQUEST_VOTES_SUCCESS:
|
|
88
|
+
return {
|
|
89
|
+
votes: state.refreshing ? [...state.votes] : [...state.votes, ...action.payload.data],
|
|
90
|
+
loadingVotes: false,
|
|
91
|
+
refreshing: false,
|
|
92
|
+
voting: false,
|
|
93
|
+
next: action.payload.next,
|
|
94
|
+
openVotesDialog: state.openVotesDialog,
|
|
95
|
+
error: null
|
|
96
|
+
};
|
|
97
|
+
case exports.voteActionTypes.TOGGLE_VOTE_DIALOG:
|
|
98
|
+
return Object.assign({}, state, { openVotesDialog: !state.openVotesDialog });
|
|
99
|
+
case exports.voteActionTypes.REQUEST_VOTES_FAILED:
|
|
100
|
+
return Object.assign({}, state, { loadingVotes: false, error: action.payload.error, refreshing: false });
|
|
101
|
+
case exports.voteActionTypes.REFRESHING_VOTES:
|
|
102
|
+
return Object.assign({}, state, { votes: [], loadingVotes: false, refreshing: true, error: null });
|
|
103
|
+
case exports.voteActionTypes.VOTING:
|
|
104
|
+
return Object.assign({}, state, { voting: true, error: null });
|
|
105
|
+
case exports.voteActionTypes.REQUEST_VOTING_SUCCESS:
|
|
106
|
+
return Object.assign({}, state, { voting: false, error: null });
|
|
107
|
+
default:
|
|
108
|
+
throw new Error(`Unhandled type: ${action.type}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Defines initial state
|
|
113
|
+
*/
|
|
114
|
+
function stateInitializer({ feedObjectId = null, feedObject = null, feedObjectType = types_1.SCFeedObjectTypologyType.POST }) {
|
|
115
|
+
const next = feedObjectId && feedObjectType
|
|
116
|
+
? `${api_services_1.Endpoints.VotesList.url({ type: feedObjectType, id: feedObjectId })}`
|
|
117
|
+
: `${api_services_1.Endpoints.VotesList.url({ type: feedObjectType, id: feedObject.id })}`;
|
|
118
|
+
return {
|
|
119
|
+
votes: [],
|
|
120
|
+
loadingVotes: false,
|
|
121
|
+
voting: null,
|
|
122
|
+
refreshing: false,
|
|
123
|
+
next,
|
|
124
|
+
openVotesDialog: false,
|
|
125
|
+
error: null
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Action types label for reaction actions handler
|
|
130
|
+
*/
|
|
131
|
+
exports.reactionActionTypes = {
|
|
132
|
+
ADD: 'add',
|
|
133
|
+
CHANGE: 'change',
|
|
134
|
+
REMOVE: 'remove'
|
|
135
|
+
};
|
|
136
|
+
const PREFIX = 'SCReactionObject';
|
|
137
|
+
const classes = {
|
|
138
|
+
root: `${PREFIX}-root`,
|
|
139
|
+
divider: `${PREFIX}-divider`,
|
|
140
|
+
actionButton: `${PREFIX}-action-button`,
|
|
141
|
+
inline: `${PREFIX}-inline`,
|
|
142
|
+
inlineActionButton: `${PREFIX}-inline-action-button`,
|
|
143
|
+
viewAudienceButton: `${PREFIX}-view-audience-button`,
|
|
144
|
+
groupedIcons: `${PREFIX}-grouped-icons`,
|
|
145
|
+
reactionAvatar: `${PREFIX}-reaction-avatar`,
|
|
146
|
+
reactionIcon: `${PREFIX}-reaction-icon`
|
|
147
|
+
};
|
|
148
|
+
const Root = (0, styles_1.styled)(material_1.Box, {
|
|
149
|
+
name: PREFIX,
|
|
150
|
+
slot: 'Root',
|
|
151
|
+
overridesResolver: (props, styles) => styles.root
|
|
152
|
+
})(({ theme }) => ({
|
|
153
|
+
display: 'flex',
|
|
154
|
+
justifyContent: 'center',
|
|
155
|
+
alignItems: 'center',
|
|
156
|
+
flexDirection: 'column',
|
|
157
|
+
[`&.${classes.inline}`]: {
|
|
158
|
+
flexDirection: 'row-reverse'
|
|
159
|
+
},
|
|
160
|
+
[`& .${classes.inlineActionButton}`]: {
|
|
161
|
+
minWidth: 30
|
|
162
|
+
},
|
|
163
|
+
[`& .${classes.divider}`]: {
|
|
164
|
+
width: '100%',
|
|
165
|
+
borderBottom: 0
|
|
166
|
+
},
|
|
167
|
+
[`& .${classes.viewAudienceButton}`]: {
|
|
168
|
+
height: 32,
|
|
169
|
+
fontSize: 15,
|
|
170
|
+
textTransform: 'capitalize',
|
|
171
|
+
'& p': {
|
|
172
|
+
fontSize: '0.9rem'
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
[`& .${classes.groupedIcons}`]: {
|
|
176
|
+
'& .MuiAvatar-root': {
|
|
177
|
+
width: '20px',
|
|
178
|
+
height: '20px',
|
|
179
|
+
fontSize: '0.8rem'
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
[`& .${classes.reactionAvatar}`]: {
|
|
183
|
+
'& .MuiAvatar-img': {
|
|
184
|
+
width: theme.spacing(2),
|
|
185
|
+
height: theme.spacing(2)
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
[`& .${classes.reactionIcon}`]: {
|
|
189
|
+
width: theme.spacing(2),
|
|
190
|
+
height: theme.spacing(2)
|
|
191
|
+
}
|
|
192
|
+
}));
|
|
193
|
+
function TabPanel(props) {
|
|
194
|
+
const { children, value, index } = props, other = __rest(props, ["children", "value", "index"]);
|
|
195
|
+
return (react_1.default.createElement("div", Object.assign({ hidden: value !== index, id: `tab-panel-${index}` }, other), value === index && react_1.default.createElement(react_1.default.Fragment, null, children)));
|
|
196
|
+
}
|
|
197
|
+
function Reaction(inProps) {
|
|
198
|
+
const props = (0, system_1.useThemeProps)({
|
|
199
|
+
props: inProps,
|
|
200
|
+
name: PREFIX
|
|
201
|
+
});
|
|
202
|
+
// PROPS
|
|
203
|
+
const { className = null, feedObjectId = null, feedObject = null, feedObjectType = types_1.SCFeedObjectTypologyType.POST, withAudience = true, withAction = true, inlineAction = false, onVoteAction = () => null } = props, rest = __rest(props, ["className", "feedObjectId", "feedObject", "feedObjectType", "withAudience", "withAction", "inlineAction", "onVoteAction"]);
|
|
204
|
+
// CONTEXT
|
|
205
|
+
const scContext = (0, react_core_1.useSCContext)();
|
|
206
|
+
const scUserContext = (0, react_core_1.useSCUser)();
|
|
207
|
+
const { enqueueSnackbar } = (0, notistack_1.useSnackbar)();
|
|
208
|
+
// STATE
|
|
209
|
+
const { obj, setObj } = (0, react_core_1.useSCFetchFeedObject)({ id: feedObjectId, feedObject, feedObjectType });
|
|
210
|
+
const { reactions, isLoading } = (0, react_core_1.useSCFetchReactions)();
|
|
211
|
+
const [state, dispatch] = (0, react_1.useReducer)(votesReducer, {}, () => stateInitializer({ feedObjectId, feedObject, feedObjectType }));
|
|
212
|
+
const [tabIndex, setTabIndex] = (0, react_1.useState)('all');
|
|
213
|
+
const [reaction, setReaction] = (0, react_1.useState)(null);
|
|
214
|
+
const defaultReactionId = 1;
|
|
215
|
+
const defaultReaction = reactions.find((r) => r.id === defaultReactionId);
|
|
216
|
+
const [anchorEl, setAnchorEl] = (0, react_1.useState)(null);
|
|
217
|
+
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
218
|
+
const [reactionsList, setReactionsList] = (0, react_1.useState)(obj.reactions_count);
|
|
219
|
+
// HANDLERS
|
|
220
|
+
const handleChange = (event, newValue) => {
|
|
221
|
+
setTabIndex(newValue);
|
|
222
|
+
};
|
|
223
|
+
function handleClick(event) {
|
|
224
|
+
setTimeout(() => {
|
|
225
|
+
setHovered(true);
|
|
226
|
+
}, 1000);
|
|
227
|
+
if (anchorEl !== event.currentTarget) {
|
|
228
|
+
setAnchorEl(event.currentTarget);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
function handleClose() {
|
|
232
|
+
setHovered(false);
|
|
233
|
+
setAnchorEl(null);
|
|
234
|
+
}
|
|
235
|
+
function dispatchReactionsActions(type, reactionObj) {
|
|
236
|
+
const list = [...reactionsList];
|
|
237
|
+
let updatedList;
|
|
238
|
+
const index = list.findIndex((r) => r.reaction.id === reactionObj.id);
|
|
239
|
+
const inList = list.length ? list.some((o) => o.reaction.id === reactionObj.id) : false;
|
|
240
|
+
switch (type) {
|
|
241
|
+
case exports.reactionActionTypes.REMOVE:
|
|
242
|
+
if (inList && list[index].count > 1) {
|
|
243
|
+
// console.log('Update count -');
|
|
244
|
+
list[index].count = list[index].count - 1;
|
|
245
|
+
updatedList = list;
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
// console.log('Delete obj');
|
|
249
|
+
list.splice(index, 1);
|
|
250
|
+
updatedList = list;
|
|
251
|
+
}
|
|
252
|
+
return updatedList;
|
|
253
|
+
case exports.reactionActionTypes.ADD:
|
|
254
|
+
if (inList) {
|
|
255
|
+
// console.log('Update count +');
|
|
256
|
+
list[index].count = list[index].count + 1;
|
|
257
|
+
updatedList = list;
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
// console.log('Add obj');
|
|
261
|
+
updatedList = [...list, { reaction: reactionObj, count: 1 }];
|
|
262
|
+
}
|
|
263
|
+
return updatedList;
|
|
264
|
+
case exports.reactionActionTypes.CHANGE:
|
|
265
|
+
const i = list.findIndex((r) => r.reaction.id === obj.reaction.id);
|
|
266
|
+
if (!inList) {
|
|
267
|
+
// console.log('Change not in list, add + update count');
|
|
268
|
+
list[i].reaction = list[i].count === 1 ? reactionObj : list[i].reaction;
|
|
269
|
+
list[i].count = list[i].count >= 1 ? list[i].count - 1 : list[i].count;
|
|
270
|
+
setReactionsList(dispatchReactionsActions(exports.reactionActionTypes.ADD, reactionObj));
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
// console.log('Change in list, remove + update count');
|
|
274
|
+
const n = dispatchReactionsActions(exports.reactionActionTypes.REMOVE, obj.reaction);
|
|
275
|
+
const newIndex = n.findIndex((r) => r.reaction.id === reactionObj.id);
|
|
276
|
+
n[newIndex].count = n[newIndex].count + 1;
|
|
277
|
+
setReactionsList(n);
|
|
278
|
+
}
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Handles reaction actions(add, update, delete);
|
|
284
|
+
* @param voted
|
|
285
|
+
* @param r
|
|
286
|
+
*/
|
|
287
|
+
function handleReactions(voted, r) {
|
|
288
|
+
if (voted) {
|
|
289
|
+
const forRemoval = obj.reaction.id === r.id;
|
|
290
|
+
if (forRemoval) {
|
|
291
|
+
setReactionsList(dispatchReactionsActions(exports.reactionActionTypes.REMOVE, obj.reaction));
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
dispatchReactionsActions(exports.reactionActionTypes.CHANGE, r);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
setReactionsList(dispatchReactionsActions(exports.reactionActionTypes.ADD, r));
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Fetches Votes only if obj
|
|
303
|
+
*/
|
|
304
|
+
(0, react_1.useEffect)(() => {
|
|
305
|
+
if (obj && state.next && !state.loading && !state.refreshing && state.openVotesDialog) {
|
|
306
|
+
dispatch({ type: exports.voteActionTypes.REQUEST_VOTES_LOADING });
|
|
307
|
+
fetchVotes()
|
|
308
|
+
.then((data) => {
|
|
309
|
+
dispatch({
|
|
310
|
+
type: exports.voteActionTypes.REQUEST_VOTES_SUCCESS,
|
|
311
|
+
payload: {
|
|
312
|
+
next: data['next'],
|
|
313
|
+
data: data['results']
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
})
|
|
317
|
+
.catch((error) => {
|
|
318
|
+
utils_1.Logger.error(Errors_1.SCOPE_SC_UI, error);
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
}, [state.openVotesDialog]);
|
|
322
|
+
/**
|
|
323
|
+
* Opens dialog votes
|
|
324
|
+
*/
|
|
325
|
+
function handleToggleVotesDialog() {
|
|
326
|
+
dispatch({ type: exports.voteActionTypes.TOGGLE_VOTE_DIALOG });
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* fetches Votes
|
|
330
|
+
*/
|
|
331
|
+
const fetchVotes = (0, react_1.useMemo)(() => () => {
|
|
332
|
+
return api_services_1.http
|
|
333
|
+
.request({
|
|
334
|
+
url: state.next,
|
|
335
|
+
method: api_services_1.Endpoints.VotesList.method
|
|
336
|
+
})
|
|
337
|
+
.then((res) => {
|
|
338
|
+
if (res.status >= 300) {
|
|
339
|
+
return Promise.reject(res);
|
|
340
|
+
}
|
|
341
|
+
return Promise.resolve(res.data);
|
|
342
|
+
});
|
|
343
|
+
}, [state.next]);
|
|
344
|
+
/**
|
|
345
|
+
* Performs vote with reactions
|
|
346
|
+
*/
|
|
347
|
+
const performReaction = (0, react_1.useMemo)(() => (reaction) => {
|
|
348
|
+
return api_services_1.http
|
|
349
|
+
.request({
|
|
350
|
+
url: api_services_1.Endpoints.Vote.url({ type: obj.type, id: obj.id }),
|
|
351
|
+
method: api_services_1.Endpoints.Vote.method,
|
|
352
|
+
params: {
|
|
353
|
+
reaction: reaction.id
|
|
354
|
+
}
|
|
355
|
+
})
|
|
356
|
+
.then((res) => {
|
|
357
|
+
if (res.status >= 300) {
|
|
358
|
+
return Promise.reject(res);
|
|
359
|
+
}
|
|
360
|
+
return Promise.resolve(res.data);
|
|
361
|
+
});
|
|
362
|
+
}, [obj]);
|
|
363
|
+
/**
|
|
364
|
+
* Performs voteUp/voteDown
|
|
365
|
+
*/
|
|
366
|
+
function vote(reaction) {
|
|
367
|
+
setReaction(reaction);
|
|
368
|
+
if (scUserContext.user && Object.prototype.hasOwnProperty.call(obj, 'reaction')) {
|
|
369
|
+
if (react_core_1.UserUtils.isBlocked(scUserContext.user)) {
|
|
370
|
+
enqueueSnackbar(react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.common.userBlocked", defaultMessage: "ui.common.userBlocked" }), {
|
|
371
|
+
variant: 'warning',
|
|
372
|
+
autoHideDuration: 3000
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
if (obj && !state.voting) {
|
|
377
|
+
dispatch({ type: exports.voteActionTypes.VOTING });
|
|
378
|
+
performReaction(reaction)
|
|
379
|
+
.then((data) => {
|
|
380
|
+
dispatch({ type: exports.voteActionTypes.REQUEST_VOTING_SUCCESS });
|
|
381
|
+
const newObj = Object.assign({}, obj, {
|
|
382
|
+
voted: obj.voted && obj.reaction.id !== reaction.id ? true : !obj.voted,
|
|
383
|
+
vote_count: obj.voted && obj.reaction.id === reaction.id
|
|
384
|
+
? obj.vote_count - 1
|
|
385
|
+
: obj.voted && obj.reaction.id !== reaction.id
|
|
386
|
+
? obj.vote_count
|
|
387
|
+
: obj.vote_count + 1,
|
|
388
|
+
reaction: reaction
|
|
389
|
+
});
|
|
390
|
+
setObj(newObj);
|
|
391
|
+
handleReactions(obj.voted, reaction);
|
|
392
|
+
onVoteAction && onVoteAction(newObj);
|
|
393
|
+
setAnchorEl(null);
|
|
394
|
+
})
|
|
395
|
+
.catch((error) => {
|
|
396
|
+
utils_1.Logger.error(Errors_1.SCOPE_SC_UI, error);
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
scContext.settings.handleAnonymousAction();
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Renders audience with detail dialog
|
|
407
|
+
* @return {JSX.Element}
|
|
408
|
+
*/
|
|
409
|
+
function renderAudience() {
|
|
410
|
+
const { loadingVotes, votes, openVotesDialog } = state;
|
|
411
|
+
const filteredVotes = lodash_1.default.groupBy(votes, (v) => v.reaction.label);
|
|
412
|
+
let audience;
|
|
413
|
+
if (withAudience) {
|
|
414
|
+
if (!obj) {
|
|
415
|
+
audience = (react_1.default.createElement(material_1.Button, { variant: "text", size: "small", disabled: true, color: "inherit" },
|
|
416
|
+
react_1.default.createElement(Skeleton_1.default, { animation: "wave", height: 18, width: 50 })));
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
audience = (react_1.default.createElement(react_1.default.Fragment, null,
|
|
420
|
+
react_1.default.createElement(material_1.Button, { variant: "text", size: "small", onClick: handleToggleVotesDialog, disabled: obj.vote_count === 0, color: "inherit", classes: { root: classes.viewAudienceButton }, endIcon: obj.vote_count !== 0 ? obj.vote_count : null },
|
|
421
|
+
react_1.default.createElement(material_1.AvatarGroup, { className: classes.groupedIcons, max: 3 }, reactionsList.map((r, i) => (react_1.default.createElement(material_1.Avatar, { alt: r.reaction.label, src: r.reaction.image, key: i, className: classes.reactionAvatar }))))),
|
|
422
|
+
openVotesDialog && (react_1.default.createElement(BaseDialog_1.default, { title: react_1.default.createElement(material_1.Tabs, { value: tabIndex, onChange: handleChange, variant: "scrollable", scrollButtons: true, allowScrollButtonsMobile: true },
|
|
423
|
+
react_1.default.createElement(material_1.Tab, { value: 'all', label: react_1.default.createElement(react_intl_1.FormattedMessage, { defaultMessage: "ui.feedObject.votesDialog.reactionsEnabled.title", id: "ui.feedObject.votesDialog.reactionsEnabled.title" }) }),
|
|
424
|
+
reactionsList.map((r, index) => (react_1.default.createElement(material_1.Tab, { icon: react_1.default.createElement(Icon_1.default, null,
|
|
425
|
+
react_1.default.createElement("img", { alt: r.reaction.label, src: r.reaction.image, width: 20, height: 20 })), iconPosition: "start", label: r.count, key: index, value: r.reaction.label })))), onClose: handleToggleVotesDialog, open: openVotesDialog }, loadingVotes ? (react_1.default.createElement(CentralProgress_1.default, { size: 50 })) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
426
|
+
react_1.default.createElement(TabPanel, { value: 'all', index: tabIndex },
|
|
427
|
+
react_1.default.createElement(InfiniteScroll_1.default, { dataLength: votes.length, next: fetchVotes, hasMoreNext: Boolean(state.next), loaderNext: react_1.default.createElement(CentralProgress_1.default, { size: 30 }), height: 400, endMessage: react_1.default.createElement("p", { style: { textAlign: 'center' } },
|
|
428
|
+
react_1.default.createElement("b", null,
|
|
429
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.feedObject.votesDialog.noOtherLikes", defaultMessage: "ui.feedObject.votesDialog.noOtherLikes" }))) },
|
|
430
|
+
react_1.default.createElement(material_1.List, null, votes.map((vote, index) => (react_1.default.createElement(material_1.ListItem, { key: index },
|
|
431
|
+
react_1.default.createElement(User_1.default, { elevation: 0, user: vote.user, key: index, sx: { m: 0 } }))))))),
|
|
432
|
+
Object.keys(filteredVotes).map((key, index) => (react_1.default.createElement(react_1.default.Fragment, { key: index },
|
|
433
|
+
react_1.default.createElement(TabPanel, { value: key, index: tabIndex },
|
|
434
|
+
react_1.default.createElement(InfiniteScroll_1.default, { dataLength: votes.length, next: fetchVotes, hasMoreNext: Boolean(state.next), loaderNext: react_1.default.createElement(CentralProgress_1.default, { size: 30 }), height: 400, endMessage: react_1.default.createElement("p", { style: { textAlign: 'center' } },
|
|
435
|
+
react_1.default.createElement("b", null,
|
|
436
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.feedObject.votesDialog.noOtherLikes", defaultMessage: "ui.feedObject.votesDialog.noOtherLikes" }))) },
|
|
437
|
+
react_1.default.createElement(material_1.List, null, filteredVotes[key].map((vote, index) => (react_1.default.createElement(material_1.ListItem, { key: index },
|
|
438
|
+
react_1.default.createElement(User_1.default, { elevation: 0, user: vote.user, key: index, sx: { m: 0 } }))))))))))))))));
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
return audience;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Renders vote action if withAction==true
|
|
445
|
+
* @return {JSX.Element}
|
|
446
|
+
*/
|
|
447
|
+
function renderVoteButton() {
|
|
448
|
+
const { voting } = state;
|
|
449
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, withAction && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
450
|
+
!inlineAction && withAudience && react_1.default.createElement(material_1.Divider, { className: classes.divider }),
|
|
451
|
+
react_1.default.createElement("span", null,
|
|
452
|
+
react_1.default.createElement(LoadingButton_1.default, { onClick: () => vote(reaction !== null && reaction !== void 0 ? reaction : defaultReaction), onMouseOver: handleClick, loading: voting, disabled: !obj, color: "inherit", classes: { root: (0, classnames_1.default)(classes.actionButton, { [classes.inlineActionButton]: inlineAction }) } }, scUserContext.user && obj.voted ? (react_1.default.createElement(Icon_1.default, { fontSize: 'large' },
|
|
453
|
+
react_1.default.createElement("img", { alt: obj.reaction.label, src: obj.reaction.image, className: classes.reactionIcon }))) : (react_1.default.createElement(Icon_1.default, { fontSize: 'large' }, "thumb_up_off_alt")))),
|
|
454
|
+
hovered && (react_1.default.createElement(material_1.Menu, { id: "reactions-menu", anchorEl: anchorEl, open: Boolean(anchorEl), onClose: handleClose, PaperProps: {
|
|
455
|
+
elevation: 0,
|
|
456
|
+
sx: {
|
|
457
|
+
width: 200,
|
|
458
|
+
overflow: 'hidden',
|
|
459
|
+
borderRadius: '40px',
|
|
460
|
+
'& .MuiList-root': {
|
|
461
|
+
display: 'flex',
|
|
462
|
+
overflow: 'auto'
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}, anchorOrigin: {
|
|
466
|
+
vertical: 'top',
|
|
467
|
+
horizontal: 'center'
|
|
468
|
+
}, transformOrigin: {
|
|
469
|
+
vertical: 'bottom',
|
|
470
|
+
horizontal: 'center'
|
|
471
|
+
} }, reactions.map((reaction, index) => (react_1.default.createElement(material_1.MenuItem, { key: index, onClick: () => vote(reaction) },
|
|
472
|
+
react_1.default.createElement(Icon_1.default, null,
|
|
473
|
+
react_1.default.createElement("img", { alt: reaction.label, src: reaction.image, width: 16, height: 16 })))))))))));
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Renders vote action and audience section
|
|
477
|
+
*/
|
|
478
|
+
return (react_1.default.createElement(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className, { [classes.inline]: inlineAction }) }, rest),
|
|
479
|
+
renderAudience(),
|
|
480
|
+
renderVoteButton()));
|
|
481
|
+
}
|
|
482
|
+
exports.default = Reaction;
|
|
483
|
+
//# sourceMappingURL=Reaction.js.map
|