be-components 6.6.3 → 6.6.5
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/Components/ConfirmAlert.js +34 -0
- package/lib/commonjs/Components/ConfirmAlert.js.map +1 -0
- package/lib/commonjs/Group/api/index.js +108 -9
- package/lib/commonjs/Group/api/index.js.map +1 -1
- package/lib/commonjs/Group/components/GroupCTAButton.js +23 -21
- package/lib/commonjs/Group/components/GroupCTAButton.js.map +1 -1
- package/lib/commonjs/Group/index.js +372 -91
- package/lib/commonjs/Group/index.js.map +1 -1
- package/lib/module/Components/ConfirmAlert.js +29 -0
- package/lib/module/Components/ConfirmAlert.js.map +1 -0
- package/lib/module/Group/api/index.js +108 -9
- package/lib/module/Group/api/index.js.map +1 -1
- package/lib/module/Group/components/GroupCTAButton.js +23 -21
- package/lib/module/Group/components/GroupCTAButton.js.map +1 -1
- package/lib/module/Group/index.js +372 -91
- package/lib/module/Group/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/Components/ConfirmAlert.d.ts +6 -0
- package/lib/typescript/lib/commonjs/Components/ConfirmAlert.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Group/api/index.d.ts +9 -1
- package/lib/typescript/lib/commonjs/Group/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Group/components/GroupCTAButton.d.ts +3 -1
- package/lib/typescript/lib/commonjs/Group/components/GroupCTAButton.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Group/index.d.ts +5 -1
- package/lib/typescript/lib/commonjs/Group/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Components/ConfirmAlert.d.ts +5 -0
- package/lib/typescript/lib/module/Components/ConfirmAlert.d.ts.map +1 -0
- package/lib/typescript/lib/module/Group/api/index.d.ts +9 -1
- package/lib/typescript/lib/module/Group/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Group/components/GroupCTAButton.d.ts +3 -1
- package/lib/typescript/lib/module/Group/components/GroupCTAButton.d.ts.map +1 -1
- package/lib/typescript/lib/module/Group/index.d.ts +5 -1
- package/lib/typescript/lib/module/Group/index.d.ts.map +1 -1
- package/lib/typescript/src/Components/ConfirmAlert.d.ts +5 -0
- package/lib/typescript/src/Components/ConfirmAlert.d.ts.map +1 -0
- package/lib/typescript/src/Group/api/index.d.ts +15 -2
- package/lib/typescript/src/Group/api/index.d.ts.map +1 -1
- package/lib/typescript/src/Group/components/GroupCTAButton.d.ts +4 -1
- package/lib/typescript/src/Group/components/GroupCTAButton.d.ts.map +1 -1
- package/lib/typescript/src/Group/index.d.ts +6 -2
- package/lib/typescript/src/Group/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Components/ConfirmAlert.tsx +39 -0
- package/src/Group/api/index.ts +81 -11
- package/src/Group/components/GroupCTAButton.tsx +12 -10
- package/src/Group/index.tsx +263 -77
|
@@ -17,17 +17,50 @@ var _CompetitionCard = _interopRequireDefault(require("../Engage/components/Comp
|
|
|
17
17
|
var _SocialComponents = require("../SocialComponents");
|
|
18
18
|
var _Pagination = _interopRequireDefault(require("../Components/Pagination"));
|
|
19
19
|
var _GroupCTAButton = _interopRequireDefault(require("./components/GroupCTAButton"));
|
|
20
|
+
var _PollCampaignCard = _interopRequireDefault(require("../Engage/components/PollCampaignCard"));
|
|
21
|
+
var _SquaresCompetitionCard = _interopRequireDefault(require("../Engage/components/SquaresCompetitionCard"));
|
|
22
|
+
var _ConfirmAlert = require("../Components/ConfirmAlert");
|
|
20
23
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
24
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
22
|
-
const sections = ['header', 'chat', '
|
|
25
|
+
const sections = ['header', 'chat', 'toggle', 'me', 'competition_toggle', 'new_competition', 'members', 'competitions', 'activity'];
|
|
26
|
+
const member_stat_options = [{
|
|
27
|
+
stat_key: 'roi_pct',
|
|
28
|
+
label: 'ROI Percent',
|
|
29
|
+
multiplier: 100,
|
|
30
|
+
suffix: '%'
|
|
31
|
+
}, {
|
|
32
|
+
stat_key: 'winnings',
|
|
33
|
+
label: 'Winnings',
|
|
34
|
+
multiplier: 1,
|
|
35
|
+
prefix: '$'
|
|
36
|
+
}, {
|
|
37
|
+
stat_key: 'win_pct',
|
|
38
|
+
label: 'Win Percent',
|
|
39
|
+
multiplier: 100,
|
|
40
|
+
suffix: '%'
|
|
41
|
+
}, {
|
|
42
|
+
stat_key: 'fulfilled_positions',
|
|
43
|
+
label: 'Matched Bets',
|
|
44
|
+
multiplier: 1,
|
|
45
|
+
suffix: ' Bets'
|
|
46
|
+
}, {
|
|
47
|
+
stat_key: 'original_stake',
|
|
48
|
+
label: 'Betting Volume',
|
|
49
|
+
multiplier: 1,
|
|
50
|
+
prefix: '$'
|
|
51
|
+
}];
|
|
23
52
|
const GroupComponent = ({
|
|
53
|
+
refresh_key,
|
|
24
54
|
group_id,
|
|
25
55
|
player,
|
|
26
56
|
mode,
|
|
27
57
|
onInvitePlayer,
|
|
28
58
|
onSelectCompetition,
|
|
29
59
|
onSelectChat,
|
|
30
|
-
onSelectPlayer
|
|
60
|
+
onSelectPlayer,
|
|
61
|
+
onNudgePlayer,
|
|
62
|
+
onSelectPollCampaign,
|
|
63
|
+
onSelectSquaresCompetition
|
|
31
64
|
}) => {
|
|
32
65
|
const Colors = (0, _useColors.useColors)();
|
|
33
66
|
const leader_options = [{
|
|
@@ -62,6 +95,9 @@ const GroupComponent = ({
|
|
|
62
95
|
toggle: 'upcoming',
|
|
63
96
|
competition_payout_types: [],
|
|
64
97
|
competition_result_types: [],
|
|
98
|
+
events: [],
|
|
99
|
+
squares_competitions: [],
|
|
100
|
+
poll_campaigns: [],
|
|
65
101
|
competition_types: [],
|
|
66
102
|
active_competitions: [],
|
|
67
103
|
competition_players: [],
|
|
@@ -83,28 +119,35 @@ const GroupComponent = ({
|
|
|
83
119
|
group_messages: [],
|
|
84
120
|
editing: false,
|
|
85
121
|
show_player_status: false,
|
|
122
|
+
stats_expanded: false,
|
|
86
123
|
active_toggle: 'members',
|
|
124
|
+
active_stat: member_stat_options[0],
|
|
87
125
|
group_players: [],
|
|
88
126
|
players: []
|
|
89
127
|
});
|
|
90
128
|
const {
|
|
91
129
|
loading,
|
|
92
130
|
group,
|
|
131
|
+
action_loading,
|
|
132
|
+
stats_expanded,
|
|
93
133
|
active_toggle,
|
|
94
134
|
editing,
|
|
95
135
|
show_player_status,
|
|
136
|
+
active_stat,
|
|
96
137
|
group_messages,
|
|
97
138
|
group_players,
|
|
98
139
|
my_group_player,
|
|
99
140
|
players
|
|
100
141
|
} = group_data;
|
|
142
|
+
const admin = player?.player_id == group?.group_admin ? true : false;
|
|
101
143
|
const {
|
|
102
144
|
sorted_players,
|
|
103
145
|
player_analytics
|
|
104
|
-
} = _api.GroupHelpers.sortMembers(group_players, order_analytics);
|
|
146
|
+
} = _api.GroupHelpers.sortMembers(group_players, order_analytics, active_stat?.stat_key);
|
|
147
|
+
const sorted_engagements = _api.GroupHelpers.sortCompetitionAction([], comp_data.active_competitions, [], comp_data.squares_competitions, comp_data.poll_campaigns);
|
|
105
148
|
(0, _react.useEffect)(() => {
|
|
106
149
|
getGroupData(group_id);
|
|
107
|
-
}, [group_id]);
|
|
150
|
+
}, [group_id, refresh_key]);
|
|
108
151
|
(0, _react.useEffect)(() => {
|
|
109
152
|
getToggleData(active_toggle);
|
|
110
153
|
}, [active_toggle]);
|
|
@@ -126,7 +169,7 @@ const GroupComponent = ({
|
|
|
126
169
|
const getActitiyData = async page => {
|
|
127
170
|
setActivityData({
|
|
128
171
|
...activity_data,
|
|
129
|
-
loading:
|
|
172
|
+
loading: true
|
|
130
173
|
});
|
|
131
174
|
const activity = await _api.GroupApi.getPostsByGroupId(group_id, page);
|
|
132
175
|
let order_ids = [];
|
|
@@ -151,16 +194,30 @@ const GroupComponent = ({
|
|
|
151
194
|
competition_records: [],
|
|
152
195
|
competition_results: []
|
|
153
196
|
};
|
|
197
|
+
let server_polls = [];
|
|
198
|
+
let server_sq = [];
|
|
199
|
+
let server_events = [];
|
|
154
200
|
if (type == 'upcoming') {
|
|
155
201
|
resp = await _api.GroupApi.getActiveCompetitions(group_id);
|
|
202
|
+
server_polls = await _api.GroupApi.getActivePolls(group_id);
|
|
203
|
+
server_sq = await _api.GroupApi.getActiveSquares(group_id);
|
|
204
|
+
let event_ids = server_sq.map(sq => sq.event_id);
|
|
205
|
+
server_events = await _api.GroupApi.getEventsByIds(event_ids);
|
|
156
206
|
} else {
|
|
157
207
|
resp = await _api.GroupApi.getHistoryCompetitions(group_id, page);
|
|
208
|
+
server_polls = await _api.GroupApi.getHistoryPolls(group_id, page);
|
|
209
|
+
server_sq = await _api.GroupApi.getHistorySquares(group_id, page);
|
|
210
|
+
let event_ids = server_sq.map(sq => sq.event_id);
|
|
211
|
+
server_events = await _api.GroupApi.getEventsByIds(event_ids);
|
|
158
212
|
}
|
|
159
213
|
const opts = await _api.GroupApi.getCompetitionOptions();
|
|
160
214
|
setCompData({
|
|
161
215
|
...comp_data,
|
|
162
216
|
loading: false,
|
|
163
217
|
toggle: type,
|
|
218
|
+
poll_campaigns: server_polls,
|
|
219
|
+
squares_competitions: server_sq,
|
|
220
|
+
events: server_events,
|
|
164
221
|
competition_players: resp.competition_players,
|
|
165
222
|
competition_records: resp.competition_records,
|
|
166
223
|
competition_results: resp.competition_results,
|
|
@@ -213,11 +270,13 @@ const GroupComponent = ({
|
|
|
213
270
|
});
|
|
214
271
|
};
|
|
215
272
|
const renderPlayers = data => {
|
|
216
|
-
const
|
|
217
|
-
if (!
|
|
273
|
+
const pl = players.find(p => p.player_id == data.item.player_id);
|
|
274
|
+
if (!pl) {
|
|
218
275
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
219
276
|
}
|
|
220
277
|
const player_analytic = player_analytics[data.item.player_id];
|
|
278
|
+
const analytic = player_analytic ? player_analytic[active_stat?.stat_key] : 0;
|
|
279
|
+
const is_loading = action_loading == data.item.group_player_id ? true : false;
|
|
221
280
|
return /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
222
281
|
transparent: true,
|
|
223
282
|
style: {
|
|
@@ -228,8 +287,36 @@ const GroupComponent = ({
|
|
|
228
287
|
borderColor: Colors.borders.light,
|
|
229
288
|
borderRadius: 0
|
|
230
289
|
},
|
|
231
|
-
onPress: () => onSelectPlayer(
|
|
232
|
-
}, /*#__PURE__*/_react.default.createElement(_Themed.
|
|
290
|
+
onPress: () => onSelectPlayer(pl)
|
|
291
|
+
}, admin && data.item.player_id != player?.player_id ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
292
|
+
title: "X",
|
|
293
|
+
title_color: Colors.text.error,
|
|
294
|
+
loading: is_loading,
|
|
295
|
+
style: {
|
|
296
|
+
padding: 10,
|
|
297
|
+
opacity: is_loading ? 0.5 : 1
|
|
298
|
+
},
|
|
299
|
+
onPress: () => {
|
|
300
|
+
(0, _ConfirmAlert.showConfirmAlert)('Are you sure?', 'This will boot and ban this player from the group. You can unban the player later', async () => {
|
|
301
|
+
//Ok we have confirmed it!
|
|
302
|
+
let new_pl = await _api.GroupApi.bootPlayer(data.item.group_player_id);
|
|
303
|
+
if (!new_pl) {
|
|
304
|
+
setGroupData({
|
|
305
|
+
...group_data,
|
|
306
|
+
action_loading: undefined
|
|
307
|
+
});
|
|
308
|
+
return alert('Unable to boot player at this time. Please try again');
|
|
309
|
+
}
|
|
310
|
+
setGroupData({
|
|
311
|
+
...group_data,
|
|
312
|
+
action_loading: undefined,
|
|
313
|
+
group_players: group_players.filter(gp => gp.group_player_id != new_pl.group_player_id).concat(new_pl)
|
|
314
|
+
});
|
|
315
|
+
}), () => {
|
|
316
|
+
console.log('cancelled');
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
233
320
|
float: true,
|
|
234
321
|
style: {
|
|
235
322
|
borderRadius: 100,
|
|
@@ -237,7 +324,7 @@ const GroupComponent = ({
|
|
|
237
324
|
}
|
|
238
325
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
|
|
239
326
|
source: {
|
|
240
|
-
uri:
|
|
327
|
+
uri: pl.profile_pic
|
|
241
328
|
},
|
|
242
329
|
style: {
|
|
243
330
|
height: 45,
|
|
@@ -253,32 +340,123 @@ const GroupComponent = ({
|
|
|
253
340
|
}
|
|
254
341
|
}, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
255
342
|
theme: "h1"
|
|
256
|
-
}, "@",
|
|
343
|
+
}, "@", pl.username), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
257
344
|
theme: "description",
|
|
258
345
|
style: {
|
|
259
346
|
marginTop: 3
|
|
260
347
|
}
|
|
261
|
-
},
|
|
262
|
-
|
|
263
|
-
|
|
348
|
+
}, data.item.status == 'active' ? 'Joined' : 'Invited', " ", (0, _momentMini.default)(data.item.last_update_datetime).fromNow())), active_stat && player_analytic && data.item.status == 'active' ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
349
|
+
style: {
|
|
350
|
+
alignItems: 'flex-end'
|
|
351
|
+
}
|
|
352
|
+
}, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
353
|
+
theme: "h1"
|
|
354
|
+
}, active_stat.prefix, (parseFloat(analytic) * active_stat.multiplier).toFixed(2), active_stat.suffix), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
355
|
+
theme: "light",
|
|
356
|
+
style: {
|
|
357
|
+
marginTop: 3
|
|
358
|
+
}
|
|
359
|
+
}, active_stat.label)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), data.item.status == 'invited' ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
360
|
+
disabled: !admin,
|
|
361
|
+
type: "text",
|
|
362
|
+
style: {
|
|
363
|
+
padding: 10,
|
|
364
|
+
opacity: is_loading ? 0.5 : 1
|
|
365
|
+
},
|
|
366
|
+
loading: is_loading,
|
|
367
|
+
title_color: Colors.text.action,
|
|
368
|
+
title: admin ? 'Nudge' : 'Invited',
|
|
369
|
+
onPress: () => onNudgePlayer(pl, data.item)
|
|
370
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), admin && data.item.status == 'invited' ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
371
|
+
transparent: true,
|
|
372
|
+
style: {
|
|
373
|
+
padding: 10,
|
|
374
|
+
opacity: is_loading ? 0.5 : 1
|
|
375
|
+
},
|
|
376
|
+
title_color: Colors.text.error,
|
|
377
|
+
loading: is_loading,
|
|
378
|
+
title: "Uninvite",
|
|
379
|
+
onPress: async () => {
|
|
380
|
+
setGroupData({
|
|
381
|
+
...group_data,
|
|
382
|
+
action_loading: data.item.group_player_id
|
|
383
|
+
});
|
|
384
|
+
const new_pl = await _api.GroupApi.uninvitePlayer(data.item.group_player_id);
|
|
385
|
+
if (!new_pl) {
|
|
386
|
+
setGroupData({
|
|
387
|
+
...group_data,
|
|
388
|
+
action_loading: undefined
|
|
389
|
+
});
|
|
390
|
+
return alert('Unable to uninvite player. Please try again');
|
|
391
|
+
}
|
|
392
|
+
setGroupData({
|
|
393
|
+
...group_data,
|
|
394
|
+
action_loading: undefined,
|
|
395
|
+
group_players: group_players.filter(gp => gp.group_player_id != new_pl.group_player_id).concat(new_pl)
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null));
|
|
264
399
|
};
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
400
|
+
const renderEngagements = data => {
|
|
401
|
+
switch (data.item.type) {
|
|
402
|
+
case 'competition':
|
|
403
|
+
const competition = comp_data.active_competitions.find(c => c.competition_id == data.item.id);
|
|
404
|
+
if (!competition) {
|
|
405
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
406
|
+
}
|
|
407
|
+
const type = comp_data.competition_types.find(t => t.competition_type_id == competition.competition_type_id);
|
|
408
|
+
const result = comp_data.competition_result_types.find(r => r.competition_result_type_id == competition.competition_result_type_id);
|
|
409
|
+
if (!type || !result) {
|
|
410
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
411
|
+
}
|
|
412
|
+
const my_result = comp_data.competition_results.find(cr => cr.player_id == player?.player_id && cr.competition_id == competition.competition_id);
|
|
413
|
+
const my_record = comp_data.competition_records.find(cr => cr.player_id == player?.player_id && cr.competition_id == competition.competition_id);
|
|
414
|
+
return /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
415
|
+
style: {
|
|
416
|
+
padding: 5
|
|
417
|
+
}
|
|
418
|
+
}, /*#__PURE__*/_react.default.createElement(_CompetitionCard.default, {
|
|
419
|
+
competition: competition,
|
|
420
|
+
player: player,
|
|
421
|
+
competition_type: type,
|
|
422
|
+
competition_record: my_record,
|
|
423
|
+
competition_result: my_result,
|
|
424
|
+
competition_result_type: result,
|
|
425
|
+
onCompetitionSelect: onSelectCompetition
|
|
426
|
+
}));
|
|
427
|
+
case 'bracket':
|
|
428
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
429
|
+
case 'squares':
|
|
430
|
+
const squares_comp = comp_data.squares_competitions.find(sc => sc.sq_comp_id == data.item.id);
|
|
431
|
+
if (!squares_comp) {
|
|
432
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
433
|
+
}
|
|
434
|
+
const event = comp_data.events.find(e => e.event_id == squares_comp.event_id);
|
|
435
|
+
return /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
436
|
+
style: {
|
|
437
|
+
padding: 5
|
|
438
|
+
}
|
|
439
|
+
}, /*#__PURE__*/_react.default.createElement(_SquaresCompetitionCard.default, {
|
|
440
|
+
squares_competition: squares_comp,
|
|
441
|
+
event: event,
|
|
442
|
+
onSelectCompetition: onSelectSquaresCompetition
|
|
443
|
+
}));
|
|
444
|
+
case 'poll_campaign':
|
|
445
|
+
const poll_campaign = comp_data.poll_campaigns.find(pc => pc.poll_campaign_id == data.item.id);
|
|
446
|
+
if (!poll_campaign) {
|
|
447
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
448
|
+
}
|
|
449
|
+
return /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
450
|
+
style: {
|
|
451
|
+
padding: 5
|
|
452
|
+
}
|
|
453
|
+
}, /*#__PURE__*/_react.default.createElement(_PollCampaignCard.default, {
|
|
454
|
+
poll_campaign: poll_campaign,
|
|
455
|
+
onSelectPollCampaign: onSelectPollCampaign
|
|
456
|
+
}));
|
|
457
|
+
default:
|
|
458
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
270
459
|
}
|
|
271
|
-
const my_result = comp_data.competition_results.find(cr => cr.player_id == player?.player_id && cr.competition_id == data.item.competition_id);
|
|
272
|
-
const my_record = comp_data.competition_records.find(cr => cr.player_id == player?.player_id && cr.competition_id == data.item.competition_id);
|
|
273
|
-
return /*#__PURE__*/_react.default.createElement(_CompetitionCard.default, {
|
|
274
|
-
competition: data.item,
|
|
275
|
-
player: player,
|
|
276
|
-
competition_type: type,
|
|
277
|
-
competition_record: my_record,
|
|
278
|
-
competition_result: my_result,
|
|
279
|
-
competition_result_type: result,
|
|
280
|
-
onCompetitionSelect: onSelectCompetition
|
|
281
|
-
});
|
|
282
460
|
};
|
|
283
461
|
const renderPosts = data => {
|
|
284
462
|
let player = players.find(p => p.player_id == data.item.player_id);
|
|
@@ -364,13 +542,49 @@ const GroupComponent = ({
|
|
|
364
542
|
}
|
|
365
543
|
}, /*#__PURE__*/_react.default.createElement(_GroupCTAButton.default, {
|
|
366
544
|
group: group,
|
|
367
|
-
|
|
545
|
+
hide_from_player: true,
|
|
546
|
+
message_length: 20,
|
|
368
547
|
players: players,
|
|
369
548
|
group_messages: group_messages,
|
|
370
549
|
group_players: group_players,
|
|
371
550
|
onSelectChat: onSelectChat
|
|
372
551
|
}));
|
|
552
|
+
case 'new_competition':
|
|
553
|
+
if (active_toggle != 'competitions') {
|
|
554
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
555
|
+
}
|
|
556
|
+
return /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
557
|
+
type: "footer",
|
|
558
|
+
style: {
|
|
559
|
+
flexDirection: 'row',
|
|
560
|
+
alignItems: 'center',
|
|
561
|
+
padding: 10
|
|
562
|
+
}
|
|
563
|
+
}, /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
564
|
+
transparent: true,
|
|
565
|
+
style: {
|
|
566
|
+
flex: 1,
|
|
567
|
+
marginRight: 10
|
|
568
|
+
}
|
|
569
|
+
}, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
570
|
+
theme: "h2"
|
|
571
|
+
}, "CREATE A NEW COMPETITION"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
572
|
+
theme: "description",
|
|
573
|
+
style: {
|
|
574
|
+
marginTop: 3
|
|
575
|
+
}
|
|
576
|
+
}, "Create a new pick-em or other engagement for this group!")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
577
|
+
type: "success",
|
|
578
|
+
style: {
|
|
579
|
+
padding: 10
|
|
580
|
+
},
|
|
581
|
+
title: "CREATE",
|
|
582
|
+
onPress: () => console.log('New competition!')
|
|
583
|
+
}));
|
|
373
584
|
case 'me':
|
|
585
|
+
if (active_toggle != 'members') {
|
|
586
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
587
|
+
}
|
|
374
588
|
return /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
375
589
|
type: "row",
|
|
376
590
|
style: {
|
|
@@ -421,7 +635,7 @@ const GroupComponent = ({
|
|
|
421
635
|
...group_data,
|
|
422
636
|
show_player_status: true
|
|
423
637
|
})
|
|
424
|
-
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), !my_group_player || my_group_player.status == 'inactive' ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
638
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), !group?.invite_only && (!my_group_player || my_group_player.status == 'inactive') ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
425
639
|
type: "success",
|
|
426
640
|
title: "JOIN",
|
|
427
641
|
style: {
|
|
@@ -431,7 +645,7 @@ const GroupComponent = ({
|
|
|
431
645
|
...group_data,
|
|
432
646
|
show_player_status: true
|
|
433
647
|
})
|
|
434
|
-
}) : my_group_player?.status != 'invited' ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
648
|
+
}) : my_group_player?.status != 'invited' && !admin ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
435
649
|
type: "error",
|
|
436
650
|
title: "LEAVE",
|
|
437
651
|
style: {
|
|
@@ -441,7 +655,10 @@ const GroupComponent = ({
|
|
|
441
655
|
...group_data,
|
|
442
656
|
show_player_status: true
|
|
443
657
|
})
|
|
444
|
-
}) :
|
|
658
|
+
}) : my_group_player?.status != 'invited' && admin ? /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
659
|
+
theme: "h1",
|
|
660
|
+
color: Colors.text.gold
|
|
661
|
+
}, "ADMIN") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null));
|
|
445
662
|
case 'toggle':
|
|
446
663
|
return /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
447
664
|
style: {
|
|
@@ -456,7 +673,7 @@ const GroupComponent = ({
|
|
|
456
673
|
label: 'Activity'
|
|
457
674
|
}, {
|
|
458
675
|
key: 'competitions',
|
|
459
|
-
label: '
|
|
676
|
+
label: 'Engagements'
|
|
460
677
|
}],
|
|
461
678
|
selected_option: active_toggle,
|
|
462
679
|
onSelectOption: option => setGroupData({
|
|
@@ -479,12 +696,15 @@ const GroupComponent = ({
|
|
|
479
696
|
style: {
|
|
480
697
|
padding: 10
|
|
481
698
|
}
|
|
482
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
699
|
+
}, activity_data.loading ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
700
|
+
style: {
|
|
701
|
+
padding: 20,
|
|
702
|
+
alignSelf: 'center'
|
|
703
|
+
},
|
|
704
|
+
size: 'large',
|
|
705
|
+
color: Colors.text.h1
|
|
706
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
|
|
707
|
+
data: activity_data.posts.sort((a, b) => (0, _momentMini.default)(b.create_datetime).unix() - (0, _momentMini.default)(a.create_datetime).unix()),
|
|
488
708
|
key: 'post_list',
|
|
489
709
|
keyExtractor: item => item.memo_post_id.toString(),
|
|
490
710
|
renderItem: renderPosts
|
|
@@ -493,7 +713,91 @@ const GroupComponent = ({
|
|
|
493
713
|
if (active_toggle != 'members') {
|
|
494
714
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
495
715
|
}
|
|
496
|
-
return /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
716
|
+
return /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
717
|
+
type: "header",
|
|
718
|
+
style: {
|
|
719
|
+
flexDirection: 'row',
|
|
720
|
+
alignItems: 'center',
|
|
721
|
+
padding: 10,
|
|
722
|
+
zIndex: 10
|
|
723
|
+
}
|
|
724
|
+
}, /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
725
|
+
transparent: true,
|
|
726
|
+
style: {
|
|
727
|
+
flex: 1,
|
|
728
|
+
marginRight: 10
|
|
729
|
+
}
|
|
730
|
+
}, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
731
|
+
theme: "h1"
|
|
732
|
+
}, "Group Members"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
733
|
+
theme: "description"
|
|
734
|
+
}, "Active and invited members are show below. You can sort the members by different leaderboards using the dropdown on the right.")), /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
735
|
+
float: true
|
|
736
|
+
}, /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
737
|
+
transparent: true,
|
|
738
|
+
style: {
|
|
739
|
+
flexDirection: 'row',
|
|
740
|
+
alignItems: 'center',
|
|
741
|
+
padding: 10
|
|
742
|
+
},
|
|
743
|
+
onPress: () => setGroupData({
|
|
744
|
+
...group_data,
|
|
745
|
+
stats_expanded: !stats_expanded
|
|
746
|
+
})
|
|
747
|
+
}, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
748
|
+
style: {
|
|
749
|
+
marginRight: 5
|
|
750
|
+
},
|
|
751
|
+
theme: "h2"
|
|
752
|
+
}, active_stat?.label ?? 'Select'), /*#__PURE__*/_react.default.createElement(_Components.Icons.ChevronIcon, {
|
|
753
|
+
direction: stats_expanded ? 'up' : 'down',
|
|
754
|
+
color: Colors.text.h1,
|
|
755
|
+
size: 8
|
|
756
|
+
})), stats_expanded ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
757
|
+
float: true,
|
|
758
|
+
style: {
|
|
759
|
+
position: 'absolute',
|
|
760
|
+
top: 0,
|
|
761
|
+
right: 0,
|
|
762
|
+
width: 200
|
|
763
|
+
}
|
|
764
|
+
}, member_stat_options.map(so => {
|
|
765
|
+
return /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
766
|
+
transparent: true,
|
|
767
|
+
style: {
|
|
768
|
+
padding: 10,
|
|
769
|
+
borderRadius: 0,
|
|
770
|
+
borderBottomWidth: 1,
|
|
771
|
+
borderColor: Colors.borders.light
|
|
772
|
+
},
|
|
773
|
+
onPress: () => setGroupData({
|
|
774
|
+
...group_data,
|
|
775
|
+
active_stat: so,
|
|
776
|
+
stats_expanded: false
|
|
777
|
+
})
|
|
778
|
+
}, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
779
|
+
theme: "h1"
|
|
780
|
+
}, so.label));
|
|
781
|
+
})) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null))), /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
782
|
+
style: {
|
|
783
|
+
padding: 10
|
|
784
|
+
}
|
|
785
|
+
}, /*#__PURE__*/_react.default.createElement(_Components.Toggle, {
|
|
786
|
+
options: leader_options.map(o => {
|
|
787
|
+
return {
|
|
788
|
+
key: o.option,
|
|
789
|
+
label: o.label
|
|
790
|
+
};
|
|
791
|
+
}),
|
|
792
|
+
selected_option: time_option?.option,
|
|
793
|
+
onSelectOption: option => {
|
|
794
|
+
const selected = leader_options.find(o => o.option == option);
|
|
795
|
+
if (!selected) {
|
|
796
|
+
return;
|
|
797
|
+
}
|
|
798
|
+
getGroupAnalytics(group_id, selected);
|
|
799
|
+
}
|
|
800
|
+
})), /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
497
801
|
style: {
|
|
498
802
|
padding: 10
|
|
499
803
|
}
|
|
@@ -501,8 +805,10 @@ const GroupComponent = ({
|
|
|
501
805
|
data: sorted_players,
|
|
502
806
|
keyExtractor: item => item.group_player_id.toString(),
|
|
503
807
|
renderItem: renderPlayers,
|
|
808
|
+
initialNumToRender: 10,
|
|
809
|
+
windowSize: 4,
|
|
504
810
|
key: 'group_members'
|
|
505
|
-
}));
|
|
811
|
+
})));
|
|
506
812
|
case 'competition_toggle':
|
|
507
813
|
if (active_toggle != 'competitions') {
|
|
508
814
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
@@ -531,11 +837,18 @@ const GroupComponent = ({
|
|
|
531
837
|
style: {
|
|
532
838
|
padding: 10
|
|
533
839
|
}
|
|
534
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.
|
|
840
|
+
}, comp_data.loading ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
841
|
+
style: {
|
|
842
|
+
padding: 20,
|
|
843
|
+
alignSelf: 'center'
|
|
844
|
+
},
|
|
845
|
+
size: 'large',
|
|
846
|
+
color: Colors.text.h1
|
|
847
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
|
|
535
848
|
key: 'competition_list',
|
|
536
|
-
keyExtractor: item => item.
|
|
537
|
-
data:
|
|
538
|
-
renderItem:
|
|
849
|
+
keyExtractor: item => item.id.toString(),
|
|
850
|
+
data: sorted_engagements.sort((a, b) => (0, _momentMini.default)(a.scheduled_datetime).unix() - (0, _momentMini.default)(b.scheduled_datetime).unix()),
|
|
851
|
+
renderItem: renderEngagements
|
|
539
852
|
}));
|
|
540
853
|
default:
|
|
541
854
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
@@ -554,49 +867,11 @@ const GroupComponent = ({
|
|
|
554
867
|
key: 'group_list',
|
|
555
868
|
keyExtractor: item => item,
|
|
556
869
|
renderItem: renderSections
|
|
557
|
-
}), active_toggle == 'members' ? /*#__PURE__*/_react.default.createElement(
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
};
|
|
563
|
-
}),
|
|
564
|
-
selected_option: time_option?.option,
|
|
565
|
-
onSelectOption: option => {
|
|
566
|
-
const selected = leader_options.find(o => o.option == option);
|
|
567
|
-
if (!selected) {
|
|
568
|
-
return;
|
|
569
|
-
}
|
|
570
|
-
getGroupAnalytics(group_id, selected);
|
|
571
|
-
}
|
|
572
|
-
}) : active_toggle == 'competitions' ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
573
|
-
type: "footer",
|
|
574
|
-
style: {
|
|
575
|
-
flexDirection: 'row',
|
|
576
|
-
alignItems: 'center',
|
|
577
|
-
padding: 10
|
|
578
|
-
}
|
|
579
|
-
}, /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
580
|
-
transparent: true,
|
|
581
|
-
style: {
|
|
582
|
-
flex: 1,
|
|
583
|
-
marginRight: 10
|
|
584
|
-
}
|
|
585
|
-
}, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
586
|
-
theme: "h2"
|
|
587
|
-
}, "CREATE A NEW COMPETITION"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
|
|
588
|
-
theme: "description",
|
|
589
|
-
style: {
|
|
590
|
-
marginTop: 3
|
|
591
|
-
}
|
|
592
|
-
}, "Create a new pick-em or other engagement for this group!")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
|
|
593
|
-
type: "success",
|
|
594
|
-
style: {
|
|
595
|
-
padding: 10
|
|
596
|
-
},
|
|
597
|
-
title: "CREATE",
|
|
598
|
-
onPress: () => console.log('New competition!')
|
|
599
|
-
})) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)), editing && group ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
870
|
+
}), active_toggle == 'members' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null) : active_toggle == 'activity' ? /*#__PURE__*/_react.default.createElement(_Pagination.default, {
|
|
871
|
+
offset: activity_data.offset,
|
|
872
|
+
onNext: () => getActitiyData(activity_data.offset + 1),
|
|
873
|
+
onPrevious: () => getActitiyData(activity_data.offset - 1)
|
|
874
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)), editing && group ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
|
|
600
875
|
type: "blur",
|
|
601
876
|
style: {
|
|
602
877
|
position: 'absolute',
|
|
@@ -619,7 +894,13 @@ const GroupComponent = ({
|
|
|
619
894
|
}
|
|
620
895
|
}, /*#__PURE__*/_react.default.createElement(_ManageGroupForm.default, {
|
|
621
896
|
group: group,
|
|
622
|
-
onInvitePlayer:
|
|
897
|
+
onInvitePlayer: () => {
|
|
898
|
+
setGroupData({
|
|
899
|
+
...group_data,
|
|
900
|
+
editing: false
|
|
901
|
+
});
|
|
902
|
+
onInvitePlayer();
|
|
903
|
+
},
|
|
623
904
|
onClose: () => setGroupData({
|
|
624
905
|
...group_data,
|
|
625
906
|
editing: false
|