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.
- package/lib/commonjs/Poll/components/CampaignHeader.js +20 -15
- package/lib/commonjs/Poll/components/CampaignHeader.js.map +1 -1
- package/lib/commonjs/Poll/components/CampaignLeaderboard.js +77 -75
- package/lib/commonjs/Poll/components/CampaignLeaderboard.js.map +1 -1
- package/lib/commonjs/Poll/components/CampaignProgressBar.js +21 -20
- package/lib/commonjs/Poll/components/CampaignProgressBar.js.map +1 -1
- package/lib/commonjs/Poll/components/CampaignResult.js +21 -19
- package/lib/commonjs/Poll/components/CampaignResult.js.map +1 -1
- package/lib/commonjs/Poll/components/PollCard.js +240 -218
- package/lib/commonjs/Poll/components/PollCard.js.map +1 -1
- package/lib/commonjs/Poll/components/PollOptionCard.js +28 -25
- package/lib/commonjs/Poll/components/PollOptionCard.js.map +1 -1
- package/lib/commonjs/Poll/components/PollQuestionsSection.js +25 -19
- package/lib/commonjs/Poll/components/PollQuestionsSection.js.map +1 -1
- package/lib/commonjs/Poll/components/PollSelectCard.js +48 -45
- package/lib/commonjs/Poll/components/PollSelectCard.js.map +1 -1
- package/lib/commonjs/Poll/index.js +97 -93
- package/lib/commonjs/Poll/index.js.map +1 -1
- package/lib/module/Poll/components/CampaignHeader.js +19 -14
- package/lib/module/Poll/components/CampaignHeader.js.map +1 -1
- package/lib/module/Poll/components/CampaignLeaderboard.js +59 -57
- package/lib/module/Poll/components/CampaignLeaderboard.js.map +1 -1
- package/lib/module/Poll/components/CampaignProgressBar.js +17 -15
- package/lib/module/Poll/components/CampaignProgressBar.js.map +1 -1
- package/lib/module/Poll/components/CampaignResult.js +17 -15
- package/lib/module/Poll/components/CampaignResult.js.map +1 -1
- package/lib/module/Poll/components/PollCard.js +238 -216
- package/lib/module/Poll/components/PollCard.js.map +1 -1
- package/lib/module/Poll/components/PollOptionCard.js +24 -20
- package/lib/module/Poll/components/PollOptionCard.js.map +1 -1
- package/lib/module/Poll/components/PollQuestionsSection.js +21 -15
- package/lib/module/Poll/components/PollQuestionsSection.js.map +1 -1
- package/lib/module/Poll/components/PollSelectCard.js +33 -30
- package/lib/module/Poll/components/PollSelectCard.js.map +1 -1
- package/lib/module/Poll/index.js +97 -92
- package/lib/module/Poll/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/CampaignHeader.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/CampaignLeaderboard.d.ts +1 -2
- package/lib/typescript/lib/commonjs/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/CampaignProgressBar.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/CampaignResult.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/PollCard.d.ts +2 -1
- package/lib/typescript/lib/commonjs/Poll/components/PollCard.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/PollOptionCard.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/PollQuestionsSection.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/PollSelectCard.d.ts +1 -2
- package/lib/typescript/lib/commonjs/Poll/components/PollSelectCard.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/index.d.ts +1 -2
- package/lib/typescript/lib/commonjs/Poll/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Components/Spring.d.ts +1 -1
- package/lib/typescript/lib/module/Poll/components/CampaignHeader.d.ts +1 -2
- package/lib/typescript/lib/module/Poll/components/CampaignHeader.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/components/CampaignLeaderboard.d.ts +2 -4
- package/lib/typescript/lib/module/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/components/CampaignProgressBar.d.ts +1 -2
- package/lib/typescript/lib/module/Poll/components/CampaignProgressBar.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/components/CampaignResult.d.ts +1 -2
- package/lib/typescript/lib/module/Poll/components/CampaignResult.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/components/PollCard.d.ts +3 -5
- package/lib/typescript/lib/module/Poll/components/PollCard.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/components/PollOptionCard.d.ts +1 -2
- package/lib/typescript/lib/module/Poll/components/PollOptionCard.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/components/PollQuestionsSection.d.ts +1 -2
- package/lib/typescript/lib/module/Poll/components/PollQuestionsSection.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/components/PollSelectCard.d.ts +2 -4
- package/lib/typescript/lib/module/Poll/components/PollSelectCard.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/index.d.ts +2 -4
- package/lib/typescript/lib/module/Poll/index.d.ts.map +1 -1
- package/lib/typescript/src/Poll/components/CampaignHeader.d.ts.map +1 -1
- package/lib/typescript/src/Poll/components/CampaignLeaderboard.d.ts +1 -2
- package/lib/typescript/src/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
- package/lib/typescript/src/Poll/components/CampaignProgressBar.d.ts.map +1 -1
- package/lib/typescript/src/Poll/components/CampaignResult.d.ts.map +1 -1
- package/lib/typescript/src/Poll/components/PollCard.d.ts +3 -2
- package/lib/typescript/src/Poll/components/PollCard.d.ts.map +1 -1
- package/lib/typescript/src/Poll/components/PollOptionCard.d.ts.map +1 -1
- package/lib/typescript/src/Poll/components/PollQuestionsSection.d.ts.map +1 -1
- package/lib/typescript/src/Poll/components/PollSelectCard.d.ts +1 -1
- package/lib/typescript/src/Poll/components/PollSelectCard.d.ts.map +1 -1
- package/lib/typescript/src/Poll/index.d.ts +1 -2
- package/lib/typescript/src/Poll/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Poll/components/CampaignHeader.tsx +13 -12
- package/src/Poll/components/CampaignLeaderboard.tsx +41 -52
- package/src/Poll/components/CampaignProgressBar.tsx +17 -15
- package/src/Poll/components/CampaignResult.tsx +13 -13
- package/src/Poll/components/PollCard.tsx +129 -118
- package/src/Poll/components/PollOptionCard.tsx +20 -21
- package/src/Poll/components/PollQuestionsSection.tsx +15 -14
- package/src/Poll/components/PollSelectCard.tsx +47 -48
- package/src/Poll/index.tsx +83 -73
- package/lib/commonjs/Poll/components/CampaignPlay.js +0 -472
- package/lib/commonjs/Poll/components/CampaignPlay.js.map +0 -1
- package/lib/module/Poll/components/CampaignPlay.js +0 -463
- package/lib/module/Poll/components/CampaignPlay.js.map +0 -1
- package/lib/typescript/lib/commonjs/Poll/components/CampaignPlay.d.ts +0 -12
- package/lib/typescript/lib/commonjs/Poll/components/CampaignPlay.d.ts.map +0 -1
- package/lib/typescript/lib/module/Poll/components/CampaignPlay.d.ts +0 -13
- package/lib/typescript/lib/module/Poll/components/CampaignPlay.d.ts.map +0 -1
- package/lib/typescript/src/Poll/components/CampaignPlay.d.ts +0 -14
- package/lib/typescript/src/Poll/components/CampaignPlay.d.ts.map +0 -1
- package/src/Poll/components/CampaignPlay.tsx +0 -335
package/src/Poll/index.tsx
CHANGED
|
@@ -1,33 +1,31 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { PollApi, PollCampaignApi, PollResponseApi } from './api';
|
|
3
|
-
import {
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
|
|
129
|
+
onSharePollCampaign={(pc) => console.log(pc)}
|
|
157
130
|
/>
|
|
158
|
-
|
|
159
|
-
|
|
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
|
|
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
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
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
|
-
</
|
|
190
|
-
</
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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={() => {
|