be-components 5.2.2 → 5.2.3
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/Leaders/api/index.js +88 -0
- package/lib/commonjs/Leaders/api/index.js.map +1 -0
- package/lib/commonjs/Leaders/components/LeaderCard.js +146 -0
- package/lib/commonjs/Leaders/components/LeaderCard.js.map +1 -0
- package/lib/commonjs/Leaders/components/LeaderboardCard.js +205 -0
- package/lib/commonjs/Leaders/components/LeaderboardCard.js.map +1 -0
- package/lib/commonjs/Leaders/index.js +324 -0
- package/lib/commonjs/Leaders/index.js.map +1 -0
- package/lib/commonjs/SocialComponents/PostCard/index.js +2 -1
- package/lib/commonjs/SocialComponents/PostCard/index.js.map +1 -1
- package/lib/commonjs/index.js +14 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/Leaders/api/index.js +81 -0
- package/lib/module/Leaders/api/index.js.map +1 -0
- package/lib/module/Leaders/components/LeaderCard.js +139 -0
- package/lib/module/Leaders/components/LeaderCard.js.map +1 -0
- package/lib/module/Leaders/components/LeaderboardCard.js +196 -0
- package/lib/module/Leaders/components/LeaderboardCard.js.map +1 -0
- package/lib/module/Leaders/index.js +315 -0
- package/lib/module/Leaders/index.js.map +1 -0
- package/lib/module/SocialComponents/PostCard/index.js +2 -1
- package/lib/module/SocialComponents/PostCard/index.js.map +1 -1
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/Leaders/api/index.d.ts +18 -0
- package/lib/typescript/lib/commonjs/Leaders/api/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Leaders/components/LeaderCard.d.ts +11 -0
- package/lib/typescript/lib/commonjs/Leaders/components/LeaderCard.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Leaders/components/LeaderboardCard.d.ts +10 -0
- package/lib/typescript/lib/commonjs/Leaders/components/LeaderboardCard.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Leaders/index.d.ts +8 -0
- package/lib/typescript/lib/commonjs/Leaders/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/SocialComponents/PostCard/index.d.ts +2 -1
- package/lib/typescript/lib/commonjs/SocialComponents/PostCard/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/index.d.ts +2 -0
- package/lib/typescript/lib/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Components/Spring.d.ts +1 -1
- package/lib/typescript/lib/module/Leaders/api/index.d.ts +17 -0
- package/lib/typescript/lib/module/Leaders/api/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/Leaders/components/LeaderCard.d.ts +11 -0
- package/lib/typescript/lib/module/Leaders/components/LeaderCard.d.ts.map +1 -0
- package/lib/typescript/lib/module/Leaders/components/LeaderboardCard.d.ts +12 -0
- package/lib/typescript/lib/module/Leaders/components/LeaderboardCard.d.ts.map +1 -0
- package/lib/typescript/lib/module/Leaders/index.d.ts +8 -0
- package/lib/typescript/lib/module/Leaders/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/SocialComponents/PostCard/index.d.ts +2 -1
- package/lib/typescript/lib/module/SocialComponents/PostCard/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/index.d.ts +3 -1
- package/lib/typescript/lib/module/index.d.ts.map +1 -1
- package/lib/typescript/src/Leaders/api/index.d.ts +18 -0
- package/lib/typescript/src/Leaders/api/index.d.ts.map +1 -0
- package/lib/typescript/src/Leaders/components/LeaderCard.d.ts +13 -0
- package/lib/typescript/src/Leaders/components/LeaderCard.d.ts.map +1 -0
- package/lib/typescript/src/Leaders/components/LeaderboardCard.d.ts +12 -0
- package/lib/typescript/src/Leaders/components/LeaderboardCard.d.ts.map +1 -0
- package/lib/typescript/src/Leaders/index.d.ts +9 -0
- package/lib/typescript/src/Leaders/index.d.ts.map +1 -0
- package/lib/typescript/src/SocialComponents/PostCard/index.d.ts +2 -1
- package/lib/typescript/src/SocialComponents/PostCard/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Leaders/api/index.ts +70 -0
- package/src/Leaders/components/LeaderCard.tsx +71 -0
- package/src/Leaders/components/LeaderboardCard.tsx +156 -0
- package/src/Leaders/index.tsx +245 -0
- package/src/SocialComponents/PostCard/index.tsx +3 -2
- package/src/index.tsx +4 -1
- package/src/types.d.ts +36 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Button, Text, View } from "../../Components/Themed";
|
|
3
|
+
import { Image } from 'react-native';
|
|
4
|
+
import { useColors } from '../../constants/useColors';
|
|
5
|
+
import { LeadersHelpers } from '../api';
|
|
6
|
+
import moment from 'moment-mini';
|
|
7
|
+
const LeaderCard = ({
|
|
8
|
+
direction,
|
|
9
|
+
leader,
|
|
10
|
+
player,
|
|
11
|
+
category,
|
|
12
|
+
show_view_profile,
|
|
13
|
+
onSelectLeader
|
|
14
|
+
}) => {
|
|
15
|
+
const Colors = useColors();
|
|
16
|
+
if (direction == 'vertical') {
|
|
17
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
18
|
+
float: true,
|
|
19
|
+
style: {
|
|
20
|
+
padding: 0,
|
|
21
|
+
borderRadius: 12
|
|
22
|
+
},
|
|
23
|
+
onPress: () => onSelectLeader(leader, player)
|
|
24
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
25
|
+
type: "header",
|
|
26
|
+
style: {
|
|
27
|
+
padding: 5,
|
|
28
|
+
borderTopRightRadius: 12,
|
|
29
|
+
borderTopLeftRadius: 12
|
|
30
|
+
}
|
|
31
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
32
|
+
theme: "h1",
|
|
33
|
+
textAlign: "center",
|
|
34
|
+
color: Colors.text.success
|
|
35
|
+
}, LeadersHelpers.formatPlace(leader.place))), /*#__PURE__*/React.createElement(View, {
|
|
36
|
+
float: true,
|
|
37
|
+
style: {
|
|
38
|
+
borderRadius: 100,
|
|
39
|
+
padding: 2,
|
|
40
|
+
alignSelf: 'center',
|
|
41
|
+
margin: 5
|
|
42
|
+
}
|
|
43
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
44
|
+
source: {
|
|
45
|
+
uri: player.profile_pic && player.profile_pic != '' ? player.profile_pic : 'https://res.cloudinary.com/hoabts6mc/image/upload/v1722453927/default_man_n96ofq.webp'
|
|
46
|
+
},
|
|
47
|
+
style: {
|
|
48
|
+
height: 60,
|
|
49
|
+
width: 60,
|
|
50
|
+
borderRadius: 100
|
|
51
|
+
},
|
|
52
|
+
resizeMode: "cover"
|
|
53
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
54
|
+
transparent: true,
|
|
55
|
+
style: {
|
|
56
|
+
padding: 10,
|
|
57
|
+
borderTopWidth: 1,
|
|
58
|
+
borderColor: Colors.borders.light,
|
|
59
|
+
borderBottomRightRadius: 12,
|
|
60
|
+
borderBottomLeftRadius: 12
|
|
61
|
+
}
|
|
62
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
63
|
+
theme: "h2",
|
|
64
|
+
textAlign: "center",
|
|
65
|
+
color: Colors.text.action
|
|
66
|
+
}, category.stat_label_loc == 'prefix' ? category.stat_label : '', leader.category_score.toFixed(2), category.stat_label_loc == 'suffix' ? category.stat_label : '')));
|
|
67
|
+
}
|
|
68
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
69
|
+
float: true,
|
|
70
|
+
style: {
|
|
71
|
+
flexDirection: 'row',
|
|
72
|
+
alignItems: 'center',
|
|
73
|
+
padding: 4,
|
|
74
|
+
borderRadius: 100,
|
|
75
|
+
borderTopLeftRadius: 8,
|
|
76
|
+
borderBottomLeftRadius: 8
|
|
77
|
+
},
|
|
78
|
+
onPress: () => onSelectLeader(leader, player)
|
|
79
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
80
|
+
transparent: true,
|
|
81
|
+
style: {
|
|
82
|
+
padding: 5,
|
|
83
|
+
borderRightWidth: 1,
|
|
84
|
+
borderColor: Colors.borders.light
|
|
85
|
+
}
|
|
86
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
87
|
+
theme: "h1",
|
|
88
|
+
color: Colors.text.success
|
|
89
|
+
}, LeadersHelpers.formatPlace(leader.place))), /*#__PURE__*/React.createElement(View, {
|
|
90
|
+
float: true,
|
|
91
|
+
style: {
|
|
92
|
+
borderRadius: 100,
|
|
93
|
+
padding: 2,
|
|
94
|
+
marginLeft: 5
|
|
95
|
+
}
|
|
96
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
97
|
+
source: {
|
|
98
|
+
uri: player.profile_pic && player.profile_pic != '' ? player.profile_pic : 'https://res.cloudinary.com/hoabts6mc/image/upload/v1722453927/default_man_n96ofq.webp'
|
|
99
|
+
},
|
|
100
|
+
style: {
|
|
101
|
+
height: 45,
|
|
102
|
+
width: 45,
|
|
103
|
+
borderRadius: 100
|
|
104
|
+
},
|
|
105
|
+
resizeMode: "cover"
|
|
106
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
107
|
+
transparent: true,
|
|
108
|
+
style: {
|
|
109
|
+
flex: 1,
|
|
110
|
+
marginLeft: 10
|
|
111
|
+
}
|
|
112
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
113
|
+
theme: "h2"
|
|
114
|
+
}, "@", player.username), /*#__PURE__*/React.createElement(Text, {
|
|
115
|
+
style: {
|
|
116
|
+
marginTop: 4
|
|
117
|
+
},
|
|
118
|
+
theme: "description"
|
|
119
|
+
}, "Joined ", moment(player.create_datetime).fromNow())), show_view_profile ? /*#__PURE__*/React.createElement(Button, {
|
|
120
|
+
disabled: true,
|
|
121
|
+
title: "View",
|
|
122
|
+
onPress: () => console.log(''),
|
|
123
|
+
type: "action",
|
|
124
|
+
style: {
|
|
125
|
+
padding: 10,
|
|
126
|
+
marginRight: 10
|
|
127
|
+
}
|
|
128
|
+
}) : /*#__PURE__*/React.createElement(View, {
|
|
129
|
+
transparent: true,
|
|
130
|
+
style: {
|
|
131
|
+
padding: 5
|
|
132
|
+
}
|
|
133
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
134
|
+
theme: "h2",
|
|
135
|
+
color: Colors.text.action
|
|
136
|
+
}, category.stat_label_loc == 'prefix' ? category.stat_label : '', leader.category_score.toFixed(2), category.stat_label_loc == 'suffix' ? category.stat_label : '')));
|
|
137
|
+
};
|
|
138
|
+
export default LeaderCard;
|
|
139
|
+
//# sourceMappingURL=LeaderCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Button","Text","View","Image","useColors","LeadersHelpers","moment","LeaderCard","direction","leader","player","category","show_view_profile","onSelectLeader","Colors","createElement","float","style","padding","borderRadius","onPress","type","borderTopRightRadius","borderTopLeftRadius","theme","textAlign","color","text","success","formatPlace","place","alignSelf","margin","source","uri","profile_pic","height","width","resizeMode","transparent","borderTopWidth","borderColor","borders","light","borderBottomRightRadius","borderBottomLeftRadius","action","stat_label_loc","stat_label","category_score","toFixed","flexDirection","alignItems","borderRightWidth","marginLeft","flex","username","marginTop","create_datetime","fromNow","disabled","title","console","log","marginRight"],"sourceRoot":"../../../../src","sources":["Leaders/components/LeaderCard.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { Button, Text, View } from "../../Components/Themed";
|
|
3
|
+
import { LeadersApi } from '../api';
|
|
4
|
+
import LeaderCard from './LeaderCard';
|
|
5
|
+
import { useColors } from '../../constants/useColors';
|
|
6
|
+
import { ActivityIndicator, FlatList } from 'react-native';
|
|
7
|
+
const LeaderboardCard = ({
|
|
8
|
+
category_id,
|
|
9
|
+
timerange_id,
|
|
10
|
+
player_id,
|
|
11
|
+
onSeeFull,
|
|
12
|
+
onSelectPlayer
|
|
13
|
+
}) => {
|
|
14
|
+
const Colors = useColors();
|
|
15
|
+
const [selected_leader, setSelectedLeader] = useState({});
|
|
16
|
+
const {
|
|
17
|
+
leader,
|
|
18
|
+
player
|
|
19
|
+
} = selected_leader;
|
|
20
|
+
const [my_data, setMyData] = useState({});
|
|
21
|
+
const {
|
|
22
|
+
me,
|
|
23
|
+
my_leader
|
|
24
|
+
} = my_data;
|
|
25
|
+
const [leaders_data, setLeadersData] = useState({
|
|
26
|
+
loading: false,
|
|
27
|
+
leaders: [],
|
|
28
|
+
players: [],
|
|
29
|
+
offset: 0
|
|
30
|
+
});
|
|
31
|
+
const {
|
|
32
|
+
loading,
|
|
33
|
+
leaders,
|
|
34
|
+
players,
|
|
35
|
+
timerange,
|
|
36
|
+
category
|
|
37
|
+
} = leaders_data;
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
LeadersApi.setEnvironment();
|
|
40
|
+
if (!timerange_id || !category_id) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
getLeaders(category_id, timerange_id, 0);
|
|
44
|
+
}, [timerange_id, category_id, player_id]);
|
|
45
|
+
const getLeaders = async (category_id, timerange_id, page) => {
|
|
46
|
+
setLeadersData({
|
|
47
|
+
...leaders_data,
|
|
48
|
+
loading: true
|
|
49
|
+
});
|
|
50
|
+
const resp = await LeadersApi.getLeaders(category_id, timerange_id, page, player_id);
|
|
51
|
+
if (!resp) {
|
|
52
|
+
setLeadersData({
|
|
53
|
+
...leaders_data,
|
|
54
|
+
loading: false
|
|
55
|
+
});
|
|
56
|
+
return alert('Unable to get leaderboard');
|
|
57
|
+
}
|
|
58
|
+
const player_ids = resp.leaders.map(l => l.player_id);
|
|
59
|
+
const players = await LeadersApi.getPlayersByPlayerIds(player_ids);
|
|
60
|
+
if (page == 0 && player_id) {
|
|
61
|
+
let me_player = players.find(p => p.player_id == player_id);
|
|
62
|
+
let me_leader = resp.leaders.find(l => l.player_id == player_id);
|
|
63
|
+
setMyData({
|
|
64
|
+
me: me_player,
|
|
65
|
+
my_leader: me_leader
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
setLeadersData({
|
|
69
|
+
...leaders_data,
|
|
70
|
+
loading: false,
|
|
71
|
+
category: resp.category,
|
|
72
|
+
timerange: resp.timerange,
|
|
73
|
+
leaders: resp.leaders,
|
|
74
|
+
offset: page,
|
|
75
|
+
players
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
const renderLeaders = data => {
|
|
79
|
+
if (!category) {
|
|
80
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
81
|
+
}
|
|
82
|
+
const l_player = players.find(p => p.player_id == data.item.player_id);
|
|
83
|
+
if (!l_player) {
|
|
84
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
85
|
+
}
|
|
86
|
+
const selected = player?.player_id == data.item.player_id ? true : false;
|
|
87
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
88
|
+
transparent: true,
|
|
89
|
+
style: {
|
|
90
|
+
margin: 4,
|
|
91
|
+
borderWidth: selected ? 1 : 0,
|
|
92
|
+
borderColor: Colors.text.success,
|
|
93
|
+
borderRadius: 12
|
|
94
|
+
}
|
|
95
|
+
}, /*#__PURE__*/React.createElement(LeaderCard, {
|
|
96
|
+
leader: data.item,
|
|
97
|
+
player: l_player,
|
|
98
|
+
category: category,
|
|
99
|
+
direction: "vertical",
|
|
100
|
+
onSelectLeader: (l, p) => {
|
|
101
|
+
if (player?.player_id == data.item.player_id) {
|
|
102
|
+
return setSelectedLeader({});
|
|
103
|
+
}
|
|
104
|
+
setSelectedLeader({
|
|
105
|
+
leader: l,
|
|
106
|
+
player: p
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}));
|
|
110
|
+
};
|
|
111
|
+
if (!timerange || !category) {
|
|
112
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
113
|
+
}
|
|
114
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
115
|
+
style: {
|
|
116
|
+
flex: 1
|
|
117
|
+
}
|
|
118
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
119
|
+
type: "header",
|
|
120
|
+
style: {
|
|
121
|
+
flexDirection: 'row',
|
|
122
|
+
alignItems: 'center',
|
|
123
|
+
padding: 15
|
|
124
|
+
}
|
|
125
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
126
|
+
transparent: true,
|
|
127
|
+
style: {
|
|
128
|
+
flex: 1
|
|
129
|
+
}
|
|
130
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
131
|
+
theme: "h1"
|
|
132
|
+
}, "Leaders by ", category.name), /*#__PURE__*/React.createElement(Text, {
|
|
133
|
+
theme: "description",
|
|
134
|
+
style: {
|
|
135
|
+
marginTop: 3
|
|
136
|
+
}
|
|
137
|
+
}, timerange.name, " (", timerange.order_minimum, " Bets Minimum)")), /*#__PURE__*/React.createElement(Button, {
|
|
138
|
+
title: "See Full Leaderboard",
|
|
139
|
+
style: {
|
|
140
|
+
padding: 10
|
|
141
|
+
},
|
|
142
|
+
type: "text",
|
|
143
|
+
onPress: () => onSeeFull()
|
|
144
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
145
|
+
style: {
|
|
146
|
+
flex: 1,
|
|
147
|
+
padding: 10
|
|
148
|
+
}
|
|
149
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
150
|
+
style: {
|
|
151
|
+
flexDirection: 'row'
|
|
152
|
+
}
|
|
153
|
+
}, my_leader && me ? /*#__PURE__*/React.createElement(View, {
|
|
154
|
+
style: {
|
|
155
|
+
margin: 4
|
|
156
|
+
}
|
|
157
|
+
}, /*#__PURE__*/React.createElement(LeaderCard, {
|
|
158
|
+
leader: my_leader,
|
|
159
|
+
player: me,
|
|
160
|
+
onSelectLeader: () => console.log(''),
|
|
161
|
+
direction: "vertical",
|
|
162
|
+
category: category
|
|
163
|
+
})) : /*#__PURE__*/React.createElement(React.Fragment, null), loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
164
|
+
style: {
|
|
165
|
+
padding: 10,
|
|
166
|
+
alignSelf: 'center'
|
|
167
|
+
},
|
|
168
|
+
color: Colors.text.h1,
|
|
169
|
+
size: "large"
|
|
170
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(View, {
|
|
171
|
+
style: {
|
|
172
|
+
flex: 1,
|
|
173
|
+
borderLeftWidth: 1,
|
|
174
|
+
borderColor: Colors.borders.light
|
|
175
|
+
}
|
|
176
|
+
}, /*#__PURE__*/React.createElement(FlatList, {
|
|
177
|
+
key: 'leader_list',
|
|
178
|
+
data: leaders,
|
|
179
|
+
showsHorizontalScrollIndicator: false,
|
|
180
|
+
horizontal: true,
|
|
181
|
+
keyExtractor: item => item.leader_id.toString(),
|
|
182
|
+
renderItem: renderLeaders
|
|
183
|
+
}))), leader && player ? /*#__PURE__*/React.createElement(View, {
|
|
184
|
+
style: {
|
|
185
|
+
margin: 5
|
|
186
|
+
}
|
|
187
|
+
}, /*#__PURE__*/React.createElement(LeaderCard, {
|
|
188
|
+
leader: leader,
|
|
189
|
+
player: player,
|
|
190
|
+
category: category,
|
|
191
|
+
show_view_profile: true,
|
|
192
|
+
onSelectLeader: onSelectPlayer
|
|
193
|
+
})) : /*#__PURE__*/React.createElement(React.Fragment, null)));
|
|
194
|
+
};
|
|
195
|
+
export default LeaderboardCard;
|
|
196
|
+
//# sourceMappingURL=LeaderboardCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","Button","Text","View","LeadersApi","LeaderCard","useColors","ActivityIndicator","FlatList","LeaderboardCard","category_id","timerange_id","player_id","onSeeFull","onSelectPlayer","Colors","selected_leader","setSelectedLeader","leader","player","my_data","setMyData","me","my_leader","leaders_data","setLeadersData","loading","leaders","players","offset","timerange","category","setEnvironment","getLeaders","page","resp","alert","player_ids","map","l","getPlayersByPlayerIds","me_player","find","p","me_leader","renderLeaders","data","createElement","Fragment","l_player","item","selected","transparent","style","margin","borderWidth","borderColor","text","success","borderRadius","direction","onSelectLeader","flex","type","flexDirection","alignItems","padding","theme","name","marginTop","order_minimum","title","onPress","console","log","alignSelf","color","h1","size","borderLeftWidth","borders","light","key","showsHorizontalScrollIndicator","horizontal","keyExtractor","leader_id","toString","renderItem","show_view_profile"],"sourceRoot":"../../../../src","sources":["Leaders/components/LeaderboardCard.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { Button, Text, View } from "../Components/Themed";
|
|
3
|
+
import { LeadersApi } from './api';
|
|
4
|
+
import { ActivityIndicator, FlatList } from 'react-native';
|
|
5
|
+
import { Checkbox, Icons, Toggle } from '../Components';
|
|
6
|
+
import LeaderCard from './components/LeaderCard';
|
|
7
|
+
import Pagination from '../Components/Pagination';
|
|
8
|
+
import { useColors } from '../constants/useColors';
|
|
9
|
+
const sections = ['header', 'timeranges', 'my_leader', 'pagination', 'leaders'];
|
|
10
|
+
const Leaderboard = ({
|
|
11
|
+
player_id,
|
|
12
|
+
stat,
|
|
13
|
+
range_days
|
|
14
|
+
}) => {
|
|
15
|
+
const Colors = useColors();
|
|
16
|
+
const [static_data, setStaticData] = useState({
|
|
17
|
+
time_ranges: [],
|
|
18
|
+
categories: [],
|
|
19
|
+
show_categories: false
|
|
20
|
+
});
|
|
21
|
+
const {
|
|
22
|
+
time_ranges,
|
|
23
|
+
categories,
|
|
24
|
+
show_categories
|
|
25
|
+
} = static_data;
|
|
26
|
+
const [my_data, setMyData] = useState({});
|
|
27
|
+
const {
|
|
28
|
+
me,
|
|
29
|
+
my_leader
|
|
30
|
+
} = my_data;
|
|
31
|
+
const [leaders_data, setLeadersData] = useState({
|
|
32
|
+
loading: false,
|
|
33
|
+
leaders: [],
|
|
34
|
+
players: [],
|
|
35
|
+
offset: 0
|
|
36
|
+
});
|
|
37
|
+
const {
|
|
38
|
+
loading,
|
|
39
|
+
leaders,
|
|
40
|
+
players,
|
|
41
|
+
timerange_id,
|
|
42
|
+
category_id,
|
|
43
|
+
offset
|
|
44
|
+
} = leaders_data;
|
|
45
|
+
const timerange = time_ranges.find(t => t.timerange_id == timerange_id);
|
|
46
|
+
const category = categories.find(c => c.category_id == category_id);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
LeadersApi.setEnvironment();
|
|
49
|
+
start_up(stat);
|
|
50
|
+
}, [stat, range_days, player_id]);
|
|
51
|
+
const start_up = async (stat, range_days) => {
|
|
52
|
+
let data = await getStaticData();
|
|
53
|
+
let category = data.categories.find(c => c.stat == stat);
|
|
54
|
+
if (!category) {
|
|
55
|
+
category = data.categories[0];
|
|
56
|
+
}
|
|
57
|
+
let range = data.time_ranges.find(r => r.range_days == range_days);
|
|
58
|
+
if (!range) {
|
|
59
|
+
range = data.time_ranges[0];
|
|
60
|
+
}
|
|
61
|
+
if (!category || !range) {
|
|
62
|
+
return alert('Unable to load leaderboard');
|
|
63
|
+
}
|
|
64
|
+
getLeaders(category.category_id, range.timerange_id, 0);
|
|
65
|
+
};
|
|
66
|
+
const getLeaders = async (category_id, timerange_id, page) => {
|
|
67
|
+
setLeadersData({
|
|
68
|
+
...leaders_data,
|
|
69
|
+
loading: true
|
|
70
|
+
});
|
|
71
|
+
const resp = await LeadersApi.getLeaders(category_id, timerange_id, page, player_id);
|
|
72
|
+
if (!resp) {
|
|
73
|
+
setLeadersData({
|
|
74
|
+
...leaders_data,
|
|
75
|
+
loading: false
|
|
76
|
+
});
|
|
77
|
+
return alert('Unable to get leaderboard');
|
|
78
|
+
}
|
|
79
|
+
const player_ids = resp.leaders.map(l => l.player_id);
|
|
80
|
+
const players = await LeadersApi.getPlayersByPlayerIds(player_ids);
|
|
81
|
+
if (page == 0 && player_id) {
|
|
82
|
+
let me_player = players.find(p => p.player_id == player_id);
|
|
83
|
+
let me_leader = resp.leaders.find(l => l.player_id == player_id);
|
|
84
|
+
setMyData({
|
|
85
|
+
me: me_player,
|
|
86
|
+
my_leader: me_leader
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
setLeadersData({
|
|
90
|
+
...leaders_data,
|
|
91
|
+
loading: false,
|
|
92
|
+
category_id,
|
|
93
|
+
timerange_id,
|
|
94
|
+
leaders: resp.leaders,
|
|
95
|
+
offset: page,
|
|
96
|
+
players
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
const getStaticData = async () => {
|
|
100
|
+
//Start Loading
|
|
101
|
+
const resp = await LeadersApi.getCategories();
|
|
102
|
+
setStaticData({
|
|
103
|
+
categories: resp.categories,
|
|
104
|
+
time_ranges: resp.time_ranges,
|
|
105
|
+
show_categories: false
|
|
106
|
+
});
|
|
107
|
+
return resp;
|
|
108
|
+
};
|
|
109
|
+
const renderLeaders = data => {
|
|
110
|
+
if (!category) {
|
|
111
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
112
|
+
}
|
|
113
|
+
const player = players.find(p => p.player_id == data.item.player_id);
|
|
114
|
+
if (!player) {
|
|
115
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
116
|
+
}
|
|
117
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
118
|
+
transparent: true,
|
|
119
|
+
style: {
|
|
120
|
+
margin: 4
|
|
121
|
+
}
|
|
122
|
+
}, /*#__PURE__*/React.createElement(LeaderCard, {
|
|
123
|
+
leader: data.item,
|
|
124
|
+
player: player,
|
|
125
|
+
category: category,
|
|
126
|
+
onSelectLeader: (l, p) => console.log(l, p)
|
|
127
|
+
}));
|
|
128
|
+
};
|
|
129
|
+
const renderCategories = data => {
|
|
130
|
+
if (!timerange_id) {
|
|
131
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
132
|
+
}
|
|
133
|
+
const checked = category_id == data.item.category_id ? true : false;
|
|
134
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
135
|
+
style: {
|
|
136
|
+
flexDirection: 'row',
|
|
137
|
+
alignItems: 'center',
|
|
138
|
+
padding: 15,
|
|
139
|
+
borderBottomWidth: 1,
|
|
140
|
+
borderColor: Colors.borders.light
|
|
141
|
+
},
|
|
142
|
+
onPress: () => {
|
|
143
|
+
getLeaders(data.item.category_id, timerange_id, 0);
|
|
144
|
+
setStaticData({
|
|
145
|
+
...static_data,
|
|
146
|
+
show_categories: false
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
150
|
+
color: Colors.text.action,
|
|
151
|
+
disabled: true,
|
|
152
|
+
fill_style: {
|
|
153
|
+
borderRadius: 100
|
|
154
|
+
},
|
|
155
|
+
style: {
|
|
156
|
+
borderRadius: 100
|
|
157
|
+
},
|
|
158
|
+
checked: checked,
|
|
159
|
+
onSelect: () => console.log('')
|
|
160
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
161
|
+
transparent: true,
|
|
162
|
+
style: {
|
|
163
|
+
flex: 1,
|
|
164
|
+
marginLeft: 10
|
|
165
|
+
}
|
|
166
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
167
|
+
theme: "action"
|
|
168
|
+
}, data.item.name)));
|
|
169
|
+
};
|
|
170
|
+
const renderSections = data => {
|
|
171
|
+
switch (data.item) {
|
|
172
|
+
case 'header':
|
|
173
|
+
if (!category || !timerange) {
|
|
174
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
175
|
+
}
|
|
176
|
+
return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(View, {
|
|
177
|
+
type: "header",
|
|
178
|
+
style: {
|
|
179
|
+
flexDirection: 'row',
|
|
180
|
+
alignItems: 'center',
|
|
181
|
+
padding: 15
|
|
182
|
+
}
|
|
183
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
184
|
+
transparent: true,
|
|
185
|
+
style: {
|
|
186
|
+
flex: 1
|
|
187
|
+
}
|
|
188
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
189
|
+
theme: "h1"
|
|
190
|
+
}, "Leaders by ", category.name), /*#__PURE__*/React.createElement(Text, {
|
|
191
|
+
theme: "description",
|
|
192
|
+
style: {
|
|
193
|
+
marginTop: 3
|
|
194
|
+
}
|
|
195
|
+
}, timerange.name, " (", timerange.order_minimum, " Bets Minimum)")), /*#__PURE__*/React.createElement(Button, {
|
|
196
|
+
float: true,
|
|
197
|
+
style: {
|
|
198
|
+
flexDirection: 'row',
|
|
199
|
+
padding: 15,
|
|
200
|
+
alignItems: 'center'
|
|
201
|
+
},
|
|
202
|
+
onPress: () => setStaticData({
|
|
203
|
+
...static_data,
|
|
204
|
+
show_categories: !show_categories
|
|
205
|
+
})
|
|
206
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
207
|
+
theme: "action",
|
|
208
|
+
size: 14,
|
|
209
|
+
style: {
|
|
210
|
+
marginRight: 5
|
|
211
|
+
}
|
|
212
|
+
}, category?.name ?? 'Select Category'), /*#__PURE__*/React.createElement(Icons.ChevronIcon, {
|
|
213
|
+
size: 8,
|
|
214
|
+
direction: show_categories ? 'up' : 'down',
|
|
215
|
+
color: Colors.text.action
|
|
216
|
+
}))), show_categories ? /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(FlatList, {
|
|
217
|
+
data: categories,
|
|
218
|
+
key: 'category_list',
|
|
219
|
+
keyExtractor: item => item.category_id.toString(),
|
|
220
|
+
renderItem: renderCategories
|
|
221
|
+
})) : /*#__PURE__*/React.createElement(React.Fragment, null));
|
|
222
|
+
case 'timeranges':
|
|
223
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
224
|
+
style: {
|
|
225
|
+
padding: 5
|
|
226
|
+
}
|
|
227
|
+
}, /*#__PURE__*/React.createElement(Toggle, {
|
|
228
|
+
options: time_ranges.map(c => {
|
|
229
|
+
return {
|
|
230
|
+
key: c.range_days.toString(),
|
|
231
|
+
label: c.name
|
|
232
|
+
};
|
|
233
|
+
}),
|
|
234
|
+
selected_option: timerange?.range_days?.toString(),
|
|
235
|
+
onSelectOption: option => {
|
|
236
|
+
let selected_range = time_ranges.find(c => c.range_days.toString() == option);
|
|
237
|
+
if (!selected_range || !category_id) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
getLeaders(category_id, selected_range.timerange_id, 0);
|
|
241
|
+
}
|
|
242
|
+
}));
|
|
243
|
+
case 'pagination':
|
|
244
|
+
if (!category_id || !timerange_id) {
|
|
245
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
246
|
+
}
|
|
247
|
+
return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Pagination, {
|
|
248
|
+
offset: offset,
|
|
249
|
+
onNext: () => getLeaders(category_id, timerange_id, offset + 1),
|
|
250
|
+
onPrevious: () => getLeaders(category_id, timerange_id, offset - 1)
|
|
251
|
+
}));
|
|
252
|
+
case 'my_leader':
|
|
253
|
+
if (!my_leader) {
|
|
254
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
255
|
+
}
|
|
256
|
+
if (!me) {
|
|
257
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
258
|
+
}
|
|
259
|
+
if (!category) {
|
|
260
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
261
|
+
}
|
|
262
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
263
|
+
type: "header",
|
|
264
|
+
style: {
|
|
265
|
+
padding: 10
|
|
266
|
+
}
|
|
267
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
268
|
+
style: {
|
|
269
|
+
marginBottom: 10
|
|
270
|
+
},
|
|
271
|
+
theme: "h1"
|
|
272
|
+
}, "Your Place"), /*#__PURE__*/React.createElement(LeaderCard, {
|
|
273
|
+
leader: my_leader,
|
|
274
|
+
player: me,
|
|
275
|
+
category: category,
|
|
276
|
+
onSelectLeader: (l, p) => console.log(l, p)
|
|
277
|
+
}));
|
|
278
|
+
case 'leaders':
|
|
279
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
280
|
+
style: {
|
|
281
|
+
padding: 10
|
|
282
|
+
}
|
|
283
|
+
}, loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
284
|
+
style: {
|
|
285
|
+
padding: 10,
|
|
286
|
+
alignSelf: 'center'
|
|
287
|
+
},
|
|
288
|
+
size: 'large',
|
|
289
|
+
color: Colors.text.h1
|
|
290
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(FlatList, {
|
|
291
|
+
data: leaders.sort((a, b) => a.place - b.place),
|
|
292
|
+
key: 'leaders_list',
|
|
293
|
+
renderItem: renderLeaders,
|
|
294
|
+
keyExtractor: item => item.leader_id.toString()
|
|
295
|
+
}));
|
|
296
|
+
default:
|
|
297
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(FlatList, {
|
|
301
|
+
data: sections,
|
|
302
|
+
key: `leaders_sections`,
|
|
303
|
+
keyExtractor: item => item,
|
|
304
|
+
renderItem: renderSections,
|
|
305
|
+
refreshing: loading,
|
|
306
|
+
onRefresh: () => {
|
|
307
|
+
if (!category_id || !timerange_id) {
|
|
308
|
+
return console.log('');
|
|
309
|
+
}
|
|
310
|
+
getLeaders(category_id, timerange_id, 0);
|
|
311
|
+
}
|
|
312
|
+
}));
|
|
313
|
+
};
|
|
314
|
+
export default Leaderboard;
|
|
315
|
+
//# sourceMappingURL=index.js.map
|