be-components 4.2.0 → 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 (102) hide show
  1. package/lib/commonjs/Poll/components/CampaignHeader.js +20 -15
  2. package/lib/commonjs/Poll/components/CampaignHeader.js.map +1 -1
  3. package/lib/commonjs/Poll/components/CampaignLeaderboard.js +77 -75
  4. package/lib/commonjs/Poll/components/CampaignLeaderboard.js.map +1 -1
  5. package/lib/commonjs/Poll/components/CampaignProgressBar.js +21 -20
  6. package/lib/commonjs/Poll/components/CampaignProgressBar.js.map +1 -1
  7. package/lib/commonjs/Poll/components/CampaignResult.js +21 -19
  8. package/lib/commonjs/Poll/components/CampaignResult.js.map +1 -1
  9. package/lib/commonjs/Poll/components/PollCard.js +240 -218
  10. package/lib/commonjs/Poll/components/PollCard.js.map +1 -1
  11. package/lib/commonjs/Poll/components/PollOptionCard.js +28 -25
  12. package/lib/commonjs/Poll/components/PollOptionCard.js.map +1 -1
  13. package/lib/commonjs/Poll/components/PollQuestionsSection.js +25 -19
  14. package/lib/commonjs/Poll/components/PollQuestionsSection.js.map +1 -1
  15. package/lib/commonjs/Poll/components/PollSelectCard.js +48 -45
  16. package/lib/commonjs/Poll/components/PollSelectCard.js.map +1 -1
  17. package/lib/commonjs/Poll/index.js +97 -93
  18. package/lib/commonjs/Poll/index.js.map +1 -1
  19. package/lib/module/Poll/components/CampaignHeader.js +19 -14
  20. package/lib/module/Poll/components/CampaignHeader.js.map +1 -1
  21. package/lib/module/Poll/components/CampaignLeaderboard.js +59 -57
  22. package/lib/module/Poll/components/CampaignLeaderboard.js.map +1 -1
  23. package/lib/module/Poll/components/CampaignProgressBar.js +17 -15
  24. package/lib/module/Poll/components/CampaignProgressBar.js.map +1 -1
  25. package/lib/module/Poll/components/CampaignResult.js +17 -15
  26. package/lib/module/Poll/components/CampaignResult.js.map +1 -1
  27. package/lib/module/Poll/components/PollCard.js +238 -216
  28. package/lib/module/Poll/components/PollCard.js.map +1 -1
  29. package/lib/module/Poll/components/PollOptionCard.js +24 -20
  30. package/lib/module/Poll/components/PollOptionCard.js.map +1 -1
  31. package/lib/module/Poll/components/PollQuestionsSection.js +21 -15
  32. package/lib/module/Poll/components/PollQuestionsSection.js.map +1 -1
  33. package/lib/module/Poll/components/PollSelectCard.js +33 -30
  34. package/lib/module/Poll/components/PollSelectCard.js.map +1 -1
  35. package/lib/module/Poll/index.js +97 -92
  36. package/lib/module/Poll/index.js.map +1 -1
  37. package/lib/typescript/lib/commonjs/Poll/components/CampaignHeader.d.ts.map +1 -1
  38. package/lib/typescript/lib/commonjs/Poll/components/CampaignLeaderboard.d.ts +1 -2
  39. package/lib/typescript/lib/commonjs/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
  40. package/lib/typescript/lib/commonjs/Poll/components/CampaignProgressBar.d.ts.map +1 -1
  41. package/lib/typescript/lib/commonjs/Poll/components/CampaignResult.d.ts.map +1 -1
  42. package/lib/typescript/lib/commonjs/Poll/components/PollCard.d.ts +2 -1
  43. package/lib/typescript/lib/commonjs/Poll/components/PollCard.d.ts.map +1 -1
  44. package/lib/typescript/lib/commonjs/Poll/components/PollOptionCard.d.ts.map +1 -1
  45. package/lib/typescript/lib/commonjs/Poll/components/PollQuestionsSection.d.ts.map +1 -1
  46. package/lib/typescript/lib/commonjs/Poll/components/PollSelectCard.d.ts +1 -2
  47. package/lib/typescript/lib/commonjs/Poll/components/PollSelectCard.d.ts.map +1 -1
  48. package/lib/typescript/lib/commonjs/Poll/index.d.ts +1 -2
  49. package/lib/typescript/lib/commonjs/Poll/index.d.ts.map +1 -1
  50. package/lib/typescript/lib/module/Components/Spring.d.ts +1 -1
  51. package/lib/typescript/lib/module/Poll/components/CampaignHeader.d.ts +1 -2
  52. package/lib/typescript/lib/module/Poll/components/CampaignHeader.d.ts.map +1 -1
  53. package/lib/typescript/lib/module/Poll/components/CampaignLeaderboard.d.ts +2 -4
  54. package/lib/typescript/lib/module/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
  55. package/lib/typescript/lib/module/Poll/components/CampaignProgressBar.d.ts +1 -2
  56. package/lib/typescript/lib/module/Poll/components/CampaignProgressBar.d.ts.map +1 -1
  57. package/lib/typescript/lib/module/Poll/components/CampaignResult.d.ts +1 -2
  58. package/lib/typescript/lib/module/Poll/components/CampaignResult.d.ts.map +1 -1
  59. package/lib/typescript/lib/module/Poll/components/PollCard.d.ts +3 -5
  60. package/lib/typescript/lib/module/Poll/components/PollCard.d.ts.map +1 -1
  61. package/lib/typescript/lib/module/Poll/components/PollOptionCard.d.ts +1 -2
  62. package/lib/typescript/lib/module/Poll/components/PollOptionCard.d.ts.map +1 -1
  63. package/lib/typescript/lib/module/Poll/components/PollQuestionsSection.d.ts +1 -2
  64. package/lib/typescript/lib/module/Poll/components/PollQuestionsSection.d.ts.map +1 -1
  65. package/lib/typescript/lib/module/Poll/components/PollSelectCard.d.ts +2 -4
  66. package/lib/typescript/lib/module/Poll/components/PollSelectCard.d.ts.map +1 -1
  67. package/lib/typescript/lib/module/Poll/index.d.ts +2 -4
  68. package/lib/typescript/lib/module/Poll/index.d.ts.map +1 -1
  69. package/lib/typescript/src/Poll/components/CampaignHeader.d.ts.map +1 -1
  70. package/lib/typescript/src/Poll/components/CampaignLeaderboard.d.ts +1 -2
  71. package/lib/typescript/src/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
  72. package/lib/typescript/src/Poll/components/CampaignProgressBar.d.ts.map +1 -1
  73. package/lib/typescript/src/Poll/components/CampaignResult.d.ts.map +1 -1
  74. package/lib/typescript/src/Poll/components/PollCard.d.ts +3 -2
  75. package/lib/typescript/src/Poll/components/PollCard.d.ts.map +1 -1
  76. package/lib/typescript/src/Poll/components/PollOptionCard.d.ts.map +1 -1
  77. package/lib/typescript/src/Poll/components/PollQuestionsSection.d.ts.map +1 -1
  78. package/lib/typescript/src/Poll/components/PollSelectCard.d.ts +1 -1
  79. package/lib/typescript/src/Poll/components/PollSelectCard.d.ts.map +1 -1
  80. package/lib/typescript/src/Poll/index.d.ts +1 -2
  81. package/lib/typescript/src/Poll/index.d.ts.map +1 -1
  82. package/package.json +1 -1
  83. package/src/Poll/components/CampaignHeader.tsx +13 -12
  84. package/src/Poll/components/CampaignLeaderboard.tsx +41 -52
  85. package/src/Poll/components/CampaignProgressBar.tsx +17 -15
  86. package/src/Poll/components/CampaignResult.tsx +13 -13
  87. package/src/Poll/components/PollCard.tsx +129 -118
  88. package/src/Poll/components/PollOptionCard.tsx +20 -21
  89. package/src/Poll/components/PollQuestionsSection.tsx +15 -14
  90. package/src/Poll/components/PollSelectCard.tsx +47 -48
  91. package/src/Poll/index.tsx +83 -73
  92. package/lib/commonjs/Poll/components/CampaignPlay.js +0 -472
  93. package/lib/commonjs/Poll/components/CampaignPlay.js.map +0 -1
  94. package/lib/module/Poll/components/CampaignPlay.js +0 -463
  95. package/lib/module/Poll/components/CampaignPlay.js.map +0 -1
  96. package/lib/typescript/lib/commonjs/Poll/components/CampaignPlay.d.ts +0 -12
  97. package/lib/typescript/lib/commonjs/Poll/components/CampaignPlay.d.ts.map +0 -1
  98. package/lib/typescript/lib/module/Poll/components/CampaignPlay.d.ts +0 -13
  99. package/lib/typescript/lib/module/Poll/components/CampaignPlay.d.ts.map +0 -1
  100. package/lib/typescript/src/Poll/components/CampaignPlay.d.ts +0 -14
  101. package/lib/typescript/src/Poll/components/CampaignPlay.d.ts.map +0 -1
  102. package/src/Poll/components/CampaignPlay.tsx +0 -335
@@ -1,33 +1,31 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import { PollApi, PollCampaignApi, PollResponseApi } from './api';
3
- import { View, ScrollView, ActivityIndicator } from 'react-native';
3
+ import { FlatList, Modal, useWindowDimensions, Alert } from 'react-native';
4
4
  import type { BEEventProps, PollCampaignGoalProps, PollCampaignProps, PollOptionProps, PollProps, PollResponseProps } from '../types';
5
- import Colors from '../constants/colors';
6
5
  import CampaignHeader from './components/CampaignHeader';
7
6
  import CampaignProgressBar from './components/CampaignProgressBar';
8
7
  import PollQuestionsSection from './components/PollQuestionsSection';
9
- import { Spring } from '../Components';
10
- //import PollCard from './components/PollCard';
11
8
  import CampaignResult from './components/CampaignResult';
12
9
  import CampaignLeaderboard from './components/CampaignLeaderboard';
13
10
  import PollCard from './components/PollCard';
14
11
  import SocketManager from '../Socket';
12
+ import { View } from '../Components/Themed';
15
13
 
16
14
  type PollCampaignModuleProps = {
17
15
  poll_campaign_id:string,
18
16
  poll_id?:string,
19
17
  player_id?:string,
20
18
  distinct_id:string,
21
- height:number,
22
19
  onEvent?:(be_event:BEEventProps) => void,
23
20
  onRequestAuthenticate: (auth_strategy_id?:string, company_id?:string) => void,
24
21
  onSharePollCampaign: (poll_campaign:PollCampaignProps) => void,
25
22
  onComplete:() => void
26
23
  }
27
- const PollCampaign = ({ height, distinct_id, poll_campaign_id, player_id, onRequestAuthenticate }: PollCampaignModuleProps ) => {
24
+
25
+ const sections = ['header', 'progress', 'results','questions']
26
+ const PollCampaign = ({ distinct_id, poll_campaign_id, player_id, onRequestAuthenticate }: PollCampaignModuleProps ) => {
28
27
  const [ needs_reload, setNeedsReload ] = useState(false);
29
28
  const [ socket_polls, setSocketPolls ] = useState<PollProps[]>([]);
30
- //const [ socket_poll_options, setSocketPollOptions ] = useState<PollOptionProps[]>([]);
31
29
  const [ socket_campaign, setSocketCampaign ] = useState<PollCampaignProps|undefined>(undefined);
32
30
  const [ module_data, setModuleData ] = useState<{
33
31
  loading: boolean,
@@ -49,10 +47,10 @@ const PollCampaign = ({ height, distinct_id, poll_campaign_id, player_id, onRequ
49
47
  poll_responses: []
50
48
  });
51
49
  const { poll_responses, action_loading } = my_data;
52
- const { poll_campaign, polls, active_poll_id } = module_data;
50
+ const { loading, poll_campaign, polls, active_poll_id } = module_data;
53
51
  const active_response = poll_responses.find(r => r.poll_id == active_poll_id);
54
- const active_polls = polls.filter(p => p.status != 'inactive').sort((a,b) => a.priority - b.priority);
55
-
52
+ const active_polls = polls.filter(p => !['inactive'].includes(p.status)).sort((a,b) => a.priority - b.priority);
53
+ const { width } = useWindowDimensions();
56
54
  useEffect(() => {
57
55
  PollCampaignApi.setEnvironment();
58
56
  getDataFromServer();
@@ -75,7 +73,6 @@ const PollCampaign = ({ height, distinct_id, poll_campaign_id, player_id, onRequ
75
73
  },[socket_campaign]);
76
74
 
77
75
  const getDataFromServer = async() => {
78
- console.log('RELOADING DATA!!!')
79
76
  setModuleData({ ...module_data, loading:true });
80
77
  const pc = await PollCampaignApi.getPollCampaignById(poll_campaign_id);
81
78
  const ps_resp = await PollApi.getPollsByCampaignId(poll_campaign_id);
@@ -122,89 +119,102 @@ const PollCampaign = ({ height, distinct_id, poll_campaign_id, player_id, onRequ
122
119
  setModuleData({ ...module_data, active_poll_id: new_poll.poll_id })
123
120
  }
124
121
 
125
- if(!poll_campaign){
126
- return (
127
- <View style={{ flex:1 }}>
128
- <ActivityIndicator
129
- style={{ padding:20, alignSelf:'center' }}
130
- size='large'
131
- color={Colors.brand.midnight}
132
- />
133
- </View>
134
- )
135
- }
136
-
137
- return (
138
- <View style={{ backgroundColor:Colors.shades.white, height }}>
139
- <CampaignHeader
140
- poll_campaign={poll_campaign}
141
- onSharePollCampaign={(pc) => console.log(pc)}
142
- />
143
- <ScrollView style={{ flex:1 }}>
144
- <View style={{ backgroundColor:Colors.shades.shade100 }}>
145
- <CampaignProgressBar
146
- poll_campaign={poll_campaign}
147
- polls={active_polls}
148
- active_poll='0'
149
- onPollSelect={(p) => console.log(p)}
150
- poll_responses={poll_responses}
151
- />
152
- </View>
153
- <View nativeID='leaderboard'>
154
- <CampaignResult
122
+ const renderSections = (data:{ item:string, index:number }) => {
123
+ switch(data.item){
124
+ case 'header':
125
+ if(!poll_campaign){ return <></> }
126
+ return (
127
+ <CampaignHeader
155
128
  poll_campaign={poll_campaign}
156
- onShowFullLeaderboard={() => setFullLeaderboard(true)}
129
+ onSharePollCampaign={(pc) => console.log(pc)}
157
130
  />
158
- </View>
159
- <View nativeID='poll_questions'>
131
+ )
132
+ case 'progress':
133
+ if(!poll_campaign){ return <></> }
134
+ return (
135
+ <View type='header' style={{ padding:10 }}>
136
+ <CampaignProgressBar
137
+ poll_campaign={poll_campaign}
138
+ polls={active_polls}
139
+ active_poll={active_poll_id ?? '0'}
140
+ onPollSelect={(p) => console.log(p)}
141
+ poll_responses={poll_responses}
142
+ />
143
+ </View>
144
+ )
145
+ case 'results':
146
+ if(!poll_campaign){ return <></> }
147
+ return (
148
+ <View style={{ padding:10 }}>
149
+ <CampaignResult
150
+ poll_campaign={poll_campaign}
151
+ onShowFullLeaderboard={() => setFullLeaderboard(true)}
152
+ />
153
+ </View>
154
+ )
155
+ case 'questions':
156
+ if(!poll_campaign){ return <></> }
157
+ return (
158
+ <View style={{ padding:10 }}>
160
159
  <PollQuestionsSection
161
160
  poll_campaign={poll_campaign}
162
161
  polls={active_polls}
163
162
  poll_responses={poll_responses}
164
163
  onSelectPoll={(p) => {
165
164
  if(!player_id){ return onRequestAuthenticate(poll_campaign.auth_strategy_id, poll_campaign.company_id) }
166
- if(p.status == 'paused'){ return alert('This question is currently paused. Please open when it becomes active') }
165
+ if(['paused','pending','inactive'].includes(p.status)){ return Alert.alert('This question is not active. Please open when it becomes active') }
167
166
  setModuleData({ ...module_data, active_poll_id: p.poll_id })
168
167
  }}
169
168
  />
170
- </View>
171
- </ScrollView>
172
- {active_poll_id ?
173
- <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'flex-end', backgroundColor:Colors.shades.black_faded }}>
174
- <Spring
175
- slide='vertical'
176
- to={0}
177
- from={500}
178
- style={{ maxHeight:height }}
169
+ </View>
170
+ )
171
+ default: return <></>
172
+ }
173
+ }
174
+
175
+
176
+
177
+ return (
178
+ <View style={{ flex:1 }}>
179
+ <FlatList
180
+ data={sections}
181
+ refreshing={loading}
182
+ onRefresh={() => getDataFromServer()}
183
+ key='poll_sections'
184
+ keyExtractor={item => item}
185
+ renderItem={renderSections}
186
+ />
187
+ <Modal
188
+ style={{ flex:1 }}
189
+ animationType='slide'
190
+ transparent
191
+ visible={active_poll_id ? true : false}
179
192
  >
193
+ <View type='blur' style={{ flex:1, justifyContent:'flex-end', padding:12 }}>
180
194
  <PollCard
181
195
  poll_id={active_poll_id}
182
196
  action_loading={action_loading}
183
197
  poll_response={active_response}
198
+ width={width}
184
199
  onSkip={() => handleNext()}
185
200
  onCancel={() => setModuleData({ ...module_data, active_poll_id: undefined })}
186
201
  onResponse={(response) => handleSubmitResponse(response)}
187
202
  onShowAuthenticate={() => console.log('authenticate!!')}
188
203
  />
189
- </Spring>
190
- </View>
191
- :<></>}
192
- {full_leaderboard ?
193
- <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'flex-end', backgroundColor:Colors.shades.black_faded }}>
194
- <Spring
195
- slide='vertical'
196
- to={0}
197
- from={500}
198
- style={{ maxHeight:height }}
199
- >
200
- <CampaignLeaderboard
201
- height={height}
202
- poll_campaign={poll_campaign}
203
- view_mode='full'
204
- onClose={() => setFullLeaderboard(false)}
205
- />
206
- </Spring>
207
- </View>
204
+ </View>
205
+ </Modal>
206
+ {full_leaderboard && poll_campaign ?
207
+ <Modal
208
+ transparent
209
+ visible={full_leaderboard?true:false}
210
+ style={{ flex:1 }}
211
+ >
212
+ <CampaignLeaderboard
213
+ poll_campaign={poll_campaign}
214
+ view_mode='full'
215
+ onClose={() => setFullLeaderboard(false)}
216
+ />
217
+ </Modal>
208
218
  :<></>}
209
219
  <SocketManager
210
220
  onConnect={() => {