be-components 0.7.6 → 0.7.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.
Files changed (51) hide show
  1. package/lib/commonjs/Poll/api/index.js +63 -18
  2. package/lib/commonjs/Poll/api/index.js.map +1 -1
  3. package/lib/commonjs/Poll/components/CampaignPlay.js +7 -4
  4. package/lib/commonjs/Poll/components/CampaignPlay.js.map +1 -1
  5. package/lib/commonjs/Poll/components/CampaignProgressBar.js +1 -0
  6. package/lib/commonjs/Poll/components/CampaignProgressBar.js.map +1 -1
  7. package/lib/commonjs/Poll/components/CampaignResult.js +2 -2
  8. package/lib/commonjs/Poll/components/CampaignResult.js.map +1 -1
  9. package/lib/commonjs/Poll/components/ResponseTimer.js.map +1 -1
  10. package/lib/commonjs/Poll/flashmarket/ResultCard.js +419 -0
  11. package/lib/commonjs/Poll/flashmarket/ResultCard.js.map +1 -0
  12. package/lib/commonjs/Poll/flashmarket/index.js +355 -68
  13. package/lib/commonjs/Poll/flashmarket/index.js.map +1 -1
  14. package/lib/commonjs/Poll/index.js +8 -5
  15. package/lib/commonjs/Poll/index.js.map +1 -1
  16. package/lib/module/Poll/api/index.js +63 -18
  17. package/lib/module/Poll/api/index.js.map +1 -1
  18. package/lib/module/Poll/components/CampaignPlay.js +7 -4
  19. package/lib/module/Poll/components/CampaignPlay.js.map +1 -1
  20. package/lib/module/Poll/components/CampaignProgressBar.js +1 -0
  21. package/lib/module/Poll/components/CampaignProgressBar.js.map +1 -1
  22. package/lib/module/Poll/components/CampaignResult.js +2 -2
  23. package/lib/module/Poll/components/CampaignResult.js.map +1 -1
  24. package/lib/module/Poll/components/ResponseTimer.js.map +1 -1
  25. package/lib/module/Poll/flashmarket/ResultCard.js +410 -0
  26. package/lib/module/Poll/flashmarket/ResultCard.js.map +1 -0
  27. package/lib/module/Poll/flashmarket/index.js +357 -70
  28. package/lib/module/Poll/flashmarket/index.js.map +1 -1
  29. package/lib/module/Poll/index.js +8 -5
  30. package/lib/module/Poll/index.js.map +1 -1
  31. package/lib/typescript/src/Poll/api/index.d.ts +7 -2
  32. package/lib/typescript/src/Poll/api/index.d.ts.map +1 -1
  33. package/lib/typescript/src/Poll/components/CampaignPlay.d.ts +1 -1
  34. package/lib/typescript/src/Poll/components/CampaignPlay.d.ts.map +1 -1
  35. package/lib/typescript/src/Poll/components/CampaignProgressBar.d.ts.map +1 -1
  36. package/lib/typescript/src/Poll/components/ResponseTimer.d.ts.map +1 -1
  37. package/lib/typescript/src/Poll/flashmarket/ResultCard.d.ts +12 -0
  38. package/lib/typescript/src/Poll/flashmarket/ResultCard.d.ts.map +1 -0
  39. package/lib/typescript/src/Poll/flashmarket/index.d.ts +5 -3
  40. package/lib/typescript/src/Poll/flashmarket/index.d.ts.map +1 -1
  41. package/lib/typescript/src/Poll/index.d.ts +5 -4
  42. package/lib/typescript/src/Poll/index.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/src/Poll/api/index.ts +54 -16
  45. package/src/Poll/components/CampaignPlay.tsx +8 -5
  46. package/src/Poll/components/CampaignProgressBar.tsx +1 -2
  47. package/src/Poll/components/CampaignResult.tsx +2 -2
  48. package/src/Poll/components/ResponseTimer.tsx +1 -0
  49. package/src/Poll/flashmarket/ResultCard.tsx +194 -0
  50. package/src/Poll/flashmarket/index.tsx +309 -96
  51. package/src/Poll/index.tsx +11 -8
@@ -11,12 +11,17 @@ var _Components = require("../../Components");
11
11
  var _api = require("../api");
12
12
  var _styles = require("../../constants/styles");
13
13
  var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
14
+ var _CampaignProgressBar = _interopRequireDefault(require("../components/CampaignProgressBar"));
15
+ var _ResponseTimer = _interopRequireDefault(require("../components/ResponseTimer"));
16
+ var _ResultCard = _interopRequireDefault(require("./ResultCard"));
14
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
20
  const MAX_IMAGE_SIZE = 125;
18
21
  const MAX_OPTION_WIDTH = 200;
19
22
  const FlashMarket = ({
23
+ hide_progress_bar,
24
+ poll_campaign_id,
20
25
  poll_id,
21
26
  player_id,
22
27
  onRequestAuthenticate
@@ -25,11 +30,11 @@ const FlashMarket = ({
25
30
  height: 0,
26
31
  width: 0
27
32
  });
28
- const [data, setData] = (0, _react.useState)({
33
+ const [poll_data, setPollData] = (0, _react.useState)({
29
34
  loading: false,
30
35
  poll_options: [],
31
- poll_summaries: [],
32
- show_complete: false
36
+ show_complete: false,
37
+ poll_summaries: []
33
38
  });
34
39
  const {
35
40
  loading,
@@ -37,34 +42,79 @@ const FlashMarket = ({
37
42
  poll_options,
38
43
  poll_summaries,
39
44
  poll_response
45
+ } = poll_data;
46
+ const [data, setData] = (0, _react.useState)({
47
+ loaded: false,
48
+ polls: [],
49
+ show_leaders: false,
50
+ poll_responses: []
51
+ });
52
+ const {
53
+ loaded,
54
+ poll_campaign,
55
+ polls,
56
+ active_poll_index,
57
+ poll_responses,
58
+ show_leaders
40
59
  } = data;
41
60
  let visible_options = poll_options;
42
61
  if (poll_response && poll_response.status == 'pending') {
43
62
  visible_options = poll_options.filter(po => po.poll_option_id == poll_response.poll_option_id);
44
63
  }
45
- let image_size = flash_size.width * 0.2;
64
+ const selected_option = poll_options.find(po => po.poll_option_id == poll_response?.poll_option_id);
65
+ let image_size = flash_size.width * 0.15;
46
66
  if (image_size > MAX_IMAGE_SIZE) {
47
67
  image_size = MAX_IMAGE_SIZE;
48
68
  }
49
- let option_width = flash_size.width * 0.8 / 2 - 25;
69
+ let option_width = flash_size.width / 3 - 5;
50
70
  if (option_width > MAX_OPTION_WIDTH) {
51
71
  option_width = MAX_OPTION_WIDTH;
52
72
  }
53
73
  (0, _react.useEffect)(() => {
54
- getDataFromServer(poll_id);
55
- }, [poll_id, player_id]);
56
- const getDataFromServer = async poll_id => {
74
+ getDataFromServer(poll_campaign_id);
75
+ }, [poll_campaign_id, player_id]);
76
+ (0, _react.useEffect)(() => {
77
+ if (!active_poll_index && active_poll_index != 0) {
78
+ return;
79
+ }
80
+ let active_poll = polls[active_poll_index];
81
+ if (!active_poll) {
82
+ return;
83
+ }
84
+ getPollFromServer(active_poll.poll_id);
85
+ }, [active_poll_index]);
86
+ const getDataFromServer = async poll_campaign_id => {
87
+ const pc = await _api.PollCampaignApi.getPollCampaignById(poll_campaign_id);
88
+ const ps_response = await _api.PollApi.getPollsByCampaignId(poll_campaign_id);
89
+ let prs = [];
90
+ if (player_id) {
91
+ prs = await _api.PollResponseApi.getMyCampaignResponses(poll_campaign_id);
92
+ }
93
+ //if(poll_id){ await getPollFromServer(poll_id) }
94
+ let index = polls.findIndex(p => p.poll_id == poll_id);
95
+ if (pc.campaign_type == 'trivia') {
96
+ index = -1;
97
+ }
98
+
99
+ //const campaign_complete = PollCampaignHelpers.isCampaignComplete(ps_response.polls, prs, pc)
100
+
57
101
  setData({
58
102
  ...data,
103
+ loaded: true,
104
+ polls: ps_response.polls.sort((a, b) => a.priority - b.priority),
105
+ poll_campaign: pc,
106
+ //show_leaders: campaign_complete,
107
+ active_poll_index: index >= 0 ? index : undefined,
108
+ poll_responses: prs
109
+ });
110
+ };
111
+ const getPollFromServer = async poll_id => {
112
+ setPollData({
113
+ ...poll_data,
59
114
  loading: true
60
115
  });
61
- const resp = await _api.PollApi.getPollById(poll_id);
62
- const pc = await _api.PollCampaignApi.getPollCampaignById(resp.poll.poll_campaign_id);
63
- let my_response = undefined;
64
- //First if there is a player_id - lets grab from the server first
65
- if (player_id) {
66
- my_response = await _api.PollResponseApi.getResponseByPollId(poll_id);
67
- }
116
+ const p = await _api.PollApi.getPollById(poll_id);
117
+ let my_response = poll_responses.find(pr => pr.poll_id == poll_id);
68
118
  if (!my_response) {
69
119
  //If no-response - check cache
70
120
  let cached_response = await _asyncStorage.default.getItem(`response:${poll_id}`);
@@ -72,23 +122,22 @@ const FlashMarket = ({
72
122
  my_response = JSON.parse(cached_response);
73
123
  }
74
124
  }
75
- setData({
125
+ setPollData({
126
+ ...poll_data,
76
127
  loading: false,
77
- poll_campaign: pc,
78
- poll: resp.poll,
79
- poll_options: resp.poll_options,
80
- poll_summaries: resp.poll_summaries,
81
- poll_response: my_response,
82
- show_complete: my_response && my_response?.status != 'pending' ? true : false
128
+ poll: p.poll,
129
+ poll_options: p.poll_options,
130
+ poll_summaries: p.poll_summaries,
131
+ poll_response: my_response
83
132
  });
84
133
  };
85
134
  const handleSelectOption = async po => {
86
- if (!poll) {
135
+ if (!poll || poll.status != 'active') {
87
136
  return;
88
137
  }
89
138
  if (poll_response && poll_response.status != 'pending') {
90
- return setData({
91
- ...data,
139
+ return setPollData({
140
+ ...poll_data,
92
141
  show_complete: true
93
142
  });
94
143
  }
@@ -96,8 +145,8 @@ const FlashMarket = ({
96
145
  if (cached_response) {
97
146
  if (JSON.parse(cached_response).poll_option_id == po.poll_option_id) {
98
147
  await _asyncStorage.default.removeItem(`response:${poll_id}`);
99
- return setData({
100
- ...data,
148
+ return setPollData({
149
+ ...poll_data,
101
150
  poll_response: undefined
102
151
  });
103
152
  }
@@ -117,10 +166,50 @@ const FlashMarket = ({
117
166
  last_update_datetime: ''
118
167
  };
119
168
  await _asyncStorage.default.setItem(`response:${poll_id}`, JSON.stringify(draft_response));
169
+ setPollData({
170
+ ...poll_data,
171
+ poll_response: draft_response
172
+ });
173
+ };
174
+ const handleTimesUp = async () => {
175
+ if (!poll || poll.status != 'active') {
176
+ return;
177
+ }
178
+ if (!player_id) {
179
+ return;
180
+ }
181
+ if (poll_response && poll_response.status == 'pending') {
182
+ return handleSubmit();
183
+ }
184
+ const draft_response = {
185
+ poll_id: poll.poll_id,
186
+ poll_option_id: '0',
187
+ stake: poll.minimum_stake,
188
+ market_type: 'FREE',
189
+ poll_response_id: '',
190
+ player_id: '',
191
+ winnings: 0,
192
+ timed_out: true,
193
+ response_body: {},
194
+ status: 'pending',
195
+ create_datetime: '',
196
+ last_update_datetime: ''
197
+ };
198
+ const new_resp = await _api.PollResponseApi.createPollResponse({
199
+ ...draft_response
200
+ });
201
+ const updated_ps = _api.PollResponseHelpers.updateSummariesWithResponse(new_resp, poll_summaries);
202
+ setPollData({
203
+ ...poll_data,
204
+ poll_response: new_resp,
205
+ poll_summaries: updated_ps,
206
+ show_complete: true
207
+ });
120
208
  setData({
121
209
  ...data,
122
- poll_response: draft_response
210
+ poll_responses: poll_responses.concat(new_resp)
123
211
  });
212
+ await _asyncStorage.default.removeItem(`response:${poll_id}`);
124
213
  };
125
214
  const handleSubmit = async () => {
126
215
  if (!poll_response) {
@@ -130,7 +219,7 @@ const FlashMarket = ({
130
219
  return;
131
220
  }
132
221
  if (!player_id) {
133
- return onRequestAuthenticate();
222
+ return onRequestAuthenticate(poll_campaign?.auth_strategy_id, poll_campaign?.company_id);
134
223
  }
135
224
  let stake_number = parseFloat(poll_response.stake);
136
225
  if (isNaN(stake_number)) {
@@ -141,12 +230,16 @@ const FlashMarket = ({
141
230
  stake: stake_number
142
231
  });
143
232
  const updated_ps = _api.PollResponseHelpers.updateSummariesWithResponse(new_resp, poll_summaries);
144
- setData({
145
- ...data,
233
+ setPollData({
234
+ ...poll_data,
146
235
  poll_response: new_resp,
147
236
  poll_summaries: updated_ps,
148
237
  show_complete: true
149
238
  });
239
+ setData({
240
+ ...data,
241
+ poll_responses: poll_responses.concat(new_resp)
242
+ });
150
243
  await _asyncStorage.default.removeItem(`response:${poll_id}`);
151
244
  };
152
245
 
@@ -156,15 +249,22 @@ const FlashMarket = ({
156
249
  //const correct_summary = poll_summaries.find(ps => ps.poll_option_id == correct_option?.poll_option_id);
157
250
 
158
251
  const renderPollOptions = data => {
252
+ const poll = polls.find(p => p.poll_id == data.item.poll_id);
253
+ if (!poll) {
254
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
255
+ }
159
256
  const selected = data.item.poll_option_id == poll_response?.poll_option_id ? true : false;
160
257
  const poll_summary = poll_summaries.find(ps => ps.poll_option_id == data.item.poll_option_id);
161
- const color = _api.PollResponseHelpers.getOptionColor(data.item, poll_response);
162
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity
258
+ const color = _api.PollResponseHelpers.getOptionColor(poll, data.item, poll_response);
259
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
260
+ style: {
261
+ width: option_width
262
+ }
263
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity
163
264
  //disabled={poll_response && poll_response.status != 'pending' ? true : false}
164
265
  , {
165
266
  style: {
166
267
  flexDirection: 'row',
167
- width: option_width,
168
268
  alignItems: 'center',
169
269
  margin: 5,
170
270
  borderRadius: 22,
@@ -199,28 +299,29 @@ const FlashMarket = ({
199
299
  marginLeft: 10,
200
300
  padding: 5,
201
301
  borderRadius: selected ? 100 : 0,
202
- backgroundColor: selected ? _colors.default.shades.white : undefined,
203
- ..._styles.view_styles.float
302
+ backgroundColor: selected ? _colors.default.shades.white : undefined
204
303
  },
205
304
  size: 12,
206
305
  color: _colors.default.brand.midnight,
207
306
  weight: "bold"
208
307
  }, (poll_summary.pct * 100).toFixed(), "%") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)));
209
308
  };
210
- if (loading || !poll) {
309
+ if (!loaded || !poll_campaign) {
211
310
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
212
311
  size: 'large',
213
312
  color: _colors.default.brand.midnight
214
313
  }));
215
314
  }
315
+ const next_allowed = _api.PollResponseHelpers.nextAllowed(polls, poll_responses, poll?.poll_id);
316
+ const campaign_complete = _api.PollCampaignHelpers.isCampaignComplete(polls, poll_responses, poll_campaign);
216
317
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
217
318
  style: {
218
- flex: 1
319
+ flex: 1,
320
+ backgroundColor: _colors.default.shades.white
219
321
  }
220
322
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
221
323
  style: {
222
- backgroundColor: _colors.default.shades.white,
223
- flexDirection: 'row'
324
+ flex: 1
224
325
  },
225
326
  onLayout: ev => {
226
327
  const {
@@ -232,56 +333,200 @@ const FlashMarket = ({
232
333
  width
233
334
  });
234
335
  }
235
- }, !poll_response || poll_response.status != 'pending' ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
336
+ }, show_leaders ? /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_ResultCard.default, {
337
+ poll_campaign_id: poll_campaign_id,
338
+ width: flash_size.width,
339
+ polls: polls,
340
+ poll_responses: poll_responses,
341
+ onClose: () => setData({
342
+ ...data,
343
+ show_leaders: false,
344
+ active_poll_index: 0
345
+ })
346
+ })) : !poll ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
347
+ style: {
348
+ flexDirection: 'row',
349
+ alignItems: 'center'
350
+ }
351
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
236
352
  style: {
237
353
  padding: 10
238
354
  }
239
355
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
240
356
  source: {
241
- uri: poll.poll_image?.url ?? 'https://res.cloudinary.com/hoabts6mc/image/upload/v1718979933/question_mark_ro0ac5.webp'
357
+ uri: poll_campaign.campaign_image?.url ?? 'https://res.cloudinary.com/hoabts6mc/image/upload/v1718979933/question_mark_ro0ac5.webp'
242
358
  },
243
359
  style: {
244
360
  height: image_size,
245
361
  width: image_size
246
362
  },
247
363
  resizeMode: "cover"
248
- })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
364
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
249
365
  style: {
250
366
  flex: 1
367
+ }
368
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
369
+ size: 18,
370
+ color: _colors.default.brand.midnight,
371
+ weight: "bold"
372
+ }, poll_campaign.name), /*#__PURE__*/_react.default.createElement(_Components.Text, {
373
+ style: {
374
+ marginTop: 5
375
+ },
376
+ size: 16,
377
+ color: _colors.default.brand.midnight,
378
+ weight: "semibold"
379
+ }, poll_campaign.total_polls, " Questions")), campaign_complete ? /*#__PURE__*/_react.default.createElement(_Components.Button, {
380
+ style: {
381
+ margin: 5
382
+ },
383
+ title: "RESULTS",
384
+ padding: 15,
385
+ backgroundColor: _colors.default.incentive.gold,
386
+ title_color: _colors.default.shades.white,
387
+ onPress: () => {
388
+ setData({
389
+ ...data,
390
+ show_leaders: true
391
+ });
392
+ }
393
+ }) : /*#__PURE__*/_react.default.createElement(_Components.Button, {
394
+ style: {
395
+ margin: 5
396
+ },
397
+ title: "PLAY",
398
+ padding: 15,
399
+ backgroundColor: _colors.default.brand.electric,
400
+ title_color: _colors.default.shades.white,
401
+ onPress: () => {
402
+ if (poll_campaign.campaign_type == 'trivia' && !player_id) {
403
+ return onRequestAuthenticate(poll_campaign.auth_strategy_id, poll_campaign.company_id);
404
+ }
405
+ setData({
406
+ ...data,
407
+ active_poll_index: 0
408
+ });
409
+ }
410
+ })) : /*#__PURE__*/_react.default.createElement(_reactNative.View, null, !hide_progress_bar && poll ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
411
+ style: {
412
+ backgroundColor: _colors.default.shades.shade600
413
+ }
414
+ }, /*#__PURE__*/_react.default.createElement(_CampaignProgressBar.default, {
415
+ poll_campaign: poll_campaign,
416
+ poll_responses: poll_responses,
417
+ polls: polls,
418
+ onPollSelect: p => {
419
+ if (poll.status == 'active' && (!poll_response || poll_response.status == 'pending' && poll.seconds_allowed)) {
420
+ return;
421
+ }
422
+ let index = polls.findIndex(ps => ps.poll_id == p.poll_id);
423
+ setData({
424
+ ...data,
425
+ active_poll_index: index
426
+ });
251
427
  },
252
- nativeID: "question"
428
+ active_poll: poll.poll_id
429
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
430
+ style: {
431
+ width: flash_size.width,
432
+ flexDirection: 'row',
433
+ flexWrap: 'wrap'
434
+ }
253
435
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
254
436
  style: {
437
+ flex: 1,
438
+ flexGrow: 2,
439
+ minWidth: 350
440
+ }
441
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
442
+ style: {
443
+ flexDirection: 'row',
444
+ alignItems: 'center',
255
445
  padding: 10,
256
446
  borderBottomWidth: 1,
257
447
  borderBottomColor: _colors.default.shades.shade600
258
448
  }
259
- }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
449
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
450
+ style: {
451
+ padding: 10,
452
+ justifyContent: 'center',
453
+ alignItems: 'center'
454
+ }
455
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
456
+ source: {
457
+ uri: poll.poll_image?.url ?? 'https://res.cloudinary.com/hoabts6mc/image/upload/v1718979933/question_mark_ro0ac5.webp'
458
+ },
459
+ style: {
460
+ height: image_size,
461
+ width: image_size
462
+ },
463
+ resizeMode: "center"
464
+ }), poll.status == 'active' && poll.seconds_allowed && (!poll_response || poll_response.status == 'pending') ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
465
+ style: {
466
+ justifyContent: 'center',
467
+ alignItems: 'center'
468
+ }
469
+ }, /*#__PURE__*/_react.default.createElement(_ResponseTimer.default, {
470
+ poll_id: poll.poll_id,
471
+ seconds: poll.seconds_allowed,
472
+ onTimesUp: () => handleTimesUp()
473
+ })) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
474
+ style: {
475
+ flexDirection: 'row',
476
+ borderRadius: 22,
477
+ backgroundColor: poll.status == 'active' ? _colors.default.utility.success : _colors.default.utility.error,
478
+ padding: 5
479
+ }
480
+ }, poll.status == 'active' ? /*#__PURE__*/_react.default.createElement(_Components.Icons.InProgressIcon, {
481
+ size: 18,
482
+ color: _colors.default.shades.white
483
+ }) : /*#__PURE__*/_react.default.createElement(_Components.Icons.LockClosedIcon, {
484
+ size: 16,
485
+ color: _colors.default.shades.white
486
+ }), /*#__PURE__*/_react.default.createElement(_Components.Text, {
487
+ style: {
488
+ marginLeft: 4
489
+ },
490
+ size: 14,
491
+ color: _colors.default.shades.white
492
+ }, poll.status.toUpperCase()))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
493
+ style: {
494
+ flex: 1
495
+ }
496
+ }, loading ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
497
+ size: "large",
498
+ color: _colors.default.brand.midnight,
499
+ style: {
500
+ alignSelf: 'center'
501
+ }
502
+ }) : /*#__PURE__*/_react.default.createElement(_Components.Text, {
260
503
  size: 16,
261
504
  color: _colors.default.brand.midnight,
262
505
  weight: "bold"
263
- }, poll.poll_question)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
506
+ }, poll.poll_question)))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
507
+ style: {
508
+ flexGrow: 1,
509
+ flexDirection: 'row'
510
+ }
511
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
264
512
  nativeID: "poll_options",
265
513
  style: {
266
514
  flex: 1,
515
+ maxWidth: flash_size.width,
267
516
  padding: 5,
268
517
  flexDirection: 'row',
269
518
  flexWrap: 'wrap',
270
- justifyContent: 'center',
271
519
  alignItems: 'center'
272
520
  }
273
521
  }, visible_options.sort((a, b) => a.priority - b.priority).map((po, i) => {
274
522
  return renderPollOptions({
275
523
  item: po,
276
524
  index: i,
277
- show_summary: poll_response && poll_response.status != 'pending' ? true : false
525
+ show_summary: poll_response && poll_response.status != 'pending' || poll.status == 'closed' ? true : false
278
526
  });
279
- }))), poll_response?.status == 'pending' ? /*#__PURE__*/_react.default.createElement(_Components.Spring, {
280
- slide: "horizontal",
281
- to: 0,
282
- from: 100
283
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
527
+ })), poll_response?.status == 'pending' ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
284
528
  style: {
529
+ flex: 1,
285
530
  justifyContent: 'space-between',
286
531
  backgroundColor: _colors.default.shades.shade600
287
532
  }
@@ -322,8 +567,8 @@ const FlashMarket = ({
322
567
  },
323
568
  autoFocus: true,
324
569
  value: poll_response.stake,
325
- onChangeText: text => setData({
326
- ...data,
570
+ onChangeText: text => setPollData({
571
+ ...poll_data,
327
572
  poll_response: {
328
573
  ...poll_response,
329
574
  stake: text
@@ -331,24 +576,66 @@ const FlashMarket = ({
331
576
  })
332
577
  }))) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
333
578
  style: {
334
- flex: 1
579
+ flex: 1,
580
+ padding: 5
335
581
  }
336
- }), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
582
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
337
583
  style: {
338
- marginTop: 10,
339
- backgroundColor: _colors.default.utility.success,
340
- padding: 10,
341
- paddingLeft: 20,
342
- paddingRight: 20,
584
+ flexDirection: 'row'
585
+ }
586
+ }, selected_option ? /*#__PURE__*/_react.default.createElement(_Components.Button, {
587
+ title: "X",
588
+ style: {
589
+ borderRadius: 0
590
+ },
591
+ padding: 15,
592
+ title_color: _colors.default.shades.white,
593
+ backgroundColor: _colors.default.utility.error,
594
+ onPress: () => handleSelectOption(selected_option)
595
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_Components.Button, {
596
+ title: "SUBMIT",
597
+ style: {
598
+ flex: 1,
599
+ borderRadius: 0
600
+ },
601
+ padding: 15,
602
+ title_color: _colors.default.shades.white,
603
+ backgroundColor: _colors.default.utility.success,
604
+ onPress: () => handleSubmit()
605
+ }))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null))))), next_allowed && !show_leaders ? /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
606
+ style: {
607
+ position: 'absolute',
608
+ bottom: 10,
609
+ right: 10,
610
+ backgroundColor: _colors.default.brand.electric,
611
+ ..._styles.view_styles.float,
612
+ borderRadius: 100,
613
+ height: 50,
614
+ width: 50,
343
615
  justifyContent: 'center',
344
616
  alignItems: 'center'
345
617
  },
346
- onPress: () => handleSubmit()
347
- }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
348
- weight: "bold",
349
- size: 14,
350
- color: _colors.default.shades.white
351
- }, "SUBMIT")))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)));
618
+ onPress: () => {
619
+ if (!active_poll_index && active_poll_index != 0) {
620
+ return;
621
+ }
622
+ let last_poll = active_poll_index == polls.length - 1 ? true : false;
623
+ if (last_poll && campaign_complete) {
624
+ return setData({
625
+ ...data,
626
+ show_leaders: true
627
+ });
628
+ }
629
+ setData({
630
+ ...data,
631
+ active_poll_index: active_poll_index + 1
632
+ });
633
+ }
634
+ }, /*#__PURE__*/_react.default.createElement(_Components.Icons.ChevronIcon, {
635
+ direction: "right",
636
+ color: _colors.default.shades.white,
637
+ size: 18
638
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null));
352
639
  };
353
640
  var _default = exports.default = FlashMarket;
354
641
  //# sourceMappingURL=index.js.map