be-components 4.1.9 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/lib/commonjs/MarketComponents/components/AthleteMarket/index.js +1 -1
  2. package/lib/commonjs/MarketComponents/components/AthleteTournamentMarket/index.js +1 -1
  3. package/lib/commonjs/MarketComponents/components/EventMarket/index.js +1 -1
  4. package/lib/commonjs/MarketComponents/components/MatchMarket/index.js +1 -1
  5. package/lib/commonjs/MarketComponents/components/TeamEventMarket/index.js +8 -7
  6. package/lib/commonjs/MarketComponents/components/TeamEventMarket/index.js.map +1 -1
  7. package/lib/commonjs/MarketComponents/components/TeamTournamentMarket/index.js +1 -1
  8. package/lib/commonjs/Poll/components/CampaignHeader.js +20 -15
  9. package/lib/commonjs/Poll/components/CampaignHeader.js.map +1 -1
  10. package/lib/commonjs/Poll/components/CampaignLeaderboard.js +77 -75
  11. package/lib/commonjs/Poll/components/CampaignLeaderboard.js.map +1 -1
  12. package/lib/commonjs/Poll/components/CampaignProgressBar.js +21 -20
  13. package/lib/commonjs/Poll/components/CampaignProgressBar.js.map +1 -1
  14. package/lib/commonjs/Poll/components/CampaignResult.js +21 -19
  15. package/lib/commonjs/Poll/components/CampaignResult.js.map +1 -1
  16. package/lib/commonjs/Poll/components/PollCard.js +240 -218
  17. package/lib/commonjs/Poll/components/PollCard.js.map +1 -1
  18. package/lib/commonjs/Poll/components/PollOptionCard.js +28 -25
  19. package/lib/commonjs/Poll/components/PollOptionCard.js.map +1 -1
  20. package/lib/commonjs/Poll/components/PollQuestionsSection.js +25 -19
  21. package/lib/commonjs/Poll/components/PollQuestionsSection.js.map +1 -1
  22. package/lib/commonjs/Poll/components/PollSelectCard.js +48 -45
  23. package/lib/commonjs/Poll/components/PollSelectCard.js.map +1 -1
  24. package/lib/commonjs/Poll/index.js +97 -93
  25. package/lib/commonjs/Poll/index.js.map +1 -1
  26. package/lib/module/MarketComponents/components/AthleteMarket/index.js +1 -1
  27. package/lib/module/MarketComponents/components/AthleteMarket/index.js.map +1 -1
  28. package/lib/module/MarketComponents/components/AthleteTournamentMarket/index.js +1 -1
  29. package/lib/module/MarketComponents/components/AthleteTournamentMarket/index.js.map +1 -1
  30. package/lib/module/MarketComponents/components/EventMarket/index.js +1 -1
  31. package/lib/module/MarketComponents/components/EventMarket/index.js.map +1 -1
  32. package/lib/module/MarketComponents/components/MatchMarket/index.js +1 -1
  33. package/lib/module/MarketComponents/components/MatchMarket/index.js.map +1 -1
  34. package/lib/module/MarketComponents/components/TeamEventMarket/index.js +8 -7
  35. package/lib/module/MarketComponents/components/TeamEventMarket/index.js.map +1 -1
  36. package/lib/module/MarketComponents/components/TeamTournamentMarket/index.js +1 -1
  37. package/lib/module/MarketComponents/components/TeamTournamentMarket/index.js.map +1 -1
  38. package/lib/module/Poll/components/CampaignHeader.js +19 -14
  39. package/lib/module/Poll/components/CampaignHeader.js.map +1 -1
  40. package/lib/module/Poll/components/CampaignLeaderboard.js +59 -57
  41. package/lib/module/Poll/components/CampaignLeaderboard.js.map +1 -1
  42. package/lib/module/Poll/components/CampaignProgressBar.js +17 -15
  43. package/lib/module/Poll/components/CampaignProgressBar.js.map +1 -1
  44. package/lib/module/Poll/components/CampaignResult.js +17 -15
  45. package/lib/module/Poll/components/CampaignResult.js.map +1 -1
  46. package/lib/module/Poll/components/PollCard.js +238 -216
  47. package/lib/module/Poll/components/PollCard.js.map +1 -1
  48. package/lib/module/Poll/components/PollOptionCard.js +24 -20
  49. package/lib/module/Poll/components/PollOptionCard.js.map +1 -1
  50. package/lib/module/Poll/components/PollQuestionsSection.js +21 -15
  51. package/lib/module/Poll/components/PollQuestionsSection.js.map +1 -1
  52. package/lib/module/Poll/components/PollSelectCard.js +33 -30
  53. package/lib/module/Poll/components/PollSelectCard.js.map +1 -1
  54. package/lib/module/Poll/index.js +97 -92
  55. package/lib/module/Poll/index.js.map +1 -1
  56. package/lib/typescript/lib/commonjs/Poll/components/CampaignHeader.d.ts.map +1 -1
  57. package/lib/typescript/lib/commonjs/Poll/components/CampaignLeaderboard.d.ts +1 -2
  58. package/lib/typescript/lib/commonjs/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
  59. package/lib/typescript/lib/commonjs/Poll/components/CampaignProgressBar.d.ts.map +1 -1
  60. package/lib/typescript/lib/commonjs/Poll/components/CampaignResult.d.ts.map +1 -1
  61. package/lib/typescript/lib/commonjs/Poll/components/PollCard.d.ts +2 -1
  62. package/lib/typescript/lib/commonjs/Poll/components/PollCard.d.ts.map +1 -1
  63. package/lib/typescript/lib/commonjs/Poll/components/PollOptionCard.d.ts.map +1 -1
  64. package/lib/typescript/lib/commonjs/Poll/components/PollQuestionsSection.d.ts.map +1 -1
  65. package/lib/typescript/lib/commonjs/Poll/components/PollSelectCard.d.ts +1 -2
  66. package/lib/typescript/lib/commonjs/Poll/components/PollSelectCard.d.ts.map +1 -1
  67. package/lib/typescript/lib/commonjs/Poll/index.d.ts +1 -2
  68. package/lib/typescript/lib/commonjs/Poll/index.d.ts.map +1 -1
  69. package/lib/typescript/lib/module/Components/Spring.d.ts +1 -1
  70. package/lib/typescript/lib/module/Poll/components/CampaignHeader.d.ts +1 -2
  71. package/lib/typescript/lib/module/Poll/components/CampaignHeader.d.ts.map +1 -1
  72. package/lib/typescript/lib/module/Poll/components/CampaignLeaderboard.d.ts +2 -4
  73. package/lib/typescript/lib/module/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
  74. package/lib/typescript/lib/module/Poll/components/CampaignProgressBar.d.ts +1 -2
  75. package/lib/typescript/lib/module/Poll/components/CampaignProgressBar.d.ts.map +1 -1
  76. package/lib/typescript/lib/module/Poll/components/CampaignResult.d.ts +1 -2
  77. package/lib/typescript/lib/module/Poll/components/CampaignResult.d.ts.map +1 -1
  78. package/lib/typescript/lib/module/Poll/components/PollCard.d.ts +3 -5
  79. package/lib/typescript/lib/module/Poll/components/PollCard.d.ts.map +1 -1
  80. package/lib/typescript/lib/module/Poll/components/PollOptionCard.d.ts +1 -2
  81. package/lib/typescript/lib/module/Poll/components/PollOptionCard.d.ts.map +1 -1
  82. package/lib/typescript/lib/module/Poll/components/PollQuestionsSection.d.ts +1 -2
  83. package/lib/typescript/lib/module/Poll/components/PollQuestionsSection.d.ts.map +1 -1
  84. package/lib/typescript/lib/module/Poll/components/PollSelectCard.d.ts +2 -4
  85. package/lib/typescript/lib/module/Poll/components/PollSelectCard.d.ts.map +1 -1
  86. package/lib/typescript/lib/module/Poll/index.d.ts +2 -4
  87. package/lib/typescript/lib/module/Poll/index.d.ts.map +1 -1
  88. package/lib/typescript/src/MarketComponents/components/TeamEventMarket/index.d.ts.map +1 -1
  89. package/lib/typescript/src/MarketComponents/index.d.ts.map +1 -1
  90. package/lib/typescript/src/Poll/components/CampaignHeader.d.ts.map +1 -1
  91. package/lib/typescript/src/Poll/components/CampaignLeaderboard.d.ts +1 -2
  92. package/lib/typescript/src/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
  93. package/lib/typescript/src/Poll/components/CampaignProgressBar.d.ts.map +1 -1
  94. package/lib/typescript/src/Poll/components/CampaignResult.d.ts.map +1 -1
  95. package/lib/typescript/src/Poll/components/PollCard.d.ts +3 -2
  96. package/lib/typescript/src/Poll/components/PollCard.d.ts.map +1 -1
  97. package/lib/typescript/src/Poll/components/PollOptionCard.d.ts.map +1 -1
  98. package/lib/typescript/src/Poll/components/PollQuestionsSection.d.ts.map +1 -1
  99. package/lib/typescript/src/Poll/components/PollSelectCard.d.ts +1 -1
  100. package/lib/typescript/src/Poll/components/PollSelectCard.d.ts.map +1 -1
  101. package/lib/typescript/src/Poll/index.d.ts +1 -2
  102. package/lib/typescript/src/Poll/index.d.ts.map +1 -1
  103. package/package.json +1 -1
  104. package/src/MarketComponents/components/AthleteMarket/index.tsx +1 -1
  105. package/src/MarketComponents/components/AthleteTournamentMarket/index.tsx +1 -1
  106. package/src/MarketComponents/components/EventMarket/index.tsx +1 -1
  107. package/src/MarketComponents/components/MatchMarket/index.tsx +1 -1
  108. package/src/MarketComponents/components/TeamEventMarket/index.tsx +5 -4
  109. package/src/MarketComponents/components/TeamTournamentMarket/index.tsx +1 -1
  110. package/src/Poll/components/CampaignHeader.tsx +13 -12
  111. package/src/Poll/components/CampaignLeaderboard.tsx +41 -52
  112. package/src/Poll/components/CampaignProgressBar.tsx +17 -15
  113. package/src/Poll/components/CampaignResult.tsx +13 -13
  114. package/src/Poll/components/PollCard.tsx +129 -118
  115. package/src/Poll/components/PollOptionCard.tsx +20 -21
  116. package/src/Poll/components/PollQuestionsSection.tsx +15 -14
  117. package/src/Poll/components/PollSelectCard.tsx +47 -48
  118. package/src/Poll/index.tsx +83 -73
  119. package/lib/commonjs/Poll/components/CampaignPlay.js +0 -472
  120. package/lib/commonjs/Poll/components/CampaignPlay.js.map +0 -1
  121. package/lib/module/Poll/components/CampaignPlay.js +0 -463
  122. package/lib/module/Poll/components/CampaignPlay.js.map +0 -1
  123. package/lib/typescript/lib/commonjs/Poll/components/CampaignPlay.d.ts +0 -12
  124. package/lib/typescript/lib/commonjs/Poll/components/CampaignPlay.d.ts.map +0 -1
  125. package/lib/typescript/lib/module/Poll/components/CampaignPlay.d.ts +0 -13
  126. package/lib/typescript/lib/module/Poll/components/CampaignPlay.d.ts.map +0 -1
  127. package/lib/typescript/src/Poll/components/CampaignPlay.d.ts +0 -14
  128. package/lib/typescript/src/Poll/components/CampaignPlay.d.ts.map +0 -1
  129. package/src/Poll/components/CampaignPlay.tsx +0 -335
@@ -1,335 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { ActivityIndicator, FlatList, Image, ScrollView, TouchableOpacity, View } from 'react-native';
3
- import type { PollCampaignProps, PollProps, PollResponseProps } from '../../types';
4
- import Colors from '../../constants/colors';
5
- import PollCard from './PollCard';
6
- import CampaignProgressBar from './CampaignProgressBar';
7
- import CampaignResult from './CampaignResult';
8
- import PollSelectCard from './PollSelectCard';
9
- import { PollApi, PollCampaignApi, PollCampaignHelpers, PollResponseApi } from '../api';
10
- import { Button, Icons, Text } from '../../Components';
11
-
12
-
13
- type CampaignPlayProps = {
14
- poll_campaign_id:string,
15
- player_id?:string,
16
- onActiveViewChange?:(active_view:string) => void
17
- onFinished: () => void,
18
- onRequestAuthenticate: (auth_strategy_id?:string, company_id?:string) => void,
19
- init_poll_id?:string,
20
- init_view?:string,
21
- onProfileSelect?: () => void
22
- }
23
-
24
- const CampaignPlay = ({ player_id, poll_campaign_id, onActiveViewChange, onRequestAuthenticate, onFinished, init_view, init_poll_id }:CampaignPlayProps) => {
25
- //const [ show_authenticate, setShowAuthenticate ] = useState(false);
26
- const [ campaign_data, setCampaignData ] = useState<{
27
- poll_campaign?:PollCampaignProps,
28
- polls:PollProps[],
29
- my_responses:PollResponseProps[]
30
- }>({
31
- polls:[],
32
- my_responses:[]
33
- })
34
- const [ loading, setLoading ] = useState(false);
35
- //const [ shareImage, setImage ] = useState<any>(undefined)
36
- const [ share_in_process ] = useState(false);
37
- const [ play_width, setPlayWidth ] = useState(0);
38
- //const [ show_live, setShowLive ] = useState(false);
39
- const [ active_poll, setActivePoll ] = useState<PollProps|undefined>(undefined);
40
- const [ active_view, setActiveView ] = useState('select_poll')
41
-
42
- const { poll_campaign, polls, my_responses } = campaign_data
43
-
44
- polls.filter(p => p.poll_campaign_id == poll_campaign_id && ['pending','active','paused','closed'].includes(p.status)).sort((a,b) => {
45
- if(a.priority && b.priority){ return a.priority - b.priority }
46
- else { return parseInt(b.poll_id) - parseInt(a.poll_id) }
47
- })
48
- const playable_polls = polls.filter(p => ['closed','active','paused'].includes(p.status))
49
- const active_polls = polls.filter(p => p.status == 'active');
50
- const pending_polls = polls.filter(p => ['pending','paused'].includes(p.status));
51
- const closed_polls = polls.filter(p => p.status == 'closed');
52
-
53
- const poll_responses = my_responses.filter(pr => polls.map(p => p.poll_id.toString()).includes(pr.poll_id.toString()))
54
-
55
- const campaign_complete = PollCampaignHelpers.isCampaignComplete(polls, poll_responses, poll_campaign)
56
-
57
- const active_responded = poll_responses.find(pr => pr.poll_id == active_poll?.poll_id) ? true : false;
58
- let active_index = playable_polls.findIndex(p => p.poll_id == active_poll?.poll_id)
59
-
60
- console.log(playable_polls)
61
-
62
- //const progressRef = useRef()
63
-
64
- useEffect(() => {
65
- getCampaignDetailsFromServer(poll_campaign_id)
66
- },[poll_campaign_id, player_id])
67
-
68
- useEffect(() => {
69
- if(onActiveViewChange){ return onActiveViewChange(active_view) }
70
- },[active_view])
71
-
72
- useEffect(() => {
73
- if(!share_in_process){ return }
74
- /*
75
- html2canvas(progressRef.current).then(function(canvas:any) {
76
- var myImage = canvas.toDataURL("image/png");
77
- setImage(myImage)
78
- //share(myImage)
79
- });
80
- */
81
- },[share_in_process])
82
-
83
- useEffect(() => {
84
- if(polls.length == 0){ return }
85
- if(!init_poll_id || init_poll_id == 'undefined'){ return }
86
- if(init_view != 'result'){ return }
87
- let init_poll = polls.find(p => p.poll_id == init_poll_id)
88
- if(!init_poll){ return }
89
- setActivePoll(init_poll)
90
- setActiveView('respond_poll')
91
- },[polls.length])
92
-
93
- const getCampaignDetailsFromServer = async(poll_campaign_id:string) => {
94
- setLoading(true);
95
- const pc = await PollCampaignApi.getPollCampaignById(poll_campaign_id)
96
- const ps_resp = await PollApi.getPollsByCampaignId(poll_campaign_id)
97
- let prs:PollResponseProps[] = []
98
- if(player_id){
99
- prs = await PollResponseApi.getMyCampaignResponses(poll_campaign_id)
100
- }
101
- setCampaignData({
102
- poll_campaign:pc,
103
- my_responses: prs,
104
- polls: ps_resp.polls
105
- })
106
- setLoading(false);
107
- }
108
-
109
- const handleNavPoll = (poll:PollProps) => {
110
- if(active_poll?.seconds_allowed){
111
- let responded = poll_responses.find(pr => pr.poll_id == active_poll.poll_id)
112
- if(!responded){ return }
113
- }
114
- if(init_view == 'result'){ return } //Dont navigate if init view is a result only
115
- if(active_view != 'respond_poll'){ setActiveView('respond_poll') }
116
- return setActivePoll(poll)
117
- }
118
-
119
- const handleSkip = () => {
120
- if(active_index == polls.length - 1){
121
- return setActivePoll(polls[0])
122
- }
123
- return setActivePoll(polls[active_index + 1])
124
- }
125
-
126
- const renderPolls = (data: {item:PollProps, index:number}) => {
127
- if(!poll_campaign){ return <></> }
128
- const selected = active_poll?.poll_id == data.item.poll_id ? true : false;
129
- const poll_response = poll_responses.find(pr => pr.poll_id == data.item.poll_id);
130
- const response_option = data.item.poll_options?.find(po => po.poll_option_id == poll_response?.poll_option_id)
131
- console.log(data.item)
132
- return (
133
- <PollSelectCard
134
- poll_campaign={poll_campaign}
135
- disabled={data.item.status == 'pending' ? true : false}
136
- poll={data.item}
137
- selected={selected}
138
- response_option={response_option}
139
- show_response={poll_response ? true : false}
140
- poll_response={poll_response}
141
- onSelect={(poll) => {
142
- if(poll.status == 'pending'){ return alert('Poll is not yet active!') }
143
- if(selected){ setActivePoll(undefined) }
144
- else { setActivePoll(poll) }
145
- }}
146
- />
147
- )
148
- }
149
-
150
- if(!poll_campaign || loading){
151
- return (
152
- <View style={{ padding:20 }}>
153
- <ActivityIndicator style={{ alignSelf:'center' }} size='large' color={Colors.brand.midnight} />
154
- </View>
155
- )
156
- }
157
-
158
- return (
159
- <View style={{ flex:1, backgroundColor:Colors.shades.white }} onLayout={(ev) => {
160
- const { width } = ev.nativeEvent.layout;
161
- setPlayWidth(width)
162
- }}>
163
- <View style={{ backgroundColor:Colors.shades.shade600, padding:10 }}>
164
- <View style={{ flexDirection:'row' }}>
165
- <Image
166
- source={{ uri: poll_campaign.campaign_image?.url }}
167
- style={{ height:play_width * 0.15, width:play_width * 0.25, borderRadius:8 }}
168
- resizeMode='cover'
169
- />
170
- <View style={{ flex:1, marginLeft:10, marginRight:10, justifyContent:'center'}}>
171
- <Text size={14} color={Colors.brand.midnight} weight='bold'>{poll_campaign.name}</Text>
172
- <Text style={{ marginTop:3 }} size={12} color={Colors.brand.midnight} weight='regular'>{poll_campaign.total_responses} Responses</Text>
173
- </View>
174
- <View style={{ flexDirection:'row' }}>
175
- <TouchableOpacity style={{ padding:10 }} onPress={() => console.log('NATIVE SHARE')}>
176
- <Icons.ShareIcon color={Colors.brand.midnight} size={12}/>
177
- </TouchableOpacity>
178
-
179
- </View>
180
- </View>
181
-
182
- </View>
183
- <View style={{ flex:1 }}>
184
- <View nativeID='progress' style={{ padding:10, backgroundColor:Colors.shades.shade600 }}>
185
- <View>
186
- <CampaignProgressBar
187
- polls={playable_polls}
188
- onPollSelect={(poll:PollProps) => handleNavPoll(poll)}
189
- poll_responses={poll_responses}
190
- active_poll={active_poll ? active_poll.poll_id : playable_polls[0]?.poll_id ?? ''}
191
- poll_campaign={poll_campaign}
192
- />
193
- </View>
194
- </View>
195
- { active_view == 'select_poll' ?
196
- <View nativeID='pre_start' style={{ flex:1 }}>
197
- <ScrollView style={{ flex:1 }}>
198
- <View style={{ padding:10 }}>
199
- {active_polls.length > 0 ?
200
- <View nativeID='active_questions'>
201
- <View style={{ flexDirection:'row', alignItems:'center' }}>
202
- <Text size={14} color={Colors.brand.midnight} weight='bold'>Active Questions</Text>
203
- <View style={{ marginLeft:5, borderRadius:4, padding:4, backgroundColor:Colors.utility.success }}>
204
- <Text style={{ alignSelf:'center' }} size={10} color={Colors.shades.white} weight='semibold' textAlign='center'>{active_polls.length}</Text>
205
- </View>
206
- </View>
207
- <View nativeID='active_questions_list' style={{ marginTop: 10, backgroundColor:Colors.shades.shade100, borderRadius:22 }}>
208
- <FlatList
209
- data={playable_polls.sort((a,b) => a.priority - b.priority)}
210
- renderItem={renderPolls}
211
- />
212
- </View>
213
- </View>
214
- :<></>}
215
- {false && pending_polls.length > 0 ?
216
- <View nativeID='pending_questions' style={{ marginTop:10 }}>
217
- <View style={{ flexDirection:'row', alignItems:'center' }}>
218
- <Text size={14} color={Colors.brand.midnight} weight='bold'>Pending Questions</Text>
219
- <View style={{ marginLeft:5, borderRadius:4, padding:4, backgroundColor:Colors.brand.slate }}>
220
- <Text style={{ alignSelf:'center' }} size={10} color={Colors.shades.white} weight='semibold' textAlign='center'>{pending_polls.length}</Text>
221
- </View>
222
- </View>
223
- {false ?
224
- <View nativeID='pending_questions_list' style={{ marginTop: 10, backgroundColor:Colors.brand.slate, borderRadius:22 }}>
225
- <FlatList
226
- data={pending_polls}
227
- renderItem={renderPolls}
228
- />
229
- </View>
230
- :<></>}
231
- </View>
232
- :<></>}
233
- {closed_polls.length > 0 ?
234
- <View nativeID='closed_questions' style={{ marginTop:10 }}>
235
- <View style={{ flexDirection:'row', alignItems:'center' }}>
236
- <Text size={14} color={Colors.brand.midnight} weight='bold'>Closed Questions</Text>
237
- <View style={{ marginLeft:5, borderRadius:4, padding:4, backgroundColor:Colors.utility.success }}>
238
- <Text style={{ alignSelf:'center' }} size={10} color={Colors.shades.white} weight='semibold' textAlign='center'>{closed_polls.length}</Text>
239
- </View>
240
- </View>
241
- <View nativeID='closed_questions_list' style={{ marginTop: 10, backgroundColor:Colors.shades.shade100, borderRadius:22 }}>
242
- <FlatList
243
- data={closed_polls}
244
- renderItem={renderPolls}
245
- />
246
- </View>
247
- </View>
248
- :<></>}
249
- </View>
250
- </ScrollView>
251
- <View style={{ flexDirection:'row', padding:10, borderRadius:22 }}>
252
- <Button
253
- style={{flex:1, marginRight:4}}
254
- title='Exit'
255
- backgroundColor={Colors.utility.error}
256
- title_size={12}
257
- padding={14}
258
- title_color={Colors.shades.white}
259
- borderRadius={22}
260
- onPress={() => onFinished()}
261
- />
262
- <Button
263
- style={{flex:2}}
264
- title_size={12}
265
- padding={14}
266
- disabled={active_poll?false:true}
267
- title={active_poll?active_responded||active_poll.status!='active'?'View Question':'Respond':'Select Question'}
268
- title_color={Colors.shades.white}
269
- backgroundColor={active_poll?Colors.utility.success:Colors.brand.slate}
270
- borderRadius={22}
271
- onPress={() => {
272
- if(!player_id){ return onRequestAuthenticate(poll_campaign.auth_strategy_id, poll_campaign.company_id) }
273
- setActiveView('respond_poll')
274
- }}
275
- />
276
- </View>
277
- <View style={{ flexDirection:'row', padding:10, backgroundColor:Colors.shades.shade100, borderBottomLeftRadius:22, borderBottomRightRadius:22 }}>
278
- {campaign_complete && active_view == 'select_poll' ?
279
- <Button
280
- icon_name='trophy'
281
- icon_side='left'
282
- title='Results'
283
- title_size={12}
284
- backgroundColor={Colors.incentive.gold}
285
- title_color={Colors.shades.white}
286
- borderRadius={22}
287
- onPress={() => setActiveView('campaign_results')}
288
- />
289
- :<></>}
290
- </View>
291
- </View>
292
- : active_view == 'respond_poll' && active_poll ?
293
- <View nativeID='respond_poll' style={{ flex:1 }}>
294
- <PollCard
295
- poll_id={active_poll.poll_id}
296
- view={init_view == 'result' ? 'result' : 'play'}
297
- question_number={active_index + 1}
298
- onShowAuthenticate={() => {
299
- console.log('show authenticate!!')
300
- }}
301
- onResponse={(response) => {
302
- setCampaignData({
303
- ...campaign_data,
304
- my_responses: my_responses.filter(r => r.poll_response_id != response.poll_response_id).concat(response)
305
- })
306
- }}
307
- total_questions={playable_polls.length}
308
- onSkip={() => handleSkip()}
309
-
310
- onCancel={() => {
311
- setActivePoll(undefined)
312
- setActiveView('select_poll')
313
- }}
314
- />
315
- </View>
316
- : active_view == 'campaign_results' ?
317
- <View nativeID='campaign_results' style={{ flex:1 }}>
318
- <CampaignResult
319
- poll_campaign={poll_campaign}
320
- //polls={polls}
321
- //hide_back={init_view && init_view !='undefined' ? true : false}
322
- //onShare={() => console.log('Share this bad boi!')}
323
- //poll_responses={poll_responses}
324
- //onClose={() => setActiveView('select_poll')}
325
- />
326
- </View>
327
- :<></>}
328
- </View>
329
-
330
- </View>
331
- )
332
-
333
- }
334
-
335
- export default CampaignPlay