stream-chat-react-native-core 5.40.0 → 5.41.0
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/README.md +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +10 -10
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/components/Poll/Poll.js +8 -8
- package/lib/commonjs/components/Poll/Poll.js.map +1 -1
- package/lib/commonjs/components/Poll/components/Button.js +16 -16
- package/lib/commonjs/components/Poll/components/Button.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollAnswersList.js +3 -3
- package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollOption.js +11 -11
- package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +7 -5
- package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js +19 -13
- package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollResults.js +4 -4
- package/lib/commonjs/components/Poll/components/PollResults/PollResults.js.map +1 -1
- package/lib/commonjs/components/Poll/hooks/usePollState.js +30 -30
- package/lib/commonjs/components/Poll/hooks/usePollState.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +10 -10
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/components/Poll/Poll.js +8 -8
- package/lib/module/components/Poll/Poll.js.map +1 -1
- package/lib/module/components/Poll/components/Button.js +16 -16
- package/lib/module/components/Poll/components/Button.js.map +1 -1
- package/lib/module/components/Poll/components/PollAnswersList.js +3 -3
- package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
- package/lib/module/components/Poll/components/PollOption.js +11 -11
- package/lib/module/components/Poll/components/PollOption.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +7 -5
- package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollResultItem.js +19 -13
- package/lib/module/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollResults.js +4 -4
- package/lib/module/components/Poll/components/PollResults/PollResults.js.map +1 -1
- package/lib/module/components/Poll/hooks/usePollState.js +30 -30
- package/lib/module/components/Poll/hooks/usePollState.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +2 -2
- package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts +3 -1
- package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts.map +1 -1
- package/lib/typescript/components/Poll/hooks/usePollOptionVotesPagination.d.ts +1 -1
- package/lib/typescript/components/Poll/hooks/usePollState.d.ts +10 -10
- package/lib/typescript/components/Poll/hooks/usePollState.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +10 -17
- package/src/components/Poll/Poll.tsx +5 -5
- package/src/components/Poll/components/Button.tsx +14 -14
- package/src/components/Poll/components/PollAnswersList.tsx +3 -3
- package/src/components/Poll/components/PollOption.tsx +8 -13
- package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +4 -4
- package/src/components/Poll/components/PollResults/PollResultItem.tsx +13 -9
- package/src/components/Poll/components/PollResults/PollResults.tsx +3 -3
- package/src/components/Poll/hooks/usePollOptionVotesPagination.ts +1 -1
- package/src/components/Poll/hooks/usePollState.ts +40 -40
- package/src/version.json +1 -1
|
@@ -21,13 +21,13 @@ var PollResultsContent = function PollResultsContent(_ref) {
|
|
|
21
21
|
var _usePollState = (0, _usePollState2.usePollState)(),
|
|
22
22
|
name = _usePollState.name,
|
|
23
23
|
options = _usePollState.options,
|
|
24
|
-
|
|
24
|
+
voteCountsByOption = _usePollState.voteCountsByOption;
|
|
25
25
|
var sortedOptions = (0, _react.useMemo)(function () {
|
|
26
26
|
return (0, _toConsumableArray2["default"])(options).sort(function (a, b) {
|
|
27
|
-
var
|
|
28
|
-
return ((
|
|
27
|
+
var _voteCountsByOption$b, _voteCountsByOption$a;
|
|
28
|
+
return ((_voteCountsByOption$b = voteCountsByOption[b.id]) != null ? _voteCountsByOption$b : 0) - ((_voteCountsByOption$a = voteCountsByOption[a.id]) != null ? _voteCountsByOption$a : 0);
|
|
29
29
|
});
|
|
30
|
-
}, [
|
|
30
|
+
}, [voteCountsByOption, options]);
|
|
31
31
|
var _useTheme = (0, _contexts.useTheme)(),
|
|
32
32
|
_useTheme$theme = _useTheme.theme,
|
|
33
33
|
_useTheme$theme$color = _useTheme$theme.colors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_PollResultItem","_contexts","_usePollState2","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PollResultsContent","_ref","additionalScrollViewProps","_usePollState","usePollState","name","options","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_PollResultItem","_contexts","_usePollState2","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PollResultsContent","_ref","additionalScrollViewProps","_usePollState","usePollState","name","options","voteCountsByOption","sortedOptions","useMemo","_toConsumableArray2","sort","b","_voteCountsByOption$b","_voteCountsByOption$a","id","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","bg_user","black","white","_useTheme$theme$poll$","poll","results","container","scrollView","title","jsxs","ScrollView","assign","style","styles","backgroundColor","children","jsx","View","Text","color","marginTop","map","option","PollResultsItem","concat","exports","PollResults","_ref2","message","PollResultsContentOverride","PollContextProvider","value","StyleSheet","create","borderRadius","paddingHorizontal","paddingVertical","flex","marginHorizontal","fontSize","fontWeight"],"sourceRoot":"../../../../../../src","sources":["components/Poll/components/PollResults/PollResults.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,0BAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AAEA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAAwD,IAAAM,WAAA,GAAAN,OAAA;AAAA,IAAAO,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAOjD,IAAMW,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAE4B;EAAA,IADzDC,yBAAyB,GAAAD,IAAA,CAAzBC,yBAAyB;EAEzB,IAAAC,aAAA,GAA8C,IAAAC,2BAAY,EAAC,CAAC;IAApDC,IAAI,GAAAF,aAAA,CAAJE,IAAI;IAAEC,OAAO,GAAAH,aAAA,CAAPG,OAAO;IAAEC,kBAAkB,GAAAJ,aAAA,CAAlBI,kBAAkB;EAEzC,IAAMC,aAAa,GAAG,IAAAC,cAAO,EAC3B;IAAA,OACE,IAAAC,mBAAA,aAAIJ,OAAO,EAAEK,IAAI,CACf,UAACpB,CAAC,EAAEqB,CAAC;MAAA,IAAAC,qBAAA,EAAAC,qBAAA;MAAA,OAAK,EAAAD,qBAAA,GAACN,kBAAkB,CAACK,CAAC,CAACG,EAAE,CAAC,YAAAF,qBAAA,GAAI,CAAC,MAAAC,qBAAA,GAAKP,kBAAkB,CAAChB,CAAC,CAACwB,EAAE,CAAC,YAAAD,qBAAA,GAAI,CAAC,CAAC;IAAA,CAC7E,CAAC;EAAA,GACH,CAACP,kBAAkB,EAAED,OAAO,CAC9B,CAAC;EAED,IAAAU,SAAA,GAOI,IAAAC,kBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CANZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IAAIC,OAAO,GAAAF,qBAAA,CAAPE,OAAO;IAAEC,KAAK,GAAAH,qBAAA,CAALG,KAAK;IAAEC,KAAK,GAAAJ,qBAAA,CAALI,KAAK;IAAAC,qBAAA,GAAAP,eAAA,CAC/BQ,IAAI,CACFC,OAAO;IAAIC,SAAS,GAAAH,qBAAA,CAATG,SAAS;IAAEC,UAAU,GAAAJ,qBAAA,CAAVI,UAAU;IAAEC,KAAK,GAAAL,qBAAA,CAALK,KAAK;EAK7C,OACE,IAAArD,WAAA,CAAAsD,IAAA,EAAC1D,0BAAA,CAAA2D,UAAU,EAAAxC,MAAA,CAAAyC,MAAA;IACTC,KAAK,EAAE,CAACC,MAAM,CAACN,UAAU,EAAE;MAAEO,eAAe,EAAEZ;IAAM,CAAC,EAAEK,UAAU;EAAE,GAC/D3B,yBAAyB;IAAAmC,QAAA,GAE7B,IAAA5D,WAAA,CAAA6D,GAAA,EAAClE,YAAA,CAAAmE,IAAI;MAACL,KAAK,EAAE,CAACC,MAAM,CAACP,SAAS,EAAE;QAAEQ,eAAe,EAAEd;MAAQ,CAAC,EAAEM,SAAS,CAAE;MAAAS,QAAA,EACvE,IAAA5D,WAAA,CAAA6D,GAAA,EAAClE,YAAA,CAAAoE,IAAI;QAACN,KAAK,EAAE,CAACC,MAAM,CAACL,KAAK,EAAE;UAAEW,KAAK,EAAElB;QAAM,CAAC,EAAEO,KAAK,CAAE;QAAAO,QAAA,EAAEhC;MAAI,CAAO;IAAC,CAC/D,CAAC,EACP,IAAA5B,WAAA,CAAA6D,GAAA,EAAClE,YAAA,CAAAmE,IAAI;MAACL,KAAK,EAAE;QAAEQ,SAAS,EAAE;MAAG,CAAE;MAAAL,QAAA,EAC5B7B,aAAa,CAACmC,GAAG,CAAC,UAACC,MAAM;QAAA,OACxB,IAAAnE,WAAA,CAAA6D,GAAA,EAAChE,eAAA,CAAAuE,eAAe;UAA8BD,MAAM,EAAEA;QAAO,cAAAE,MAAA,CAA5BF,MAAM,CAAC7B,EAAE,CAAqB,CAAC;MAAA,CACjE;IAAC,CACE,CAAC;EAAA,EACG,CAAC;AAEjB,CAAC;AAACgC,OAAA,CAAA/C,kBAAA,GAAAA,kBAAA;AAEK,IAAMgD,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA;EAAA,IACtB/C,yBAAyB,GAAA+C,KAAA,CAAzB/C,yBAAyB;IACzBgD,OAAO,GAAAD,KAAA,CAAPC,OAAO;IACPxB,IAAI,GAAAuB,KAAA,CAAJvB,IAAI;IACgByB,0BAA0B,GAAAF,KAAA,CAA9CjD,kBAAkB;EAAA,OAElB,IAAAvB,WAAA,CAAA6D,GAAA,EAAC/D,SAAA,CAAA6E,mBAAmB;IAACC,KAAK,EAAE;MAAEH,OAAO,EAAPA,OAAO;MAAExB,IAAI,EAAJA;IAAK,CAAE;IAAAW,QAAA,EAC3Cc,0BAA0B,GACzB,IAAA1E,WAAA,CAAA6D,GAAA,EAACa,0BAA0B,IAAE,CAAC,GAE9B,IAAA1E,WAAA,CAAA6D,GAAA,EAACtC,kBAAkB;MAACE,yBAAyB,EAAEA;IAA0B,CAAE;EAC5E,CACkB,CAAC;AAAA,CACvB;AAAC6C,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAEF,IAAMb,MAAM,GAAGmB,uBAAU,CAACC,MAAM,CAAC;EAC/B3B,SAAS,EAAE;IACT4B,YAAY,EAAE,EAAE;IAChBd,SAAS,EAAE,EAAE;IACbe,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EACnB,CAAC;EACD7B,UAAU,EAAE;IAAE8B,IAAI,EAAE,CAAC;IAAEC,gBAAgB,EAAE;EAAG,CAAC;EAC7C9B,KAAK,EAAE;IAAE+B,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM;AAC3C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -10,21 +10,21 @@ var _usePollStateStore2 = require("./usePollStateStore");
|
|
|
10
10
|
var _contexts = require("../../../contexts");
|
|
11
11
|
var selector = function selector(nextValue) {
|
|
12
12
|
return {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
max_votes_allowed: nextValue.max_votes_allowed,
|
|
13
|
+
allowAnswers: nextValue.allow_answers,
|
|
14
|
+
allowUserSuggestedOptions: nextValue.allow_user_suggested_options,
|
|
15
|
+
answersCount: nextValue.answers_count,
|
|
16
|
+
createdBy: nextValue.created_by,
|
|
17
|
+
enforceUniqueVote: nextValue.enforce_unique_vote,
|
|
18
|
+
isClosed: nextValue.is_closed,
|
|
19
|
+
latestVotesByOption: nextValue.latest_votes_by_option,
|
|
21
20
|
maxVotedOptionIds: nextValue.maxVotedOptionIds,
|
|
21
|
+
maxVotesAllowed: nextValue.max_votes_allowed,
|
|
22
22
|
name: nextValue.name,
|
|
23
23
|
options: nextValue.options,
|
|
24
24
|
ownAnswer: nextValue.ownAnswer,
|
|
25
25
|
ownVotesByOptionId: nextValue.ownVotesByOptionId,
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
voteCountsByOption: nextValue.vote_counts_by_option,
|
|
27
|
+
votingVisibility: nextValue.voting_visibility
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
var usePollState = function usePollState() {
|
|
@@ -32,21 +32,21 @@ var usePollState = function usePollState() {
|
|
|
32
32
|
message = _usePollContext.message,
|
|
33
33
|
poll = _usePollContext.poll;
|
|
34
34
|
var _usePollStateStore = (0, _usePollStateStore2.usePollStateStore)(selector),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
max_votes_allowed = _usePollStateStore.max_votes_allowed,
|
|
35
|
+
allowAnswers = _usePollStateStore.allowAnswers,
|
|
36
|
+
allowUserSuggestedOptions = _usePollStateStore.allowUserSuggestedOptions,
|
|
37
|
+
answersCount = _usePollStateStore.answersCount,
|
|
38
|
+
createdBy = _usePollStateStore.createdBy,
|
|
39
|
+
enforceUniqueVote = _usePollStateStore.enforceUniqueVote,
|
|
40
|
+
isClosed = _usePollStateStore.isClosed,
|
|
41
|
+
latestVotesByOption = _usePollStateStore.latestVotesByOption,
|
|
43
42
|
maxVotedOptionIds = _usePollStateStore.maxVotedOptionIds,
|
|
43
|
+
maxVotesAllowed = _usePollStateStore.maxVotesAllowed,
|
|
44
44
|
name = _usePollStateStore.name,
|
|
45
45
|
options = _usePollStateStore.options,
|
|
46
46
|
ownAnswer = _usePollStateStore.ownAnswer,
|
|
47
47
|
ownVotesByOptionId = _usePollStateStore.ownVotesByOptionId,
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
voteCountsByOption = _usePollStateStore.voteCountsByOption,
|
|
49
|
+
votingVisibility = _usePollStateStore.votingVisibility;
|
|
50
50
|
var addOption = (0, _react.useCallback)(function () {
|
|
51
51
|
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(optionText) {
|
|
52
52
|
var _yield$poll$createOpt, poll_option;
|
|
@@ -81,22 +81,22 @@ var usePollState = function usePollState() {
|
|
|
81
81
|
return {
|
|
82
82
|
addComment: addComment,
|
|
83
83
|
addOption: addOption,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
allowAnswers: allowAnswers,
|
|
85
|
+
allowUserSuggestedOptions: allowUserSuggestedOptions,
|
|
86
|
+
answersCount: answersCount,
|
|
87
|
+
createdBy: createdBy,
|
|
88
88
|
endVote: endVote,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
max_votes_allowed: max_votes_allowed,
|
|
89
|
+
enforceUniqueVote: enforceUniqueVote,
|
|
90
|
+
isClosed: isClosed,
|
|
91
|
+
latestVotesByOption: latestVotesByOption,
|
|
93
92
|
maxVotedOptionIds: maxVotedOptionIds,
|
|
93
|
+
maxVotesAllowed: maxVotesAllowed,
|
|
94
94
|
name: name,
|
|
95
95
|
options: options,
|
|
96
96
|
ownAnswer: ownAnswer,
|
|
97
97
|
ownVotesByOptionId: ownVotesByOptionId,
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
voteCountsByOption: voteCountsByOption,
|
|
99
|
+
votingVisibility: votingVisibility
|
|
100
100
|
};
|
|
101
101
|
};
|
|
102
102
|
exports.usePollState = usePollState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_usePollStateStore2","_contexts","selector","nextValue","allow_answers","allow_user_suggested_options","answers_count","created_by","enforce_unique_vote","is_closed","
|
|
1
|
+
{"version":3,"names":["_react","require","_usePollStateStore2","_contexts","selector","nextValue","allowAnswers","allow_answers","allowUserSuggestedOptions","allow_user_suggested_options","answersCount","answers_count","createdBy","created_by","enforceUniqueVote","enforce_unique_vote","isClosed","is_closed","latestVotesByOption","latest_votes_by_option","maxVotedOptionIds","maxVotesAllowed","max_votes_allowed","name","options","ownAnswer","ownVotesByOptionId","voteCountsByOption","vote_counts_by_option","votingVisibility","voting_visibility","usePollState","_usePollContext","usePollContext","message","poll","_usePollStateStore","usePollStateStore","addOption","useCallback","_ref","_asyncToGenerator2","_regenerator","mark","_callee","optionText","_yield$poll$createOpt","poll_option","wrap","_callee$","_context","prev","next","createOption","text","sent","castVote","id","stop","_x","apply","arguments","addComment","answerText","addAnswer","endVote","close","exports"],"sourceRoot":"../../../../../src","sources":["components/Poll/hooks/usePollState.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/version.json
CHANGED
|
@@ -11,8 +11,8 @@ export type LatestMessagePreview<StreamChatGenerics extends DefaultStreamChatGen
|
|
|
11
11
|
created_at?: string | Date;
|
|
12
12
|
};
|
|
13
13
|
export type LatestMessagePreviewSelectorReturnType = {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
createdBy?: UserResponse | null;
|
|
15
|
+
latestVotesByOption?: Record<string, PollVote[]>;
|
|
16
16
|
};
|
|
17
17
|
export declare enum MessageReadStatus {
|
|
18
18
|
NOT_SENT_BY_CURRENT_USER = 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLatestMessagePreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChannelPreview/hooks/useLatestMessagePreview.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,eAAe,EAEf,QAAQ,EAER,YAAY,EACb,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,KAAK,aAAa,CAChB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAE9E,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,GAC7D,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAExC,MAAM,MAAM,oBAAoB,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,
|
|
1
|
+
{"version":3,"file":"useLatestMessagePreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChannelPreview/hooks/useLatestMessagePreview.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,eAAe,EAEf,QAAQ,EAER,YAAY,EACb,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,KAAK,aAAa,CAChB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAE9E,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,GAC7D,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAExC,MAAM,MAAM,oBAAoB,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;CAClD,CAAC;AAqIF,oBAAY,iBAAiB;IAC3B,wBAAwB,IAAI;IAC5B,MAAM,IAAI;IACV,IAAI,IAAI;CACT;AA2ED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,wIAIrB,MAAM,8KAkEpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PollOption.d.ts","sourceRoot":"","sources":["../../../../../src/components/Poll/components/PollOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,eAAe,EAA0B,MAAM,cAAc,CAAC;AAIvE,OAAO,EAAE,UAAU,IAAI,eAAe,EAAY,MAAM,aAAa,CAAC;AAItE,OAAO,EAAuB,gBAAgB,EAAY,MAAM,mBAAmB,CAAC;AAKpF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG;IAC1D,yBAAyB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,qBAAqB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,qBAAqB,mCAE/B,KAAK,0BAA0B,EAAE,2BAA2B,CAAC,sBA8B/D,CAAC;AAEF,eAAO,MAAM,cAAc,wGAKxB,0BAA0B,sBAQ5B,CAAC;AAEF,eAAO,MAAM,UAAU,gCAAwC,eAAe,
|
|
1
|
+
{"version":3,"file":"PollOption.d.ts","sourceRoot":"","sources":["../../../../../src/components/Poll/components/PollOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,eAAe,EAA0B,MAAM,cAAc,CAAC;AAIvE,OAAO,EAAE,UAAU,IAAI,eAAe,EAAY,MAAM,aAAa,CAAC;AAItE,OAAO,EAAuB,gBAAgB,EAAY,MAAM,mBAAmB,CAAC;AAKpF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG;IAC1D,yBAAyB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,qBAAqB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,qBAAqB,mCAE/B,KAAK,0BAA0B,EAAE,2BAA2B,CAAC,sBA8B/D,CAAC;AAEF,eAAO,MAAM,cAAc,wGAKxB,0BAA0B,sBAQ5B,CAAC;AAEF,eAAO,MAAM,UAAU,gCAAwC,eAAe,sBAmE7E,CAAC"}
|
|
@@ -4,6 +4,8 @@ import type { DefaultStreamChatGenerics } from '../../../../types/types';
|
|
|
4
4
|
export type PollResultItemProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
5
5
|
option: PollOption<StreamChatGenerics>;
|
|
6
6
|
};
|
|
7
|
-
export declare const PollVote: (vote:
|
|
7
|
+
export declare const PollVote: ({ vote }: {
|
|
8
|
+
vote: PollVoteClass;
|
|
9
|
+
}) => React.JSX.Element;
|
|
8
10
|
export declare const PollResultsItem: ({ option }: PollResultItemProps) => React.JSX.Element;
|
|
9
11
|
//# sourceMappingURL=PollResultItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PollResultItem.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Poll/components/PollResults/PollResultItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,aAAa,EAAoB,MAAM,aAAa,CAAC;AAGtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAMzE,MAAM,MAAM,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"PollResultItem.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Poll/components/PollResults/PollResultItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,aAAa,EAAoB,MAAM,aAAa,CAAC;AAGtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAMzE,MAAM,MAAM,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,QAAQ;UAAsB,aAAa;uBA2CvD,CAAC;AAMF,eAAO,MAAM,eAAe,eAAgB,mBAAmB,sBA+B9D,CAAC"}
|
|
@@ -14,7 +14,7 @@ export type UsePollVotesReturnType = {
|
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
16
|
* A hook that queries votes for a given Poll and returns them in a paginated fashion.
|
|
17
|
-
* Should be used instead of the
|
|
17
|
+
* Should be used instead of the latestVotesByOption property within the reactive state in the
|
|
18
18
|
* event that we need more than the top 10 votes for an option. The returned property votes will
|
|
19
19
|
* automatically be updated and trigger a state change when paginating further. Querying for votes
|
|
20
20
|
* can only be done on an option by option basis.
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { APIResponse, CastVoteAPIResponse, PollAnswer, PollOption, PollVote, UpdatePollAPIResponse, UserResponse, VotingVisibility } from 'stream-chat';
|
|
2
2
|
import { DefaultStreamChatGenerics } from '../../../types/types';
|
|
3
3
|
export type UsePollStateSelectorReturnType = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
max_votes_allowed: number;
|
|
4
|
+
allowAnswers: boolean | undefined;
|
|
5
|
+
allowUserSuggestedOptions: boolean | undefined;
|
|
6
|
+
answersCount: number;
|
|
7
|
+
createdBy: UserResponse | null;
|
|
8
|
+
enforceUniqueVote: boolean;
|
|
9
|
+
isClosed: boolean | undefined;
|
|
10
|
+
latestVotesByOption: Record<string, PollVote[]>;
|
|
12
11
|
maxVotedOptionIds: string[];
|
|
12
|
+
maxVotesAllowed: number;
|
|
13
13
|
name: string;
|
|
14
14
|
options: PollOption[];
|
|
15
15
|
ownAnswer: PollAnswer | undefined;
|
|
16
16
|
ownVotesByOptionId: Record<string, PollVote>;
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
voteCountsByOption: Record<string, number>;
|
|
18
|
+
votingVisibility: VotingVisibility | undefined;
|
|
19
19
|
};
|
|
20
20
|
export type UsePollStateReturnType<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = UsePollStateSelectorReturnType & {
|
|
21
21
|
addComment: (answerText: string) => Promise<APIResponse & CastVoteAPIResponse<StreamChatGenerics>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePollState.d.ts","sourceRoot":"","sources":["../../../../../src/components/Poll/hooks/usePollState.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,UAAU,EAEV,QAAQ,EACR,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,
|
|
1
|
+
{"version":3,"file":"usePollState.d.ts","sourceRoot":"","sources":["../../../../../src/components/Poll/hooks/usePollState.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,UAAU,EAEV,QAAQ,EACR,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAChC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,8BAA8B,GAAG;IACnC,UAAU,EAAE,CACV,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,WAAW,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACpE,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,CAAC;CACjF,CAAC;AAsBF,eAAO,MAAM,YAAY,QAAO,sBAqD/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.41.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -38,15 +38,15 @@ export type LatestMessagePreview<
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export type LatestMessagePreviewSelectorReturnType = {
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
createdBy?: UserResponse | null;
|
|
42
|
+
latestVotesByOption?: Record<string, PollVote[]>;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
const selector = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(
|
|
46
46
|
nextValue: PollState<StreamChatGenerics>,
|
|
47
47
|
): LatestMessagePreviewSelectorReturnType => ({
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
createdBy: nextValue.created_by,
|
|
49
|
+
latestVotesByOption: nextValue.latest_votes_by_option,
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
const getMessageSenderName = <
|
|
@@ -146,15 +146,15 @@ const getLatestMessageDisplayText = <
|
|
|
146
146
|
];
|
|
147
147
|
}
|
|
148
148
|
if (message.poll && pollState) {
|
|
149
|
-
const {
|
|
149
|
+
const { createdBy, latestVotesByOption } = pollState;
|
|
150
150
|
let latestVotes;
|
|
151
|
-
if (
|
|
152
|
-
latestVotes = Object.values(
|
|
151
|
+
if (latestVotesByOption) {
|
|
152
|
+
latestVotes = Object.values(latestVotesByOption)
|
|
153
153
|
.map((votes) => votes?.[0])
|
|
154
154
|
.sort((a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime());
|
|
155
155
|
}
|
|
156
156
|
let previewAction = 'created';
|
|
157
|
-
let previewUser =
|
|
157
|
+
let previewUser = createdBy;
|
|
158
158
|
if (latestVotes && latestVotes.length && latestVotes[0]?.user) {
|
|
159
159
|
previewAction = 'voted';
|
|
160
160
|
previewUser = latestVotes[0]?.user;
|
|
@@ -310,7 +310,7 @@ export const useLatestMessagePreview = <
|
|
|
310
310
|
const poll = client.polls.fromState(pollId);
|
|
311
311
|
const pollState: LatestMessagePreviewSelectorReturnType =
|
|
312
312
|
useStateStore(poll?.state, selector) ?? {};
|
|
313
|
-
const {
|
|
313
|
+
const { createdBy, latestVotesByOption } = pollState;
|
|
314
314
|
|
|
315
315
|
useEffect(
|
|
316
316
|
() =>
|
|
@@ -325,14 +325,7 @@ export const useLatestMessagePreview = <
|
|
|
325
325
|
}),
|
|
326
326
|
),
|
|
327
327
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
328
|
-
[
|
|
329
|
-
channelLastMessageString,
|
|
330
|
-
forceUpdate,
|
|
331
|
-
readEvents,
|
|
332
|
-
readStatus,
|
|
333
|
-
latest_votes_by_option,
|
|
334
|
-
created_by,
|
|
335
|
-
],
|
|
328
|
+
[channelLastMessageString, forceUpdate, readEvents, readStatus, latestVotesByOption, createdBy],
|
|
336
329
|
);
|
|
337
330
|
|
|
338
331
|
return latestMessagePreview;
|
|
@@ -47,13 +47,13 @@ export const PollButtons = () => (
|
|
|
47
47
|
|
|
48
48
|
export const PollHeader = () => {
|
|
49
49
|
const { t } = useTranslationContext();
|
|
50
|
-
const {
|
|
50
|
+
const { enforceUniqueVote, isClosed, maxVotesAllowed, name } = usePollState();
|
|
51
51
|
const subtitle = useMemo(() => {
|
|
52
|
-
if (
|
|
53
|
-
if (
|
|
54
|
-
if (
|
|
52
|
+
if (isClosed) return t('Vote ended');
|
|
53
|
+
if (enforceUniqueVote) return t('Select one');
|
|
54
|
+
if (maxVotesAllowed) return t('Select up to {{count}}', { count: maxVotesAllowed });
|
|
55
55
|
return t('Select one or more');
|
|
56
|
-
}, [
|
|
56
|
+
}, [isClosed, t, enforceUniqueVote, maxVotesAllowed]);
|
|
57
57
|
|
|
58
58
|
const {
|
|
59
59
|
theme: {
|
|
@@ -115,10 +115,10 @@ export const ViewResultsButton = (props: PollButtonProps) => {
|
|
|
115
115
|
|
|
116
116
|
export const EndVoteButton = () => {
|
|
117
117
|
const { t } = useTranslationContext();
|
|
118
|
-
const {
|
|
118
|
+
const { createdBy, endVote, isClosed } = usePollState();
|
|
119
119
|
const { client } = useChatContext();
|
|
120
120
|
|
|
121
|
-
return !
|
|
121
|
+
return !isClosed && createdBy?.id === client.userID ? (
|
|
122
122
|
<GenericPollButton onPress={endVote} title={t<string>('End Vote')} />
|
|
123
123
|
) : null;
|
|
124
124
|
};
|
|
@@ -126,7 +126,7 @@ export const EndVoteButton = () => {
|
|
|
126
126
|
export const AddCommentButton = (props: PollButtonProps) => {
|
|
127
127
|
const { t } = useTranslationContext();
|
|
128
128
|
const { message, poll } = usePollContext();
|
|
129
|
-
const { addComment,
|
|
129
|
+
const { addComment, allowAnswers, isClosed, ownAnswer } = usePollState();
|
|
130
130
|
const [showAddCommentDialog, setShowAddCommentDialog] = useState(false);
|
|
131
131
|
const { onPress } = props;
|
|
132
132
|
|
|
@@ -141,7 +141,7 @@ export const AddCommentButton = (props: PollButtonProps) => {
|
|
|
141
141
|
|
|
142
142
|
return (
|
|
143
143
|
<>
|
|
144
|
-
{!
|
|
144
|
+
{!isClosed && allowAnswers ? (
|
|
145
145
|
<GenericPollButton onPress={onPressHandler} title={t<string>('Add a comment')} />
|
|
146
146
|
) : null}
|
|
147
147
|
{showAddCommentDialog ? (
|
|
@@ -160,7 +160,7 @@ export const AddCommentButton = (props: PollButtonProps) => {
|
|
|
160
160
|
export const ShowAllCommentsButton = (props: PollButtonProps) => {
|
|
161
161
|
const { t } = useTranslationContext();
|
|
162
162
|
const { message, poll } = usePollContext();
|
|
163
|
-
const {
|
|
163
|
+
const { answersCount } = usePollState();
|
|
164
164
|
const [showAnswers, setShowAnswers] = useState(false);
|
|
165
165
|
const { onPress } = props;
|
|
166
166
|
|
|
@@ -181,10 +181,10 @@ export const ShowAllCommentsButton = (props: PollButtonProps) => {
|
|
|
181
181
|
|
|
182
182
|
return (
|
|
183
183
|
<>
|
|
184
|
-
{
|
|
184
|
+
{answersCount && answersCount > 0 ? (
|
|
185
185
|
<GenericPollButton
|
|
186
186
|
onPress={onPressHandler}
|
|
187
|
-
title={t<string>('View {{count}} comments', { count:
|
|
187
|
+
title={t<string>('View {{count}} comments', { count: answersCount })}
|
|
188
188
|
/>
|
|
189
189
|
) : null}
|
|
190
190
|
{showAnswers ? (
|
|
@@ -262,7 +262,7 @@ export const AnswerListAddCommentButton = (props: PollButtonProps) => {
|
|
|
262
262
|
export const SuggestOptionButton = (props: PollButtonProps) => {
|
|
263
263
|
const { t } = useTranslationContext();
|
|
264
264
|
const { message, poll } = usePollContext();
|
|
265
|
-
const { addOption,
|
|
265
|
+
const { addOption, allowUserSuggestedOptions, isClosed } = usePollState();
|
|
266
266
|
const [showAddOptionDialog, setShowAddOptionDialog] = useState(false);
|
|
267
267
|
const { onPress } = props;
|
|
268
268
|
|
|
@@ -277,7 +277,7 @@ export const SuggestOptionButton = (props: PollButtonProps) => {
|
|
|
277
277
|
|
|
278
278
|
return (
|
|
279
279
|
<>
|
|
280
|
-
{!
|
|
280
|
+
{!isClosed && allowUserSuggestedOptions ? (
|
|
281
281
|
<GenericPollButton onPress={onPressHandler} title={t<string>('Suggest an option')} />
|
|
282
282
|
) : null}
|
|
283
283
|
{showAddOptionDialog ? (
|
|
@@ -343,7 +343,7 @@ export const ShowAllOptionsButton = (props: PollButtonProps) => {
|
|
|
343
343
|
|
|
344
344
|
export const VoteButton = ({ onPress, option }: PollVoteButtonProps) => {
|
|
345
345
|
const { message, poll } = usePollContext();
|
|
346
|
-
const {
|
|
346
|
+
const { isClosed, ownVotesByOptionId } = usePollState();
|
|
347
347
|
const ownCapabilities = useOwnCapabilitiesContext();
|
|
348
348
|
|
|
349
349
|
const {
|
|
@@ -374,7 +374,7 @@ export const VoteButton = ({ onPress, option }: PollVoteButtonProps) => {
|
|
|
374
374
|
toggleVote();
|
|
375
375
|
}, [message, onPress, poll, toggleVote]);
|
|
376
376
|
|
|
377
|
-
return ownCapabilities.castPollVote && !
|
|
377
|
+
return ownCapabilities.castPollVote && !isClosed ? (
|
|
378
378
|
<TouchableOpacity
|
|
379
379
|
onPress={onPressHandler}
|
|
380
380
|
style={[
|
|
@@ -398,7 +398,7 @@ export const VoteButton = ({ onPress, option }: PollVoteButtonProps) => {
|
|
|
398
398
|
export const ShowAllVotesButton = (props: ShowAllVotesButtonProps) => {
|
|
399
399
|
const { t } = useTranslationContext();
|
|
400
400
|
const { message, poll } = usePollContext();
|
|
401
|
-
const {
|
|
401
|
+
const { voteCountsByOption } = usePollState();
|
|
402
402
|
const ownCapabilities = useOwnCapabilitiesContext();
|
|
403
403
|
const [showAllVotes, setShowAllVotes] = useState(false);
|
|
404
404
|
const { onPress, option } = props;
|
|
@@ -421,8 +421,8 @@ export const ShowAllVotesButton = (props: ShowAllVotesButtonProps) => {
|
|
|
421
421
|
return (
|
|
422
422
|
<>
|
|
423
423
|
{ownCapabilities.queryPollVotes &&
|
|
424
|
-
|
|
425
|
-
|
|
424
|
+
voteCountsByOption &&
|
|
425
|
+
voteCountsByOption?.[option.id] > 5 ? (
|
|
426
426
|
<GenericPollButton onPress={onPressHandler} title={t<string>('Show All')} />
|
|
427
427
|
) : null}
|
|
428
428
|
{showAllVotes ? (
|
|
@@ -26,7 +26,7 @@ export type PollAnswersListProps<
|
|
|
26
26
|
|
|
27
27
|
export const PollAnswerListItem = ({ answer }: { answer: PollAnswer }) => {
|
|
28
28
|
const { t, tDateTimeParser } = useTranslationContext();
|
|
29
|
-
const {
|
|
29
|
+
const { votingVisibility } = usePollState();
|
|
30
30
|
|
|
31
31
|
const {
|
|
32
32
|
theme: {
|
|
@@ -49,8 +49,8 @@ export const PollAnswerListItem = ({ answer }: { answer: PollAnswer }) => {
|
|
|
49
49
|
);
|
|
50
50
|
|
|
51
51
|
const isAnonymous = useMemo(
|
|
52
|
-
() =>
|
|
53
|
-
[
|
|
52
|
+
() => votingVisibility === VotingVisibility.anonymous,
|
|
53
|
+
[votingVisibility],
|
|
54
54
|
);
|
|
55
55
|
|
|
56
56
|
return (
|
|
@@ -73,21 +73,18 @@ export const PollAllOptions = ({
|
|
|
73
73
|
);
|
|
74
74
|
|
|
75
75
|
export const PollOption = ({ option, showProgressBar = true }: PollOptionProps) => {
|
|
76
|
-
const {
|
|
77
|
-
usePollState();
|
|
76
|
+
const { isClosed, latestVotesByOption, maxVotedOptionIds, voteCountsByOption } = usePollState();
|
|
78
77
|
|
|
79
78
|
const relevantVotes = useMemo(
|
|
80
|
-
() =>
|
|
81
|
-
[
|
|
79
|
+
() => latestVotesByOption?.[option.id]?.slice(0, 2) || [],
|
|
80
|
+
[latestVotesByOption, option.id],
|
|
82
81
|
);
|
|
83
82
|
const maxVotes = useMemo(
|
|
84
83
|
() =>
|
|
85
|
-
maxVotedOptionIds?.[0] &&
|
|
86
|
-
|
|
87
|
-
: 0,
|
|
88
|
-
[maxVotedOptionIds, vote_counts_by_option],
|
|
84
|
+
maxVotedOptionIds?.[0] && voteCountsByOption ? voteCountsByOption[maxVotedOptionIds[0]] : 0,
|
|
85
|
+
[maxVotedOptionIds, voteCountsByOption],
|
|
89
86
|
);
|
|
90
|
-
const votes =
|
|
87
|
+
const votes = voteCountsByOption[option.id] || 0;
|
|
91
88
|
|
|
92
89
|
const {
|
|
93
90
|
theme: {
|
|
@@ -118,9 +115,7 @@ export const PollOption = ({ option, showProgressBar = true }: PollOptionProps)
|
|
|
118
115
|
{relevantVotes.map((vote: PollVote) => (
|
|
119
116
|
<Avatar image={vote.user?.image as string} key={vote.id} size={20} />
|
|
120
117
|
))}
|
|
121
|
-
<Text style={{ color: black, marginLeft: 2 }}>
|
|
122
|
-
{vote_counts_by_option[option.id] || 0}
|
|
123
|
-
</Text>
|
|
118
|
+
<Text style={{ color: black, marginLeft: 2 }}>{voteCountsByOption[option.id] || 0}</Text>
|
|
124
119
|
</View>
|
|
125
120
|
</View>
|
|
126
121
|
{showProgressBar ? (
|
|
@@ -128,7 +123,7 @@ export const PollOption = ({ option, showProgressBar = true }: PollOptionProps)
|
|
|
128
123
|
<View
|
|
129
124
|
style={{
|
|
130
125
|
backgroundColor:
|
|
131
|
-
|
|
126
|
+
isClosed && maxVotedOptionIds.length === 1 && maxVotedOptionIds[0] === option.id
|
|
132
127
|
? progressBarWinnerFill || accent_info
|
|
133
128
|
: progressBarVotedFill || accent_dark_blue,
|
|
134
129
|
flex: maxVotes > 0 ? votes / maxVotes : 0,
|
|
@@ -24,7 +24,7 @@ export type PollOptionFullResultsProps<
|
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
export const PollOptionFullResultsItem = ({ item }: { item: PollVoteClass }) => (
|
|
27
|
-
<PollVote {
|
|
27
|
+
<PollVote vote={item} />
|
|
28
28
|
);
|
|
29
29
|
|
|
30
30
|
export const PollOptionFullResultsContent = ({
|
|
@@ -33,7 +33,7 @@ export const PollOptionFullResultsContent = ({
|
|
|
33
33
|
}: Pick<PollOptionFullResultsProps, 'option' | 'additionalFlatListProps'>) => {
|
|
34
34
|
const { t } = useTranslationContext();
|
|
35
35
|
const { hasNextPage, loadMore, votes } = usePollOptionVotesPagination({ option });
|
|
36
|
-
const {
|
|
36
|
+
const { voteCountsByOption } = usePollState();
|
|
37
37
|
|
|
38
38
|
const {
|
|
39
39
|
theme: {
|
|
@@ -48,11 +48,11 @@ export const PollOptionFullResultsContent = ({
|
|
|
48
48
|
() => (
|
|
49
49
|
<View style={[styles.headerContainer, headerContainer]}>
|
|
50
50
|
<Text style={[styles.headerText, { color: black }, headerText]}>
|
|
51
|
-
{t<string>('{{count}} votes', { count:
|
|
51
|
+
{t<string>('{{count}} votes', { count: voteCountsByOption[option.id] ?? 0 })}
|
|
52
52
|
</Text>
|
|
53
53
|
</View>
|
|
54
54
|
),
|
|
55
|
-
[black, headerContainer, headerText, option.id, t,
|
|
55
|
+
[black, headerContainer, headerText, option.id, t, voteCountsByOption],
|
|
56
56
|
);
|
|
57
57
|
|
|
58
58
|
return (
|