be-components 6.0.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/lib/commonjs/GolfScoreboard/api/index.js +2 -0
  2. package/lib/commonjs/GolfScoreboard/api/index.js.map +1 -1
  3. package/lib/commonjs/MarketComponents/api/index.js +99 -1
  4. package/lib/commonjs/MarketComponents/api/index.js.map +1 -1
  5. package/lib/commonjs/MarketComponents/components/MarketManager/MarketResolveForm.js +13 -2
  6. package/lib/commonjs/MarketComponents/components/MarketManager/MarketResolveForm.js.map +1 -1
  7. package/lib/commonjs/MarketComponents/components/MarketManager/MarketRollbackForm.js +50 -1
  8. package/lib/commonjs/MarketComponents/components/MarketManager/MarketRollbackForm.js.map +1 -1
  9. package/lib/commonjs/MarketComponents/components/MarketManager/OrderList.js +196 -0
  10. package/lib/commonjs/MarketComponents/components/MarketManager/OrderList.js.map +1 -0
  11. package/lib/commonjs/MarketComponents/components/MarketManager/TradeList.js +294 -0
  12. package/lib/commonjs/MarketComponents/components/MarketManager/TradeList.js.map +1 -0
  13. package/lib/commonjs/MarketComponents/components/MarketManager/index.js +228 -14
  14. package/lib/commonjs/MarketComponents/components/MarketManager/index.js.map +1 -1
  15. package/lib/commonjs/MarketComponents/components/MyOrderList/api/index.js +4 -0
  16. package/lib/commonjs/MarketComponents/components/MyOrderList/api/index.js.map +1 -1
  17. package/lib/commonjs/MarketComponents/components/TournamentMarket/index.js +21 -14
  18. package/lib/commonjs/MarketComponents/components/TournamentMarket/index.js.map +1 -1
  19. package/lib/module/GolfScoreboard/api/index.js +2 -0
  20. package/lib/module/GolfScoreboard/api/index.js.map +1 -1
  21. package/lib/module/MarketComponents/api/index.js +99 -1
  22. package/lib/module/MarketComponents/api/index.js.map +1 -1
  23. package/lib/module/MarketComponents/components/MarketManager/MarketResolveForm.js +13 -2
  24. package/lib/module/MarketComponents/components/MarketManager/MarketResolveForm.js.map +1 -1
  25. package/lib/module/MarketComponents/components/MarketManager/MarketRollbackForm.js +52 -3
  26. package/lib/module/MarketComponents/components/MarketManager/MarketRollbackForm.js.map +1 -1
  27. package/lib/module/MarketComponents/components/MarketManager/OrderList.js +189 -0
  28. package/lib/module/MarketComponents/components/MarketManager/OrderList.js.map +1 -0
  29. package/lib/module/MarketComponents/components/MarketManager/TradeList.js +285 -0
  30. package/lib/module/MarketComponents/components/MarketManager/TradeList.js.map +1 -0
  31. package/lib/module/MarketComponents/components/MarketManager/index.js +228 -14
  32. package/lib/module/MarketComponents/components/MarketManager/index.js.map +1 -1
  33. package/lib/module/MarketComponents/components/MyOrderList/api/index.js +4 -0
  34. package/lib/module/MarketComponents/components/MyOrderList/api/index.js.map +1 -1
  35. package/lib/module/MarketComponents/components/TournamentMarket/index.js +21 -14
  36. package/lib/module/MarketComponents/components/TournamentMarket/index.js.map +1 -1
  37. package/lib/typescript/lib/commonjs/GolfScoreboard/api/index.d.ts +1 -0
  38. package/lib/typescript/lib/commonjs/GolfScoreboard/api/index.d.ts.map +1 -1
  39. package/lib/typescript/lib/commonjs/MarketComponents/api/index.d.ts +10 -0
  40. package/lib/typescript/lib/commonjs/MarketComponents/api/index.d.ts.map +1 -1
  41. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/MarketResolveForm.d.ts +2 -1
  42. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/MarketResolveForm.d.ts.map +1 -1
  43. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/MarketRollbackForm.d.ts +2 -1
  44. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/MarketRollbackForm.d.ts.map +1 -1
  45. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/OrderList.d.ts +9 -0
  46. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/OrderList.d.ts.map +1 -0
  47. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/TradeList.d.ts +14 -0
  48. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/TradeList.d.ts.map +1 -0
  49. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/index.d.ts +5 -1
  50. package/lib/typescript/lib/commonjs/MarketComponents/components/MarketManager/index.d.ts.map +1 -1
  51. package/lib/typescript/lib/commonjs/MarketComponents/components/MyOrderList/api/index.d.ts +1 -0
  52. package/lib/typescript/lib/commonjs/MarketComponents/components/MyOrderList/api/index.d.ts.map +1 -1
  53. package/lib/typescript/lib/commonjs/MarketComponents/components/TournamentMarket/index.d.ts.map +1 -1
  54. package/lib/typescript/lib/module/GolfScoreboard/api/index.d.ts +1 -0
  55. package/lib/typescript/lib/module/GolfScoreboard/api/index.d.ts.map +1 -1
  56. package/lib/typescript/lib/module/MarketComponents/api/index.d.ts +10 -0
  57. package/lib/typescript/lib/module/MarketComponents/api/index.d.ts.map +1 -1
  58. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/MarketResolveForm.d.ts +2 -1
  59. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/MarketResolveForm.d.ts.map +1 -1
  60. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/MarketRollbackForm.d.ts +2 -1
  61. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/MarketRollbackForm.d.ts.map +1 -1
  62. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/OrderList.d.ts +9 -0
  63. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/OrderList.d.ts.map +1 -0
  64. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/TradeList.d.ts +14 -0
  65. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/TradeList.d.ts.map +1 -0
  66. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/index.d.ts +5 -1
  67. package/lib/typescript/lib/module/MarketComponents/components/MarketManager/index.d.ts.map +1 -1
  68. package/lib/typescript/lib/module/MarketComponents/components/MyOrderList/api/index.d.ts +1 -0
  69. package/lib/typescript/lib/module/MarketComponents/components/MyOrderList/api/index.d.ts.map +1 -1
  70. package/lib/typescript/lib/module/MarketComponents/components/TournamentMarket/index.d.ts.map +1 -1
  71. package/lib/typescript/src/GolfScoreboard/api/index.d.ts.map +1 -1
  72. package/lib/typescript/src/MarketComponents/api/index.d.ts +11 -1
  73. package/lib/typescript/src/MarketComponents/api/index.d.ts.map +1 -1
  74. package/lib/typescript/src/MarketComponents/components/MarketManager/MarketResolveForm.d.ts +2 -1
  75. package/lib/typescript/src/MarketComponents/components/MarketManager/MarketResolveForm.d.ts.map +1 -1
  76. package/lib/typescript/src/MarketComponents/components/MarketManager/MarketRollbackForm.d.ts +2 -1
  77. package/lib/typescript/src/MarketComponents/components/MarketManager/MarketRollbackForm.d.ts.map +1 -1
  78. package/lib/typescript/src/MarketComponents/components/MarketManager/OrderList.d.ts +10 -0
  79. package/lib/typescript/src/MarketComponents/components/MarketManager/OrderList.d.ts.map +1 -0
  80. package/lib/typescript/src/MarketComponents/components/MarketManager/TradeList.d.ts +16 -0
  81. package/lib/typescript/src/MarketComponents/components/MarketManager/TradeList.d.ts.map +1 -0
  82. package/lib/typescript/src/MarketComponents/components/MarketManager/index.d.ts +5 -1
  83. package/lib/typescript/src/MarketComponents/components/MarketManager/index.d.ts.map +1 -1
  84. package/lib/typescript/src/MarketComponents/components/MyOrderList/api/index.d.ts.map +1 -1
  85. package/lib/typescript/src/MarketComponents/components/TournamentMarket/index.d.ts.map +1 -1
  86. package/lib/typescript/src/MarketComponents/index.d.ts +5 -1
  87. package/lib/typescript/src/MarketComponents/index.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. package/src/GolfScoreboard/api/index.tsx +2 -0
  90. package/src/MarketComponents/api/index.ts +70 -2
  91. package/src/MarketComponents/components/MarketManager/MarketResolveForm.tsx +9 -3
  92. package/src/MarketComponents/components/MarketManager/MarketRollbackForm.tsx +41 -4
  93. package/src/MarketComponents/components/MarketManager/OrderList.tsx +115 -0
  94. package/src/MarketComponents/components/MarketManager/TradeList.tsx +167 -0
  95. package/src/MarketComponents/components/MarketManager/index.tsx +151 -14
  96. package/src/MarketComponents/components/MyOrderList/api/index.ts +5 -0
  97. package/src/MarketComponents/components/TournamentMarket/index.tsx +12 -13
  98. package/src/types.d.ts +1 -1
@@ -0,0 +1,285 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { Button, Text, View } from "../../../Components/Themed";
3
+ import { MarketComponentApi, MarketComponentHelpers } from '../../api';
4
+ import { ActivityIndicator, FlatList, Image } from 'react-native';
5
+ import { useColors } from '../../../constants/useColors';
6
+ import Pagination from '../../../Components/Pagination';
7
+ const TradeList = ({
8
+ contest_title,
9
+ contest_id,
10
+ contest_type,
11
+ order_ids,
12
+ market,
13
+ onViewOrder,
14
+ onViewPlayer,
15
+ onViewTrade,
16
+ onClose
17
+ }) => {
18
+ const Colors = useColors();
19
+ const [order_list, setOrderList] = useState({
20
+ players: [],
21
+ orders: []
22
+ });
23
+ const {
24
+ orders,
25
+ players
26
+ } = order_list;
27
+ const [list_data, setListData] = useState({
28
+ loading: false,
29
+ trades: [],
30
+ offset: 0
31
+ });
32
+ const {
33
+ loading,
34
+ trades
35
+ } = list_data;
36
+ useEffect(() => {
37
+ getOrders();
38
+ getTradeData(0);
39
+ }, [market?.market_id]);
40
+ const getOrders = async () => {
41
+ const ords = await MarketComponentApi.getOrdersByIds(order_ids);
42
+ const plys = await MarketComponentApi.getPlayersByIds([...new Set(ords.map(o => o.player_id))]);
43
+ setOrderList({
44
+ players: plys,
45
+ orders: ords
46
+ });
47
+ };
48
+ const getTradeData = async page => {
49
+ setListData({
50
+ ...list_data,
51
+ loading: true
52
+ });
53
+ const trds = await MarketComponentApi.getTradesByEventAndMarket(contest_type, contest_id, market.market_id, page);
54
+ setListData({
55
+ ...list_data,
56
+ loading: false,
57
+ offset: page,
58
+ trades: trds.filter(t => t.market_type == 'FOR_MONEY' && t.market_id == market.market_id && t.position_ids.length > 0)
59
+ });
60
+ };
61
+ const renderTrades = data => {
62
+ if (data.item.position_ids.length == 0) {
63
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
64
+ }
65
+ const {
66
+ found_orders,
67
+ found_positions
68
+ } = MarketComponentHelpers.getOrdersFromTrade(data.item, orders);
69
+ if (found_orders.length != 2) {
70
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
71
+ }
72
+ let trade_side_order = found_orders.find(o => o.side == market.trade_side);
73
+ let trade_side_position = found_positions.find(p => p.order_id == trade_side_order?.order_id);
74
+ if (!trade_side_order || !trade_side_position) {
75
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
76
+ }
77
+ let o_side_order = found_orders.find(o => o.order_id != trade_side_order.order_id);
78
+ let o_side_position = found_positions.find(p => p.order_id == o_side_order?.order_id);
79
+ if (!o_side_order || !o_side_position) {
80
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
81
+ }
82
+ const o_side_player = players.find(p => p.player_id == o_side_order.player_id);
83
+ const t_side_player = players.find(p => p.player_id == trade_side_order.player_id);
84
+ const route_premium = o_side_position.probability + trade_side_position.probability - 1;
85
+ const revenue = o_side_position.original_stake + trade_side_position.original_stake - (o_side_position.net_winnings + trade_side_position.net_winnings);
86
+ return /*#__PURE__*/React.createElement(View, {
87
+ style: {
88
+ borderBottomWidth: 1,
89
+ borderColor: Colors.borders.light,
90
+ marginTop: 3
91
+ }
92
+ }, /*#__PURE__*/React.createElement(View, {
93
+ type: "row",
94
+ style: {
95
+ padding: 5
96
+ }
97
+ }, /*#__PURE__*/React.createElement(View, {
98
+ style: {
99
+ flex: 1,
100
+ flexDirection: 'row',
101
+ alignItems: 'center',
102
+ padding: 0
103
+ }
104
+ }, /*#__PURE__*/React.createElement(Button, {
105
+ style: {
106
+ padding: 0
107
+ },
108
+ onPress: () => onViewPlayer(o_side_order.player_id)
109
+ }, /*#__PURE__*/React.createElement(Image, {
110
+ source: {
111
+ uri: o_side_player?.profile_pic && o_side_player.profile_pic != '' ? o_side_player.profile_pic : 'https://res.cloudinary.com/hoabts6mc/image/upload/v1722453927/default_man_n96ofq.webp'
112
+ },
113
+ style: {
114
+ height: 30,
115
+ width: 30,
116
+ borderRadius: 100
117
+ },
118
+ resizeMode: "cover"
119
+ })), /*#__PURE__*/React.createElement(Button, {
120
+ style: {
121
+ flex: 1,
122
+ padding: 0
123
+ },
124
+ onPress: () => onViewOrder(o_side_order.order_id)
125
+ }, /*#__PURE__*/React.createElement(Text, {
126
+ theme: "h2",
127
+ textAlign: "center"
128
+ }, o_side_order.title), /*#__PURE__*/React.createElement(Text, {
129
+ theme: "description",
130
+ textAlign: "center",
131
+ style: {
132
+ marginTop: 3
133
+ }
134
+ }, o_side_position.original_stake.toFixed(2), " to win ", o_side_position.potential_winnings.toFixed(2)))), /*#__PURE__*/React.createElement(Button, {
135
+ float: true,
136
+ style: {
137
+ padding: 5,
138
+ margin: 5,
139
+ justifyContent: 'center',
140
+ alignItems: 'center'
141
+ },
142
+ onPress: () => onViewTrade(data.item.trade_id)
143
+ }, /*#__PURE__*/React.createElement(Text, {
144
+ theme: "h2",
145
+ color: Colors.text.action,
146
+ textAlign: "center"
147
+ }, "$", data.item.trade_amt.toFixed(2)), /*#__PURE__*/React.createElement(Text, {
148
+ theme: "description",
149
+ color: Colors.text.success,
150
+ style: {
151
+ marginTop: 3
152
+ },
153
+ textAlign: "center"
154
+ }, route_premium.toFixed(2), "%")), /*#__PURE__*/React.createElement(View, {
155
+ style: {
156
+ flex: 1,
157
+ flexDirection: 'row',
158
+ alignItems: 'center',
159
+ padding: 0
160
+ }
161
+ }, /*#__PURE__*/React.createElement(Button, {
162
+ style: {
163
+ flex: 1,
164
+ padding: 0
165
+ },
166
+ onPress: () => onViewOrder(trade_side_order.order_id)
167
+ }, /*#__PURE__*/React.createElement(Text, {
168
+ theme: "h2",
169
+ textAlign: "center"
170
+ }, trade_side_order.title), /*#__PURE__*/React.createElement(Text, {
171
+ theme: "description",
172
+ textAlign: "center",
173
+ style: {
174
+ marginTop: 3
175
+ }
176
+ }, trade_side_position.original_stake.toFixed(2), " to win ", trade_side_position.potential_winnings.toFixed(2))), /*#__PURE__*/React.createElement(Button, {
177
+ style: {
178
+ padding: 0
179
+ },
180
+ onPress: () => onViewPlayer(trade_side_order.player_id)
181
+ }, /*#__PURE__*/React.createElement(Image, {
182
+ source: {
183
+ uri: t_side_player?.profile_pic && t_side_player.profile_pic != '' ? t_side_player.profile_pic : 'https://res.cloudinary.com/hoabts6mc/image/upload/v1722453927/default_man_n96ofq.webp'
184
+ },
185
+ style: {
186
+ height: 30,
187
+ width: 30,
188
+ borderRadius: 100
189
+ },
190
+ resizeMode: "cover"
191
+ })))), /*#__PURE__*/React.createElement(View, {
192
+ type: "footer",
193
+ style: {
194
+ flexDirection: 'row',
195
+ alignItems: 'center',
196
+ padding: 5
197
+ }
198
+ }, /*#__PURE__*/React.createElement(View, {
199
+ transparent: true,
200
+ style: {
201
+ flex: 1,
202
+ marginRight: 5
203
+ }
204
+ }, /*#__PURE__*/React.createElement(Text, {
205
+ theme: "h2",
206
+ textAlign: "left"
207
+ }, o_side_position.result_ind?.toUpperCase(), ": $", o_side_position.winnings)), /*#__PURE__*/React.createElement(View, {
208
+ transparent: true
209
+ }, /*#__PURE__*/React.createElement(Text, {
210
+ theme: "h2",
211
+ color: Colors.text.success,
212
+ textAlign: "center"
213
+ }, "$", revenue.toFixed(2))), /*#__PURE__*/React.createElement(View, {
214
+ transparent: true,
215
+ style: {
216
+ flex: 1,
217
+ marginLeft: 5
218
+ }
219
+ }, /*#__PURE__*/React.createElement(Text, {
220
+ theme: "h2",
221
+ textAlign: "right"
222
+ }, "$", trade_side_position.winnings.toFixed(2), " :", trade_side_position.result_ind?.toUpperCase()))));
223
+ };
224
+ return /*#__PURE__*/React.createElement(View, {
225
+ style: {
226
+ flex: 1
227
+ }
228
+ }, /*#__PURE__*/React.createElement(View, {
229
+ type: "header",
230
+ style: {
231
+ flexDirection: 'row',
232
+ alignItems: 'center',
233
+ padding: 10
234
+ }
235
+ }, /*#__PURE__*/React.createElement(View, {
236
+ transparent: true,
237
+ style: {
238
+ flex: 1
239
+ }
240
+ }, /*#__PURE__*/React.createElement(Text, {
241
+ theme: "h1"
242
+ }, contest_title), /*#__PURE__*/React.createElement(Text, {
243
+ theme: "description",
244
+ style: {
245
+ marginTop: 3
246
+ }
247
+ }, "Trades occuring in this contest and market")), /*#__PURE__*/React.createElement(Button, {
248
+ title: "X",
249
+ style: {
250
+ padding: 10
251
+ },
252
+ float: true,
253
+ onPress: () => onClose()
254
+ })), /*#__PURE__*/React.createElement(View, {
255
+ style: {
256
+ borderBottomWidth: 1,
257
+ borderColor: Colors.borders.light
258
+ }
259
+ }, /*#__PURE__*/React.createElement(Pagination, {
260
+ offset: list_data.offset,
261
+ onNext: () => getTradeData(list_data.offset + 1),
262
+ onPrevious: () => getTradeData(list_data.offset - 1)
263
+ })), /*#__PURE__*/React.createElement(View, {
264
+ type: "body",
265
+ style: {
266
+ flex: 1
267
+ }
268
+ }, loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
269
+ style: {
270
+ padding: 20,
271
+ alignSelf: 'center'
272
+ },
273
+ size: "large",
274
+ color: Colors.text.h1
275
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(FlatList, {
276
+ data: trades,
277
+ key: "trade_list",
278
+ windowSize: 4,
279
+ maxToRenderPerBatch: 10,
280
+ keyExtractor: item => item.trade_id.toString(),
281
+ renderItem: renderTrades
282
+ })));
283
+ };
284
+ export default TradeList;
285
+ //# sourceMappingURL=TradeList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useState","Button","Text","View","MarketComponentApi","MarketComponentHelpers","ActivityIndicator","FlatList","Image","useColors","Pagination","TradeList","contest_title","contest_id","contest_type","order_ids","market","onViewOrder","onViewPlayer","onViewTrade","onClose","Colors","order_list","setOrderList","players","orders","list_data","setListData","loading","trades","offset","getOrders","getTradeData","market_id","ords","getOrdersByIds","plys","getPlayersByIds","Set","map","o","player_id","page","trds","getTradesByEventAndMarket","filter","t","market_type","position_ids","length","renderTrades","data","item","createElement","Fragment","found_orders","found_positions","getOrdersFromTrade","trade_side_order","find","side","trade_side","trade_side_position","p","order_id","o_side_order","o_side_position","o_side_player","t_side_player","route_premium","probability","revenue","original_stake","net_winnings","style","borderBottomWidth","borderColor","borders","light","marginTop","type","padding","flex","flexDirection","alignItems","onPress","source","uri","profile_pic","height","width","borderRadius","resizeMode","theme","textAlign","title","toFixed","potential_winnings","float","margin","justifyContent","trade_id","color","text","action","trade_amt","success","transparent","marginRight","result_ind","toUpperCase","winnings","marginLeft","onNext","onPrevious","alignSelf","size","h1","key","windowSize","maxToRenderPerBatch","keyExtractor","toString","renderItem"],"sourceRoot":"../../../../../src","sources":["MarketComponents/components/MarketManager/TradeList.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,14 +6,27 @@ import { useColors } from '../../../constants/useColors';
6
6
  import { AthleteImage, TeamImage } from '../../../Components/Jerseys';
7
7
  import MarketRollbackForm from './MarketRollbackForm';
8
8
  import MarketResolveForm from './MarketResolveForm';
9
- const manage_sections = ['header', 'total_stats', 'markets', 'orders'];
9
+ import moment from 'moment-mini';
10
+ import { Icons, Toggle } from '../../../Components';
11
+ import OrderList from './OrderList';
12
+ import TradeList from './TradeList';
13
+ const manage_sections = ['header', 'total_stats', 'markets', 'orders', 'tournament_toggle', 'matches'];
10
14
  const MarketManager = ({
11
15
  player_id,
12
16
  contest_type,
13
17
  contest_id,
14
- onClose
18
+ onViewMatch,
19
+ onViewTrade,
20
+ onViewOrder,
21
+ onClose,
22
+ onViewPlayer
15
23
  }) => {
16
24
  const Colors = useColors();
25
+ const [tournament_toggle, setTournamentToggle] = useState('stats');
26
+ const [order_list, setOrderList] = useState({
27
+ visible: false,
28
+ order_ids: []
29
+ });
17
30
  const [rollback, setRollback] = useState({
18
31
  visible: false
19
32
  });
@@ -21,11 +34,13 @@ const MarketManager = ({
21
34
  visible: false
22
35
  });
23
36
  const [active_market, setActiveMarket] = useState(undefined);
37
+ const [trades_visible, setTradesVisisble] = useState(false);
24
38
  const [form_data, setFormData] = useState({
25
39
  loading: false,
26
40
  action_loading: false,
27
41
  athletes: [],
28
42
  teams: [],
43
+ tournament_matches: [],
29
44
  markets: [],
30
45
  market_stats: []
31
46
  });
@@ -36,7 +51,8 @@ const MarketManager = ({
36
51
  match,
37
52
  markets,
38
53
  athletes,
39
- teams
54
+ teams,
55
+ tournament_matches
40
56
  } = form_data;
41
57
  const {
42
58
  closed,
@@ -50,10 +66,30 @@ const MarketManager = ({
50
66
  contest_title
51
67
  } = MarketComponentHelpers.getContestDetails(contest_type, event, tournament, match);
52
68
  const supported_markets = MarketComponentHelpers.sortMarketStats(market_stats, MarketComponentHelpers.getSupportedMarkets(contest_type, markets, event, tournament, match));
53
- const selected_market_stats = market_stats.filter(s => s.market_id == active_market?.market_id);
54
- const selected_stats = MarketComponentHelpers.getReconFromMarketStats(selected_market_stats);
55
- const overall_resolve = selected_stats.total_unresolved > 0 ? true : false;
56
- const overall_rollback = selected_stats.total_paid > 0 ? true : false;
69
+ const contest_stats = market_stats.filter(s => s.event_type == contest_type && s.event_id == contest_id && s.market_id == active_market?.market_id);
70
+ const order_ids = MarketComponentHelpers.getOrderIdsFromStats(contest_stats);
71
+ const overallActionsAllowed = () => {
72
+ let response = {
73
+ overall_rollback: false,
74
+ overall_resolve: false
75
+ };
76
+ if (!active_market) {
77
+ return response;
78
+ }
79
+ let contest_stats = market_stats.filter(s => s.event_type == contest_type && s.event_id == contest_id);
80
+ let agg_stats = MarketComponentHelpers.getReconFromMarketStats(contest_stats);
81
+ if (agg_stats.total_paid > 0) {
82
+ response.overall_rollback = true;
83
+ }
84
+ if (agg_stats.total_unresolved > 0) {
85
+ response.overall_resolve = true;
86
+ }
87
+ return response;
88
+ };
89
+ const {
90
+ overall_resolve,
91
+ overall_rollback
92
+ } = overallActionsAllowed();
57
93
  useEffect(() => {
58
94
  if (!player_id) {
59
95
  return;
@@ -112,11 +148,34 @@ const MarketManager = ({
112
148
  if (me?.role != 'admin') {
113
149
  return Alert.alert('Not authorized to view this!');
114
150
  }
115
- const mk_stats = await MarketComponentApi.getMarketStatsByEvent(contest_id, contest_type);
116
- let contest_resp = await getContest();
117
- const mkets = await MarketComponentApi.getMarkets();
151
+ let mk_stats = await MarketComponentApi.getMarketStatsByEvent(contest_id, contest_type);
118
152
  let team_ids = mk_stats.filter(s => s.side_type == 'team').map(s => s.side_id);
119
153
  let athlete_ids = mk_stats.filter(s => s.side_type == 'athlete').map(s => s.side_id);
154
+ let tourney_toggle = 'stats';
155
+ let contest_resp = await getContest();
156
+ //If there is a tournament, then lets grab the matches!
157
+ let tn_matches = [];
158
+ if (contest_resp.tournament) {
159
+ tn_matches = await MarketComponentApi.getMatchesByTournament(contest_resp.tournament.tournament_id);
160
+ //If we have matches - lets try to default the toggle
161
+ let tournament_stats = mk_stats.filter(s => s.event_type == contest_type && s.event_id == contest_id);
162
+ if (tournament_stats.length == 0) {
163
+ tourney_toggle = 'matches';
164
+ }
165
+ //Grab the stats for the matches!!
166
+ let match_stats = await MarketComponentApi.getMarketStatsByEventIds('match', tn_matches.map(m => m.match_id));
167
+ mk_stats = mk_stats.concat(match_stats);
168
+ //Add to the athletes / teams
169
+ tn_matches.map(m => {
170
+ if (m.participant_type == 'team') {
171
+ team_ids = team_ids.concat(m.participants);
172
+ }
173
+ if (m.participant_type == 'athlete') {
174
+ athlete_ids = athlete_ids.concat(m.participants);
175
+ }
176
+ });
177
+ }
178
+ const mkets = await MarketComponentApi.getMarkets();
120
179
  let tms = await MarketComponentApi.getTeamsByIds(team_ids);
121
180
  let aths = await MarketComponentApi.getAthletesByIds(athlete_ids);
122
181
  setFormData({
@@ -124,12 +183,14 @@ const MarketManager = ({
124
183
  loading: false,
125
184
  markets: mkets,
126
185
  teams: tms,
186
+ tournament_matches: tn_matches.filter(m => m.status != 'pending'),
127
187
  athletes: aths,
128
188
  event: contest_resp.event,
129
189
  match: contest_resp.match,
130
190
  tournament: contest_resp.tournament,
131
191
  market_stats: mk_stats.filter(mk => mk.market_type == 'FOR_MONEY')
132
192
  });
193
+ setTournamentToggle(tourney_toggle);
133
194
  };
134
195
  const handleExpire = async order_ids => {
135
196
  if (!active_market) {
@@ -179,7 +240,20 @@ const MarketManager = ({
179
240
  borderColor: Colors.borders.light,
180
241
  padding: 5
181
242
  }
182
- }, data.item.side_type == 'athlete' && athlete ? /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(AthleteImage, {
243
+ }, /*#__PURE__*/React.createElement(Button, {
244
+ float: true,
245
+ style: {
246
+ padding: 10,
247
+ marginRight: 3
248
+ },
249
+ onPress: () => setOrderList({
250
+ visible: true,
251
+ order_ids: data.item.order_ids
252
+ })
253
+ }, /*#__PURE__*/React.createElement(Icons.OrderIcon, {
254
+ size: 12,
255
+ color: Colors.text.white
256
+ })), data.item.side_type == 'athlete' && athlete ? /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(AthleteImage, {
183
257
  athlete: athlete,
184
258
  size: 32
185
259
  })) : data.item.side_type == 'team' && team ? /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(TeamImage, {
@@ -259,7 +333,6 @@ const MarketManager = ({
259
333
  padding: 10,
260
334
  marginLeft: 5
261
335
  },
262
- title_color: Colors.text.white,
263
336
  backgroundColor: Colors.text.warning,
264
337
  onPress: () => setRollback({
265
338
  ...rollback,
@@ -340,6 +413,55 @@ const MarketManager = ({
340
413
  textAlign: "right"
341
414
  }, "$", mk_agg.reconciliation.toFixed(2))));
342
415
  };
416
+ const renderMatches = data => {
417
+ //const away_athlete = athletes.find(a => a.athlete_id == data.item.participants[0])
418
+ //const home_athlete = athletes.find(a => a.athlete_id == data.item.participants[1])
419
+ //const away_team = teams.find(a => a.team_id == data.item.participants[0])
420
+ //const home_team = teams.find(a => a.team_id == data.item.participants[1])
421
+ const match_stats = market_stats.filter(s => s.event_type == 'match' && s.event_id == data.item.match_id);
422
+ const match_agg = MarketComponentHelpers.getReconFromMarketStats(match_stats);
423
+ return /*#__PURE__*/React.createElement(View, {
424
+ type: "row",
425
+ style: {
426
+ padding: 10,
427
+ borderBottomWidth: 1,
428
+ borderColor: Colors.borders.light
429
+ }
430
+ }, /*#__PURE__*/React.createElement(View, {
431
+ style: {
432
+ flex: 1
433
+ }
434
+ }, /*#__PURE__*/React.createElement(Text, {
435
+ theme: "h2",
436
+ size: 12
437
+ }, data.item.match_title), /*#__PURE__*/React.createElement(Text, {
438
+ theme: "description",
439
+ style: {
440
+ marginTop: 3
441
+ },
442
+ size: 10
443
+ }, moment(data.item.scheduled_datetime).format('MM/DD/YY hh:mm a'), " - ", data.item.status)), /*#__PURE__*/React.createElement(View, {
444
+ style: {
445
+ alignItems: 'flex-end'
446
+ }
447
+ }, /*#__PURE__*/React.createElement(Text, {
448
+ color: getReconColor(match_agg.reconciliation)
449
+ }, "$", match_agg.reconciliation.toFixed(2)), /*#__PURE__*/React.createElement(Text, {
450
+ theme: "light",
451
+ textAlign: "right"
452
+ }, "Reconciliation")), /*#__PURE__*/React.createElement(Button, {
453
+ style: {
454
+ padding: 10,
455
+ marginLeft: 5
456
+ },
457
+ backgroundColor: Colors.text.action,
458
+ onPress: () => onViewMatch(data.item.match_id)
459
+ }, /*#__PURE__*/React.createElement(Text, {
460
+ theme: "h1",
461
+ size: 10,
462
+ color: Colors.text.white
463
+ }, "View Match")));
464
+ };
343
465
  const renderSections = data => {
344
466
  switch (data.item) {
345
467
  case 'header':
@@ -453,16 +575,61 @@ const MarketManager = ({
453
575
  keyExtractor: item => item.market_id.toString(),
454
576
  horizontal: true
455
577
  }));
578
+ case 'tournament_toggle':
579
+ if (contest_type != 'tournament') {
580
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
581
+ }
582
+ if (tournament_matches.length == 0) {
583
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
584
+ }
585
+ let tourney_stats = market_stats.filter(s => s.event_type == contest_type && s.event_id == contest_id);
586
+ if (tourney_stats.length == 0) {
587
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
588
+ }
589
+ return /*#__PURE__*/React.createElement(View, {
590
+ style: {
591
+ padding: 10
592
+ }
593
+ }, /*#__PURE__*/React.createElement(Toggle, {
594
+ options: [{
595
+ key: 'stats',
596
+ label: 'Stats'
597
+ }, {
598
+ key: 'matches',
599
+ label: 'Matches'
600
+ }],
601
+ onSelectOption: key => setTournamentToggle(key),
602
+ selected_option: tournament_toggle
603
+ }));
456
604
  case 'orders':
457
605
  if (!active_market) {
458
606
  return /*#__PURE__*/React.createElement(React.Fragment, null);
459
607
  }
608
+ if (contest_type == 'tournament' && tournament_toggle != 'stats') {
609
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
610
+ }
460
611
  return /*#__PURE__*/React.createElement(FlatList, {
461
- data: market_stats.filter(s => s.market_id == active_market.market_id),
612
+ data: contest_stats,
462
613
  key: `unresolved_stats_${active_market?.market_id}`,
463
614
  renderItem: renderMarketStats,
464
615
  keyExtractor: item => `${item.market_id}_${item.side_id}_${item.side}_${item.buy_sell_ind}_${item.var_1}_${item.status}`
465
616
  });
617
+ case 'matches':
618
+ if (!active_market) {
619
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
620
+ }
621
+ if (contest_type != 'tournament') {
622
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
623
+ }
624
+ if (tournament_toggle != 'matches') {
625
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
626
+ }
627
+ return /*#__PURE__*/React.createElement(FlatList, {
628
+ data: tournament_matches.sort((a, b) => moment(a.scheduled_datetime).unix() - moment(b.scheduled_datetime).unix()),
629
+ key: `tournament_matches_${active_market?.market_id}`,
630
+ keyExtractor: item => item.match_id.toString(),
631
+ renderItem: renderMatches
632
+ });
466
633
  default:
467
634
  return /*#__PURE__*/React.createElement(React.Fragment, null);
468
635
  }
@@ -488,7 +655,15 @@ const MarketManager = ({
488
655
  alignItems: 'center',
489
656
  padding: 10
490
657
  }
491
- }, overall_rollback ? /*#__PURE__*/React.createElement(Button, {
658
+ }, /*#__PURE__*/React.createElement(Button, {
659
+ title: "View Trades",
660
+ type: "action",
661
+ style: {
662
+ flex: 0.5,
663
+ marginRight: 5
664
+ },
665
+ onPress: () => setTradesVisisble(true)
666
+ }), overall_rollback ? /*#__PURE__*/React.createElement(Button, {
492
667
  title: "Rollback",
493
668
  type: "error",
494
669
  style: {
@@ -527,6 +702,7 @@ const MarketManager = ({
527
702
  market: rollback.market,
528
703
  market_stats: market_stats,
529
704
  side_type: rollback.side_type,
705
+ onRollback: () => getData(),
530
706
  side_id: rollback.side_id,
531
707
  athletes: athletes,
532
708
  teams: teams,
@@ -550,11 +726,49 @@ const MarketManager = ({
550
726
  market_stats: market_stats,
551
727
  side_type: resolve.side_type,
552
728
  side_id: resolve.side_id,
729
+ onResolve: () => getData(),
553
730
  athletes: athletes,
554
731
  teams: teams,
555
732
  onClose: () => setResolve({
556
733
  visible: false
557
734
  })
735
+ })) : /*#__PURE__*/React.createElement(React.Fragment, null), order_list.visible ? /*#__PURE__*/React.createElement(View, {
736
+ type: "blur",
737
+ style: {
738
+ position: 'absolute',
739
+ top: 0,
740
+ left: 0,
741
+ right: 0,
742
+ bottom: 0,
743
+ justifyContent: 'flex-end'
744
+ }
745
+ }, /*#__PURE__*/React.createElement(OrderList, {
746
+ order_ids: order_list.order_ids,
747
+ onViewOrder: onViewOrder,
748
+ onViewPlayer: onViewPlayer,
749
+ onClose: () => setOrderList({
750
+ visible: false,
751
+ order_ids: []
752
+ })
753
+ })) : /*#__PURE__*/React.createElement(React.Fragment, null), active_market && trades_visible ? /*#__PURE__*/React.createElement(View, {
754
+ type: "blur",
755
+ style: {
756
+ position: 'absolute',
757
+ top: 0,
758
+ left: 0,
759
+ right: 0,
760
+ bottom: 0
761
+ }
762
+ }, /*#__PURE__*/React.createElement(TradeList, {
763
+ contest_id: contest_id,
764
+ contest_title: contest_title,
765
+ contest_type: contest_type,
766
+ order_ids: order_ids,
767
+ onViewOrder: onViewOrder,
768
+ onViewTrade: onViewTrade,
769
+ onViewPlayer: onViewPlayer,
770
+ market: active_market,
771
+ onClose: () => setTradesVisisble(false)
558
772
  })) : /*#__PURE__*/React.createElement(React.Fragment, null));
559
773
  };
560
774
  export default MarketManager;