be-components 6.1.0 → 6.1.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 (228) hide show
  1. package/lib/commonjs/BetMatch/api/index.js +67 -1
  2. package/lib/commonjs/BetMatch/api/index.js.map +1 -1
  3. package/lib/commonjs/BetMatch/components/BetMatchCard.js +100 -46
  4. package/lib/commonjs/BetMatch/components/BetMatchCard.js.map +1 -1
  5. package/lib/commonjs/BetMatch/components/ManageFilter.js +1342 -0
  6. package/lib/commonjs/BetMatch/components/ManageFilter.js.map +1 -0
  7. package/lib/commonjs/BetMatch/index.js +204 -64
  8. package/lib/commonjs/BetMatch/index.js.map +1 -1
  9. package/lib/commonjs/Components/AthleteLozenge.js +81 -0
  10. package/lib/commonjs/Components/AthleteLozenge.js.map +1 -0
  11. package/lib/commonjs/Components/AutoScrollFlatList.js +50 -7
  12. package/lib/commonjs/Components/AutoScrollFlatList.js.map +1 -1
  13. package/lib/commonjs/Components/Icons.js +2 -0
  14. package/lib/commonjs/Components/Icons.js.map +1 -1
  15. package/lib/commonjs/Components/Jerseys.js +30 -11
  16. package/lib/commonjs/Components/Jerseys.js.map +1 -1
  17. package/lib/commonjs/Components/LeagueLozenge.js +59 -0
  18. package/lib/commonjs/Components/LeagueLozenge.js.map +1 -0
  19. package/lib/commonjs/Components/MarketLozenge.js +48 -0
  20. package/lib/commonjs/Components/MarketLozenge.js.map +1 -0
  21. package/lib/commonjs/Components/PlayerLozenge.js +61 -0
  22. package/lib/commonjs/Components/PlayerLozenge.js.map +1 -0
  23. package/lib/commonjs/Components/PremiumIcons.js +366 -0
  24. package/lib/commonjs/Components/PremiumIcons.js.map +1 -0
  25. package/lib/commonjs/Components/TeamLozenge.js +70 -0
  26. package/lib/commonjs/Components/TeamLozenge.js.map +1 -0
  27. package/lib/commonjs/Components/index.js +35 -0
  28. package/lib/commonjs/Components/index.js.map +1 -1
  29. package/lib/commonjs/FlashMarket/index.js +27 -0
  30. package/lib/commonjs/FlashMarket/index.js.map +1 -1
  31. package/lib/commonjs/Premium/api/index.js +50 -0
  32. package/lib/commonjs/Premium/api/index.js.map +1 -0
  33. package/lib/commonjs/Premium/components/ALaCartePremium.js +314 -0
  34. package/lib/commonjs/Premium/components/ALaCartePremium.js.map +1 -0
  35. package/lib/commonjs/Premium/index.js +12 -0
  36. package/lib/commonjs/Premium/index.js.map +1 -0
  37. package/lib/commonjs/ProfileManager/Components/VouchCard.js +3 -3
  38. package/lib/commonjs/ProfileManager/Components/VouchCard.js.map +1 -1
  39. package/lib/commonjs/ProfileManager/api/index.js +10 -1
  40. package/lib/commonjs/ProfileManager/api/index.js.map +1 -1
  41. package/lib/commonjs/ProfileManager/index.js +2 -2
  42. package/lib/commonjs/ProfileManager/index.js.map +1 -1
  43. package/lib/commonjs/SocialComponents/api/index.js +12 -0
  44. package/lib/commonjs/SocialComponents/api/index.js.map +1 -1
  45. package/lib/commonjs/index.js +14 -0
  46. package/lib/commonjs/index.js.map +1 -1
  47. package/lib/module/BetMatch/api/index.js +66 -0
  48. package/lib/module/BetMatch/api/index.js.map +1 -1
  49. package/lib/module/BetMatch/components/BetMatchCard.js +102 -48
  50. package/lib/module/BetMatch/components/BetMatchCard.js.map +1 -1
  51. package/lib/module/BetMatch/components/ManageFilter.js +1333 -0
  52. package/lib/module/BetMatch/components/ManageFilter.js.map +1 -0
  53. package/lib/module/BetMatch/index.js +206 -66
  54. package/lib/module/BetMatch/index.js.map +1 -1
  55. package/lib/module/Components/AthleteLozenge.js +73 -0
  56. package/lib/module/Components/AthleteLozenge.js.map +1 -0
  57. package/lib/module/Components/AutoScrollFlatList.js +51 -8
  58. package/lib/module/Components/AutoScrollFlatList.js.map +1 -1
  59. package/lib/module/Components/Icons.js +3 -0
  60. package/lib/module/Components/Icons.js.map +1 -1
  61. package/lib/module/Components/Jerseys.js +30 -11
  62. package/lib/module/Components/Jerseys.js.map +1 -1
  63. package/lib/module/Components/LeagueLozenge.js +51 -0
  64. package/lib/module/Components/LeagueLozenge.js.map +1 -0
  65. package/lib/module/Components/MarketLozenge.js +40 -0
  66. package/lib/module/Components/MarketLozenge.js.map +1 -0
  67. package/lib/module/Components/PlayerLozenge.js +53 -0
  68. package/lib/module/Components/PlayerLozenge.js.map +1 -0
  69. package/lib/module/Components/PremiumIcons.js +359 -0
  70. package/lib/module/Components/PremiumIcons.js.map +1 -0
  71. package/lib/module/Components/TeamLozenge.js +62 -0
  72. package/lib/module/Components/TeamLozenge.js.map +1 -0
  73. package/lib/module/Components/index.js +6 -1
  74. package/lib/module/Components/index.js.map +1 -1
  75. package/lib/module/FlashMarket/index.js +27 -0
  76. package/lib/module/FlashMarket/index.js.map +1 -1
  77. package/lib/module/Premium/api/index.js +43 -0
  78. package/lib/module/Premium/api/index.js.map +1 -0
  79. package/lib/module/Premium/components/ALaCartePremium.js +305 -0
  80. package/lib/module/Premium/components/ALaCartePremium.js.map +1 -0
  81. package/lib/module/Premium/index.js +5 -0
  82. package/lib/module/Premium/index.js.map +1 -0
  83. package/lib/module/ProfileManager/Components/VouchCard.js +3 -3
  84. package/lib/module/ProfileManager/Components/VouchCard.js.map +1 -1
  85. package/lib/module/ProfileManager/api/index.js +10 -1
  86. package/lib/module/ProfileManager/api/index.js.map +1 -1
  87. package/lib/module/ProfileManager/index.js +2 -2
  88. package/lib/module/ProfileManager/index.js.map +1 -1
  89. package/lib/module/SocialComponents/api/index.js +12 -0
  90. package/lib/module/SocialComponents/api/index.js.map +1 -1
  91. package/lib/module/index.js +3 -1
  92. package/lib/module/index.js.map +1 -1
  93. package/lib/typescript/lib/commonjs/BetMatch/api/index.d.ts +7 -0
  94. package/lib/typescript/lib/commonjs/BetMatch/api/index.d.ts.map +1 -1
  95. package/lib/typescript/lib/commonjs/BetMatch/components/BetMatchCard.d.ts +10 -2
  96. package/lib/typescript/lib/commonjs/BetMatch/components/BetMatchCard.d.ts.map +1 -1
  97. package/lib/typescript/lib/commonjs/BetMatch/components/ManageFilter.d.ts +10 -0
  98. package/lib/typescript/lib/commonjs/BetMatch/components/ManageFilter.d.ts.map +1 -0
  99. package/lib/typescript/lib/commonjs/BetMatch/index.d.ts +12 -1
  100. package/lib/typescript/lib/commonjs/BetMatch/index.d.ts.map +1 -1
  101. package/lib/typescript/lib/commonjs/Components/AthleteLozenge.d.ts +11 -0
  102. package/lib/typescript/lib/commonjs/Components/AthleteLozenge.d.ts.map +1 -0
  103. package/lib/typescript/lib/commonjs/Components/AutoScrollFlatList.d.ts.map +1 -1
  104. package/lib/typescript/lib/commonjs/Components/Jerseys.d.ts.map +1 -1
  105. package/lib/typescript/lib/commonjs/Components/LeagueLozenge.d.ts +10 -0
  106. package/lib/typescript/lib/commonjs/Components/LeagueLozenge.d.ts.map +1 -0
  107. package/lib/typescript/lib/commonjs/Components/MarketLozenge.d.ts +10 -0
  108. package/lib/typescript/lib/commonjs/Components/MarketLozenge.d.ts.map +1 -0
  109. package/lib/typescript/lib/commonjs/Components/PlayerLozenge.d.ts +9 -0
  110. package/lib/typescript/lib/commonjs/Components/PlayerLozenge.d.ts.map +1 -0
  111. package/lib/typescript/lib/commonjs/Components/PremiumIcons.d.ts +85 -0
  112. package/lib/typescript/lib/commonjs/Components/PremiumIcons.d.ts.map +1 -0
  113. package/lib/typescript/lib/commonjs/Components/TeamLozenge.d.ts +10 -0
  114. package/lib/typescript/lib/commonjs/Components/TeamLozenge.d.ts.map +1 -0
  115. package/lib/typescript/lib/commonjs/Components/index.d.ts +5 -0
  116. package/lib/typescript/lib/commonjs/FlashMarket/index.d.ts.map +1 -1
  117. package/lib/typescript/lib/commonjs/Premium/api/index.d.ts +18 -0
  118. package/lib/typescript/lib/commonjs/Premium/api/index.d.ts.map +1 -0
  119. package/lib/typescript/lib/commonjs/Premium/components/ALaCartePremium.d.ts +12 -0
  120. package/lib/typescript/lib/commonjs/Premium/components/ALaCartePremium.d.ts.map +1 -0
  121. package/lib/typescript/lib/commonjs/Premium/index.d.ts +6 -0
  122. package/lib/typescript/lib/commonjs/Premium/index.d.ts.map +1 -0
  123. package/lib/typescript/lib/commonjs/ProfileManager/api/index.d.ts +1 -0
  124. package/lib/typescript/lib/commonjs/ProfileManager/api/index.d.ts.map +1 -1
  125. package/lib/typescript/lib/commonjs/SocialComponents/api/index.d.ts +6 -6
  126. package/lib/typescript/lib/commonjs/SocialComponents/api/index.d.ts.map +1 -1
  127. package/lib/typescript/lib/commonjs/index.d.ts +2 -0
  128. package/lib/typescript/lib/commonjs/index.d.ts.map +1 -1
  129. package/lib/typescript/lib/module/BetMatch/api/index.d.ts +7 -0
  130. package/lib/typescript/lib/module/BetMatch/api/index.d.ts.map +1 -1
  131. package/lib/typescript/lib/module/BetMatch/components/BetMatchCard.d.ts +10 -2
  132. package/lib/typescript/lib/module/BetMatch/components/BetMatchCard.d.ts.map +1 -1
  133. package/lib/typescript/lib/module/BetMatch/components/ManageFilter.d.ts +10 -0
  134. package/lib/typescript/lib/module/BetMatch/components/ManageFilter.d.ts.map +1 -0
  135. package/lib/typescript/lib/module/BetMatch/index.d.ts +12 -1
  136. package/lib/typescript/lib/module/BetMatch/index.d.ts.map +1 -1
  137. package/lib/typescript/lib/module/Components/AthleteLozenge.d.ts +11 -0
  138. package/lib/typescript/lib/module/Components/AthleteLozenge.d.ts.map +1 -0
  139. package/lib/typescript/lib/module/Components/AutoScrollFlatList.d.ts.map +1 -1
  140. package/lib/typescript/lib/module/Components/Jerseys.d.ts.map +1 -1
  141. package/lib/typescript/lib/module/Components/LeagueLozenge.d.ts +10 -0
  142. package/lib/typescript/lib/module/Components/LeagueLozenge.d.ts.map +1 -0
  143. package/lib/typescript/lib/module/Components/MarketLozenge.d.ts +10 -0
  144. package/lib/typescript/lib/module/Components/MarketLozenge.d.ts.map +1 -0
  145. package/lib/typescript/lib/module/Components/PlayerLozenge.d.ts +9 -0
  146. package/lib/typescript/lib/module/Components/PlayerLozenge.d.ts.map +1 -0
  147. package/lib/typescript/lib/module/Components/PremiumIcons.d.ts +86 -0
  148. package/lib/typescript/lib/module/Components/PremiumIcons.d.ts.map +1 -0
  149. package/lib/typescript/lib/module/Components/TeamLozenge.d.ts +10 -0
  150. package/lib/typescript/lib/module/Components/TeamLozenge.d.ts.map +1 -0
  151. package/lib/typescript/lib/module/Components/index.d.ts +6 -1
  152. package/lib/typescript/lib/module/Components/index.d.ts.map +1 -1
  153. package/lib/typescript/lib/module/FlashMarket/index.d.ts.map +1 -1
  154. package/lib/typescript/lib/module/Premium/api/index.d.ts +17 -0
  155. package/lib/typescript/lib/module/Premium/api/index.d.ts.map +1 -0
  156. package/lib/typescript/lib/module/Premium/components/ALaCartePremium.d.ts +17 -0
  157. package/lib/typescript/lib/module/Premium/components/ALaCartePremium.d.ts.map +1 -0
  158. package/lib/typescript/lib/module/Premium/index.d.ts +6 -0
  159. package/lib/typescript/lib/module/Premium/index.d.ts.map +1 -0
  160. package/lib/typescript/lib/module/ProfileManager/api/index.d.ts +1 -0
  161. package/lib/typescript/lib/module/ProfileManager/api/index.d.ts.map +1 -1
  162. package/lib/typescript/lib/module/SocialComponents/api/index.d.ts +6 -6
  163. package/lib/typescript/lib/module/SocialComponents/api/index.d.ts.map +1 -1
  164. package/lib/typescript/lib/module/index.d.ts +3 -1
  165. package/lib/typescript/lib/module/index.d.ts.map +1 -1
  166. package/lib/typescript/src/BetMatch/api/index.d.ts +8 -1
  167. package/lib/typescript/src/BetMatch/api/index.d.ts.map +1 -1
  168. package/lib/typescript/src/BetMatch/components/BetMatchCard.d.ts +12 -4
  169. package/lib/typescript/src/BetMatch/components/BetMatchCard.d.ts.map +1 -1
  170. package/lib/typescript/src/BetMatch/components/ManageFilter.d.ts +12 -0
  171. package/lib/typescript/src/BetMatch/components/ManageFilter.d.ts.map +1 -0
  172. package/lib/typescript/src/BetMatch/index.d.ts +23 -2
  173. package/lib/typescript/src/BetMatch/index.d.ts.map +1 -1
  174. package/lib/typescript/src/Components/AthleteLozenge.d.ts +13 -0
  175. package/lib/typescript/src/Components/AthleteLozenge.d.ts.map +1 -0
  176. package/lib/typescript/src/Components/AutoScrollFlatList.d.ts.map +1 -1
  177. package/lib/typescript/src/Components/Icons.d.ts.map +1 -1
  178. package/lib/typescript/src/Components/Jerseys.d.ts.map +1 -1
  179. package/lib/typescript/src/Components/LeagueLozenge.d.ts +13 -0
  180. package/lib/typescript/src/Components/LeagueLozenge.d.ts.map +1 -0
  181. package/lib/typescript/src/Components/MarketLozenge.d.ts +13 -0
  182. package/lib/typescript/src/Components/MarketLozenge.d.ts.map +1 -0
  183. package/lib/typescript/src/Components/PlayerLozenge.d.ts +11 -0
  184. package/lib/typescript/src/Components/PlayerLozenge.d.ts.map +1 -0
  185. package/lib/typescript/src/Components/PremiumIcons.d.ts +27 -0
  186. package/lib/typescript/src/Components/PremiumIcons.d.ts.map +1 -0
  187. package/lib/typescript/src/Components/TeamLozenge.d.ts +12 -0
  188. package/lib/typescript/src/Components/TeamLozenge.d.ts.map +1 -0
  189. package/lib/typescript/src/Components/index.d.ts +6 -1
  190. package/lib/typescript/src/Components/index.d.ts.map +1 -1
  191. package/lib/typescript/src/FlashMarket/index.d.ts.map +1 -1
  192. package/lib/typescript/src/Premium/api/index.d.ts +12 -0
  193. package/lib/typescript/src/Premium/api/index.d.ts.map +1 -0
  194. package/lib/typescript/src/Premium/components/ALaCartePremium.d.ts +16 -0
  195. package/lib/typescript/src/Premium/components/ALaCartePremium.d.ts.map +1 -0
  196. package/lib/typescript/src/Premium/index.d.ts +13 -0
  197. package/lib/typescript/src/Premium/index.d.ts.map +1 -0
  198. package/lib/typescript/src/ProfileManager/api/index.d.ts +6 -2
  199. package/lib/typescript/src/ProfileManager/api/index.d.ts.map +1 -1
  200. package/lib/typescript/src/SocialComponents/api/index.d.ts +1 -1
  201. package/lib/typescript/src/SocialComponents/api/index.d.ts.map +1 -1
  202. package/lib/typescript/src/index.d.ts +3 -1
  203. package/lib/typescript/src/index.d.ts.map +1 -1
  204. package/package.json +1 -1
  205. package/src/BetMatch/api/index.ts +54 -2
  206. package/src/BetMatch/components/BetMatchCard.tsx +82 -43
  207. package/src/BetMatch/components/ManageFilter.tsx +830 -0
  208. package/src/BetMatch/index.tsx +142 -45
  209. package/src/Components/AthleteLozenge.tsx +52 -0
  210. package/src/Components/AutoScrollFlatList.tsx +50 -15
  211. package/src/Components/Icons.tsx +5 -0
  212. package/src/Components/Jerseys.tsx +19 -10
  213. package/src/Components/LeagueLozenge.tsx +36 -0
  214. package/src/Components/MarketLozenge.tsx +29 -0
  215. package/src/Components/PlayerLozenge.tsx +37 -0
  216. package/src/Components/PremiumIcons.tsx +201 -0
  217. package/src/Components/TeamLozenge.tsx +44 -0
  218. package/src/Components/index.tsx +10 -0
  219. package/src/FlashMarket/index.tsx +15 -0
  220. package/src/Premium/api/index.ts +32 -0
  221. package/src/Premium/components/ALaCartePremium.tsx +145 -0
  222. package/src/Premium/index.tsx +5 -0
  223. package/src/ProfileManager/Components/VouchCard.tsx +3 -3
  224. package/src/ProfileManager/api/index.ts +12 -3
  225. package/src/ProfileManager/index.tsx +2 -2
  226. package/src/SocialComponents/api/index.ts +9 -1
  227. package/src/index.tsx +4 -0
  228. package/src/types.d.ts +37 -1
@@ -0,0 +1,1342 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _Themed = require("../../Components/Themed");
9
+ var _api = require("../api");
10
+ var _reactNative = require("react-native");
11
+ var _Components = require("../../Components");
12
+ var _useColors = require("../../constants/useColors");
13
+ var _api2 = require("../../MarketComponents/api");
14
+ var _SearchBox = _interopRequireDefault(require("../../Components/SearchBox"));
15
+ var _TeamLozenge = _interopRequireDefault(require("../../Components/TeamLozenge"));
16
+ var _Pagination = _interopRequireDefault(require("../../Components/Pagination"));
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ const grade_boxes = [{
21
+ min: 0,
22
+ max: 79,
23
+ success_color: 'rgba(125,205,133,0.2)',
24
+ fail_color: 'rgba(213,87, 59, 0.2)'
25
+ }, {
26
+ min: 80,
27
+ max: 94,
28
+ success_color: 'rgba(125,205,133,0.4)',
29
+ fail_color: 'rgba(213,87, 59, 0.4)'
30
+ }, {
31
+ min: 95,
32
+ max: 97.5,
33
+ success_color: 'rgba(125,205,133,0.6)',
34
+ fail_color: 'rgba(213,87, 59, 0.6)'
35
+ }, {
36
+ min: 97.6,
37
+ max: 99.99,
38
+ success_color: 'rgba(125,205,133,0.8)',
39
+ fail_color: 'rgba(213,87, 59, 0)'
40
+ }, {
41
+ min: 100,
42
+ max: 200,
43
+ success_color: 'rgba(125,205,133,1)',
44
+ fail_color: 'rgba(213,87, 59, 0)'
45
+ }];
46
+ const books = ['DraftKings', 'FanDuel', 'MGM', 'PointsBet'];
47
+ const sections = ['header', 'name', 'toggle', 'status', 'leagues', 'market_types', 'markets', 'athletes', 'teams', 'players', 'order_grades', 'external_sources'];
48
+ const ManageFilter = ({
49
+ me,
50
+ player_filter_id,
51
+ onFocusPosition,
52
+ onRunFilter,
53
+ onUpdateFilter
54
+ }) => {
55
+ const Colors = (0, _useColors.useColors)();
56
+ const [player_search, setPlayerSearch] = (0, _react.useState)({
57
+ loading: false,
58
+ players: [],
59
+ offset: 0,
60
+ value: ''
61
+ });
62
+ const [confirm_delete, setConfirmDelete] = (0, _react.useState)(false);
63
+ const [athlete_search, setAthleteSearch] = (0, _react.useState)({
64
+ loading: false,
65
+ offset: 0,
66
+ value: '',
67
+ athletes: []
68
+ });
69
+ const [filter_athletes, setFilterAthletes] = (0, _react.useState)([]);
70
+ const [filter_teams, setFilterTeams] = (0, _react.useState)([]);
71
+ const [filter_players, setFilterPlayers] = (0, _react.useState)([]);
72
+ const [team_search, setTeamSearch] = (0, _react.useState)({
73
+ loading: false,
74
+ value: '',
75
+ offset: 0,
76
+ teams: []
77
+ });
78
+ const [action_loading, setActionLoading] = (0, _react.useState)(false);
79
+ const [static_data, setStaticData] = (0, _react.useState)({
80
+ static_loading: false,
81
+ loaded: false,
82
+ leagues: [],
83
+ markets: []
84
+ });
85
+ const {
86
+ static_loading,
87
+ loaded,
88
+ leagues,
89
+ markets
90
+ } = static_data;
91
+ const [filter_data, setFilterData] = (0, _react.useState)({
92
+ loading: false,
93
+ active_toggle: 'markets'
94
+ });
95
+ const {
96
+ loading,
97
+ player_filter,
98
+ draft_filter,
99
+ active_toggle
100
+ } = filter_data;
101
+ let filtered_markets = _api.BetMatchHelpers.filterMarkets(markets, leagues, draft_filter);
102
+ const premium_allowed = me.type == 'premium' ? true : false;
103
+ (0, _react.useEffect)(() => {
104
+ if (!loaded) {
105
+ return;
106
+ }
107
+ loadData(player_filter_id);
108
+ }, [player_filter_id, loaded]);
109
+ (0, _react.useEffect)(() => {
110
+ _api2.MarketComponentApi.setEnvironment();
111
+ _api.BetMatchApi.setEnvironment();
112
+ loadStaticData();
113
+ }, []);
114
+ const loadStaticData = async () => {
115
+ setStaticData({
116
+ ...static_data,
117
+ static_loading: false
118
+ });
119
+ const lgs = await _api2.MarketComponentApi.getLeagues();
120
+ const mks = await _api2.MarketComponentApi.getMarkets();
121
+ setStaticData({
122
+ ...static_data,
123
+ leagues: lgs,
124
+ markets: mks,
125
+ loaded: true,
126
+ static_loading: false
127
+ });
128
+ };
129
+ const loadData = async id => {
130
+ setFilterData({
131
+ ...filter_data,
132
+ loading: true
133
+ });
134
+ const pf = await _api.BetMatchApi.getPlayerFilterById(id);
135
+ if (!pf) {
136
+ return alert('Unable to get filter details. It may have been deleted');
137
+ }
138
+ let athlete_ids = pf?.filter.athlete_ids ?? [];
139
+ let team_ids = pf?.filter.team_ids ?? [];
140
+ let player_ids = pf?.filter.player_ids ?? [];
141
+ let f_players = await _api.BetMatchApi.getPlayersByPlayerIds(player_ids);
142
+ let f_teams = await _api.BetMatchApi.getTeamsByIds(team_ids);
143
+ let f_athletes = await _api.BetMatchApi.getAthletesByIds(athlete_ids);
144
+ setFilterAthletes(f_athletes);
145
+ setFilterTeams(f_teams);
146
+ setFilterPlayers(f_players);
147
+ setFilterData({
148
+ ...filter_data,
149
+ loading: false,
150
+ player_filter: pf,
151
+ draft_filter: pf
152
+ });
153
+ };
154
+ const isValid = () => {
155
+ let errors = [];
156
+ if (!draft_filter?.filter) {
157
+ return ['Filter is empty'];
158
+ }
159
+ if (!draft_filter.name || player_filter?.name == '') {
160
+ errors.push('Must add name to filter');
161
+ }
162
+ if (draft_filter.filter.league_ids.length < 1) {
163
+ errors.push('Need to select 1 league');
164
+ }
165
+ if (!draft_filter.filter.market_types) {
166
+ errors.push('Must select market type');
167
+ }
168
+ if (draft_filter.filter.league_ids.length > 1) {
169
+ errors.push('Filter can only include up to 1 leagues');
170
+ }
171
+ if (draft_filter.filter.market_ids.length == 0) {
172
+ errors.push('Need to selected at least one market');
173
+ }
174
+ if (draft_filter.filter.minimum_grade > 0 && me?.type != 'premium') {
175
+ errors.push('Only premium users are allowed to create filters with minimum grades');
176
+ }
177
+ if (draft_filter.filter.external_book && draft_filter.filter.external_book != '' && me?.type != 'premium') {
178
+ errors.push('Only premium users are allowed to compare to an external book');
179
+ }
180
+ return errors;
181
+ };
182
+ const errors = isValid();
183
+ const minimumGradeText = minimum_grade => {
184
+ let text = 'Show me everything';
185
+ if (minimum_grade >= 80) {
186
+ text = 'I just want to get this fulfilled as long as its reasonable';
187
+ }
188
+ if (minimum_grade >= 95) {
189
+ text = 'Around the consensus price but may not be better';
190
+ }
191
+ if (minimum_grade >= 97.5) {
192
+ text = 'Better than the Consensus price with vig';
193
+ }
194
+ if (minimum_grade >= 100) {
195
+ text = 'MAX - Better than the Consensus price with vig removed';
196
+ }
197
+ return text;
198
+ };
199
+ const handleUpdate = async draft_player_filter => {
200
+ setActionLoading(true);
201
+ const pf = await _api.BetMatchApi.updatePlayerFilter(draft_player_filter);
202
+ if (!pf) {
203
+ setActionLoading(false);
204
+ return alert('Unable to update');
205
+ }
206
+ setFilterData({
207
+ ...filter_data,
208
+ player_filter: pf,
209
+ draft_filter: pf
210
+ });
211
+ setActionLoading(false);
212
+ onUpdateFilter(pf);
213
+ };
214
+ const handleLeagueSelect = league => {
215
+ if (!draft_filter) {
216
+ return;
217
+ }
218
+ let existing_leagues = draft_filter.filter.league_ids;
219
+ let already_selected = existing_leagues.find(l => l == league.league_id);
220
+ if (already_selected) {
221
+ existing_leagues = existing_leagues.filter(l => l != league.league_id);
222
+ } else {
223
+ if (existing_leagues.length > 0) {
224
+ return alert('Only 1 league can be selected');
225
+ }
226
+ existing_leagues = existing_leagues.concat(league.league_id);
227
+ }
228
+ let new_filter = {
229
+ ...draft_filter,
230
+ filter: {
231
+ ...draft_filter.filter,
232
+ league_ids: existing_leagues
233
+ }
234
+ };
235
+ handleUpdate(new_filter);
236
+ };
237
+ const handleMarketSelect = market => {
238
+ if (!draft_filter) {
239
+ return;
240
+ }
241
+ let existing_markets = draft_filter.filter.market_ids;
242
+ let already_selected = existing_markets.find(l => l == market.market_id);
243
+ if (already_selected) {
244
+ existing_markets = existing_markets.filter(l => l != market.market_id);
245
+ } else {
246
+ existing_markets = existing_markets.concat(market.market_id);
247
+ }
248
+ let new_filter = {
249
+ ...draft_filter,
250
+ filter: {
251
+ ...draft_filter.filter,
252
+ market_ids: existing_markets
253
+ }
254
+ };
255
+ handleUpdate(new_filter);
256
+ };
257
+ const handlePlayerSelect = player => {
258
+ if (!draft_filter) {
259
+ return;
260
+ }
261
+ let existing_players = draft_filter.filter.player_ids;
262
+ let already_selected = existing_players.find(l => l == player.player_id);
263
+ if (already_selected) {
264
+ existing_players = existing_players.filter(l => l != player.player_id);
265
+ setFilterPlayers(filter_players.filter(t => t.player_id != player.player_id));
266
+ } else {
267
+ existing_players = existing_players.concat(player.player_id);
268
+ setFilterPlayers(filter_players.concat(player));
269
+ }
270
+ let new_filter = {
271
+ ...draft_filter,
272
+ filter: {
273
+ ...draft_filter.filter,
274
+ player_ids: existing_players
275
+ }
276
+ };
277
+ handleUpdate(new_filter);
278
+ };
279
+ const handleAthleteSelect = athlete => {
280
+ if (!draft_filter) {
281
+ return;
282
+ }
283
+ let existing_athletes = draft_filter.filter.athlete_ids;
284
+ let already_selected = existing_athletes.find(l => l == athlete.athlete_id);
285
+ if (already_selected) {
286
+ existing_athletes = existing_athletes.filter(l => l != athlete.athlete_id);
287
+ setFilterAthletes(filter_athletes.filter(t => t.athlete_id != athlete.athlete_id));
288
+ } else {
289
+ existing_athletes = existing_athletes.concat(athlete.athlete_id);
290
+ setFilterAthletes(filter_athletes.concat(athlete));
291
+ }
292
+ let new_filter = {
293
+ ...draft_filter,
294
+ filter: {
295
+ ...draft_filter.filter,
296
+ athlete_ids: existing_athletes
297
+ }
298
+ };
299
+ handleUpdate(new_filter);
300
+ };
301
+ const handleTeamSelect = team => {
302
+ if (!draft_filter) {
303
+ return;
304
+ }
305
+ let existing_teams = draft_filter.filter.team_ids;
306
+ let already_selected = existing_teams.find(l => l == team.team_id);
307
+ if (already_selected) {
308
+ existing_teams = existing_teams.filter(l => l != team.team_id);
309
+ setFilterTeams(filter_teams.filter(t => t.team_id != team.team_id));
310
+ } else {
311
+ existing_teams = existing_teams.concat(team.team_id);
312
+ setFilterTeams(filter_teams.concat(team));
313
+ }
314
+ let new_filter = {
315
+ ...draft_filter,
316
+ filter: {
317
+ ...draft_filter.filter,
318
+ team_ids: existing_teams
319
+ }
320
+ };
321
+ handleUpdate(new_filter);
322
+ };
323
+ const handleSearchPlayers = async page => {
324
+ setPlayerSearch({
325
+ ...player_search,
326
+ loading: true
327
+ });
328
+ const pls = await _api.BetMatchApi.searchPlayersByValue(player_search.value, page);
329
+ setPlayerSearch({
330
+ ...player_search,
331
+ loading: false,
332
+ players: pls,
333
+ offset: page
334
+ });
335
+ };
336
+ const handleSearchAthletes = async page => {
337
+ setAthleteSearch({
338
+ ...athlete_search,
339
+ loading: true
340
+ });
341
+ const aths = await _api.BetMatchApi.searchAthletes(athlete_search.value, page, draft_filter?.filter?.league_ids);
342
+ setAthleteSearch({
343
+ ...athlete_search,
344
+ loading: false,
345
+ athletes: aths,
346
+ offset: page
347
+ });
348
+ };
349
+ const handleSearchTeams = async page => {
350
+ setTeamSearch({
351
+ ...team_search,
352
+ loading: true
353
+ });
354
+ const tms = await _api.BetMatchApi.searchTeams(team_search.value, page, draft_filter?.filter?.league_ids);
355
+ setTeamSearch({
356
+ ...athlete_search,
357
+ loading: false,
358
+ teams: tms,
359
+ offset: page
360
+ });
361
+ };
362
+ const renderSections = data => {
363
+ switch (data.item) {
364
+ case 'name':
365
+ if (!draft_filter) {
366
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
367
+ }
368
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_Themed.View, {
369
+ transparent: true,
370
+ style: {
371
+ padding: 10
372
+ }
373
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
374
+ theme: "h1"
375
+ }, "Name"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
376
+ theme: "description",
377
+ style: {
378
+ marginTop: 3
379
+ }
380
+ }, "Give this filter a memorable name based on the criteria set (i.e., NFL QB Padding Tds, etc)")), /*#__PURE__*/_react.default.createElement(_Themed.TextInput, {
381
+ style: {
382
+ margin: 10
383
+ },
384
+ onFocusPosition: onFocusPosition,
385
+ value: draft_filter.name,
386
+ placeholder: "Enter name here ...",
387
+ onChangeText: text => setFilterData({
388
+ ...filter_data,
389
+ draft_filter: {
390
+ ...draft_filter,
391
+ name: text
392
+ }
393
+ })
394
+ }));
395
+ case 'toggle':
396
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
397
+ transparent: true,
398
+ style: {
399
+ padding: 10
400
+ }
401
+ }, /*#__PURE__*/_react.default.createElement(_Components.Toggle, {
402
+ options: [{
403
+ key: 'markets',
404
+ label: 'Markets'
405
+ }, {
406
+ key: 'people',
407
+ label: 'People'
408
+ }, {
409
+ key: 'premium',
410
+ label: 'Premium'
411
+ }],
412
+ onSelectOption: option => setFilterData({
413
+ ...filter_data,
414
+ active_toggle: option
415
+ }),
416
+ selected_option: active_toggle
417
+ }));
418
+ case 'status':
419
+ if (!draft_filter) {
420
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
421
+ }
422
+ if (active_toggle != 'markets') {
423
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
424
+ }
425
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
426
+ nativeID: "filter_order_status",
427
+ style: {
428
+ marginTop: 10
429
+ }
430
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
431
+ type: "header",
432
+ style: {
433
+ padding: 10
434
+ }
435
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
436
+ theme: "h1"
437
+ }, "Event Status"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
438
+ style: {
439
+ marginTop: 3
440
+ },
441
+ theme: "description"
442
+ }, "Set to show all orders or filter to only orders related to an event that is currently inprogress")), /*#__PURE__*/_react.default.createElement(_Themed.View, {
443
+ style: {
444
+ margin: 10,
445
+ padding: 10,
446
+ borderWidth: 1,
447
+ borderColor: Colors.borders.light,
448
+ borderRadius: 8
449
+ }
450
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Button, {
451
+ transparent: true,
452
+ style: {
453
+ borderRadius: 0,
454
+ flexDirection: 'row',
455
+ alignItems: 'center',
456
+ padding: 10,
457
+ borderBottomWidth: 1,
458
+ borderColor: Colors.borders.light
459
+ },
460
+ onPress: () => {
461
+ let new_filter = {
462
+ ...draft_filter
463
+ };
464
+ new_filter.filter.live_only = false;
465
+ handleUpdate(new_filter);
466
+ }
467
+ }, /*#__PURE__*/_react.default.createElement(_Components.Checkbox, {
468
+ style: {
469
+ borderRadius: 100
470
+ },
471
+ fill_style: {
472
+ borderRadius: 100
473
+ },
474
+ color: Colors.text.highlight,
475
+ checked: draft_filter.filter.live_only ? false : true,
476
+ onSelect: () => console.log(''),
477
+ disabled: true
478
+ }), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
479
+ style: {
480
+ marginLeft: 14
481
+ },
482
+ size: 14,
483
+ theme: "h2"
484
+ }, "Any Event Status (Scheduled and Live)")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
485
+ transparent: true,
486
+ style: {
487
+ borderRadius: 0,
488
+ flexDirection: 'row',
489
+ alignItems: 'center',
490
+ padding: 10,
491
+ borderBottomWidth: 1,
492
+ borderColor: Colors.borders.light
493
+ },
494
+ onPress: () => {
495
+ let new_filter = {
496
+ ...draft_filter
497
+ };
498
+ new_filter.filter.live_only = true;
499
+ handleUpdate(new_filter);
500
+ }
501
+ }, /*#__PURE__*/_react.default.createElement(_Components.Checkbox, {
502
+ style: {
503
+ borderRadius: 100
504
+ },
505
+ fill_style: {
506
+ borderRadius: 100
507
+ },
508
+ color: Colors.text.highlight,
509
+ disabled: true,
510
+ checked: draft_filter.filter.live_only ? true : false,
511
+ onSelect: () => console.log('')
512
+ }), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
513
+ style: {
514
+ marginLeft: 14
515
+ },
516
+ size: 14,
517
+ theme: "h2"
518
+ }, "Live Only - Events currently in progress"))));
519
+ case 'leagues':
520
+ if (!draft_filter) {
521
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
522
+ }
523
+ if (active_toggle != 'markets') {
524
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
525
+ }
526
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
527
+ nativeID: "filter_leagues",
528
+ style: {
529
+ marginTop: 10
530
+ }
531
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
532
+ type: "header",
533
+ style: {
534
+ padding: 10
535
+ }
536
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
537
+ theme: "h1"
538
+ }, "Leagues"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
539
+ style: {
540
+ marginTop: 4
541
+ },
542
+ theme: "description"
543
+ }, "Only show orders related to specific leagues (must select 1)")), /*#__PURE__*/_react.default.createElement(_Themed.View, {
544
+ style: {
545
+ flexDirection: 'row',
546
+ flexWrap: 'wrap',
547
+ margin: 10,
548
+ padding: 10,
549
+ borderWidth: 1,
550
+ borderColor: Colors.borders.light,
551
+ borderRadius: 8
552
+ }
553
+ }, leagues.sort((a, b) => a.status.localeCompare(b.status) || a.priority - b.priority).map(l => {
554
+ const selected = draft_filter.filter.league_ids && draft_filter.filter.league_ids.find(el => el == l.league_id) ? true : false;
555
+ return /*#__PURE__*/_react.default.createElement(_Components.LeagueLozenge, {
556
+ key: `${l.league_id.toString()}`,
557
+ style: {
558
+ flexGrow: 1
559
+ },
560
+ is_active: selected,
561
+ league: l,
562
+ onSelect: league => handleLeagueSelect(league)
563
+ });
564
+ })));
565
+ case 'market_types':
566
+ if (!draft_filter) {
567
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
568
+ }
569
+ if (active_toggle != 'markets') {
570
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
571
+ }
572
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
573
+ nativeID: "filter_order_status",
574
+ style: {
575
+ marginTop: 10
576
+ }
577
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
578
+ type: "header",
579
+ style: {
580
+ padding: 10
581
+ }
582
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
583
+ theme: "h1"
584
+ }, "Market Types"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
585
+ style: {
586
+ marginTop: 4
587
+ },
588
+ theme: "description"
589
+ }, "Set to show all orders or filter to only orders related to an event that is currently inprogress")), /*#__PURE__*/_react.default.createElement(_Themed.View, {
590
+ style: {
591
+ margin: 10,
592
+ padding: 10,
593
+ borderWidth: 1,
594
+ borderColor: Colors.borders.light,
595
+ borderRadius: 8
596
+ }
597
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Button, {
598
+ transparent: true,
599
+ style: {
600
+ borderRadius: 0,
601
+ flexDirection: 'row',
602
+ alignItems: 'center',
603
+ padding: 10,
604
+ borderBottomWidth: 1,
605
+ borderColor: Colors.borders.light
606
+ },
607
+ onPress: () => {
608
+ let new_filter = {
609
+ ...draft_filter
610
+ };
611
+ new_filter.filter.market_types = 'event';
612
+ handleUpdate(new_filter);
613
+ }
614
+ }, /*#__PURE__*/_react.default.createElement(_Components.Checkbox, {
615
+ style: {
616
+ borderRadius: 100
617
+ },
618
+ fill_style: {
619
+ borderRadius: 100
620
+ },
621
+ color: Colors.text.highlight,
622
+ checked: draft_filter.filter.market_types == 'event' ? true : false,
623
+ onSelect: () => console.log(''),
624
+ disabled: true
625
+ }), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
626
+ style: {
627
+ marginLeft: 14
628
+ },
629
+ size: 14,
630
+ theme: "h2"
631
+ }, "Event Level (Winner, Spread, Total)")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
632
+ transparent: true,
633
+ style: {
634
+ borderRadius: 0,
635
+ flexDirection: 'row',
636
+ alignItems: 'center',
637
+ padding: 10,
638
+ borderBottomWidth: 1,
639
+ borderColor: Colors.borders.light
640
+ },
641
+ onPress: () => {
642
+ let new_filter = {
643
+ ...draft_filter
644
+ };
645
+ new_filter.filter.market_types = 'player_stat';
646
+ handleUpdate(new_filter);
647
+ }
648
+ }, /*#__PURE__*/_react.default.createElement(_Components.Checkbox, {
649
+ style: {
650
+ borderRadius: 100
651
+ },
652
+ fill_style: {
653
+ borderRadius: 100
654
+ },
655
+ color: Colors.text.highlight,
656
+ checked: draft_filter.filter.market_types == 'player_stat' ? true : false,
657
+ onSelect: () => console.log(''),
658
+ disabled: true
659
+ }), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
660
+ style: {
661
+ marginLeft: 14
662
+ },
663
+ size: 14,
664
+ theme: "h2"
665
+ }, "Player Stats"))));
666
+ case 'markets':
667
+ if (!draft_filter) {
668
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
669
+ }
670
+ if (draft_filter.filter.league_ids?.length <= 0) {
671
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
672
+ }
673
+ if (!draft_filter.filter.market_types) {
674
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
675
+ }
676
+ if (active_toggle != 'markets') {
677
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
678
+ }
679
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
680
+ nativeID: "filter_leagues",
681
+ style: {
682
+ marginTop: 10
683
+ }
684
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
685
+ type: "header",
686
+ style: {
687
+ padding: 10
688
+ }
689
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
690
+ theme: "h1"
691
+ }, "Included Markets"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
692
+ style: {
693
+ marginTop: 4
694
+ },
695
+ theme: "description"
696
+ }, "Only show orders related to specific markets")), /*#__PURE__*/_react.default.createElement(_Themed.View, {
697
+ style: {
698
+ flexDirection: 'row',
699
+ flexWrap: 'wrap',
700
+ margin: 10,
701
+ padding: 10,
702
+ borderWidth: 1,
703
+ borderColor: Colors.borders.light,
704
+ borderRadius: 8
705
+ }
706
+ }, filtered_markets.map(m => {
707
+ const selected = draft_filter.filter.market_ids.find(el => el == m.market_id) ? true : false;
708
+ return /*#__PURE__*/_react.default.createElement(_Components.MarketLozenge, {
709
+ style: {
710
+ flexGrow: 1
711
+ },
712
+ is_active: selected,
713
+ market: m,
714
+ onSelect: market => handleMarketSelect(market)
715
+ });
716
+ })));
717
+ case 'athletes':
718
+ if (!draft_filter) {
719
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
720
+ }
721
+ if (draft_filter.filter.league_ids?.length <= 0) {
722
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
723
+ }
724
+ if (draft_filter.filter.market_types != 'player_stat') {
725
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
726
+ }
727
+ if (active_toggle != 'markets') {
728
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
729
+ }
730
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
731
+ nativeID: "filter_athletes",
732
+ style: {
733
+ marginTop: 10
734
+ }
735
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
736
+ type: "header",
737
+ style: {
738
+ padding: 10
739
+ }
740
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
741
+ theme: "h1"
742
+ }, "Included Athletes"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
743
+ style: {
744
+ marginTop: 4
745
+ },
746
+ theme: "description"
747
+ }, "Only show orders related to specific athletes")), /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_SearchBox.default, {
748
+ onFocusPosition: onFocusPosition,
749
+ onChange: text => setAthleteSearch({
750
+ ...athlete_search,
751
+ value: text
752
+ }),
753
+ onSearch: () => handleSearchAthletes(0)
754
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
755
+ style: {
756
+ margin: 10,
757
+ padding: 10,
758
+ borderWidth: 1,
759
+ borderColor: Colors.borders.light,
760
+ borderRadius: 8
761
+ }
762
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
763
+ style: {
764
+ flexDirection: 'row',
765
+ flexWrap: 'wrap'
766
+ }
767
+ }, draft_filter.filter.athlete_ids.map(id => {
768
+ const athlete = filter_athletes.find(a => a.athlete_id == id);
769
+ if (!athlete) {
770
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
771
+ }
772
+ const selected = draft_filter.filter.athlete_ids.find(el => el == id) ? true : false;
773
+ return /*#__PURE__*/_react.default.createElement(_Components.AthleteLozenge, {
774
+ key: `filter_${id.toString()}`,
775
+ leagues: leagues,
776
+ is_active: selected,
777
+ athlete: athlete,
778
+ abbr_only: true,
779
+ onSelect: athlete => handleAthleteSelect(athlete)
780
+ });
781
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
782
+ style: {
783
+ flexDirection: 'row',
784
+ flexWrap: 'wrap'
785
+ }
786
+ }, athlete_search.athletes.map(a => {
787
+ const selected = draft_filter.filter.athlete_ids.find(el => el == a.athlete_id) ? true : false;
788
+ if (selected) {
789
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
790
+ }
791
+ return /*#__PURE__*/_react.default.createElement(_Components.AthleteLozenge, {
792
+ key: `search_${a.athlete_id.toString()}`,
793
+ leagues: leagues,
794
+ is_active: false,
795
+ athlete: a,
796
+ onSelect: athlete => handleAthleteSelect(athlete)
797
+ });
798
+ })))));
799
+ case 'teams':
800
+ if (!draft_filter) {
801
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
802
+ }
803
+ if (draft_filter.filter.league_ids?.length <= 0) {
804
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
805
+ }
806
+ if (draft_filter.filter.market_types != 'event') {
807
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
808
+ }
809
+ if (active_toggle != 'markets') {
810
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
811
+ }
812
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
813
+ nativeID: "filter_teams",
814
+ style: {
815
+ marginTop: 10
816
+ }
817
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
818
+ type: "header",
819
+ style: {
820
+ padding: 10
821
+ }
822
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
823
+ theme: "h1"
824
+ }, "Included Teams"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
825
+ style: {
826
+ marginTop: 4
827
+ },
828
+ theme: "description"
829
+ }, "Only show orders related to specific teams")), /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_SearchBox.default, {
830
+ onFocusPosition: onFocusPosition,
831
+ onChange: text => setTeamSearch({
832
+ ...team_search,
833
+ value: text
834
+ }),
835
+ onSearch: () => handleSearchTeams(0)
836
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
837
+ style: {
838
+ margin: 10,
839
+ padding: 10,
840
+ borderWidth: 1,
841
+ borderColor: Colors.borders.light,
842
+ borderRadius: 8
843
+ }
844
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
845
+ style: {
846
+ flexDirection: 'row',
847
+ flexWrap: 'wrap'
848
+ }
849
+ }, draft_filter.filter.team_ids.map(id => {
850
+ const team = filter_teams.find(a => a.team_id == id);
851
+ if (!team) {
852
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
853
+ }
854
+ const selected = draft_filter.filter.team_ids.find(el => el == id) ? true : false;
855
+ return /*#__PURE__*/_react.default.createElement(_TeamLozenge.default, {
856
+ is_active: selected,
857
+ team: team,
858
+ leagues: leagues,
859
+ onSelect: team => handleTeamSelect(team)
860
+ });
861
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
862
+ style: {
863
+ flexDirection: 'row',
864
+ flexWrap: 'wrap'
865
+ }
866
+ }, team_search.teams.map(a => {
867
+ const selected = draft_filter.filter.team_ids.find(el => el == a.team_id) ? true : false;
868
+ if (selected) {
869
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
870
+ }
871
+ return /*#__PURE__*/_react.default.createElement(_TeamLozenge.default, {
872
+ is_active: selected,
873
+ team: a,
874
+ leagues: leagues,
875
+ onSelect: team => handleTeamSelect(team)
876
+ });
877
+ })))));
878
+ case 'players':
879
+ if (!draft_filter) {
880
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
881
+ }
882
+ if (active_toggle != 'people') {
883
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
884
+ }
885
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
886
+ nativeID: "filter_people",
887
+ style: {
888
+ marginTop: 10
889
+ }
890
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
891
+ type: "header",
892
+ style: {
893
+ padding: 10
894
+ }
895
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
896
+ theme: "h1"
897
+ }, "Show Orders From"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
898
+ style: {
899
+ marginTop: 4
900
+ },
901
+ theme: "description"
902
+ }, "Set specific players or groups you would like to see these orders from (i.e., people I follow or Todd my neighbor)")), /*#__PURE__*/_react.default.createElement(_Themed.View, {
903
+ style: {
904
+ margin: 10,
905
+ padding: 10,
906
+ borderWidth: 1,
907
+ borderColor: Colors.borders.light,
908
+ borderRadius: 8
909
+ }
910
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Button, {
911
+ disabled: true,
912
+ style: {
913
+ flexDirection: 'row',
914
+ alignItems: 'center',
915
+ padding: 0
916
+ }
917
+ }, /*#__PURE__*/_react.default.createElement(_Components.Checkbox, {
918
+ style: {
919
+ borderRadius: 100
920
+ },
921
+ fill_style: {
922
+ borderRadius: 100
923
+ },
924
+ color: Colors.text.highlight,
925
+ checked: !draft_filter.filter.custom_players && !draft_filter.filter.following_only ? true : false,
926
+ onSelect: () => {
927
+ let new_filter = {
928
+ ...draft_filter
929
+ };
930
+ new_filter.filter.custom_players = false;
931
+ new_filter.filter.following_only = false;
932
+ handleUpdate(new_filter);
933
+ }
934
+ }), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
935
+ style: {
936
+ marginLeft: 14
937
+ },
938
+ size: 14,
939
+ theme: "h2"
940
+ }, "Everyone")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
941
+ disabled: true,
942
+ style: {
943
+ flexDirection: 'row',
944
+ alignItems: 'center',
945
+ marginTop: 12,
946
+ padding: 0
947
+ }
948
+ }, /*#__PURE__*/_react.default.createElement(_Components.Checkbox, {
949
+ style: {
950
+ borderRadius: 100
951
+ },
952
+ fill_style: {
953
+ borderRadius: 100
954
+ },
955
+ color: Colors.text.highlight,
956
+ checked: draft_filter.filter.following_only ? true : false,
957
+ onSelect: () => {
958
+ let new_filter = {
959
+ ...draft_filter
960
+ };
961
+ new_filter.filter.following_only = true;
962
+ new_filter.filter.custom_players = false;
963
+ handleUpdate(new_filter);
964
+ }
965
+ }), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
966
+ style: {
967
+ marginLeft: 14
968
+ },
969
+ size: 14,
970
+ theme: "h2"
971
+ }, "People I Follow")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
972
+ disabled: true,
973
+ style: {
974
+ flexDirection: 'row',
975
+ alignItems: 'center',
976
+ marginTop: 12,
977
+ padding: 0
978
+ }
979
+ }, /*#__PURE__*/_react.default.createElement(_Components.Checkbox, {
980
+ style: {
981
+ borderRadius: 100
982
+ },
983
+ fill_style: {
984
+ borderRadius: 100
985
+ },
986
+ color: Colors.text.highlight,
987
+ checked: draft_filter.filter.custom_players ? true : false,
988
+ onSelect: () => {
989
+ let new_filter = {
990
+ ...draft_filter
991
+ };
992
+ new_filter.filter.following_only = false;
993
+ new_filter.filter.custom_players = true;
994
+ handleUpdate(new_filter);
995
+ }
996
+ }), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
997
+ style: {
998
+ marginLeft: 14
999
+ },
1000
+ size: 14,
1001
+ theme: "h2"
1002
+ }, "Custom Players"))), draft_filter.filter.custom_players ? /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1003
+ style: {
1004
+ flexDirection: 'row',
1005
+ flexWrap: 'wrap',
1006
+ padding: 10,
1007
+ borderBottomWidth: 1,
1008
+ borderColor: Colors.borders.light
1009
+ }
1010
+ }, draft_filter.filter.player_ids.map(id => {
1011
+ const player = filter_players.find(a => a.player_id == id);
1012
+ if (!player) {
1013
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
1014
+ }
1015
+ const selected = draft_filter.filter.player_ids.find(el => el == id) ? true : false;
1016
+ return /*#__PURE__*/_react.default.createElement(_Components.PlayerLozenge, {
1017
+ hide_name: true,
1018
+ is_active: selected,
1019
+ player: player,
1020
+ onSelect: player => handlePlayerSelect(player)
1021
+ });
1022
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1023
+ style: {
1024
+ marginTop: 5
1025
+ }
1026
+ }, /*#__PURE__*/_react.default.createElement(_SearchBox.default, {
1027
+ onFocusPosition: onFocusPosition,
1028
+ onChange: text => setPlayerSearch({
1029
+ ...player_search,
1030
+ value: text
1031
+ }),
1032
+ onSearch: () => handleSearchPlayers(0)
1033
+ })), /*#__PURE__*/_react.default.createElement(_Pagination.default, {
1034
+ offset: player_search.offset,
1035
+ onNext: () => handleSearchPlayers(player_search.offset + 1),
1036
+ onPrevious: () => handleSearchPlayers(player_search.offset - 1)
1037
+ }), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1038
+ style: {
1039
+ margin: 10,
1040
+ padding: 10,
1041
+ borderWidth: 1,
1042
+ borderColor: Colors.borders.light,
1043
+ borderRadius: 8
1044
+ }
1045
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1046
+ style: {
1047
+ flexDirection: 'row',
1048
+ flexWrap: 'wrap'
1049
+ }
1050
+ }, player_search.players.map(a => {
1051
+ const selected = draft_filter.filter.player_ids.find(el => el == a.player_id) ? true : false;
1052
+ if (selected) {
1053
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
1054
+ }
1055
+ return /*#__PURE__*/_react.default.createElement(_Components.PlayerLozenge, {
1056
+ is_active: selected,
1057
+ player: a,
1058
+ onSelect: player => handlePlayerSelect(player)
1059
+ });
1060
+ })))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null));
1061
+ case 'order_grades':
1062
+ if (active_toggle != 'premium') {
1063
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
1064
+ }
1065
+ if (!draft_filter) {
1066
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
1067
+ }
1068
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
1069
+ nativeID: "order_grades",
1070
+ style: {
1071
+ marginTop: 10
1072
+ }
1073
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1074
+ type: "header",
1075
+ style: {
1076
+ padding: 10
1077
+ }
1078
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1079
+ theme: "h1"
1080
+ }, "Minimum Order Grade"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1081
+ style: {
1082
+ marginTop: 4
1083
+ },
1084
+ theme: "description"
1085
+ }, "Only show orders that are graded above a certain threshold")), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1086
+ style: {
1087
+ margin: 10,
1088
+ padding: 10,
1089
+ borderWidth: 1,
1090
+ borderColor: Colors.borders.light,
1091
+ borderRadius: 8
1092
+ }
1093
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1094
+ style: {
1095
+ flexDirection: 'row',
1096
+ justifyContent: 'center'
1097
+ }
1098
+ }, grade_boxes.map(b => {
1099
+ const filled = draft_filter?.filter.minimum_grade >= b.min ? true : false;
1100
+ const success = b.min > 97.5 ? true : false;
1101
+ return /*#__PURE__*/_react.default.createElement(_Themed.Button, {
1102
+ float: true,
1103
+ style: {
1104
+ padding: 0,
1105
+ height: 20,
1106
+ width: 20,
1107
+ margin: 10,
1108
+ borderRadius: 4,
1109
+ borderWidth: 1,
1110
+ borderColor: success ? b.success_color : b.fail_color,
1111
+ backgroundColor: filled ? success ? b.success_color : b.fail_color : undefined
1112
+ },
1113
+ onPress: () => {
1114
+ if (!premium_allowed) {
1115
+ return alert('Must be a premium member to add this option');
1116
+ }
1117
+ let new_filter = {
1118
+ ...draft_filter
1119
+ };
1120
+ new_filter.filter.minimum_grade = b.min;
1121
+ handleUpdate(new_filter);
1122
+ }
1123
+ });
1124
+ })), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1125
+ size: 14,
1126
+ weight: "semibold",
1127
+ textAlign: "center"
1128
+ }, minimumGradeText(draft_filter.filter.minimum_grade))));
1129
+ case 'external_sources':
1130
+ if (active_toggle != 'premium') {
1131
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
1132
+ }
1133
+ if (!draft_filter) {
1134
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
1135
+ }
1136
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
1137
+ nativeID: "filter_order_status"
1138
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1139
+ type: "header",
1140
+ style: {
1141
+ padding: 10
1142
+ }
1143
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1144
+ theme: "h1"
1145
+ }, "External Price Compare"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1146
+ style: {
1147
+ marginTop: 4
1148
+ },
1149
+ theme: "description"
1150
+ }, "When viewing orders, we can show you what the price is at a specific book. Select which book below. If the price is not available, we will use the consensus if possible.")), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1151
+ style: {
1152
+ margin: 10,
1153
+ padding: 10,
1154
+ borderWidth: 1,
1155
+ borderColor: Colors.borders.light,
1156
+ borderRadius: 8
1157
+ }
1158
+ }, books.map(b => {
1159
+ return /*#__PURE__*/_react.default.createElement(_Themed.Button, {
1160
+ key: b,
1161
+ style: {
1162
+ flexDirection: 'row',
1163
+ alignItems: 'center',
1164
+ padding: 10
1165
+ },
1166
+ onPress: () => {
1167
+ if (!premium_allowed) {
1168
+ return alert('Must be a premium member to add this option');
1169
+ }
1170
+ let new_filter = {
1171
+ ...draft_filter
1172
+ };
1173
+ new_filter.filter.external_book = b;
1174
+ handleUpdate(new_filter);
1175
+ }
1176
+ }, /*#__PURE__*/_react.default.createElement(_Components.Checkbox, {
1177
+ disabled: true,
1178
+ style: {
1179
+ borderRadius: 100
1180
+ },
1181
+ fill_style: {
1182
+ borderRadius: 100
1183
+ },
1184
+ color: Colors.text.highlight,
1185
+ checked: draft_filter.filter.external_book == b ? true : false,
1186
+ onSelect: () => console.log('')
1187
+ }), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1188
+ style: {
1189
+ marginLeft: 10
1190
+ },
1191
+ theme: "h2"
1192
+ }, b.toUpperCase()));
1193
+ })));
1194
+ default:
1195
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
1196
+ }
1197
+ };
1198
+ const is_changed = JSON.stringify(player_filter) != JSON.stringify(draft_filter) ? true : false;
1199
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
1200
+ style: {
1201
+ flex: 1
1202
+ }
1203
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1204
+ type: "header",
1205
+ style: {
1206
+ flexDirection: 'row',
1207
+ alignItems: 'center',
1208
+ padding: 10
1209
+ }
1210
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1211
+ transparent: true,
1212
+ style: {
1213
+ flex: 1
1214
+ }
1215
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1216
+ theme: "h1"
1217
+ }, "MANAGE FILTER"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1218
+ theme: "description",
1219
+ style: {
1220
+ marginTop: 3
1221
+ }
1222
+ }, "Create rulesets to filter all open orders on BettorEdge")), errors.length > 0 ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
1223
+ float: true,
1224
+ style: {
1225
+ padding: 5,
1226
+ borderRadius: 100
1227
+ },
1228
+ onPress: () => alert(errors[0])
1229
+ }, /*#__PURE__*/_react.default.createElement(_Components.Icons.AlertIcon, {
1230
+ color: Colors.text.warning,
1231
+ size: 16
1232
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
1233
+ title: "SAVE",
1234
+ type: "success",
1235
+ disabled: !is_changed || action_loading,
1236
+ loading: action_loading,
1237
+ style: {
1238
+ marginLeft: 10,
1239
+ padding: 10,
1240
+ opacity: action_loading || !is_changed ? 0.5 : 1
1241
+ },
1242
+ onPress: async () => {
1243
+ if (!draft_filter) {
1244
+ return;
1245
+ }
1246
+ handleUpdate(draft_filter);
1247
+ }
1248
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1249
+ style: {
1250
+ flex: 1
1251
+ }
1252
+ }, static_loading || loading ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
1253
+ style: {
1254
+ padding: 20,
1255
+ alignSelf: 'center'
1256
+ },
1257
+ size: 'large',
1258
+ color: Colors.text.h1
1259
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
1260
+ data: sections,
1261
+ key: 'manage_filter_sections',
1262
+ keyExtractor: item => item,
1263
+ renderItem: renderSections
1264
+ }), player_filter ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
1265
+ type: "footer",
1266
+ style: {
1267
+ flexDirection: 'row',
1268
+ padding: 10
1269
+ }
1270
+ }, !confirm_delete ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
1271
+ style: {
1272
+ flex: 1,
1273
+ opacity: action_loading ? 0.5 : 1
1274
+ },
1275
+ type: "error",
1276
+ loading: action_loading,
1277
+ title: "DELETE",
1278
+ onPress: () => {
1279
+ setActionLoading(true);
1280
+ setTimeout(() => {
1281
+ setConfirmDelete(true);
1282
+ setActionLoading(false);
1283
+ }, 500);
1284
+ }
1285
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), confirm_delete ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
1286
+ style: {
1287
+ flex: 1,
1288
+ opacity: action_loading ? 0.5 : 1
1289
+ },
1290
+ type: "error",
1291
+ loading: action_loading,
1292
+ title: "DELETE THIS FILTER",
1293
+ onPress: async () => {
1294
+ setActionLoading(true);
1295
+ let new_pf = await _api.BetMatchApi.deletePlayerFilter(player_filter_id);
1296
+ if (!new_pf) {
1297
+ setActionLoading(false);
1298
+ setConfirmDelete(false);
1299
+ return alert('Unable to process this');
1300
+ }
1301
+ setActionLoading(false);
1302
+ setConfirmDelete(false);
1303
+ setFilterData({
1304
+ ...filter_data,
1305
+ player_filter: new_pf,
1306
+ draft_filter: new_pf
1307
+ });
1308
+ onUpdateFilter(new_pf);
1309
+ }
1310
+ }) : /*#__PURE__*/_react.default.createElement(_Themed.Button, {
1311
+ style: {
1312
+ flex: 2,
1313
+ marginLeft: 10
1314
+ },
1315
+ type: "action",
1316
+ title: "RUN",
1317
+ onPress: () => onRunFilter(player_filter)
1318
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), player_filter?.status == 'deleted' ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
1319
+ type: "blur",
1320
+ style: {
1321
+ position: 'absolute',
1322
+ top: 0,
1323
+ left: 0,
1324
+ right: 0,
1325
+ bottom: 0,
1326
+ justifyContent: 'center',
1327
+ alignItems: 'center'
1328
+ }
1329
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1330
+ float: true,
1331
+ style: {
1332
+ width: 400,
1333
+ height: 400,
1334
+ justifyContent: 'center',
1335
+ alignItems: 'center'
1336
+ }
1337
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1338
+ theme: "h1"
1339
+ }, "This filter has been deleted"))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)));
1340
+ };
1341
+ var _default = exports.default = ManageFilter;
1342
+ //# sourceMappingURL=ManageFilter.js.map