be-components 4.4.8 → 4.5.0

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 (94) hide show
  1. package/lib/commonjs/Bracket/api/index.js +108 -4
  2. package/lib/commonjs/Bracket/api/index.js.map +1 -1
  3. package/lib/commonjs/Bracket/components/BracketCompetitionActions.js +20 -1
  4. package/lib/commonjs/Bracket/components/BracketCompetitionActions.js.map +1 -1
  5. package/lib/commonjs/Bracket/components/BracketCompetitionCard.js +6 -0
  6. package/lib/commonjs/Bracket/components/BracketCompetitionCard.js.map +1 -1
  7. package/lib/commonjs/Bracket/components/BracketPlay/index.js +3 -0
  8. package/lib/commonjs/Bracket/components/BracketPlay/index.js.map +1 -1
  9. package/lib/commonjs/Bracket/components/ManageBracketCompetitionForm.js +1135 -0
  10. package/lib/commonjs/Bracket/components/ManageBracketCompetitionForm.js.map +1 -0
  11. package/lib/commonjs/Bracket/components/RoomHome.js +4 -3
  12. package/lib/commonjs/Bracket/components/RoomHome.js.map +1 -1
  13. package/lib/commonjs/Bracket/index.js +15 -260
  14. package/lib/commonjs/Bracket/index.js.map +1 -1
  15. package/lib/commonjs/Components/Switch.js +16 -12
  16. package/lib/commonjs/Components/Switch.js.map +1 -1
  17. package/lib/commonjs/index.js +7 -0
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/module/Bracket/api/index.js +108 -4
  20. package/lib/module/Bracket/api/index.js.map +1 -1
  21. package/lib/module/Bracket/components/BracketCompetitionActions.js +20 -1
  22. package/lib/module/Bracket/components/BracketCompetitionActions.js.map +1 -1
  23. package/lib/module/Bracket/components/BracketCompetitionCard.js +6 -0
  24. package/lib/module/Bracket/components/BracketCompetitionCard.js.map +1 -1
  25. package/lib/module/Bracket/components/BracketPlay/index.js +3 -0
  26. package/lib/module/Bracket/components/BracketPlay/index.js.map +1 -1
  27. package/lib/module/Bracket/components/ManageBracketCompetitionForm.js +1126 -0
  28. package/lib/module/Bracket/components/ManageBracketCompetitionForm.js.map +1 -0
  29. package/lib/module/Bracket/components/RoomHome.js +4 -3
  30. package/lib/module/Bracket/components/RoomHome.js.map +1 -1
  31. package/lib/module/Bracket/index.js +15 -265
  32. package/lib/module/Bracket/index.js.map +1 -1
  33. package/lib/module/Components/Switch.js +16 -12
  34. package/lib/module/Components/Switch.js.map +1 -1
  35. package/lib/module/index.js +2 -1
  36. package/lib/module/index.js.map +1 -1
  37. package/lib/typescript/lib/commonjs/Bracket/api/index.d.ts +15 -0
  38. package/lib/typescript/lib/commonjs/Bracket/api/index.d.ts.map +1 -1
  39. package/lib/typescript/lib/commonjs/Bracket/components/BracketCompetitionActions.d.ts +2 -1
  40. package/lib/typescript/lib/commonjs/Bracket/components/BracketCompetitionActions.d.ts.map +1 -1
  41. package/lib/typescript/lib/commonjs/Bracket/components/BracketCompetitionCard.d.ts.map +1 -1
  42. package/lib/typescript/lib/commonjs/Bracket/components/BracketPlay/index.d.ts.map +1 -1
  43. package/lib/typescript/lib/commonjs/Bracket/components/ManageBracketCompetitionForm.d.ts +10 -0
  44. package/lib/typescript/lib/commonjs/Bracket/components/ManageBracketCompetitionForm.d.ts.map +1 -0
  45. package/lib/typescript/lib/commonjs/Bracket/components/RoomHome.d.ts +2 -1
  46. package/lib/typescript/lib/commonjs/Bracket/components/RoomHome.d.ts.map +1 -1
  47. package/lib/typescript/lib/commonjs/Bracket/index.d.ts +2 -1
  48. package/lib/typescript/lib/commonjs/Bracket/index.d.ts.map +1 -1
  49. package/lib/typescript/lib/commonjs/Components/Switch.d.ts +2 -1
  50. package/lib/typescript/lib/commonjs/Components/Switch.d.ts.map +1 -1
  51. package/lib/typescript/lib/commonjs/index.d.ts +1 -0
  52. package/lib/typescript/lib/commonjs/index.d.ts.map +1 -1
  53. package/lib/typescript/lib/module/Bracket/api/index.d.ts +15 -0
  54. package/lib/typescript/lib/module/Bracket/api/index.d.ts.map +1 -1
  55. package/lib/typescript/lib/module/Bracket/components/BracketCompetitionActions.d.ts +2 -1
  56. package/lib/typescript/lib/module/Bracket/components/BracketCompetitionActions.d.ts.map +1 -1
  57. package/lib/typescript/lib/module/Bracket/components/BracketCompetitionCard.d.ts.map +1 -1
  58. package/lib/typescript/lib/module/Bracket/components/BracketPlay/index.d.ts.map +1 -1
  59. package/lib/typescript/lib/module/Bracket/components/ManageBracketCompetitionForm.d.ts +10 -0
  60. package/lib/typescript/lib/module/Bracket/components/ManageBracketCompetitionForm.d.ts.map +1 -0
  61. package/lib/typescript/lib/module/Bracket/components/RoomHome.d.ts +2 -1
  62. package/lib/typescript/lib/module/Bracket/components/RoomHome.d.ts.map +1 -1
  63. package/lib/typescript/lib/module/Bracket/index.d.ts +2 -1
  64. package/lib/typescript/lib/module/Bracket/index.d.ts.map +1 -1
  65. package/lib/typescript/lib/module/Components/Switch.d.ts +2 -1
  66. package/lib/typescript/lib/module/Components/Switch.d.ts.map +1 -1
  67. package/lib/typescript/lib/module/index.d.ts +2 -1
  68. package/lib/typescript/lib/module/index.d.ts.map +1 -1
  69. package/lib/typescript/src/Bracket/api/index.d.ts +17 -2
  70. package/lib/typescript/src/Bracket/api/index.d.ts.map +1 -1
  71. package/lib/typescript/src/Bracket/components/BracketCompetitionActions.d.ts +2 -1
  72. package/lib/typescript/src/Bracket/components/BracketCompetitionActions.d.ts.map +1 -1
  73. package/lib/typescript/src/Bracket/components/BracketCompetitionCard.d.ts.map +1 -1
  74. package/lib/typescript/src/Bracket/components/BracketPlay/index.d.ts.map +1 -1
  75. package/lib/typescript/src/Bracket/components/ManageBracketCompetitionForm.d.ts +16 -0
  76. package/lib/typescript/src/Bracket/components/ManageBracketCompetitionForm.d.ts.map +1 -0
  77. package/lib/typescript/src/Bracket/components/RoomHome.d.ts +2 -1
  78. package/lib/typescript/src/Bracket/components/RoomHome.d.ts.map +1 -1
  79. package/lib/typescript/src/Bracket/index.d.ts +2 -1
  80. package/lib/typescript/src/Bracket/index.d.ts.map +1 -1
  81. package/lib/typescript/src/Components/Switch.d.ts +2 -1
  82. package/lib/typescript/src/Components/Switch.d.ts.map +1 -1
  83. package/lib/typescript/src/index.d.ts +2 -1
  84. package/lib/typescript/src/index.d.ts.map +1 -1
  85. package/package.json +1 -1
  86. package/src/Bracket/api/index.ts +63 -6
  87. package/src/Bracket/components/BracketCompetitionActions.tsx +12 -1
  88. package/src/Bracket/components/BracketCompetitionCard.tsx +2 -0
  89. package/src/Bracket/components/BracketPlay/index.tsx +1 -0
  90. package/src/Bracket/components/ManageBracketCompetitionForm.tsx +699 -0
  91. package/src/Bracket/components/RoomHome.tsx +5 -2
  92. package/src/Bracket/index.tsx +14 -269
  93. package/src/Components/Switch.tsx +12 -7
  94. package/src/index.tsx +2 -1
@@ -0,0 +1,1135 @@
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 _reactNative = require("react-native");
10
+ var _Components = require("../../Components");
11
+ var _api = require("../api");
12
+ var _useColors = require("../../constants/useColors");
13
+ var _momentMini = _interopRequireDefault(require("moment-mini"));
14
+ var _SearchBox = _interopRequireDefault(require("../../Components/SearchBox"));
15
+ var _ImageUploader = _interopRequireDefault(require("../../Components/ImageUploader"));
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ 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); }
18
+ 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; }
19
+ const sections = ['header', 'toggle', 'select_bracket', 'info', 'scoring', 'settings'];
20
+ const ManageBracketCompetitionForm = ({
21
+ player_id,
22
+ bracket_competition_id,
23
+ onFail,
24
+ onFocusPosition,
25
+ onClose
26
+ }) => {
27
+ const Colors = (0, _useColors.useColors)();
28
+ const [action_loading, setActionLoading] = (0, _react.useState)(false);
29
+ const [active_toggle, setActiveToggle] = (0, _react.useState)('settings');
30
+ const [scoring_loading, setScoringLoading] = (0, _react.useState)(false);
31
+ const [info_loading, setInfoLoading] = (0, _react.useState)(false);
32
+ const [settings_loading, setSettingsLoading] = (0, _react.useState)(false);
33
+ const [bracket_search, setBracketSearch] = (0, _react.useState)({
34
+ visible: false,
35
+ value: ''
36
+ });
37
+ const [scoring_data, setScoringData] = (0, _react.useState)({
38
+ bracket_scoring_rules: [],
39
+ draft_scoring_rules: []
40
+ });
41
+ const {
42
+ draft_scoring_rules,
43
+ bracket_scoring_rules
44
+ } = scoring_data;
45
+ const [form_data, setFormData] = (0, _react.useState)({
46
+ leagues: [],
47
+ available_brackets: [],
48
+ competition_player_brackets: [],
49
+ competition_result_types: [],
50
+ selected_bracket_rounds: []
51
+ });
52
+ const {
53
+ competition_result_types,
54
+ bracket_competition,
55
+ available_brackets,
56
+ competition_player_brackets,
57
+ active_league,
58
+ selected_bracket_rounds,
59
+ leagues,
60
+ selected_bracket,
61
+ draft_competition
62
+ } = form_data;
63
+ const unique_league_ids = [...new Set(available_brackets.map(b => b.league_id))];
64
+ let filtered_brackets = [...available_brackets];
65
+ if (active_league) {
66
+ filtered_brackets = filtered_brackets.filter(b => b.league_id == active_league.league_id);
67
+ }
68
+ if (bracket_search.visible) {
69
+ filtered_brackets = filtered_brackets.filter(b => `${b.bracket_name.toLowerCase()}`.includes(bracket_search.value.toLowerCase()));
70
+ }
71
+ const {
72
+ settings,
73
+ bracket,
74
+ scoring
75
+ } = _api.BracketCompetitionHelpers.isBracketCompetitionEditable(competition_player_brackets, bracket_competition);
76
+ const {
77
+ info_valid,
78
+ settings_valid,
79
+ bracket_valid,
80
+ scoring_valid
81
+ } = _api.BracketCompetitionHelpers.isBracketValid(bracket_scoring_rules, selected_bracket_rounds, competition_result_types, bracket_competition);
82
+ const valid = info_valid && settings_valid && bracket_valid && scoring_valid ? true : false;
83
+ const can_delete = (0, _momentMini.default)().isBefore((0, _momentMini.default)(bracket_competition?.scheduled_datetime)) && competition_player_brackets.length == 0 ? true : false;
84
+ (0, _react.useEffect)(() => {
85
+ _api.BracketApi.setEnvironment();
86
+ if (!bracket_competition_id) {
87
+ return;
88
+ }
89
+ getData(bracket_competition_id);
90
+ }, [bracket_competition_id]);
91
+ const getData = async id => {
92
+ let bk = undefined;
93
+ let bk_rounds = [];
94
+ let bk_options = await _api.BracketApi.getActiveBrackets();
95
+ const options = await _api.BracketComeptitionApi.getCompetitionOptions();
96
+ const bk_resp = await _api.BracketComeptitionApi.getBracketCompetitionById(id);
97
+ if (!bk_resp) {
98
+ return onFail();
99
+ }
100
+ if (bk_resp.bracket_competition.admin_id != player_id) {
101
+ return onFail('Not Eligible to edit this competition');
102
+ }
103
+ if (bk_resp.bracket_competition.status == 'deleted') {
104
+ return onFail('This competition has been deleted and cannot be edited');
105
+ }
106
+ const lgs = await _api.BracketApi.getLeagues();
107
+ if (bk_resp.bracket_competition.bracket_id) {
108
+ let bracket_resp = await _api.BracketApi.getBracketById(bk_resp.bracket_competition.bracket_id);
109
+ if (!bracket_resp) {
110
+ return onFail();
111
+ }
112
+ bk = bracket_resp.bracket;
113
+ bk_rounds = bracket_resp.bracket_rounds;
114
+ }
115
+
116
+ //Lets Check if we need to adjust scoring rules right away!
117
+ let draft_rules = _api.BracketCompetitionHelpers.checkRules(id, bk_rounds, bk_resp.bracket_competition_scoring_rules);
118
+ if (JSON.stringify(draft_rules) != JSON.stringify(bk_resp.bracket_competition_scoring_rules)) {
119
+ //Need to save them and update them right away!
120
+ draft_rules = await _api.BracketComeptitionApi.updateBracketCompetitionScoringRules(id, draft_rules);
121
+ }
122
+ setScoringData({
123
+ bracket_scoring_rules: draft_rules,
124
+ draft_scoring_rules: draft_rules
125
+ });
126
+ setFormData({
127
+ ...form_data,
128
+ bracket_competition: bk_resp.bracket_competition,
129
+ draft_competition: bk_resp.bracket_competition,
130
+ competition_result_types: options.competition_result_types.filter(crt => crt.type != 'outpace'),
131
+ leagues: lgs,
132
+ competition_player_brackets: bk_resp.competition_player_brackets,
133
+ available_brackets: bk_options.filter(bk => (0, _momentMini.default)(bk.scheduled_datetime).isAfter((0, _momentMini.default)())),
134
+ selected_bracket_rounds: bk_rounds,
135
+ selected_bracket: bk
136
+ });
137
+ };
138
+ const handleSelectBracket = async bracket_id => {
139
+ if (!draft_competition) {
140
+ return;
141
+ }
142
+ if (!bracket) {
143
+ return;
144
+ } //Bracket is not editable!
145
+ const bk_resp = await _api.BracketApi.getBracketById(bracket_id);
146
+ if (!bk_resp) {
147
+ return;
148
+ }
149
+ let new_bc = await _api.BracketComeptitionApi.updateBracketCompetition({
150
+ ...draft_competition,
151
+ bracket_id,
152
+ scheduled_datetime: bk_resp.bracket.scheduled_datetime
153
+ });
154
+ setFormData({
155
+ ...form_data,
156
+ draft_competition: new_bc,
157
+ bracket_competition: new_bc,
158
+ selected_bracket: bk_resp.bracket,
159
+ selected_bracket_rounds: bk_resp.bracket_rounds
160
+ });
161
+ let new_rules = _api.BracketCompetitionHelpers.checkRules(bracket_competition_id, bk_resp.bracket_rounds, bracket_scoring_rules);
162
+ new_rules = await _api.BracketComeptitionApi.updateBracketCompetitionScoringRules(bracket_competition_id, new_rules);
163
+ setScoringData({
164
+ draft_scoring_rules: new_rules,
165
+ bracket_scoring_rules: new_rules
166
+ });
167
+
168
+ //Now we need to auto update the scheduled time with the bracket start time
169
+ };
170
+ const renderLeagues = data => {
171
+ const league = leagues.find(l => l.league_id == data.item);
172
+ if (!league) {
173
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
174
+ }
175
+ const selected = active_league?.league_id == data.item ? true : false;
176
+ return /*#__PURE__*/_react.default.createElement(_Themed.Button, {
177
+ float: true,
178
+ style: {
179
+ margin: 2,
180
+ flexDirection: 'row',
181
+ alignItems: 'center',
182
+ padding: 10,
183
+ borderRadius: 100,
184
+ backgroundColor: selected ? Colors.text.highlight : undefined
185
+ },
186
+ onPress: () => selected ? setFormData({
187
+ ...form_data,
188
+ active_league: undefined
189
+ }) : setFormData({
190
+ ...form_data,
191
+ active_league: league
192
+ })
193
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
194
+ style: {
195
+ height: 25,
196
+ width: 25
197
+ },
198
+ source: {
199
+ uri: league.league_image
200
+ },
201
+ resizeMode: "cover"
202
+ }), /*#__PURE__*/_react.default.createElement(_Themed.View, {
203
+ transparent: true,
204
+ style: {
205
+ flex: 1,
206
+ marginLeft: 5
207
+ }
208
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
209
+ theme: "h2"
210
+ }, league.league_name)));
211
+ };
212
+ const handleUpdateScoringRule = scoring_rule => {
213
+ if (isNaN(scoring_rule.win_points)) {
214
+ return;
215
+ }
216
+ setScoringData({
217
+ ...scoring_data,
218
+ draft_scoring_rules: draft_scoring_rules.filter(sr => sr.bracket_competition_scoring_rule_id != scoring_rule.bracket_competition_scoring_rule_id).concat(scoring_rule)
219
+ });
220
+ };
221
+ const renderBracketRounds = data => {
222
+ const scoring_rule = draft_scoring_rules.find(bsr => bsr.round_number == data.item.round_number);
223
+ if (!scoring_rule) {
224
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
225
+ }
226
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
227
+ transparent: true,
228
+ style: {
229
+ borderBottomWidth: 1,
230
+ borderColor: Colors.borders.light
231
+ }
232
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
233
+ transparent: true,
234
+ style: {
235
+ flexDirection: 'row',
236
+ alignItems: 'center',
237
+ padding: 5
238
+ }
239
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
240
+ transparent: true,
241
+ style: {
242
+ flex: 1
243
+ }
244
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
245
+ theme: "h2"
246
+ }, data.item.round_name), /*#__PURE__*/_react.default.createElement(_Themed.View, {
247
+ transparent: true,
248
+ style: {
249
+ flexDirection: 'row',
250
+ alignItems: 'center',
251
+ padding: 3
252
+ }
253
+ }, /*#__PURE__*/_react.default.createElement(_Components.Switch, {
254
+ size: 12,
255
+ disabled: !scoring,
256
+ value: scoring_rule.underdog_bonus,
257
+ switch_type: "on_off",
258
+ onChange: val => {
259
+ setScoringData({
260
+ ...scoring_data,
261
+ draft_scoring_rules: draft_scoring_rules.filter(sr => sr.bracket_competition_scoring_rule_id != scoring_rule.bracket_competition_scoring_rule_id).concat({
262
+ ...scoring_rule,
263
+ underdog_bonus: val,
264
+ underdog_multiplier: val ? 1.5 : 0
265
+ })
266
+ });
267
+ }
268
+ }), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
269
+ style: {
270
+ marginLeft: 5
271
+ },
272
+ theme: "description"
273
+ }, "Underdog Bonus"))), /*#__PURE__*/_react.default.createElement(_Themed.TextInput, {
274
+ value: scoring_rule.win_points,
275
+ editable: scoring,
276
+ style: {
277
+ textAlign: 'center',
278
+ width: 80
279
+ },
280
+ onChangeText: text => handleUpdateScoringRule({
281
+ ...scoring_rule,
282
+ win_points: text
283
+ })
284
+ }), scoring_rule.underdog_bonus ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
285
+ transparent: true,
286
+ style: {
287
+ flexDirection: 'row',
288
+ alignItems: 'center'
289
+ }
290
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
291
+ style: {
292
+ padding: 4
293
+ },
294
+ theme: "h1"
295
+ }, "X"), /*#__PURE__*/_react.default.createElement(_Themed.TextInput, {
296
+ value: scoring_rule.underdog_multiplier,
297
+ style: {
298
+ textAlign: 'center',
299
+ width: 50
300
+ },
301
+ editable: scoring,
302
+ onChangeText: text => handleUpdateScoringRule({
303
+ ...scoring_rule,
304
+ underdog_multiplier: text
305
+ })
306
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)), scoring_rule.underdog_bonus ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
307
+ transparent: true,
308
+ style: {
309
+ padding: 5
310
+ }
311
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
312
+ theme: "warning"
313
+ }, "If a player selects the lower seed to win correctly, they will be awarded ", scoring_rule.win_points * scoring_rule.underdog_multiplier, " points")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null));
314
+ };
315
+ const renderResults = data => {
316
+ const selected = draft_competition?.competition_result_type_id == data.item.competition_result_type_id ? true : false;
317
+ return /*#__PURE__*/_react.default.createElement(_Themed.Button, {
318
+ disabled: !settings,
319
+ style: {
320
+ flexDirection: 'row',
321
+ alignItems: 'center',
322
+ padding: 10,
323
+ borderBottomWidth: 1,
324
+ borderColor: Colors.borders.light
325
+ },
326
+ onPress: () => {
327
+ if (!draft_competition) {
328
+ return;
329
+ }
330
+ setFormData({
331
+ ...form_data,
332
+ draft_competition: {
333
+ ...draft_competition,
334
+ competition_result_type_id: data.item.competition_result_type_id
335
+ }
336
+ });
337
+ }
338
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
339
+ style: {
340
+ height: 25,
341
+ width: 25,
342
+ borderWidth: 1,
343
+ borderRadius: 100,
344
+ justifyContent: 'center',
345
+ alignItems: 'center',
346
+ borderColor: Colors.text.action
347
+ }
348
+ }, selected ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
349
+ style: {
350
+ height: 15,
351
+ width: 15,
352
+ borderRadius: 100,
353
+ backgroundColor: Colors.text.action
354
+ }
355
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)), /*#__PURE__*/_react.default.createElement(_Themed.View, {
356
+ style: {
357
+ flex: 1,
358
+ marginLeft: 10
359
+ }
360
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
361
+ theme: "h2"
362
+ }, data.item.label), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
363
+ style: {
364
+ marginTop: 3
365
+ },
366
+ theme: "description"
367
+ }, data.item.description)));
368
+ };
369
+ const renderBrackets = data => {
370
+ const league = leagues.find(l => l.league_id == data.item.league_id);
371
+ const selected = selected_bracket?.bracket_id == data.item.bracket_id ? true : false;
372
+ return /*#__PURE__*/_react.default.createElement(_Themed.Button, {
373
+ disabled: !bracket,
374
+ style: {
375
+ borderRadius: 0,
376
+ padding: 10,
377
+ borderBottomWidth: 1,
378
+ borderBottomColor: Colors.borders.light,
379
+ flexDirection: 'row',
380
+ alignItems: 'center'
381
+ },
382
+ onPress: () => handleSelectBracket(data.item.bracket_id)
383
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
384
+ style: {
385
+ marginRight: 10,
386
+ height: 20,
387
+ width: 20,
388
+ borderRadius: 2,
389
+ borderWidth: 1,
390
+ borderColor: Colors.text.action,
391
+ justifyContent: 'center',
392
+ alignItems: 'center'
393
+ }
394
+ }, selected ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
395
+ style: {
396
+ height: 15,
397
+ width: 15,
398
+ backgroundColor: Colors.text.action
399
+ }
400
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)), league ? /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
401
+ style: {
402
+ height: 25,
403
+ width: 25
404
+ },
405
+ source: {
406
+ uri: league.league_image
407
+ },
408
+ resizeMode: "cover"
409
+ }) : /*#__PURE__*/_react.default.createElement(_Components.Icons.BracketIcon, {
410
+ size: 18,
411
+ color: Colors.text.h1
412
+ }), /*#__PURE__*/_react.default.createElement(_Themed.View, {
413
+ transparent: true,
414
+ style: {
415
+ flex: 1,
416
+ marginLeft: 10
417
+ }
418
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
419
+ theme: "h2"
420
+ }, data.item.bracket_name), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
421
+ style: {
422
+ marginTop: 3
423
+ },
424
+ theme: "description"
425
+ }, (0, _momentMini.default)(data.item.scheduled_datetime).format('YYYY-MM-DD hh:mm a'))));
426
+ };
427
+ const renderSections = data => {
428
+ switch (data.item) {
429
+ case 'header':
430
+ if (!bracket_competition || !draft_competition) {
431
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
432
+ }
433
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
434
+ type: "header",
435
+ style: {
436
+ flexDirection: 'row',
437
+ alignItems: 'center',
438
+ padding: 10
439
+ }
440
+ }, /*#__PURE__*/_react.default.createElement(_ImageUploader.default, {
441
+ public_id: `${draft_competition.bracket_competition_id}_image_${Math.random()}`,
442
+ onFinishUpload: async obj => {
443
+ const new_bc = await _api.BracketComeptitionApi.updateBracketCompetition({
444
+ ...draft_competition,
445
+ image: {
446
+ ...obj,
447
+ url: obj.secure_url
448
+ }
449
+ });
450
+ setFormData({
451
+ ...form_data,
452
+ draft_competition: new_bc,
453
+ bracket_competition: new_bc
454
+ });
455
+ }
456
+ }, bracket_competition.image?.url ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
457
+ transparent: true,
458
+ style: {
459
+ justifyContent: 'center',
460
+ alignItems: 'center'
461
+ }
462
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
463
+ source: {
464
+ uri: bracket_competition.image.url
465
+ },
466
+ style: {
467
+ height: 30,
468
+ width: 30
469
+ },
470
+ resizeMode: "cover"
471
+ })) : /*#__PURE__*/_react.default.createElement(_Themed.Text, {
472
+ theme: "action"
473
+ }, "Add Image")), /*#__PURE__*/_react.default.createElement(_Themed.View, {
474
+ transparent: true,
475
+ style: {
476
+ flex: 1
477
+ }
478
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
479
+ theme: "h1"
480
+ }, bracket_competition.competition_name), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
481
+ theme: "description",
482
+ style: {
483
+ marginTop: 4
484
+ }
485
+ }, bracket_competition.competition_description)), /*#__PURE__*/_react.default.createElement(_Themed.View, {
486
+ style: {
487
+ flexDirection: 'row'
488
+ }
489
+ }, bracket_competition.status == 'pending' ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
490
+ disabled: !valid || action_loading,
491
+ loading: action_loading,
492
+ style: {
493
+ opacity: action_loading || !valid ? 0.5 : 1
494
+ },
495
+ type: "success",
496
+ title: "ACTIVATE",
497
+ onPress: async () => {
498
+ if (action_loading) {
499
+ return;
500
+ }
501
+ setActionLoading(true);
502
+ let new_bc = await _api.BracketComeptitionApi.updateBracketCompetition({
503
+ ...draft_competition,
504
+ status: 'scheduled'
505
+ });
506
+ setFormData({
507
+ ...form_data,
508
+ draft_competition: new_bc,
509
+ bracket_competition: new_bc
510
+ });
511
+ setActionLoading(false);
512
+ }
513
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), !can_delete ? /*#__PURE__*/_react.default.createElement(_Themed.Button, {
514
+ disabled: action_loading,
515
+ loading: action_loading,
516
+ style: {
517
+ opacity: action_loading ? 0.5 : 1
518
+ },
519
+ type: "error",
520
+ title: "DELETE",
521
+ onPress: async () => {
522
+ if (action_loading) {
523
+ return;
524
+ }
525
+ if (_reactNative.Platform.OS == 'web') {
526
+ let confirmed = await confirm('Are you sure?');
527
+ if (!confirmed) {
528
+ return;
529
+ }
530
+ }
531
+ setActionLoading(true);
532
+ let new_bc = await _api.BracketComeptitionApi.updateBracketCompetition({
533
+ ...draft_competition,
534
+ status: 'deleted'
535
+ });
536
+ setFormData({
537
+ ...form_data,
538
+ draft_competition: new_bc,
539
+ bracket_competition: new_bc
540
+ });
541
+ setActionLoading(false);
542
+ }
543
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)));
544
+ case 'toggle':
545
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
546
+ style: {
547
+ padding: 10
548
+ }
549
+ }, /*#__PURE__*/_react.default.createElement(_Components.Toggle, {
550
+ toggle_padding: 10,
551
+ options: [{
552
+ key: 'bracket',
553
+ valid_string: 'bracket_valid',
554
+ label: 'Bracket',
555
+ icon: /*#__PURE__*/_react.default.createElement(_Components.Icons.BracketIcon, {
556
+ size: 12,
557
+ color: bracket_valid ? Colors.text.success : Colors.text.warning
558
+ })
559
+ }, {
560
+ key: 'info',
561
+ valid_string: 'info_valid',
562
+ label: 'Info',
563
+ icon: /*#__PURE__*/_react.default.createElement(_Components.Icons.MenuIcon, {
564
+ size: 12,
565
+ color: info_valid ? Colors.text.success : Colors.text.warning
566
+ })
567
+ }, {
568
+ key: 'scoring',
569
+ valid_string: 'scoring_valid',
570
+ label: 'Scoring',
571
+ icon: /*#__PURE__*/_react.default.createElement(_Components.Icons.PodiumIcon, {
572
+ size: 12,
573
+ color: scoring_valid ? Colors.text.success : Colors.text.warning
574
+ })
575
+ }, {
576
+ key: 'settings',
577
+ valid_string: 'settings_valid',
578
+ label: 'Settings',
579
+ icon: /*#__PURE__*/_react.default.createElement(_Components.Icons.SettingsIcon, {
580
+ size: 14,
581
+ color: settings_valid ? Colors.text.success : Colors.text.warning
582
+ })
583
+ }],
584
+ title_renderer: option => {
585
+ const selected = option.key == active_toggle ? true : false;
586
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
587
+ transparent: true,
588
+ style: {
589
+ flexDirection: 'row',
590
+ alignItems: 'center',
591
+ justifyContent: 'center'
592
+ }
593
+ }, option.icon, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
594
+ style: {
595
+ marginLeft: 5
596
+ },
597
+ theme: "h1",
598
+ color: selected ? Colors.text.action : Colors.text.h1
599
+ }, option.label));
600
+ },
601
+ selected_option: active_toggle,
602
+ onSelectOption: key => setActiveToggle(key)
603
+ }));
604
+ case 'select_bracket':
605
+ if (active_toggle != 'bracket') {
606
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
607
+ }
608
+ const selected_league = leagues.find(l => l.league_id == selected_bracket?.league_id);
609
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, null, selected_bracket ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
610
+ float: true,
611
+ style: {
612
+ margin: 10
613
+ }
614
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
615
+ type: "header",
616
+ style: {
617
+ flexDirection: 'row',
618
+ alignItems: 'center',
619
+ padding: 10
620
+ }
621
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
622
+ transparent: true,
623
+ style: {
624
+ flex: 1
625
+ }
626
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
627
+ theme: "h2"
628
+ }, "SELECTED BRACKET"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
629
+ style: {
630
+ marginTop: 3
631
+ },
632
+ theme: "description"
633
+ }, "Select a league to filter bracket options"))), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
634
+ style: {
635
+ borderRadius: 0,
636
+ padding: 10,
637
+ borderBottomWidth: 1,
638
+ borderBottomColor: Colors.borders.light,
639
+ flexDirection: 'row',
640
+ alignItems: 'center'
641
+ }
642
+ }, selected_league ? /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
643
+ style: {
644
+ height: 25,
645
+ width: 25
646
+ },
647
+ source: {
648
+ uri: selected_league.league_image
649
+ },
650
+ resizeMode: "cover"
651
+ }) : /*#__PURE__*/_react.default.createElement(_Components.Icons.BracketIcon, {
652
+ size: 18,
653
+ color: Colors.text.h1
654
+ }), /*#__PURE__*/_react.default.createElement(_Themed.View, {
655
+ transparent: true,
656
+ style: {
657
+ flex: 1,
658
+ marginLeft: 10
659
+ }
660
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
661
+ theme: "h2"
662
+ }, selected_bracket.bracket_name), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
663
+ style: {
664
+ marginTop: 3
665
+ },
666
+ theme: "description"
667
+ }, (0, _momentMini.default)(selected_bracket.scheduled_datetime).format('YYYY-MM-DD hh:mm a'))))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_Themed.View, {
668
+ style: {
669
+ padding: 20,
670
+ backgroundColor: Colors.text.action
671
+ }
672
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
673
+ theme: "h1",
674
+ textAlign: "center"
675
+ }, bracket ? 'CHANGE BRACKET!' : 'BRACKET IS LOCKED'), bracket ? /*#__PURE__*/_react.default.createElement(_Themed.Text, {
676
+ theme: "description",
677
+ textAlign: "center"
678
+ }, "Use the options below to select new bracket") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)), /*#__PURE__*/_react.default.createElement(_Themed.View, {
679
+ type: "header",
680
+ style: {
681
+ flexDirection: 'row',
682
+ alignItems: 'center',
683
+ padding: 10
684
+ }
685
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
686
+ transparent: true,
687
+ style: {
688
+ flex: 1
689
+ }
690
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
691
+ theme: "h2"
692
+ }, "LEAGUE OPTIONS"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
693
+ style: {
694
+ marginTop: 3
695
+ },
696
+ theme: "description"
697
+ }, "Select a league to filter bracket options"))), /*#__PURE__*/_react.default.createElement(_Themed.View, {
698
+ style: {
699
+ padding: 5
700
+ }
701
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
702
+ data: unique_league_ids,
703
+ key: "league_selector",
704
+ keyExtractor: item => item,
705
+ renderItem: renderLeagues,
706
+ horizontal: true
707
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
708
+ float: true,
709
+ style: {
710
+ margin: 5
711
+ }
712
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
713
+ type: "header",
714
+ style: {
715
+ flexDirection: 'row',
716
+ alignItems: 'center',
717
+ padding: 10
718
+ }
719
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
720
+ transparent: true,
721
+ style: {
722
+ flex: 1
723
+ }
724
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
725
+ theme: "h2"
726
+ }, "BRACKET OPTIONS"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
727
+ style: {
728
+ marginTop: 3
729
+ },
730
+ theme: "description"
731
+ }, "Select a Bracket below or search")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
732
+ float: true,
733
+ onPress: () => setBracketSearch({
734
+ ...bracket_search,
735
+ visible: !bracket_search.visible,
736
+ value: ''
737
+ })
738
+ }, bracket_search.visible ? /*#__PURE__*/_react.default.createElement(_Components.Icons.CloseIcon, {
739
+ size: 14,
740
+ color: Colors.text.error
741
+ }) : /*#__PURE__*/_react.default.createElement(_Components.Icons.SearchIcon, {
742
+ size: 14,
743
+ color: Colors.text.h1
744
+ }))), bracket_search.visible ? /*#__PURE__*/_react.default.createElement(_Themed.View, {
745
+ style: {
746
+ padding: 5
747
+ }
748
+ }, /*#__PURE__*/_react.default.createElement(_SearchBox.default, {
749
+ onFocusPosition: onFocusPosition,
750
+ onChange: text => setBracketSearch({
751
+ ...bracket_search,
752
+ value: text
753
+ }),
754
+ hide_search_button: true
755
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
756
+ data: filtered_brackets,
757
+ keyExtractor: item => item.bracket_id.toString(),
758
+ key: 'brackets_list',
759
+ renderItem: renderBrackets
760
+ })));
761
+ case 'info':
762
+ if (active_toggle != 'info') {
763
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
764
+ }
765
+ if (!draft_competition) {
766
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
767
+ }
768
+ const comp_changed = JSON.stringify(draft_competition) != JSON.stringify(bracket_competition) ? true : false;
769
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_Themed.View, {
770
+ type: "header",
771
+ style: {
772
+ flexDirection: 'row',
773
+ alignItems: 'center',
774
+ padding: 10
775
+ }
776
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
777
+ transparent: true,
778
+ style: {
779
+ flex: 1
780
+ }
781
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
782
+ theme: "h1"
783
+ }, "Update Competition Information")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
784
+ type: "success",
785
+ title: "SAVE",
786
+ style: {
787
+ flex: 1,
788
+ opacity: comp_changed && !info_loading ? 1 : 0.5
789
+ },
790
+ disabled: !comp_changed || info_loading,
791
+ loading: info_loading,
792
+ onPress: async () => {
793
+ if (info_loading) {
794
+ return;
795
+ }
796
+ setInfoLoading(true);
797
+ const new_bc = await _api.BracketComeptitionApi.updateBracketCompetition(draft_competition);
798
+ setFormData({
799
+ ...form_data,
800
+ bracket_competition: new_bc,
801
+ draft_competition: new_bc
802
+ });
803
+ setInfoLoading(false);
804
+ }
805
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
806
+ type: "body"
807
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
808
+ style: {
809
+ padding: 10
810
+ }
811
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
812
+ theme: "h2",
813
+ style: {
814
+ marginBottom: 8
815
+ }
816
+ }, "Competition Name"), /*#__PURE__*/_react.default.createElement(_Themed.TextInput, {
817
+ onFocusPosition: onFocusPosition,
818
+ value: draft_competition.competition_name,
819
+ placeholder: "Enter a memorable name ...",
820
+ onChangeText: text => setFormData({
821
+ ...form_data,
822
+ draft_competition: {
823
+ ...draft_competition,
824
+ competition_name: text
825
+ }
826
+ })
827
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
828
+ style: {
829
+ padding: 10
830
+ }
831
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
832
+ theme: "h2",
833
+ style: {
834
+ marginBottom: 8
835
+ }
836
+ }, "Description"), /*#__PURE__*/_react.default.createElement(_Themed.TextInput, {
837
+ onFocusPosition: onFocusPosition,
838
+ value: draft_competition.competition_description,
839
+ placeholder: "Enter a memorable description ...",
840
+ onChangeText: text => setFormData({
841
+ ...form_data,
842
+ draft_competition: {
843
+ ...draft_competition,
844
+ competition_description: text
845
+ }
846
+ })
847
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
848
+ type: "row",
849
+ style: {
850
+ padding: 10
851
+ }
852
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
853
+ transparent: true,
854
+ style: {
855
+ flex: 1
856
+ }
857
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
858
+ theme: "h2"
859
+ }, "Start Time"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
860
+ style: {
861
+ marginTop: 3
862
+ },
863
+ theme: "warning"
864
+ }, "Defaults to selected bracket")), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
865
+ theme: "h1",
866
+ color: Colors.text.descriptionLight,
867
+ size: 14
868
+ }, (0, _momentMini.default)(draft_competition.scheduled_datetime).format('YYYY-MM-DD @ hh:mm a')))));
869
+ case 'scoring':
870
+ if (active_toggle != 'scoring') {
871
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
872
+ }
873
+ const is_changed = JSON.stringify(draft_scoring_rules) != JSON.stringify(bracket_scoring_rules) ? true : false;
874
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_Themed.View, {
875
+ type: "header",
876
+ style: {
877
+ flexDirection: 'row',
878
+ alignItems: 'center',
879
+ padding: 10
880
+ }
881
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
882
+ transparent: true,
883
+ style: {
884
+ flex: 1
885
+ }
886
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
887
+ theme: "h1"
888
+ }, "Update Competition Scoring Rules")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
889
+ type: "success",
890
+ title: "SAVE RULES",
891
+ style: {
892
+ flex: 1,
893
+ opacity: is_changed && !scoring_loading ? 1 : 0.5
894
+ },
895
+ disabled: !is_changed || scoring_loading,
896
+ loading: scoring_loading,
897
+ onPress: async () => {
898
+ if (scoring_loading) {
899
+ return;
900
+ }
901
+ setScoringLoading(true);
902
+ let new_rules = await _api.BracketComeptitionApi.updateBracketCompetitionScoringRules(bracket_competition_id, draft_scoring_rules);
903
+ setScoringLoading(false);
904
+ setScoringData({
905
+ bracket_scoring_rules: new_rules,
906
+ draft_scoring_rules: new_rules
907
+ });
908
+ }
909
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
910
+ float: true,
911
+ type: "body",
912
+ style: {
913
+ margin: 10
914
+ }
915
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
916
+ data: selected_bracket_rounds,
917
+ renderItem: renderBracketRounds,
918
+ key: "scoring_rules",
919
+ extraData: [JSON.stringify(draft_scoring_rules)],
920
+ keyExtractor: item => item.bracket_round_id.toString()
921
+ })));
922
+ case 'settings':
923
+ if (!draft_competition) {
924
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
925
+ }
926
+ if (active_toggle != 'settings') {
927
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
928
+ }
929
+ const settings_changed = JSON.stringify(draft_competition) != JSON.stringify(bracket_competition) ? true : false;
930
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, null, /*#__PURE__*/_react.default.createElement(_Themed.View, {
931
+ type: "header",
932
+ style: {
933
+ flexDirection: 'row',
934
+ alignItems: 'center',
935
+ padding: 10
936
+ }
937
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
938
+ transparent: true,
939
+ style: {
940
+ flex: 1
941
+ }
942
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
943
+ theme: "h1"
944
+ }, "Update Competition Information")), /*#__PURE__*/_react.default.createElement(_Themed.Button, {
945
+ type: "success",
946
+ title: "SAVE",
947
+ style: {
948
+ flex: 1,
949
+ opacity: settings_changed && !settings_loading ? 1 : 0.5
950
+ },
951
+ disabled: !settings || !settings_changed || settings_loading,
952
+ loading: settings_loading,
953
+ onPress: async () => {
954
+ if (settings_loading) {
955
+ return;
956
+ }
957
+ setSettingsLoading(true);
958
+ const new_bc = await _api.BracketComeptitionApi.updateBracketCompetition(draft_competition);
959
+ setFormData({
960
+ ...form_data,
961
+ bracket_competition: new_bc,
962
+ draft_competition: new_bc
963
+ });
964
+ setSettingsLoading(false);
965
+ }
966
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
967
+ type: "body"
968
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
969
+ type: "row",
970
+ style: {
971
+ padding: 10
972
+ }
973
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
974
+ style: {
975
+ flex: 1
976
+ }
977
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
978
+ theme: "h2",
979
+ style: {
980
+ marginBottom: 8
981
+ }
982
+ }, "Ticket Price"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
983
+ theme: "description",
984
+ style: {
985
+ marginTop: 4
986
+ }
987
+ }, "How much does it cost to enter the competitions?")), /*#__PURE__*/_react.default.createElement(_Themed.TextInput, {
988
+ onFocusPosition: onFocusPosition,
989
+ editable: settings,
990
+ style: {
991
+ textAlign: 'center',
992
+ width: 100
993
+ },
994
+ value: draft_competition.buy_in,
995
+ placeholder: "$5",
996
+ onChangeText: text => setFormData({
997
+ ...form_data,
998
+ draft_competition: {
999
+ ...draft_competition,
1000
+ buy_in: text
1001
+ }
1002
+ })
1003
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1004
+ type: "row",
1005
+ style: {
1006
+ padding: 10
1007
+ }
1008
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1009
+ style: {
1010
+ flex: 1
1011
+ }
1012
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1013
+ theme: "h2",
1014
+ style: {
1015
+ marginBottom: 8
1016
+ }
1017
+ }, "Brackets / Person"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1018
+ theme: "description",
1019
+ style: {
1020
+ marginTop: 4
1021
+ }
1022
+ }, "How many brackets can a single player enter?")), /*#__PURE__*/_react.default.createElement(_Themed.TextInput, {
1023
+ editable: settings,
1024
+ onFocusPosition: onFocusPosition,
1025
+ style: {
1026
+ textAlign: 'center',
1027
+ width: 100
1028
+ },
1029
+ value: draft_competition.max_brackets_per_player,
1030
+ placeholder: "1",
1031
+ onChangeText: text => setFormData({
1032
+ ...form_data,
1033
+ draft_competition: {
1034
+ ...draft_competition,
1035
+ max_brackets_per_player: text
1036
+ }
1037
+ })
1038
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1039
+ type: "row",
1040
+ style: {
1041
+ padding: 10
1042
+ }
1043
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1044
+ style: {
1045
+ flex: 1
1046
+ }
1047
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1048
+ theme: "h2",
1049
+ style: {
1050
+ marginBottom: 8
1051
+ }
1052
+ }, "Available Tickets"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1053
+ theme: "description",
1054
+ style: {
1055
+ marginTop: 4
1056
+ }
1057
+ }, "How many total brackets can enter?")), /*#__PURE__*/_react.default.createElement(_Themed.TextInput, {
1058
+ onFocusPosition: onFocusPosition,
1059
+ editable: settings,
1060
+ style: {
1061
+ textAlign: 'center',
1062
+ width: 100
1063
+ },
1064
+ value: draft_competition.max_brackets,
1065
+ placeholder: "1",
1066
+ onChangeText: text => setFormData({
1067
+ ...form_data,
1068
+ draft_competition: {
1069
+ ...draft_competition,
1070
+ max_brackets: text
1071
+ }
1072
+ })
1073
+ })), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1074
+ float: true,
1075
+ style: {
1076
+ margin: 10
1077
+ }
1078
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1079
+ type: "header",
1080
+ style: {
1081
+ flexDirection: 'row',
1082
+ alignItems: 'center',
1083
+ padding: 10
1084
+ }
1085
+ }, /*#__PURE__*/_react.default.createElement(_Themed.View, {
1086
+ transparent: true,
1087
+ style: {
1088
+ flex: 1
1089
+ }
1090
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1091
+ theme: "h1"
1092
+ }, "Select Result Type"), /*#__PURE__*/_react.default.createElement(_Themed.Text, {
1093
+ style: {
1094
+ marginTop: 3
1095
+ },
1096
+ theme: "description"
1097
+ }, "How are winners determined?"))), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1098
+ transparent: true
1099
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
1100
+ data: competition_result_types,
1101
+ key: 'results',
1102
+ keyExtractor: item => item.competition_result_type_id.toString(),
1103
+ renderItem: renderResults
1104
+ })))));
1105
+ default:
1106
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
1107
+ }
1108
+ };
1109
+ return /*#__PURE__*/_react.default.createElement(_Themed.View, {
1110
+ style: {
1111
+ flex: 1
1112
+ }
1113
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
1114
+ data: sections,
1115
+ key: "manage_bracket_comp",
1116
+ keyExtractor: item => item,
1117
+ renderItem: renderSections
1118
+ }), /*#__PURE__*/_react.default.createElement(_Themed.View, {
1119
+ type: "footer",
1120
+ style: {
1121
+ flexDirection: 'row',
1122
+ alignItems: 'center',
1123
+ padding: 10
1124
+ }
1125
+ }, /*#__PURE__*/_react.default.createElement(_Themed.Button, {
1126
+ style: {
1127
+ flex: 1
1128
+ },
1129
+ type: "close",
1130
+ title: "CLOSE",
1131
+ onPress: () => onClose()
1132
+ })));
1133
+ };
1134
+ var _default = exports.default = ManageBracketCompetitionForm;
1135
+ //# sourceMappingURL=ManageBracketCompetitionForm.js.map