be-components 5.6.7 → 5.6.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.
- package/lib/commonjs/Engage/api/index.js +13 -2
- package/lib/commonjs/Engage/api/index.js.map +1 -1
- package/lib/commonjs/Engage/components/EngageHeader.js +2 -0
- package/lib/commonjs/Engage/components/EngageHeader.js.map +1 -1
- package/lib/commonjs/Engage/components/PollCampaignCard.js +110 -0
- package/lib/commonjs/Engage/components/PollCampaignCard.js.map +1 -0
- package/lib/commonjs/Engage/index.js +83 -12
- package/lib/commonjs/Engage/index.js.map +1 -1
- package/lib/commonjs/Poll/api/index.js +12 -0
- package/lib/commonjs/Poll/api/index.js.map +1 -1
- package/lib/commonjs/Poll/components/CampaignHeader.js +13 -2
- package/lib/commonjs/Poll/components/CampaignHeader.js.map +1 -1
- package/lib/commonjs/Poll/components/CampaignLeaderboard.js +1 -4
- package/lib/commonjs/Poll/components/CampaignLeaderboard.js.map +1 -1
- package/lib/commonjs/Poll/index.js +21 -4
- package/lib/commonjs/Poll/index.js.map +1 -1
- package/lib/module/Engage/api/index.js +13 -2
- package/lib/module/Engage/api/index.js.map +1 -1
- package/lib/module/Engage/components/EngageHeader.js +2 -0
- package/lib/module/Engage/components/EngageHeader.js.map +1 -1
- package/lib/module/Engage/components/PollCampaignCard.js +103 -0
- package/lib/module/Engage/components/PollCampaignCard.js.map +1 -0
- package/lib/module/Engage/index.js +83 -12
- package/lib/module/Engage/index.js.map +1 -1
- package/lib/module/Poll/api/index.js +12 -0
- package/lib/module/Poll/api/index.js.map +1 -1
- package/lib/module/Poll/components/CampaignHeader.js +13 -2
- package/lib/module/Poll/components/CampaignHeader.js.map +1 -1
- package/lib/module/Poll/components/CampaignLeaderboard.js +1 -4
- package/lib/module/Poll/components/CampaignLeaderboard.js.map +1 -1
- package/lib/module/Poll/index.js +21 -4
- package/lib/module/Poll/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/Engage/api/index.d.ts +3 -2
- package/lib/typescript/lib/commonjs/Engage/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Engage/components/EngageHeader.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Engage/components/PollCampaignCard.d.ts +7 -0
- package/lib/typescript/lib/commonjs/Engage/components/PollCampaignCard.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Engage/index.d.ts +2 -1
- package/lib/typescript/lib/commonjs/Engage/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/api/index.d.ts +1 -0
- package/lib/typescript/lib/commonjs/Poll/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/CampaignHeader.d.ts +2 -1
- package/lib/typescript/lib/commonjs/Poll/components/CampaignHeader.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Poll/index.d.ts +3 -1
- package/lib/typescript/lib/commonjs/Poll/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Engage/api/index.d.ts +3 -2
- package/lib/typescript/lib/module/Engage/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Engage/components/EngageHeader.d.ts.map +1 -1
- package/lib/typescript/lib/module/Engage/components/PollCampaignCard.d.ts +7 -0
- package/lib/typescript/lib/module/Engage/components/PollCampaignCard.d.ts.map +1 -0
- package/lib/typescript/lib/module/Engage/index.d.ts +2 -1
- package/lib/typescript/lib/module/Engage/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/api/index.d.ts +1 -0
- package/lib/typescript/lib/module/Poll/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/components/CampaignHeader.d.ts +2 -1
- package/lib/typescript/lib/module/Poll/components/CampaignHeader.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/components/CampaignLeaderboard.d.ts.map +1 -1
- package/lib/typescript/lib/module/Poll/index.d.ts +3 -1
- package/lib/typescript/lib/module/Poll/index.d.ts.map +1 -1
- package/lib/typescript/src/Engage/api/index.d.ts +4 -3
- package/lib/typescript/src/Engage/api/index.d.ts.map +1 -1
- package/lib/typescript/src/Engage/components/PollCampaignCard.d.ts +11 -0
- package/lib/typescript/src/Engage/components/PollCampaignCard.d.ts.map +1 -0
- package/lib/typescript/src/Engage/index.d.ts +4 -3
- package/lib/typescript/src/Engage/index.d.ts.map +1 -1
- package/lib/typescript/src/Poll/api/index.d.ts +5 -0
- package/lib/typescript/src/Poll/api/index.d.ts.map +1 -1
- package/lib/typescript/src/Poll/components/CampaignHeader.d.ts +2 -1
- package/lib/typescript/src/Poll/components/CampaignHeader.d.ts.map +1 -1
- package/lib/typescript/src/Poll/index.d.ts +8 -1
- package/lib/typescript/src/Poll/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Engage/api/index.ts +14 -3
- package/src/Engage/components/EngageHeader.tsx +2 -2
- package/src/Engage/components/PollCampaignCard.tsx +54 -0
- package/src/Engage/index.tsx +50 -11
- package/src/Poll/api/index.ts +9 -0
- package/src/Poll/components/CampaignHeader.tsx +10 -1
- package/src/Poll/components/CampaignLeaderboard.tsx +2 -2
- package/src/Poll/index.tsx +12 -5
- package/src/types.d.ts +9 -1
package/src/Engage/index.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { ActivityIndicator, FlatList, Image, KeyboardAvoidingView, Modal, Platform } from 'react-native';
|
|
3
|
-
import type { BEEventProps, BracketCompetitionProps, BracketProps, CompanyProps, CompetitionPayoutTypeProps, CompetitionProps, CompetitionResultTypeProps, CompetitionSeasonProps, CompetitionTypeProps, EventProps, FocusPositionProps, LeagueProps, PublicPlayerProps, SquaresCompetitionProps } from '../types';
|
|
3
|
+
import type { BEEventProps, BracketCompetitionProps, BracketProps, CompanyProps, CompetitionPayoutTypeProps, CompetitionProps, CompetitionResultTypeProps, CompetitionSeasonProps, CompetitionTypeProps, EventProps, FocusPositionProps, LeagueProps, PollCampaignProps, PublicPlayerProps, SquaresCompetitionProps } from '../types';
|
|
4
4
|
import { EngageApi, EngageHelpers } from './api';
|
|
5
5
|
import CompetitionCard from './components/CompetitionCard';
|
|
6
6
|
import { Icons, Toggle } from '../Components';
|
|
@@ -13,13 +13,14 @@ import EngageHeader from './components/EngageHeader';
|
|
|
13
13
|
import PrivateCodePrompt from './components/PrivateCodePrompt';
|
|
14
14
|
import { Button, Text, View } from '../Components/Themed';
|
|
15
15
|
import { useColors } from '../constants/useColors';
|
|
16
|
+
import PollCampaignCard from './components/PollCampaignCard';
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
type EngageModuleProps = {
|
|
19
20
|
player_id?:string,
|
|
20
21
|
insets?: { top:number, bottom:number },
|
|
21
22
|
view_mode?:'desktop'|'mobile'
|
|
22
|
-
init_engagement?:'competitions'|'brackets'|'squares',
|
|
23
|
+
init_engagement?:'competitions'|'brackets'|'squares'|'polls',
|
|
23
24
|
onEvent?:(be_event:BEEventProps) => void,
|
|
24
25
|
onFocusPosition?:(pos:FocusPositionProps) => void,
|
|
25
26
|
onManage?:() => void,
|
|
@@ -31,13 +32,14 @@ type EngageModuleProps = {
|
|
|
31
32
|
onCreateBracketCompetition?:() => void,
|
|
32
33
|
onSelectCompetition:(c:CompetitionProps) => void,
|
|
33
34
|
onSelectBracketCompetition:(bc:BracketCompetitionProps) => void,
|
|
35
|
+
onSelectPollCampaign:(pc:PollCampaignProps) => void,
|
|
34
36
|
onSelectSquaresCompetition:(sc:SquaresCompetitionProps) => void,
|
|
35
37
|
onSelectCompetitionSeason:(cs:CompetitionSeasonProps) => void
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
const engage_sections = ['header','toggle', 'private','engagements']
|
|
39
41
|
const MIN_ENGAGEMENT_WIDTH = 325
|
|
40
|
-
const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSelectBracketCompetition, onSelectCompetition, onSelectSquaresCompetition, onSelectCompetitionSeason,
|
|
42
|
+
const EngageModule = ({ view_mode, insets, init_engagement, onSelectPollCampaign, onBracketRoom, onSelectBracketCompetition, onSelectCompetition, onSelectSquaresCompetition, onSelectCompetitionSeason,
|
|
41
43
|
onCreateSeason, onCreateCompetition, onCreateBracketCompetition, onCreateSquares, onFocusPosition, onManage, onEvent, onSelectCompany
|
|
42
44
|
}:EngageModuleProps) => {
|
|
43
45
|
const [ module_size, setModuleSize ] = useState({ width:0, height:0 });
|
|
@@ -52,6 +54,7 @@ const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSel
|
|
|
52
54
|
const [ module_data, setModuleData ] = useState<{
|
|
53
55
|
loading:boolean,
|
|
54
56
|
competitions:CompetitionProps[],
|
|
57
|
+
poll_campaigns:PollCampaignProps[],
|
|
55
58
|
competition_seasons:CompetitionSeasonProps[],
|
|
56
59
|
competition_types:CompetitionTypeProps[],
|
|
57
60
|
competition_result_types:CompetitionResultTypeProps[],
|
|
@@ -68,6 +71,7 @@ const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSel
|
|
|
68
71
|
loading:false,
|
|
69
72
|
competitions: [],
|
|
70
73
|
competition_seasons:[],
|
|
74
|
+
poll_campaigns: [],
|
|
71
75
|
companies:[],
|
|
72
76
|
leagues:[],
|
|
73
77
|
events:[],
|
|
@@ -79,7 +83,7 @@ const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSel
|
|
|
79
83
|
bracket_competitions:[],
|
|
80
84
|
players:[]
|
|
81
85
|
});
|
|
82
|
-
const { loading, competitions, selected_bracket, competition_seasons, competition_result_types, squares_competitions, brackets, leagues, bracket_competitions, events, competition_types, companies, players } = module_data;
|
|
86
|
+
const { loading, competitions, poll_campaigns, selected_bracket, competition_seasons, competition_result_types, squares_competitions, brackets, leagues, bracket_competitions, events, competition_types, companies, players } = module_data;
|
|
83
87
|
const Colors = useColors();
|
|
84
88
|
|
|
85
89
|
const visible_competitions = competitions.filter(c => moment().isBefore(moment(c.scheduled_datetime)))
|
|
@@ -112,10 +116,11 @@ const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSel
|
|
|
112
116
|
const comps = await EngageApi.getActivePublicCompetitions();
|
|
113
117
|
const seasons = await EngageApi.getActivePublicSeasons();
|
|
114
118
|
const brackets = await EngageApi.getActivePublicBrackets();
|
|
119
|
+
const pcs = await EngageApi.getActivePublicCampaigns();
|
|
115
120
|
const squares = await EngageApi.getActivePublicSquares();
|
|
116
|
-
const company_ids = EngageHelpers.getCompanyIdsFromEngage(comps, squares, brackets);
|
|
121
|
+
const company_ids = EngageHelpers.getCompanyIdsFromEngage(comps, squares, brackets, pcs);
|
|
117
122
|
const cpanys = await EngageApi.getCompaniesByIds(company_ids);
|
|
118
|
-
const player_ids = EngageHelpers.getPlayerIdsFromEngage(comps, squares, brackets);
|
|
123
|
+
const player_ids = EngageHelpers.getPlayerIdsFromEngage(comps, squares, brackets, pcs);
|
|
119
124
|
const plyers = await EngageApi.getPlayersByPlayerIds(player_ids)
|
|
120
125
|
const opts = await EngageApi.getCompetitionOptions();
|
|
121
126
|
const event_ids = EngageHelpers.getEventIdsFromSquares(squares);
|
|
@@ -128,6 +133,7 @@ const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSel
|
|
|
128
133
|
loading:false,
|
|
129
134
|
competitions:comps,
|
|
130
135
|
competition_seasons: seasons,
|
|
136
|
+
poll_campaigns: pcs.filter(pc => (pc.active_polls??0) > 0),
|
|
131
137
|
bracket_competitions:brackets,
|
|
132
138
|
competition_types: opts.competition_types,
|
|
133
139
|
competition_result_types: opts.competition_result_types,
|
|
@@ -238,6 +244,21 @@ const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSel
|
|
|
238
244
|
)
|
|
239
245
|
}
|
|
240
246
|
|
|
247
|
+
const renderPollCampaigns = (data: { item:PollCampaignProps, index:number }) => {
|
|
248
|
+
const company = companies.find(c => c.company_id == data.item.company_id)
|
|
249
|
+
const admin = players.find(p => p.player_id == data.item.player_id);
|
|
250
|
+
return (
|
|
251
|
+
<View key={data.item.poll_campaign_id.toString()} transparent style={{ margin:10, width:engagement_width }}>
|
|
252
|
+
<PollCampaignCard
|
|
253
|
+
poll_campaign={data.item}
|
|
254
|
+
company={company}
|
|
255
|
+
admin={admin}
|
|
256
|
+
onSelectPollCampaign={(c) => onSelectPollCampaign(c)}
|
|
257
|
+
/>
|
|
258
|
+
</View>
|
|
259
|
+
)
|
|
260
|
+
}
|
|
261
|
+
|
|
241
262
|
const renderSections = (data:{item:string, index:number}) => {
|
|
242
263
|
switch(data.item){
|
|
243
264
|
case 'header':
|
|
@@ -252,6 +273,12 @@ const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSel
|
|
|
252
273
|
/>
|
|
253
274
|
)
|
|
254
275
|
case 'toggle':
|
|
276
|
+
let toggles = [
|
|
277
|
+
{key:'competitions', label: 'Competitions'},
|
|
278
|
+
{key:'brackets', label: 'Brackets'},
|
|
279
|
+
]
|
|
280
|
+
if(poll_campaigns.length > 0){ toggles.push({ key: 'polls', label: 'Predict / Trivia' }) }
|
|
281
|
+
if(squares_competitions.length > 0){ toggles.push({ key: 'squares', label: 'Squares' }) }
|
|
255
282
|
return (
|
|
256
283
|
<View transparent style={{ margin:10 }}>
|
|
257
284
|
{onManage && view_mode == 'mobile' ?
|
|
@@ -265,11 +292,7 @@ const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSel
|
|
|
265
292
|
<Toggle
|
|
266
293
|
background_color={Colors.views.header}
|
|
267
294
|
inactive_title_color={Colors.text.h1}
|
|
268
|
-
options={
|
|
269
|
-
{key:'competitions', label: 'Competitions'},
|
|
270
|
-
{key:'brackets', label: 'Brackets'},
|
|
271
|
-
{key:'squares', label: 'Squares'}
|
|
272
|
-
]}
|
|
295
|
+
options={toggles}
|
|
273
296
|
selected_option={active_tab}
|
|
274
297
|
onSelectOption={(option) => setActiveTab(option as any)}
|
|
275
298
|
/>
|
|
@@ -365,6 +388,22 @@ const EngageModule = ({ view_mode, insets, init_engagement, onBracketRoom, onSel
|
|
|
365
388
|
})}
|
|
366
389
|
</View>
|
|
367
390
|
</View>
|
|
391
|
+
:active_tab == 'polls' ?
|
|
392
|
+
<View transparent>
|
|
393
|
+
<View transparent style={{ marginBottom:15, marginTop:10 }}>
|
|
394
|
+
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
|
|
395
|
+
<View transparent style={{ flex:1 }}>
|
|
396
|
+
<Text theme='h1'>Prediction / Trivia Games</Text>
|
|
397
|
+
<Text style={{ marginTop:3 }} theme='description'>Below are available prediction or trivia games.</Text>
|
|
398
|
+
</View>
|
|
399
|
+
</View>
|
|
400
|
+
</View>
|
|
401
|
+
<View style={{ flexDirection:'row', flexWrap:'wrap', justifyContent:'center' }}>
|
|
402
|
+
{poll_campaigns.sort((a,b) => moment(b.create_datetime).unix() - moment(a.create_datetime).unix()).map((c, i) => {
|
|
403
|
+
return renderPollCampaigns({ item: c, index: i })
|
|
404
|
+
})}
|
|
405
|
+
</View>
|
|
406
|
+
</View>
|
|
368
407
|
:active_tab == 'brackets' ?
|
|
369
408
|
<View transparent>
|
|
370
409
|
<View transparent>
|
package/src/Poll/api/index.ts
CHANGED
|
@@ -171,6 +171,15 @@ const PollCampaignGoalApi = {
|
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
const PollResponseApi = {
|
|
174
|
+
createPMOrder: async(poll_option_id:string, stake:number):Promise<{ poll_response:PollResponseProps, my_leader:PollCampaignLeaderProps, poll_campaign:PollCampaignProps } | undefined> => {
|
|
175
|
+
try {
|
|
176
|
+
const resp = await axios.post(`${AUTH_SVC_API}/v2/pm/action/order`, { poll_option_id, stake });
|
|
177
|
+
return resp.data
|
|
178
|
+
} catch (e) {
|
|
179
|
+
console.log(e);
|
|
180
|
+
return undefined
|
|
181
|
+
}
|
|
182
|
+
},
|
|
174
183
|
createPollResponse : async(poll_response:PollResponseProps):Promise<PollResponseProps> => {
|
|
175
184
|
const resp = await axios.post(`${AUTH_SVC_API}/v1/polls/poll/response/create`, { poll_response })
|
|
176
185
|
return resp.data.poll_response
|
|
@@ -7,14 +7,23 @@ import { useColors } from '../../constants/useColors';
|
|
|
7
7
|
|
|
8
8
|
type CampaignHeaderProps = {
|
|
9
9
|
poll_campaign:PollCampaignProps,
|
|
10
|
+
onBack?:() => void,
|
|
10
11
|
onSharePollCampaign:(pc:PollCampaignProps) => void
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
const CampaignHeader = ({ poll_campaign, onSharePollCampaign }:CampaignHeaderProps) => {
|
|
14
|
+
const CampaignHeader = ({ poll_campaign, onSharePollCampaign, onBack }:CampaignHeaderProps) => {
|
|
14
15
|
const Colors = useColors();
|
|
15
16
|
return (
|
|
16
17
|
<View>
|
|
17
18
|
<View type='header' nativeID="competition_header" style={{ flexDirection:'row', alignItems:'center', padding:20, borderBottomWidth:1 }}>
|
|
19
|
+
{onBack ?
|
|
20
|
+
<Button
|
|
21
|
+
transparent
|
|
22
|
+
style={{ paddingLeft:0, paddingRight:20 }}
|
|
23
|
+
>
|
|
24
|
+
<Icons.ChevronIcon direction='left' color={Colors.text.h1} size={10} />
|
|
25
|
+
</Button>
|
|
26
|
+
:<></>}
|
|
18
27
|
<View transparent>
|
|
19
28
|
<Image
|
|
20
29
|
source={{ uri: poll_campaign.campaign_image?.url ?? 'https://res.cloudinary.com/hoabts6mc/image/upload/v1649737862/be_logo_jte2ux.webp' }}
|
|
@@ -100,9 +100,9 @@ const CampaignLeaderboard = ({ poll_campaign, height, mode, view_mode, onShowFul
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
return (
|
|
103
|
-
<View float style={{ flex:1,
|
|
103
|
+
<View float style={{ flex:1, maxHeight: height-20, width: mode == 'desktop'?500:undefined }}>
|
|
104
104
|
{my_leader && me ?
|
|
105
|
-
<View type='header' nativeID="my_results" style={{ padding:10
|
|
105
|
+
<View type='header' nativeID="my_results" style={{ padding:10 }}>
|
|
106
106
|
<Text style={{ padding:10 }} size={14} theme='h1' weight='bold'>My Results</Text>
|
|
107
107
|
<View float style={{ flexDirection:'row', alignItems:'center', margin:4, padding:5, borderRadius:22 }}>
|
|
108
108
|
<View transparent nativeID="player" style={{ flex:1, flexDirection:'row', alignItems:'center' }}>
|
package/src/Poll/index.tsx
CHANGED
|
@@ -17,14 +17,17 @@ type PollCampaignModuleProps = {
|
|
|
17
17
|
player_id?:string,
|
|
18
18
|
view_mode:'desktop'|'mobile',
|
|
19
19
|
distinct_id:string,
|
|
20
|
+
insets?:{ top:number, bottom:number, left:number, right:number },
|
|
21
|
+
onBack?:() => void,
|
|
20
22
|
onEvent?:(be_event:BEEventProps) => void,
|
|
21
23
|
onRequestAuthenticate: (auth_strategy_id?:string, company_id?:string) => void,
|
|
22
24
|
onSharePollCampaign: (poll_campaign:PollCampaignProps) => void,
|
|
23
25
|
onComplete:() => void
|
|
26
|
+
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
const sections = ['header', 'progress', 'results','questions']
|
|
27
|
-
const PollCampaign = ({ distinct_id, view_mode, poll_campaign_id, player_id, onRequestAuthenticate, onSharePollCampaign }: PollCampaignModuleProps ) => {
|
|
30
|
+
const PollCampaign = ({ distinct_id, view_mode, poll_campaign_id, player_id, insets, onBack, onRequestAuthenticate, onSharePollCampaign }: PollCampaignModuleProps ) => {
|
|
28
31
|
const [ needs_reload, setNeedsReload ] = useState(false);
|
|
29
32
|
const [ socket_polls, setSocketPolls ] = useState<PollProps[]>([]);
|
|
30
33
|
const [ socket_campaign, setSocketCampaign ] = useState<PollCampaignProps|undefined>(undefined);
|
|
@@ -96,12 +99,15 @@ const PollCampaign = ({ distinct_id, view_mode, poll_campaign_id, player_id, onR
|
|
|
96
99
|
const handleSubmitResponse = async(pr:PollResponseProps) => {
|
|
97
100
|
if(!player_id){ return onRequestAuthenticate(poll_campaign?.auth_strategy_id, poll_campaign?.company_id) }
|
|
98
101
|
try {
|
|
102
|
+
if(!pr.poll_option_id || !pr.stake){ return }
|
|
99
103
|
if(action_loading){ return }
|
|
100
104
|
setMyData({ ...my_data, action_loading: true })
|
|
101
|
-
let new_pr = await PollResponseApi.createPollResponse(pr);
|
|
105
|
+
//let new_pr = await PollResponseApi.createPollResponse(pr);
|
|
106
|
+
let response = await PollResponseApi.createPMOrder(pr.poll_option_id, parseFloat(pr.stake as string))
|
|
107
|
+
if(!response){ return setMyData({ ...my_data, action_loading:false }) }
|
|
102
108
|
setMyData({
|
|
103
109
|
...my_data,
|
|
104
|
-
poll_responses: poll_responses.filter(pr => pr.poll_response_id !=
|
|
110
|
+
poll_responses: poll_responses.filter(pr => pr.poll_response_id != response.poll_response.poll_response_id).concat(response.poll_response)
|
|
105
111
|
})
|
|
106
112
|
} catch (e) {
|
|
107
113
|
alert('Unable to process!')
|
|
@@ -126,6 +132,7 @@ const PollCampaign = ({ distinct_id, view_mode, poll_campaign_id, player_id, onR
|
|
|
126
132
|
if(!poll_campaign){ return <></> }
|
|
127
133
|
return (
|
|
128
134
|
<CampaignHeader
|
|
135
|
+
onBack={onBack}
|
|
129
136
|
poll_campaign={poll_campaign}
|
|
130
137
|
onSharePollCampaign={onSharePollCampaign}
|
|
131
138
|
/>
|
|
@@ -191,7 +198,7 @@ const PollCampaign = ({ distinct_id, view_mode, poll_campaign_id, player_id, onR
|
|
|
191
198
|
transparent
|
|
192
199
|
visible={active_poll_id ? true : false}
|
|
193
200
|
>
|
|
194
|
-
<View type='blur' style={view_mode=='desktop'?{flex:1, justifyContent:'center', alignItems:'center'}:{ flex:1, justifyContent:'flex-end', padding:12 }}>
|
|
201
|
+
<View type='blur' style={view_mode=='desktop'?{flex:1, justifyContent:'center', alignItems:'center'}:{ flex:1, justifyContent:'flex-end', padding:12, paddingBottom:(insets?.bottom??0) + 12, paddingTop:(insets?.top??0) + 12 }}>
|
|
195
202
|
<PollCard
|
|
196
203
|
poll_id={active_poll_id}
|
|
197
204
|
action_loading={action_loading}
|
|
@@ -213,7 +220,7 @@ const PollCampaign = ({ distinct_id, view_mode, poll_campaign_id, player_id, onR
|
|
|
213
220
|
visible={full_leaderboard?true:false}
|
|
214
221
|
style={{ flex:1 }}
|
|
215
222
|
>
|
|
216
|
-
<View type='blur' style={view_mode=='desktop'?{flex:1, justifyContent:'center', alignItems:'center'}:{ flex:1, justifyContent:'flex-end', padding:12 }}>
|
|
223
|
+
<View type='blur' style={view_mode=='desktop'?{flex:1, justifyContent:'center', alignItems:'center'}:{ flex:1, justifyContent:'flex-end', padding:12, paddingBottom:(insets?.bottom??0) + 12, paddingTop:(insets?.top??0) + 12 }}>
|
|
217
224
|
<CampaignLeaderboard
|
|
218
225
|
poll_campaign={poll_campaign}
|
|
219
226
|
view_mode='full'
|
package/src/types.d.ts
CHANGED
|
@@ -729,6 +729,8 @@ export interface PollCampaignProps {
|
|
|
729
729
|
admins:string[],
|
|
730
730
|
phone:string,
|
|
731
731
|
total_responses:number,
|
|
732
|
+
prize_image?:any,
|
|
733
|
+
prize_override?:string,
|
|
732
734
|
status: string,
|
|
733
735
|
campaign_type: 'predict'|'trivia'|'feedback',
|
|
734
736
|
active_polls?:number,
|
|
@@ -770,18 +772,24 @@ export interface PollCampaignGoalProps {
|
|
|
770
772
|
}
|
|
771
773
|
|
|
772
774
|
|
|
775
|
+
|
|
773
776
|
export interface PollCampaignLeaderProps {
|
|
774
777
|
poll_campaign_leader_id:string,
|
|
775
778
|
poll_campaign_id:string,
|
|
776
779
|
player_id:string,
|
|
777
780
|
place:number,
|
|
781
|
+
status: 'inprogress'|'closed',
|
|
778
782
|
winnings:number,
|
|
779
|
-
|
|
783
|
+
potential_winnings:number,
|
|
784
|
+
staked:number,
|
|
780
785
|
responses:number,
|
|
786
|
+
earnings:number,
|
|
787
|
+
resolved_datetime?:any,
|
|
781
788
|
create_datetime:any,
|
|
782
789
|
last_update_datetime:any
|
|
783
790
|
}
|
|
784
791
|
|
|
792
|
+
|
|
785
793
|
export interface PollProps {
|
|
786
794
|
poll_id:string,
|
|
787
795
|
poll_campaign_id:string,
|