be-components 1.2.9 → 1.3.1

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 (124) hide show
  1. package/lib/commonjs/Competition/api/index.js +1 -1
  2. package/lib/commonjs/Competition/api/index.js.map +1 -1
  3. package/lib/commonjs/Competition/components/CompetitionPlay.js +1 -1
  4. package/lib/commonjs/Competition/components/CompetitionPlay.js.map +1 -1
  5. package/lib/commonjs/Competition/components/MarketsCard.js.map +1 -1
  6. package/lib/commonjs/Competition/index.js +1 -1
  7. package/lib/commonjs/Competition/index.js.map +1 -1
  8. package/lib/commonjs/CompetitionManager/api/index.js +153 -35
  9. package/lib/commonjs/CompetitionManager/api/index.js.map +1 -1
  10. package/lib/commonjs/CompetitionManager/components/AthleteSelector.js +170 -0
  11. package/lib/commonjs/CompetitionManager/components/AthleteSelector.js.map +1 -0
  12. package/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.js +495 -423
  13. package/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.js.map +1 -1
  14. package/lib/commonjs/CompetitionManager/components/CompetitionHeader.js +134 -0
  15. package/lib/commonjs/CompetitionManager/components/CompetitionHeader.js.map +1 -0
  16. package/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.js +96 -73
  17. package/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.js.map +1 -1
  18. package/lib/commonjs/CompetitionManager/components/CompetitionMatchMarketCard.js +147 -127
  19. package/lib/commonjs/CompetitionManager/components/CompetitionMatchMarketCard.js.map +1 -1
  20. package/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.js +38 -127
  21. package/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.js.map +1 -1
  22. package/lib/commonjs/CompetitionManager/components/ContestSelector.js +388 -0
  23. package/lib/commonjs/CompetitionManager/components/ContestSelector.js.map +1 -0
  24. package/lib/commonjs/CompetitionManager/components/ContestSettingsForm.js +436 -0
  25. package/lib/commonjs/CompetitionManager/components/ContestSettingsForm.js.map +1 -0
  26. package/lib/commonjs/CompetitionManager/components/MarketSelector.js +36 -26
  27. package/lib/commonjs/CompetitionManager/components/MarketSelector.js.map +1 -1
  28. package/lib/commonjs/CompetitionManager/index.js +477 -18
  29. package/lib/commonjs/CompetitionManager/index.js.map +1 -1
  30. package/lib/commonjs/Components/SearchBox.js +82 -0
  31. package/lib/commonjs/Components/SearchBox.js.map +1 -0
  32. package/lib/commonjs/Squares/components/Countdown.js +74 -0
  33. package/lib/commonjs/Squares/components/Countdown.js.map +1 -0
  34. package/lib/commonjs/Squares/components/SquaresBoard.js +95 -2
  35. package/lib/commonjs/Squares/components/SquaresBoard.js.map +1 -1
  36. package/lib/commonjs/Squares/index.js +1 -0
  37. package/lib/commonjs/Squares/index.js.map +1 -1
  38. package/lib/module/Competition/api/index.js +1 -1
  39. package/lib/module/Competition/api/index.js.map +1 -1
  40. package/lib/module/Competition/components/CompetitionPlay.js +1 -1
  41. package/lib/module/Competition/components/CompetitionPlay.js.map +1 -1
  42. package/lib/module/Competition/components/MarketsCard.js.map +1 -1
  43. package/lib/module/Competition/index.js +1 -1
  44. package/lib/module/Competition/index.js.map +1 -1
  45. package/lib/module/CompetitionManager/api/index.js +153 -35
  46. package/lib/module/CompetitionManager/api/index.js.map +1 -1
  47. package/lib/module/CompetitionManager/components/AthleteSelector.js +161 -0
  48. package/lib/module/CompetitionManager/components/AthleteSelector.js.map +1 -0
  49. package/lib/module/CompetitionManager/components/CompetitionContestsForm.js +493 -425
  50. package/lib/module/CompetitionManager/components/CompetitionContestsForm.js.map +1 -1
  51. package/lib/module/CompetitionManager/components/CompetitionHeader.js +127 -0
  52. package/lib/module/CompetitionManager/components/CompetitionHeader.js.map +1 -0
  53. package/lib/module/CompetitionManager/components/CompetitionInfoForm.js +99 -76
  54. package/lib/module/CompetitionManager/components/CompetitionInfoForm.js.map +1 -1
  55. package/lib/module/CompetitionManager/components/CompetitionMatchMarketCard.js +145 -127
  56. package/lib/module/CompetitionManager/components/CompetitionMatchMarketCard.js.map +1 -1
  57. package/lib/module/CompetitionManager/components/CompetitionSettingsForm.js +39 -131
  58. package/lib/module/CompetitionManager/components/CompetitionSettingsForm.js.map +1 -1
  59. package/lib/module/CompetitionManager/components/ContestSelector.js +379 -0
  60. package/lib/module/CompetitionManager/components/ContestSelector.js.map +1 -0
  61. package/lib/module/CompetitionManager/components/ContestSettingsForm.js +428 -0
  62. package/lib/module/CompetitionManager/components/ContestSettingsForm.js.map +1 -0
  63. package/lib/module/CompetitionManager/components/MarketSelector.js +34 -26
  64. package/lib/module/CompetitionManager/components/MarketSelector.js.map +1 -1
  65. package/lib/module/CompetitionManager/index.js +478 -19
  66. package/lib/module/CompetitionManager/index.js.map +1 -1
  67. package/lib/module/Components/SearchBox.js +73 -0
  68. package/lib/module/Components/SearchBox.js.map +1 -0
  69. package/lib/module/Squares/components/Countdown.js +65 -0
  70. package/lib/module/Squares/components/Countdown.js.map +1 -0
  71. package/lib/module/Squares/components/SquaresBoard.js +97 -4
  72. package/lib/module/Squares/components/SquaresBoard.js.map +1 -1
  73. package/lib/module/Squares/index.js +1 -0
  74. package/lib/module/Squares/index.js.map +1 -1
  75. package/lib/typescript/src/CompetitionManager/api/index.d.ts +32 -3
  76. package/lib/typescript/src/CompetitionManager/api/index.d.ts.map +1 -1
  77. package/lib/typescript/src/CompetitionManager/components/AthleteSelector.d.ts +18 -0
  78. package/lib/typescript/src/CompetitionManager/components/AthleteSelector.d.ts.map +1 -0
  79. package/lib/typescript/src/CompetitionManager/components/CompetitionContestsForm.d.ts +13 -1
  80. package/lib/typescript/src/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
  81. package/lib/typescript/src/CompetitionManager/components/CompetitionHeader.d.ts +20 -0
  82. package/lib/typescript/src/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -0
  83. package/lib/typescript/src/CompetitionManager/components/CompetitionInfoForm.d.ts +2 -1
  84. package/lib/typescript/src/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
  85. package/lib/typescript/src/CompetitionManager/components/CompetitionMatchMarketCard.d.ts +1 -1
  86. package/lib/typescript/src/CompetitionManager/components/CompetitionMatchMarketCard.d.ts.map +1 -1
  87. package/lib/typescript/src/CompetitionManager/components/CompetitionSettingsForm.d.ts +3 -3
  88. package/lib/typescript/src/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
  89. package/lib/typescript/src/CompetitionManager/components/ContestSelector.d.ts +16 -0
  90. package/lib/typescript/src/CompetitionManager/components/ContestSelector.d.ts.map +1 -0
  91. package/lib/typescript/src/CompetitionManager/components/ContestSettingsForm.d.ts +15 -0
  92. package/lib/typescript/src/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -0
  93. package/lib/typescript/src/CompetitionManager/components/MarketSelector.d.ts +3 -2
  94. package/lib/typescript/src/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
  95. package/lib/typescript/src/CompetitionManager/index.d.ts +1 -1
  96. package/lib/typescript/src/CompetitionManager/index.d.ts.map +1 -1
  97. package/lib/typescript/src/Components/SearchBox.d.ts +10 -0
  98. package/lib/typescript/src/Components/SearchBox.d.ts.map +1 -0
  99. package/lib/typescript/src/Squares/components/Countdown.d.ts +10 -0
  100. package/lib/typescript/src/Squares/components/Countdown.d.ts.map +1 -0
  101. package/lib/typescript/src/Squares/components/SquaresBoard.d.ts +2 -1
  102. package/lib/typescript/src/Squares/components/SquaresBoard.d.ts.map +1 -1
  103. package/lib/typescript/src/Squares/index.d.ts.map +1 -1
  104. package/package.json +2 -1
  105. package/src/Competition/api/index.ts +3 -3
  106. package/src/Competition/components/CompetitionPlay.tsx +1 -1
  107. package/src/Competition/components/MarketsCard.tsx +2 -2
  108. package/src/Competition/index.tsx +1 -1
  109. package/src/CompetitionManager/api/index.ts +71 -13
  110. package/src/CompetitionManager/components/AthleteSelector.tsx +127 -0
  111. package/src/CompetitionManager/components/CompetitionContestsForm.tsx +156 -261
  112. package/src/CompetitionManager/components/CompetitionHeader.tsx +101 -0
  113. package/src/CompetitionManager/components/CompetitionInfoForm.tsx +57 -45
  114. package/src/CompetitionManager/components/CompetitionMatchMarketCard.tsx +29 -70
  115. package/src/CompetitionManager/components/CompetitionSettingsForm.tsx +36 -103
  116. package/src/CompetitionManager/components/ContestSelector.tsx +269 -0
  117. package/src/CompetitionManager/components/ContestSettingsForm.tsx +281 -0
  118. package/src/CompetitionManager/components/MarketSelector.tsx +34 -23
  119. package/src/CompetitionManager/index.tsx +399 -15
  120. package/src/Components/SearchBox.tsx +54 -0
  121. package/src/Squares/components/Countdown.tsx +52 -0
  122. package/src/Squares/components/SquaresBoard.tsx +57 -5
  123. package/src/Squares/index.tsx +1 -0
  124. package/src/types.d.ts +38 -4
@@ -4,436 +4,508 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _colors = _interopRequireDefault(require("../../constants/colors"));
10
+ var _Components = require("../../Components");
11
+ var _CompetitionMatchMarketCard = _interopRequireDefault(require("./CompetitionMatchMarketCard"));
12
+ var _momentMini = _interopRequireDefault(require("moment-mini"));
13
+ var _styles = require("../../constants/styles");
8
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- //import { FlatList, Image, TouchableOpacity, View } from "react-native"
10
-
11
- //import { ManageCompetitionApi } from '../api';
12
- //import Colors from '../../constants/colors';
13
- //import { Button, Icons, Text } from '../../Components';
14
- //import CompetitionMatchMarketCard from './CompetitionMatchMarketCard';
15
- //import moment from 'moment-mini';
16
- //import { view_styles } from '../../constants/styles';
17
- //import MarketSelector from './MarketSelector';
18
-
19
- const CompetitionContestsForm = ({}) => {
20
- /*
21
- const [ expanded, setExpanded ] = useState(true);
22
- const [ contests_visible, setContestsVisible ] = useState(false);
23
- const [ show_match_markets, setShowMatchMarkets ] = useState<string[]>([]);
24
- const [ selectable_athletes, setAthletes ] = useState<AthleteProps[]>([]);
25
- const [ selectable_events, setTeamEvents ] = useState<EventProps[]>([]);
26
- const [ competition_summaries, setCompetitionSummaries ] = useState<any[]>([]);
27
- const [ show_athletes, setShowAthletes ] = useState<{
28
- visible:boolean,
29
- event_id?:string,
30
- event_type?:string,
31
- market_id?:string,
32
- team_ids:string[],
33
- restricted_ids?:string[],
34
- top:number,
35
- right:number,
36
- positions:string[],
37
- selected_athletes:string[],
38
- }>({
39
- visible:false,
40
- positions:[],
41
- top:0,
42
- right:0,
43
- selected_athletes:[],
44
- team_ids:[]
45
- })
46
- const [ show_markets, setShowMarkets ] = useState<{
47
- visible:boolean,
48
- event_id?:string,
49
- event_type?: string,
50
- selected_markets:string[],
51
- supported_markets:MarketProps[],
52
- }>({
53
- visible:false,
54
- supported_markets: [],
55
- selected_markets: [],
56
- });
57
- const unique_team_events = [ ...new Set(competition_matches.filter(cm => cm.event_type == 'team').map(cm => cm.event_id)) ]
58
- */
59
-
60
- /*
61
- const handleSelectEvent = async(event:EventProps) => {
62
- onSaveCompetitionMatch(competition.competition_id, event.event_id, 'team', 'event', event)
63
- //setTeamEvents(team_events.concat(event))
15
+ 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); }
16
+ 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; }
17
+ const CompetitionContestsForm = ({
18
+ is_valid,
19
+ competition,
20
+ width,
21
+ primary_markets,
22
+ events,
23
+ athletes,
24
+ markets,
25
+ leagues,
26
+ competition_matches,
27
+ competition_match_markets,
28
+ onDeleteMarket,
29
+ onRemovePrimaryMarket,
30
+ onDeleteCompetitionMatch,
31
+ onDeleteCompetitionMatchMarkets,
32
+ onShowAthletes,
33
+ onShowContests,
34
+ onShowMarkets,
35
+ onAddPrimaryMarket
36
+ }) => {
37
+ const [expanded, setExpanded] = (0, _react.useState)(true);
38
+ const [show_match_markets, setShowMatchMarkets] = (0, _react.useState)([]);
39
+ const [active_contest_type] = (0, _react.useState)('team');
40
+ const [expanded_contests, setExpandedContests] = (0, _react.useState)([]);
41
+ const unique_team_events = [...new Set(competition_matches.filter(cm => cm.event_type == 'team').map(cm => cm.event_id))];
42
+ const renderPrimaryMarkets = data => {
43
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
44
+ style: {
45
+ padding: 10,
46
+ width: 100,
47
+ borderRadius: 8,
48
+ backgroundColor: _colors.default.shades.white,
49
+ margin: 5,
50
+ ..._styles.view_styles.float
64
51
  }
65
- */
66
- /*
67
- const handleSelectAthlete = async(athlete:AthleteProps) => {
68
-
69
- if(!show_athletes?.event_id){ return alert('Unable to process') }
70
- setAthletes(athletes.concat(athlete))
71
- let latest_trades = await MarketApi.getLatestTradesByEventIds([show_athletes.event_id], show_athletes.event_type);
72
- latest_trades = latest_trades.filter(lt => lt.market_id == show_athletes.market_id && lt.market_type == 'FOR_MONEY' && lt.side_type == 'athlete' && lt.side_id == athlete.athlete_id);
73
- if(latest_trades.length !== 2){ return alert('We do not have data for this athlete') }
74
- //First we need to check if we have an empty competition match (match with no side_id_override)
75
- const existing_cm = competition_matches.find(cm => cm.event_id == show_athletes.event_id && cm.event_type == show_athletes.event_type && cm.market_id_override == show_athletes.market_id && !cm.side_id_override);
76
- if(existing_cm){
77
- //Then we just need to add the side_id override to the cm and then create the cmms
78
- onUpdateCompetitionMatch({ ...existing_cm, side_id_override: athlete.athlete_id })
79
- //Create the cmms
80
- const cmms:CompetitionMatchMarketProps[] = []
81
- latest_trades.map(t => cmms.push({ ...createCompetitionMatchMarketFromTrade(t), competition_match_id: existing_cm.competition_match_id }))
82
- if(cmms.length != 2){ return alert('Unable to process') }
83
- onSaveCompetitionMatchMarkets(cmms)
84
- } else {
85
- //There was not an existing placeholder - we now need to auto create a match
86
- switch(show_athletes.event_type){
87
- case 'team':
88
- const event = team_events.find(e => e.event_id == show_athletes.event_id)
89
- if(!event){ return alert('Unable to process') }
90
- const new_cm = await onSaveCompetitionMatch(competition.competition_id, show_athletes.event_id, show_athletes.event_type, 'athlete', event, show_athletes.market_id, 'athlete', athlete.athlete_id);
91
- const cmms:CompetitionMatchMarketProps[] = []
92
- latest_trades.map(t => cmms.push({ ...createCompetitionMatchMarketFromTrade(t), competition_match_id: new_cm.competition_match_id }))
93
- if(cmms.length != 2){ return alert('Unable to process') }
94
- onSaveCompetitionMatchMarkets(cmms)
95
- break
96
- default: return alert('Not handled for this!')
97
- }
98
- }
99
- setShowAthletes({
100
- ...show_athletes,
101
- selected_athletes: show_athletes.selected_athletes.concat(athlete.athlete_id)
102
- })
103
-
52
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
53
+ style: {
54
+ marginBottom: 10
55
+ },
56
+ theme: "header"
57
+ }, data.item.market.type), /*#__PURE__*/_react.default.createElement(_Components.Switch, {
58
+ switch_type: "on_off",
59
+ value: data.item.included,
60
+ onChange: val => val ? onAddPrimaryMarket(data.item.market) : onRemovePrimaryMarket(data.item.market)
61
+ }));
62
+ };
63
+ const renderMarkets = data => {
64
+ const market = markets.find(m => m.market_id == data.item);
65
+ if (!market) {
66
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
67
+ }
68
+ const show_details = show_match_markets.includes(`${data.event_type}:${data.event_id}:${data.item}`) ? true : false;
69
+ return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
70
+ style: {
71
+ flex: 1,
72
+ borderRadius: 8,
73
+ borderWidth: 1,
74
+ borderColor: _colors.default.shades.shade600,
75
+ padding: 10,
76
+ margin: 3,
77
+ minWidth: 125,
78
+ backgroundColor: show_details ? _colors.default.brand.midnight : _colors.default.shades.white
79
+ },
80
+ onPress: () => {
81
+ if (show_details) {
82
+ return setShowMatchMarkets(show_match_markets.filter(smm => smm != `${data.event_type}:${data.event_id}:${data.item}`));
83
+ }
84
+ return setShowMatchMarkets(show_match_markets.concat(`${data.event_type}:${data.event_id}:${data.item}`));
104
85
  }
105
- */
106
-
107
- /*
108
- const handleSelectMarket = async(market:MarketProps) => {
109
-
110
- if(!show_markets){ return alert('Unable to process') }
111
- if(market.level == 'event' && market.primary_market){
112
- let competition_match = competition_matches.find(cm => cm.event_id == show_markets.event_id && cm.event_type == show_markets.event_type && !cm.market_id_override)
113
- if(!competition_match){ return alert('Unable to process this primary market!') }
114
- //HERE IS HWERE WE WILL CREATE THE EMPTY MATCH MARKET!
115
- let latest_trades = await MarketApi.getLatestTradesByEventIds([show_markets.event_id], show_markets.event_type);
116
- latest_trades = latest_trades.filter(lt => lt.market_id == market.market_id && lt.market_type == 'FOR_MONEY');
117
- if(latest_trades.length != 2){ return alert('Unable to add this market') }
118
- const cmms:CompetitionMatchMarketProps[] = []
119
- latest_trades.map(t => cmms.push({ ...createCompetitionMatchMarketFromTrade(t), competition_match_id: competition_match.competition_match_id }))
120
- if(cmms.length != 2){ return alert('Unable to process') }
121
- onSaveCompetitionMatchMarkets(cmms)
122
- setShowMarkets({ ...show_markets, selected_markets: show_markets.selected_markets.concat(market.market_id)})
123
- return
86
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
87
+ style: {
88
+ flexDirection: 'row'
124
89
  }
125
- //Okay! This was a non-primary market
126
- //There will not be an existing competition match so we need to create a new one!
127
- if(market.event_type == 'team'){
128
- let event = team_events.find(e => e.event_id == show_markets.event_id);
129
- if(!event){ return alert('Unable to process this') }
130
- onSaveCompetitionMatch(competition.competition_id, show_markets.event_id, show_markets.event_type, market.level, event, market.market_id, market.level, undefined);
131
- setShowMarkets({ ...show_markets, selected_markets: show_markets.selected_markets.concat(market.market_id)})
132
- return
90
+ }, /*#__PURE__*/_react.default.createElement(_Components.Button, {
91
+ title: "X",
92
+ title_color: _colors.default.shades.white,
93
+ backgroundColor: _colors.default.utility.error,
94
+ onPress: async () => {
95
+ const confirmed = await confirm('Are you sure you want to delete this market?');
96
+ if (!confirmed) {
97
+ return;
98
+ }
99
+ onDeleteMarket(data.event_id, data.event_type, market);
133
100
  }
134
-
135
- }
136
- */
137
-
138
- /*
139
- const renderMarkets = (data: { item:string, index:number, event_id:string, event_type:string }) => {
140
- const market = markets.find(m => m.market_id == data.item);
141
- if(!market){ return <></> }
142
- const show_details = show_match_markets.includes(`${data.event_type}:${data.event_id}:${data.item}`) ? true : false
143
- return (
144
- <TouchableOpacity style={{ flex:1,borderRadius:8, borderWidth:1, borderColor:Colors.shades.shade600, padding:10, margin:3, maxWidth:125, minWidth:75, backgroundColor:show_details ? Colors.brand.midnight : Colors.shades.white }}
145
- onPress={() => {
146
- if(show_details){ return setShowMatchMarkets(show_match_markets.filter(smm => smm != `${data.event_type}:${data.event_id}:${data.item}`)) }
147
- return setShowMatchMarkets(show_match_markets.concat(`${data.event_type}:${data.event_id}:${data.item}`))
148
- }}>
149
- <Text size={14} color={show_details?Colors.shades.white:Colors.brand.midnight} weight="bold" textAlign="center">{market.stat_label ?? market.type}</Text>
150
- <Text style={{ marginTop:3 }} size={12} color={show_details?Colors.shades.white:Colors.brand.midnight} textAlign="center">{market.description}</Text>
151
- {market.level == 'athlete' && show_details ?
152
- <Button
153
- title="Add Athlete"
154
- title_size={10}
155
- style={{ marginTop:5 }}
156
- title_color={Colors.brand.electric}
157
- backgroundColor={Colors.shades.white}
158
- onPress={async(evt) => {
159
-
160
- if(data.event_type != 'team'){ return alert('Only supported for team based events currently') }
161
- let latest_trades = await MarketApi.getLatestTradesByEventIds([data.event_id], data.event_type);
162
- latest_trades = latest_trades.filter(lt => lt.market_id == data.item && lt.market_type == 'FOR_MONEY' && lt.side_type == 'athlete');
163
- let restricted_ids = [ ...new Set(latest_trades.map(t => t.side_id)) ]
164
- const event = team_events.find(e => e.event_id == data.event_id)
165
- let team_ids = [event.away_team_id, event.home_team_id]
166
- const selected_athletes = competition_matches.filter(cm => cm.event_id == data.event_id && cm.event_type == data.event_type && cm.market_id_override == data.item && cm.side_type_override=='athlete').map(cm => cm.side_id_override);
167
- setShowAthletes({
168
- visible: true,
169
- selected_athletes,
170
- team_ids,
171
- market_id:data.item,
172
- restricted_ids,
173
- positions:market.supported_positions ?? [],
174
- event_id:data.event_id,
175
- event_type: data.event_type,
176
- top:evt.nativeEvent.offsetX,
177
- right:evt.nativeEvent.offsetY
178
- })
179
-
180
- }}
181
- />
182
- :<></>}
183
- </TouchableOpacity>
184
-
185
- )
186
- }
187
- */
188
-
189
- /*
190
- const showDetails = (show_event_id:string, show_event_type:string) => {
191
-
192
- let show_cms:CompetitionMatchProps[] = []
193
- show_match_markets.map(smm => {
194
- let split_smm = smm.split(':')
195
- let event_type = split_smm[0]
196
- let event_id = split_smm[1]
197
- let market_id = split_smm[2]
198
- if(event_id != show_event_id){ return }
199
- if(show_event_type != event_type){ return }
200
- const market = markets.find(m => m.market_id == market_id);
201
- if(market.level == 'event' && market.primary_market){
202
- const primary_cm = competition_matches.find(cm => cm.event_id == event_id && cm.event_type == event_type && !cm.market_id_override);
203
- const primary_cmms = competition_match_markets.filter(cmm => cmm.competition_match_id == primary_cm?.competition_match_id && cmm.market_id == market_id);
204
- show_cms.push({ ...primary_cm, competition_match_markets:primary_cmms })
205
- }
206
- if(market.level == 'athlete'){
207
- const cms = competition_matches.filter(cm => cm.event_id == event_id && cm.event_type == event_type && cm.market_id_override == market_id)
208
- cms.map(cm => {
209
- let cmm = competition_match_markets.filter(cmm => cmm.competition_match_id == cm.competition_match_id);
210
- if(cmm.length == 2){
211
- show_cms.push({ ...cm, competition_match_markets: cmm })
212
- }
213
- })
214
- }
215
-
216
- })
217
- return show_cms
218
-
219
- return []
220
- }
221
- */
222
-
223
- /*
224
- const getMatchTitle = (cm:CompetitionMatchProps, market:MarketProps):{image_url?:string, header:string, description:string} => {
225
-
226
- let error = { header: 'Market', description:market.description }
227
- switch(cm.event_type){
228
- case 'team':
229
- const event = team_events.find(e => e.event_id == cm.event_id)
230
- if(!event){ return error }
231
- if(!cm.market_id_override){
232
- //This is a primary one that we can just do the market name and event title
233
- return { header: event.event_title, description: market.description }
234
- }
235
- switch(cm.side_type_override){
236
- case 'athlete':
237
- const athlete = athletes.find(a => a.athlete_id == cm.side_id_override)
238
- if(!athlete){ return error }
239
- return { image_url:athlete.image?.url, header: `${athlete.first_name} ${athlete.last_name} ${market.stat_label}`, description:market.description }
240
- default: return error
241
- }
242
- default: return error
101
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
102
+ style: {
103
+ flex: 1
243
104
  }
244
-
245
- }
246
- */
247
-
248
- /*
249
- const renderCompetitionMatches = (data: { item:CompetitionMatchProps, index:number }) => {
250
- if(!data.item.competition_match_markets){ return }
251
- const market = markets.find(m => data.item.competition_match_markets && m.market_id == data.item.competition_match_markets[0]?.market_id)
252
- if(!market){ return <></> }
253
- const { image_url, header, description } = getMatchTitle(data.item, market)
254
- let match_summaries = competition_summaries.filter(cs => cs.competition_match_id == data.item.competition_match_id && cs.market_id == market.market_id)
255
- if(data.item.side_id_override){
256
- match_summaries = match_summaries.filter(ms => ms.side_id == data.item.side_id_override);
105
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
106
+ size: 14,
107
+ color: show_details ? _colors.default.shades.white : _colors.default.brand.midnight,
108
+ weight: "bold",
109
+ textAlign: "center"
110
+ }, market.stat_label ?? market.type), /*#__PURE__*/_react.default.createElement(_Components.Text, {
111
+ style: {
112
+ marginTop: 3
113
+ },
114
+ size: 12,
115
+ color: show_details ? _colors.default.shades.white : _colors.default.brand.midnight,
116
+ textAlign: "center"
117
+ }, market.description))), market.level == 'athlete' && show_details ? /*#__PURE__*/_react.default.createElement(_Components.Button, {
118
+ title: "ADD ATHLETE",
119
+ style: {
120
+ marginTop: 5
121
+ },
122
+ padding: 10,
123
+ title_color: _colors.default.brand.electric,
124
+ backgroundColor: _colors.default.shades.white,
125
+ onPress: () => {
126
+ onShowAthletes(data.event_id, data.event_type, data.item);
257
127
  }
258
- return (
259
- <View style={{ padding:10, flexDirection:'row', alignItems:'center', borderBottomWidth:1, borderColor:Colors.shades.shade600 }}>
260
- <Button
261
- title="X"
262
- style={{ marginRight:5 }}
263
- borderWidth={0}
264
- title_size={12}
265
- title_color={Colors.utility.error}
266
- onPress={() => {
267
- if(data.item.market_id_override){
268
- //return onDeleteCompetitionMatch(data.item.competition_match_id)
269
- }
270
- //return onDeleteCompetitionMatchMarkets(data.item.competition_match_markets)
271
- }}
272
- />
273
- {image_url ?
274
- <View style={{ padding:5 }}>
275
- <Image
276
- source={{ uri:image_url }}
277
- style={{ marginRight:10, height:40, width:40, borderRadius:100 }}
278
- resizeMode="center"
279
- />
280
- </View>
281
- :<></>}
282
- <View style={{ flex:1 }}>
283
- <Text size={14} weight='bold'>{header}</Text>
284
- <Text style={{ marginTop:3 }} size={12} weight='bold'>{description}</Text>
285
- </View>
286
- <CompetitionMatchMarketCard
287
- event_id={data.item.event_id}
288
- event_type={data.item.event_type}
289
- competition_match_id={data.item.competition_match_id}
290
- competition_match_markets={data.item.competition_match_markets}
291
- competition_summaries={match_summaries}
292
- market={market}
293
- onSaveMarkets={(cmms) => console.log(cmms)}
294
- onUpdateMarkets={(cmms) => console.log(cmms)}
295
- onGenerateMarkets={() => console.log('Blah')}
296
- />
297
- </View>
298
- )
299
- }
300
-
301
- const renderTeamEvents = (data: { item:string, index:number }) => {
302
- const event = events.find(e => e.event_id == data.item);
303
- if(!event){ return <></> }
304
- if(!event.supported_markets){ return <></> }
305
- const supported_markets = markets.filter(m => event.supported_markets?.map(sm => sm.market_id.toString()).includes(m.market_id.toString()));
306
- const cms = competition_matches.filter(cm => cm.event_id == data.item && cm.event_type == 'team');
307
- const cmms = competition_match_markets.filter(cmm => cms.map(cm => cm.competition_match_id.toString()).includes(cmm.competition_match_id));
308
- const unique_market_ids = [ ...new Set(cmms.map(cmm => cmm.market_id).concat(cms.filter(cm => cm.market_id_override).map(cm => cm.market_id_override))) ]
309
- const league = leagues.find(l => l.league_id == event.league_id);
310
- const visible_matches = showDetails(data.item, 'team')
311
- return (
312
- <View style={{ borderWidth:1, borderColor:Colors.shades.shade600, borderRadius:8, margin:10, zIndex: data.index * -1 }}>
313
- <View style={{ flexDirection:'row', padding:15, zIndex:1}}>
314
- {['pending','paused'].includes(competition.status) && cms.length == 1 && cmms.length == 0 ?
315
- <Button
316
- title="X"
317
- title_color={Colors.utility.error}
318
- borderRadius={8}
319
- borderWidth={1}
320
- borderColor={Colors.utility.error}
321
- onPress={() => onDeleteCompetitionMatch(cms[0]?.competition_match_id)}
322
- />
323
- :<></>}
324
- <View style={{ flex:1, flexDirection:'row', alignItems:'center' }}>
325
- {league?.league_image ?
326
- <Image
327
- source={{ uri: league.league_image }}
328
- style={{ height:30, width:30, marginRight:10 }}
329
- resizeMode="cover"
330
- />
331
- :<></>}
332
- <View>
333
- <Text size={14} color={Colors.brand.midnight} weight='bold'>{event.away.market_name} {event.away.name} vs {event.home.market_name} {event.home.name}</Text>
334
- <Text style={{ marginTop:4 }} size={12} color={Colors.brand.midnight}>{moment(event.scheduled_datetime).format('MMMM DD hh:mm a')}</Text>
335
- </View>
336
- </View>
337
- <Button
338
- title="Add Markets"
339
- title_color={Colors.shades.white}
340
- backgroundColor={Colors.brand.midnight}
341
- onPress={() => {
342
- setShowMarkets({
343
- visible:true,
344
- event_id: data.item,
345
- event_type: 'team',
346
- selected_markets:unique_market_ids,
347
- supported_markets,
348
- })
349
- }}
350
- />
351
- <View style={{ position:'absolute', top:0, right:0, ...view_styles.section, maxWidth:300 }}>
352
- <MarketSelector
353
- visible={show_markets.event_id == data.item ? true : false}
354
- markets={show_markets.supported_markets}
355
- selected_markets={show_markets.selected_markets}
356
- onSelectMarket={(market) => handleSelectMarket(market)}
357
- onDeselectMarket={(market) => console.log(market)}
358
- onClose={() => setShowMarkets({ visible: false, supported_markets:[], selected_markets:[] })}
359
- />
360
- </View>
361
- </View>
362
- {unique_market_ids.length > 0 ?
363
- <View style={{ padding:10, backgroundColor:Colors.shades.shade100 }}>
364
- <Text style={{ marginBottom:5 }} size={16} weight='bold'>Selected Markets</Text>
365
- <View style={{ flexDirection:'row', flexWrap: 'wrap', padding:10 }}>
366
- {unique_market_ids.map((market_id, index) => {
367
- return (
368
- renderMarkets({ item: market_id, index, event_id:data.item, event_type:'team' })
369
- )
370
- })}
371
- </View>
372
- </View>
373
- :<></>}
374
- {visible_matches.length > 0 ?
375
- <FlatList
376
- data={visible_matches}
377
- renderItem={renderCompetitionMatches}
378
- keyExtractor={(item) => item.competition_match_id.toString()}
379
- />
380
- :<></>}
381
- </View>
382
- )
383
- }
384
- */
385
-
386
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
387
- /*
388
- return (
389
- <View style={{ ...view_styles.section, minWidth:350, flexGrow:1, maxWidth:width }}>
390
- <TouchableOpacity style={{ ...view_styles.section_header }} onPress={() => setExpanded(!expanded)}>
391
- <View style={{ flex:1, marginRight:10 }}>
392
- <Text theme='header'>Competition Contests</Text>
393
- <Text style={{ marginTop:3 }} theme='body'>Competitions require contests for users to make picks / wagers. Select 'Add Contests' to get started.</Text>
394
- </View>
395
- <Icons.ChevronIcon direction={expanded ? 'up' : 'down'} size={8} color={Colors.brand.midnight} />
396
- </TouchableOpacity>
397
- {expanded ?
398
- <View style={{ ...view_styles.section_body }}>
399
- {unique_team_events.map((id, index) => {
400
- return renderTeamEvents({ item:id, index })
401
- })}
402
- </View>
403
- :<></>}
404
- </View>
405
- )
406
- */
128
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null));
129
+ };
130
+ const showDetails = (show_event_id, show_event_type) => {
131
+ let show_cms = [];
132
+ show_match_markets.map(smm => {
133
+ let split_smm = smm.split(':');
134
+ let event_type = split_smm[0];
135
+ let event_id = split_smm[1];
136
+ let market_id = split_smm[2];
137
+ if (event_id != show_event_id) {
138
+ return;
139
+ }
140
+ if (show_event_type != event_type) {
141
+ return;
142
+ }
143
+ const market = markets.find(m => m.market_id == market_id);
144
+ if (!market) {
145
+ return;
146
+ }
147
+ if (market.level == 'event' && market.primary_market) {
148
+ const primary_cm = competition_matches.find(cm => cm.event_id == event_id && cm.event_type == event_type && !cm.market_id_override);
149
+ if (!primary_cm) {
150
+ return;
151
+ }
152
+ const primary_cmms = competition_match_markets.filter(cmm => cmm.competition_match_id == primary_cm?.competition_match_id && cmm.market_id == market_id);
153
+ show_cms.push({
154
+ ...primary_cm,
155
+ competition_match_markets: primary_cmms
156
+ });
157
+ }
158
+ if (market.level == 'athlete') {
159
+ const cms = competition_matches.filter(cm => cm.event_id == event_id && cm.event_type == event_type && cm.market_id_override == market_id);
160
+ cms.map(cm => {
161
+ let cmm = competition_match_markets.filter(cmm => cmm.competition_match_id == cm.competition_match_id);
162
+ //if(cmm.length == 2){
163
+ show_cms.push({
164
+ ...cm,
165
+ competition_match_markets: cmm
166
+ });
167
+ //}
168
+ });
169
+ }
170
+ });
171
+ return show_cms;
172
+ };
173
+ const getMatchTitle = (cm, market) => {
174
+ let error = {
175
+ header: 'Market',
176
+ description: market.description
177
+ };
178
+ switch (cm.event_type) {
179
+ case 'team':
180
+ const event = events.find(e => e.event_id == cm.event_id);
181
+ if (!event) {
182
+ return error;
183
+ }
184
+ if (!cm.market_id_override) {
185
+ //This is a primary one that we can just do the market name and event title
186
+ return {
187
+ header: event.event_title,
188
+ description: market.description
189
+ };
190
+ }
191
+ switch (cm.side_type_override) {
192
+ case 'athlete':
193
+ const athlete = athletes.find(a => a.athlete_id == cm.side_id_override);
194
+ if (!athlete) {
195
+ return error;
196
+ }
197
+ return {
198
+ image_url: athlete.image?.url,
199
+ header: `${athlete.first_name} ${athlete.last_name} ${market.stat_label}`,
200
+ description: market.description
201
+ };
202
+ default:
203
+ return error;
204
+ }
205
+ default:
206
+ return error;
207
+ }
208
+ };
209
+ const renderCompetitionMatches = data => {
210
+ if (!data.item.competition_match_markets) {
211
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
212
+ }
213
+ const market = markets.find(m => data.item.competition_match_markets && m.market_id == data.item.competition_match_markets[0]?.market_id);
214
+ if (!market) {
215
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
216
+ }
217
+ const {
218
+ image_url,
219
+ header,
220
+ description
221
+ } = getMatchTitle(data.item, market);
222
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
223
+ style: {
224
+ padding: 10,
225
+ flexDirection: 'row',
226
+ alignItems: 'center',
227
+ borderBottomWidth: 1,
228
+ borderColor: _colors.default.shades.shade600
229
+ }
230
+ }, /*#__PURE__*/_react.default.createElement(_Components.Button, {
231
+ title: "X",
232
+ style: {
233
+ marginRight: 5
234
+ },
235
+ borderWidth: 0,
236
+ title_size: 12,
237
+ title_color: _colors.default.utility.error,
238
+ onPress: () => {
239
+ if (data.item.market_id_override) {
240
+ return onDeleteCompetitionMatch(data.item.competition_match_id);
241
+ }
242
+ return onDeleteCompetitionMatchMarkets(data.item.competition_match_markets ?? []);
243
+ }
244
+ }), image_url ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
245
+ style: {
246
+ padding: 5
247
+ }
248
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
249
+ source: {
250
+ uri: image_url
251
+ },
252
+ style: {
253
+ marginRight: 10,
254
+ height: 40,
255
+ width: 40,
256
+ borderRadius: 100
257
+ },
258
+ resizeMode: "center"
259
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
260
+ style: {
261
+ flex: 1
262
+ }
263
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
264
+ size: 14,
265
+ weight: "bold"
266
+ }, header), /*#__PURE__*/_react.default.createElement(_Components.Text, {
267
+ style: {
268
+ marginTop: 3
269
+ },
270
+ size: 12,
271
+ weight: "bold"
272
+ }, description)), /*#__PURE__*/_react.default.createElement(_CompetitionMatchMarketCard.default, {
273
+ event_id: data.item.event_id,
274
+ event_type: data.item.event_type,
275
+ competition_match_id: data.item.competition_match_id,
276
+ competition_match_markets: data.item.competition_match_markets,
277
+ competition_summaries: [],
278
+ market: market,
279
+ onSaveMarkets: cmms => console.log(cmms),
280
+ onUpdateMarkets: cmms => console.log(cmms),
281
+ onGenerateMarkets: () => console.log('Blah')
282
+ }));
283
+ };
284
+ const renderTeamEvents = data => {
285
+ const event = events.find(e => e.event_id == data.item);
286
+ if (!event) {
287
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
288
+ }
289
+ if (!event.supported_markets) {
290
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
291
+ }
292
+ const cms = competition_matches.filter(cm => cm.event_id == data.item && cm.event_type == 'team');
293
+ const cmms = competition_match_markets.filter(cmm => cms.map(cm => cm.competition_match_id.toString()).includes(cmm.competition_match_id));
294
+ const unique_market_ids = [...new Set(cmms.map(cmm => cmm.market_id).concat(cms.filter(cm => cm.market_id_override).map(cm => cm.market_id_override ?? '0')))];
295
+ const league = leagues.find(l => l.league_id == event.league_id);
296
+ const visible_matches = showDetails(data.item, 'team');
297
+ const expanded = expanded_contests.includes(`${event.event_id}:team`) ? true : false;
298
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
299
+ style: {
300
+ margin: 5,
301
+ backgroundColor: _colors.default.shades.white,
302
+ zIndex: data.index * -1,
303
+ maxWidth: width
304
+ }
305
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
306
+ style: {
307
+ flexDirection: 'row',
308
+ alignItems: 'center',
309
+ padding: 15,
310
+ zIndex: 1
311
+ },
312
+ onPress: () => {
313
+ if (expanded) {
314
+ return setExpandedContests(expanded_contests.filter(c => c != `${event.event_id}:team`));
315
+ } else {
316
+ return setExpandedContests(expanded_contests.concat(`${event.event_id}:team`));
317
+ }
318
+ }
319
+ }, ['pending', 'paused'].includes(competition.status) && cms.length == 1 && cmms.length == 0 ? /*#__PURE__*/_react.default.createElement(_Components.Button, {
320
+ title: "X",
321
+ title_color: _colors.default.utility.error,
322
+ borderRadius: 8,
323
+ borderWidth: 1,
324
+ borderColor: _colors.default.utility.error,
325
+ onPress: () => onDeleteCompetitionMatch(cms[0]?.competition_match_id ?? '')
326
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
327
+ style: {
328
+ flex: 1,
329
+ marginLeft: 5,
330
+ flexDirection: 'row',
331
+ alignItems: 'center'
332
+ }
333
+ }, league?.league_image ? /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
334
+ source: {
335
+ uri: league.league_image
336
+ },
337
+ style: {
338
+ height: 30,
339
+ width: 30,
340
+ marginRight: 10
341
+ },
342
+ resizeMode: "cover"
343
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
344
+ style: {
345
+ flex: 1
346
+ }
347
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
348
+ size: 14,
349
+ color: _colors.default.brand.midnight,
350
+ weight: "bold"
351
+ }, event.away?.market_name, " ", event.away?.name, " vs ", event.home?.market_name, " ", event.home?.name), /*#__PURE__*/_react.default.createElement(_Components.Text, {
352
+ style: {
353
+ marginTop: 4
354
+ },
355
+ size: 12,
356
+ color: _colors.default.brand.midnight
357
+ }, (0, _momentMini.default)(event.scheduled_datetime).format('MMMM DD hh:mm a')))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
358
+ style: {
359
+ marginLeft: 5,
360
+ marginRight: 5,
361
+ height: 25,
362
+ width: 25,
363
+ justifyContent: 'center',
364
+ alignItems: 'center',
365
+ borderRadius: 100,
366
+ backgroundColor: _colors.default.brand.electric
367
+ }
368
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
369
+ size: 10,
370
+ color: _colors.default.shades.white,
371
+ weight: "bold"
372
+ }, unique_market_ids.length)), /*#__PURE__*/_react.default.createElement(_Components.Icons.ChevronIcon, {
373
+ direction: expanded ? 'up' : 'down',
374
+ size: 8,
375
+ color: _colors.default.brand.midnight
376
+ })), expanded ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
377
+ style: {
378
+ padding: 10
379
+ }
380
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
381
+ style: {
382
+ flexDirection: 'row',
383
+ marginBottom: 5
384
+ }
385
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
386
+ style: {
387
+ flex: 1
388
+ },
389
+ size: 16,
390
+ weight: "bold"
391
+ }, "Selected Markets"), /*#__PURE__*/_react.default.createElement(_Components.Button, {
392
+ title: "Add Markets",
393
+ title_color: _colors.default.shades.white,
394
+ backgroundColor: _colors.default.brand.midnight,
395
+ onPress: () => {
396
+ onShowMarkets(data.item, 'team');
397
+ }
398
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
399
+ style: {
400
+ flexDirection: 'row',
401
+ flexWrap: 'wrap',
402
+ padding: 10
403
+ }
404
+ }, unique_market_ids.map((market_id, index) => {
405
+ return renderMarkets({
406
+ item: market_id,
407
+ index,
408
+ event_id: data.item,
409
+ event_type: 'team'
410
+ });
411
+ }))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), visible_matches.length > 0 ? /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
412
+ data: visible_matches,
413
+ renderItem: renderCompetitionMatches,
414
+ keyExtractor: item => item.competition_match_id.toString()
415
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null));
416
+ };
417
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
418
+ style: {
419
+ ..._styles.view_styles.section,
420
+ minWidth: 350,
421
+ flexGrow: 1,
422
+ maxWidth: width
423
+ }
424
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
425
+ style: {
426
+ ..._styles.view_styles.section_header,
427
+ maxWidth: width
428
+ },
429
+ onPress: () => setExpanded(!expanded)
430
+ }, is_valid ? /*#__PURE__*/_react.default.createElement(_Components.Icons.CheckCirlceIcon, {
431
+ size: 16,
432
+ color: _colors.default.utility.success
433
+ }) : /*#__PURE__*/_react.default.createElement(_Components.Icons.AlertIcon, {
434
+ size: 16,
435
+ color: _colors.default.utility.warning
436
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
437
+ style: {
438
+ flex: 1,
439
+ marginRight: 10,
440
+ marginLeft: 10
441
+ }
442
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
443
+ theme: "header"
444
+ }, "Competition Contests"), /*#__PURE__*/_react.default.createElement(_Components.Text, {
445
+ style: {
446
+ marginTop: 3
447
+ },
448
+ theme: "body"
449
+ }, "Competitions require contests for users to make picks / wagers. Select 'Add Contests' to get started.")), /*#__PURE__*/_react.default.createElement(_Components.Icons.ChevronIcon, {
450
+ direction: expanded ? 'up' : 'down',
451
+ size: 8,
452
+ color: _colors.default.brand.midnight
453
+ })), expanded ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
454
+ style: {
455
+ ..._styles.view_styles.section_body,
456
+ padding: 0,
457
+ backgroundColor: _colors.default.shades.shade100
458
+ }
459
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
460
+ style: {
461
+ ..._styles.view_styles.section_header
462
+ }
463
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
464
+ style: {
465
+ flex: 1
466
+ }
467
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
468
+ theme: "header"
469
+ }, "Team Events"), /*#__PURE__*/_react.default.createElement(_Components.Text, {
470
+ style: {
471
+ marginTop: 3
472
+ },
473
+ theme: "body"
474
+ }, "Select team based events to include in this competition")), /*#__PURE__*/_react.default.createElement(_Components.Button, {
475
+ title: "ADD",
476
+ padding: 10,
477
+ title_color: _colors.default.shades.white,
478
+ backgroundColor: _colors.default.utility.success,
479
+ onPress: () => onShowContests()
480
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
481
+ style: {
482
+ padding: 10
483
+ }
484
+ }, /*#__PURE__*/_react.default.createElement(_Components.Text, {
485
+ style: {
486
+ padding: 10
487
+ },
488
+ theme: "header_2"
489
+ }, "The following markets can be added to all events"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
490
+ style: {
491
+ padding: 5
492
+ }
493
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
494
+ data: primary_markets,
495
+ renderItem: renderPrimaryMarkets,
496
+ horizontal: true,
497
+ keyExtractor: item => item.market.market_id.toString()
498
+ }))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
499
+ style: {
500
+ ..._styles.view_styles.section_body,
501
+ padding: 0
502
+ }
503
+ }, active_contest_type == 'team' ? /*#__PURE__*/_react.default.createElement(_reactNative.View, null, unique_team_events.map((id, index) => {
504
+ return renderTeamEvents({
505
+ item: id,
506
+ index
507
+ });
508
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null));
407
509
  };
408
510
  var _default = exports.default = CompetitionContestsForm;
409
- /*
410
- <View style={{ position:'absolute', top:show_athletes.top, right:show_athletes.right }}>
411
- <AthleteSelector
412
- onClose={() => setShowAthletes({ visible:false, positions:[], selected_athletes: [], top:0, right:0, team_ids:[] })}
413
- onDeselectAthlete={(athlete) => console.log(athlete)}
414
- onSelectAthlete={(athlete) => handleSelectAthlete(athlete)}
415
- team_ids={show_athletes.team_ids}
416
- restricted_ids={show_athletes.restricted_ids}
417
- selected_athletes={show_athletes.selected_athletes}
418
- visible={show_athletes.visible}
419
- />
420
- </View>
421
- */
422
- /*
423
- <Button
424
- title="Add Contests"
425
- backgroundColor={Colors.brand.electric}
426
- title_color={Colors.shades.white}
427
- onPress={() => setContestsVisible(true)}
428
- />
429
- <View style={{ position:'absolute', top:0, right:0 }}>
430
- <ContestSelector
431
- visible={contests_visible}
432
- selected_events={unique_team_events}
433
- onSelectEvent={(event) => handleSelectEvent(event)}
434
- onDeselectEvent={(event) => console.log(event)}
435
- onClose={() => setContestsVisible(false)}
436
- />
437
- </View>
438
- */
439
511
  //# sourceMappingURL=CompetitionContestsForm.js.map