be-components 4.4.8 → 4.4.9

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