be-components 4.5.5 → 4.5.8

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 (131) hide show
  1. package/lib/commonjs/Bracket/api/index.js +15 -5
  2. package/lib/commonjs/Bracket/api/index.js.map +1 -1
  3. package/lib/commonjs/Bracket/components/BracketCompetitionActions.js +17 -12
  4. package/lib/commonjs/Bracket/components/BracketCompetitionActions.js.map +1 -1
  5. package/lib/commonjs/Bracket/components/BracketCompetitionCard.js +1 -0
  6. package/lib/commonjs/Bracket/components/BracketCompetitionCard.js.map +1 -1
  7. package/lib/commonjs/Bracket/components/BracketPlay/BracketRound.js +2 -0
  8. package/lib/commonjs/Bracket/components/BracketPlay/BracketRound.js.map +1 -1
  9. package/lib/commonjs/Bracket/components/BracketPlay/index.js +0 -8
  10. package/lib/commonjs/Bracket/components/BracketPlay/index.js.map +1 -1
  11. package/lib/commonjs/Bracket/components/EditPlayerBracket.js +32 -3
  12. package/lib/commonjs/Bracket/components/EditPlayerBracket.js.map +1 -1
  13. package/lib/commonjs/Bracket/components/EnteredCompetitionsModal.js +197 -0
  14. package/lib/commonjs/Bracket/components/EnteredCompetitionsModal.js.map +1 -0
  15. package/lib/commonjs/Bracket/components/JoinCompetitionCard.js +78 -3
  16. package/lib/commonjs/Bracket/components/JoinCompetitionCard.js.map +1 -1
  17. package/lib/commonjs/Bracket/components/ManageBracketCompetitionForm.js +3 -3
  18. package/lib/commonjs/Bracket/components/ManageBracketCompetitionForm.js.map +1 -1
  19. package/lib/commonjs/Bracket/components/PlayerBracketCard.js +21 -4
  20. package/lib/commonjs/Bracket/components/PlayerBracketCard.js.map +1 -1
  21. package/lib/commonjs/Bracket/components/PlayerBrackets.js +27 -4
  22. package/lib/commonjs/Bracket/components/PlayerBrackets.js.map +1 -1
  23. package/lib/commonjs/Bracket/components/RoomHome.js +436 -117
  24. package/lib/commonjs/Bracket/components/RoomHome.js.map +1 -1
  25. package/lib/commonjs/Bracket/index.js +254 -420
  26. package/lib/commonjs/Bracket/index.js.map +1 -1
  27. package/lib/commonjs/Competition/components/EnterCompetitionPrompt.js.map +1 -1
  28. package/lib/commonjs/Engage/index.js.map +1 -1
  29. package/lib/module/Bracket/api/index.js +15 -5
  30. package/lib/module/Bracket/api/index.js.map +1 -1
  31. package/lib/module/Bracket/components/BracketCompetitionActions.js +18 -13
  32. package/lib/module/Bracket/components/BracketCompetitionActions.js.map +1 -1
  33. package/lib/module/Bracket/components/BracketCompetitionCard.js +1 -0
  34. package/lib/module/Bracket/components/BracketCompetitionCard.js.map +1 -1
  35. package/lib/module/Bracket/components/BracketPlay/BracketRound.js +2 -0
  36. package/lib/module/Bracket/components/BracketPlay/BracketRound.js.map +1 -1
  37. package/lib/module/Bracket/components/BracketPlay/index.js +0 -8
  38. package/lib/module/Bracket/components/BracketPlay/index.js.map +1 -1
  39. package/lib/module/Bracket/components/EditPlayerBracket.js +33 -4
  40. package/lib/module/Bracket/components/EditPlayerBracket.js.map +1 -1
  41. package/lib/module/Bracket/components/EnteredCompetitionsModal.js +190 -0
  42. package/lib/module/Bracket/components/EnteredCompetitionsModal.js.map +1 -0
  43. package/lib/module/Bracket/components/JoinCompetitionCard.js +78 -3
  44. package/lib/module/Bracket/components/JoinCompetitionCard.js.map +1 -1
  45. package/lib/module/Bracket/components/ManageBracketCompetitionForm.js +3 -3
  46. package/lib/module/Bracket/components/ManageBracketCompetitionForm.js.map +1 -1
  47. package/lib/module/Bracket/components/PlayerBracketCard.js +21 -4
  48. package/lib/module/Bracket/components/PlayerBracketCard.js.map +1 -1
  49. package/lib/module/Bracket/components/PlayerBrackets.js +28 -5
  50. package/lib/module/Bracket/components/PlayerBrackets.js.map +1 -1
  51. package/lib/module/Bracket/components/RoomHome.js +438 -119
  52. package/lib/module/Bracket/components/RoomHome.js.map +1 -1
  53. package/lib/module/Bracket/index.js +255 -421
  54. package/lib/module/Bracket/index.js.map +1 -1
  55. package/lib/module/Competition/components/EnterCompetitionPrompt.js.map +1 -1
  56. package/lib/module/Engage/index.js.map +1 -1
  57. package/lib/typescript/lib/commonjs/Bracket/api/index.d.ts +6 -1
  58. package/lib/typescript/lib/commonjs/Bracket/api/index.d.ts.map +1 -1
  59. package/lib/typescript/lib/commonjs/Bracket/components/BracketCompetitionActions.d.ts.map +1 -1
  60. package/lib/typescript/lib/commonjs/Bracket/components/BracketCompetitionCard.d.ts.map +1 -1
  61. package/lib/typescript/lib/commonjs/Bracket/components/BracketPlay/BracketRound.d.ts.map +1 -1
  62. package/lib/typescript/lib/commonjs/Bracket/components/BracketPlay/index.d.ts +1 -2
  63. package/lib/typescript/lib/commonjs/Bracket/components/BracketPlay/index.d.ts.map +1 -1
  64. package/lib/typescript/lib/commonjs/Bracket/components/EditPlayerBracket.d.ts +3 -1
  65. package/lib/typescript/lib/commonjs/Bracket/components/EditPlayerBracket.d.ts.map +1 -1
  66. package/lib/typescript/lib/commonjs/Bracket/components/EnteredCompetitionsModal.d.ts +14 -0
  67. package/lib/typescript/lib/commonjs/Bracket/components/EnteredCompetitionsModal.d.ts.map +1 -0
  68. package/lib/typescript/lib/commonjs/Bracket/components/JoinCompetitionCard.d.ts +2 -1
  69. package/lib/typescript/lib/commonjs/Bracket/components/JoinCompetitionCard.d.ts.map +1 -1
  70. package/lib/typescript/lib/commonjs/Bracket/components/PlayerBrackets.d.ts +4 -1
  71. package/lib/typescript/lib/commonjs/Bracket/components/PlayerBrackets.d.ts.map +1 -1
  72. package/lib/typescript/lib/commonjs/Bracket/components/RoomHome.d.ts +4 -14
  73. package/lib/typescript/lib/commonjs/Bracket/components/RoomHome.d.ts.map +1 -1
  74. package/lib/typescript/lib/commonjs/Bracket/index.d.ts.map +1 -1
  75. package/lib/typescript/lib/module/Bracket/api/index.d.ts +6 -1
  76. package/lib/typescript/lib/module/Bracket/api/index.d.ts.map +1 -1
  77. package/lib/typescript/lib/module/Bracket/components/BracketCompetitionActions.d.ts.map +1 -1
  78. package/lib/typescript/lib/module/Bracket/components/BracketCompetitionCard.d.ts.map +1 -1
  79. package/lib/typescript/lib/module/Bracket/components/BracketPlay/BracketRound.d.ts.map +1 -1
  80. package/lib/typescript/lib/module/Bracket/components/BracketPlay/index.d.ts +1 -2
  81. package/lib/typescript/lib/module/Bracket/components/BracketPlay/index.d.ts.map +1 -1
  82. package/lib/typescript/lib/module/Bracket/components/EditPlayerBracket.d.ts +5 -2
  83. package/lib/typescript/lib/module/Bracket/components/EditPlayerBracket.d.ts.map +1 -1
  84. package/lib/typescript/lib/module/Bracket/components/EnteredCompetitionsModal.d.ts +15 -0
  85. package/lib/typescript/lib/module/Bracket/components/EnteredCompetitionsModal.d.ts.map +1 -0
  86. package/lib/typescript/lib/module/Bracket/components/JoinCompetitionCard.d.ts +2 -1
  87. package/lib/typescript/lib/module/Bracket/components/JoinCompetitionCard.d.ts.map +1 -1
  88. package/lib/typescript/lib/module/Bracket/components/PlayerBracketCard.d.ts +3 -1
  89. package/lib/typescript/lib/module/Bracket/components/PlayerBracketCard.d.ts.map +1 -1
  90. package/lib/typescript/lib/module/Bracket/components/PlayerBrackets.d.ts +6 -2
  91. package/lib/typescript/lib/module/Bracket/components/PlayerBrackets.d.ts.map +1 -1
  92. package/lib/typescript/lib/module/Bracket/components/RoomHome.d.ts +4 -14
  93. package/lib/typescript/lib/module/Bracket/components/RoomHome.d.ts.map +1 -1
  94. package/lib/typescript/lib/module/Bracket/index.d.ts.map +1 -1
  95. package/lib/typescript/src/Bracket/api/index.d.ts +5 -1
  96. package/lib/typescript/src/Bracket/api/index.d.ts.map +1 -1
  97. package/lib/typescript/src/Bracket/components/BracketCompetitionActions.d.ts.map +1 -1
  98. package/lib/typescript/src/Bracket/components/BracketCompetitionCard.d.ts.map +1 -1
  99. package/lib/typescript/src/Bracket/components/BracketPlay/index.d.ts +1 -2
  100. package/lib/typescript/src/Bracket/components/BracketPlay/index.d.ts.map +1 -1
  101. package/lib/typescript/src/Bracket/components/EditPlayerBracket.d.ts +8 -1
  102. package/lib/typescript/src/Bracket/components/EditPlayerBracket.d.ts.map +1 -1
  103. package/lib/typescript/src/Bracket/components/EnteredCompetitionsModal.d.ts +21 -0
  104. package/lib/typescript/src/Bracket/components/EnteredCompetitionsModal.d.ts.map +1 -0
  105. package/lib/typescript/src/Bracket/components/JoinCompetitionCard.d.ts +2 -1
  106. package/lib/typescript/src/Bracket/components/JoinCompetitionCard.d.ts.map +1 -1
  107. package/lib/typescript/src/Bracket/components/PlayerBracketCard.d.ts +3 -2
  108. package/lib/typescript/src/Bracket/components/PlayerBracketCard.d.ts.map +1 -1
  109. package/lib/typescript/src/Bracket/components/PlayerBrackets.d.ts +9 -1
  110. package/lib/typescript/src/Bracket/components/PlayerBrackets.d.ts.map +1 -1
  111. package/lib/typescript/src/Bracket/components/RoomHome.d.ts +11 -18
  112. package/lib/typescript/src/Bracket/components/RoomHome.d.ts.map +1 -1
  113. package/lib/typescript/src/Bracket/index.d.ts.map +1 -1
  114. package/lib/typescript/src/Engage/index.d.ts.map +1 -1
  115. package/package.json +1 -1
  116. package/src/Bracket/api/index.ts +10 -5
  117. package/src/Bracket/components/BracketCompetitionActions.tsx +14 -12
  118. package/src/Bracket/components/BracketCompetitionCard.tsx +1 -0
  119. package/src/Bracket/components/BracketPlay/BracketRound.tsx +2 -2
  120. package/src/Bracket/components/BracketPlay/index.tsx +13 -18
  121. package/src/Bracket/components/EditPlayerBracket.tsx +58 -42
  122. package/src/Bracket/components/EnteredCompetitionsModal.tsx +113 -0
  123. package/src/Bracket/components/JoinCompetitionCard.tsx +46 -3
  124. package/src/Bracket/components/ManageBracketCompetitionForm.tsx +3 -3
  125. package/src/Bracket/components/PlayerBracketCard.tsx +9 -4
  126. package/src/Bracket/components/PlayerBrackets.tsx +45 -33
  127. package/src/Bracket/components/RoomHome.tsx +356 -117
  128. package/src/Bracket/index.tsx +277 -402
  129. package/src/Competition/components/EnterCompetitionPrompt.tsx +1 -1
  130. package/src/Engage/index.tsx +1 -0
  131. package/src/types.d.ts +1 -0
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useMemo, useState } from 'react';
1
+ import React, { useEffect, useState } from 'react';
2
2
  import { Button, Text, View } from '../../Components/Themed';
3
3
  import { FlatList, Image } from 'react-native';
4
4
  import PlayerBracketCard from './PlayerBracketCard';
@@ -6,7 +6,9 @@ import SearchBox from '../../Components/SearchBox';
6
6
  import { Icons, Toggle } from '../../Components';
7
7
  import { useColors } from '../../constants/useColors';
8
8
  import moment from 'moment-mini';
9
- import { BracketComeptitionApi } from '../api';
9
+ import { BracketApi, BracketComeptitionApi, BracketCompetitionHelpers } from '../api';
10
+ import EditPlayerBracket from './EditPlayerBracket';
11
+ import EnteredCompetitionsModal from './EnteredCompetitionsModal';
10
12
  const MIN_CARD_WIDTH = 330;
11
13
  const calcCardWidth = (width, margin) => {
12
14
  let num_cards_possible = Math.floor(width / MIN_CARD_WIDTH);
@@ -19,79 +21,248 @@ const calcCardWidth = (width, margin) => {
19
21
  };
20
22
  const sections = ['toggle', 'active_brackets', 'past_brackets', 'tournaments', 'admin_competitions', 'competitions'];
21
23
  const RoomHome = ({
24
+ view_mode,
22
25
  visible,
23
26
  width,
27
+ onRequestAuthenticate,
24
28
  player,
25
29
  leagues,
26
- active_brackets,
27
- public_competitions,
28
- admin_competitions,
29
- onMoreAdmin,
30
- admin_offset,
30
+ insets,
31
31
  onManageCompetition,
32
32
  onCreateNewCompetition,
33
33
  onView,
34
- onUpdatePlayerBracket,
35
- onEditPlayerBracket,
36
- onFocusPosition,
37
- brackets,
38
- player_brackets,
39
- bracket_competitions,
40
- competition_player_brackets,
41
- athletes,
42
- teams
34
+ onFocusPosition
43
35
  }) => {
44
36
  const Colors = useColors();
37
+ const [active_toggle, setActiveToggle] = useState('my_brackets');
38
+ const [show_comps, setShowComps] = useState({
39
+ entered_brackets: [],
40
+ entered_competitions: []
41
+ });
42
+ const [editing_player_bracket, setEditingPlayerBracket] = useState(undefined);
43
+ const [admin_data, setAdminData] = useState({
44
+ admin_loading: false,
45
+ admin_brackets: [],
46
+ admin_competitions: [],
47
+ admin_offset: 0
48
+ });
49
+ const {
50
+ admin_competitions,
51
+ admin_offset
52
+ } = admin_data;
53
+ const [competitions_data, setCompetitionsData] = useState({
54
+ competitions_loading: false,
55
+ competitions_loaded: false,
56
+ public_competitions: [],
57
+ competition_brackets: []
58
+ });
59
+ const {
60
+ public_competitions,
61
+ competition_brackets
62
+ } = competitions_data;
63
+ const [comp_search, setCompSearch] = useState({
64
+ visible: false,
65
+ value: ''
66
+ });
67
+ let visisble_comps = [...public_competitions];
68
+ if (comp_search.visible) {
69
+ visisble_comps = visisble_comps.filter(c => `${c.competition_name} ${c.competition_description}`.toLowerCase().includes(comp_search.value.toLowerCase()));
70
+ }
71
+ const unique_competition_leagues = [...new Set(competition_brackets.filter(b => visisble_comps.map(c => c.bracket_id.toString()).includes(b.bracket_id.toString())).map(b => b.league_id))];
72
+ const [tournaments_data, setTournamentsData] = useState({
73
+ tournaments_loading: false,
74
+ tournament_brackets: []
75
+ });
76
+ const {
77
+ tournament_brackets
78
+ } = tournaments_data;
79
+ let visisble_tourney_brackets = [...tournament_brackets];
80
+ const [selected_league, setSelectedLeague] = useState(undefined);
81
+ if (selected_league) {
82
+ visisble_tourney_brackets = visisble_tourney_brackets.filter(b => b.league_id == selected_league);
83
+ }
84
+ const [tourney_search, setTourneySearch] = useState({
85
+ visible: false,
86
+ value: ''
87
+ });
88
+ if (tourney_search.visible) {
89
+ visisble_tourney_brackets = visisble_tourney_brackets.filter(b => `${b.bracket_name}`.toLowerCase().includes(tourney_search.value.toLowerCase()));
90
+ }
91
+ const unique_tournament_leagues = [...new Set(visisble_tourney_brackets.map(b => b.league_id))];
92
+ const [my_brackets_data, setMyBrackets] = useState({
93
+ my_brackets_loading: false,
94
+ my_brackets_loaded: false,
95
+ competition_player_brackets: [],
96
+ my_brackets: [],
97
+ champion_athletes: [],
98
+ champion_teams: [],
99
+ my_competitions: [],
100
+ player_brackets: []
101
+ });
102
+ const {
103
+ my_brackets_loaded,
104
+ my_brackets_loading,
105
+ my_brackets,
106
+ my_competitions,
107
+ competition_player_brackets,
108
+ player_brackets,
109
+ champion_athletes,
110
+ champion_teams
111
+ } = my_brackets_data;
112
+ const active_brackets = player_brackets.filter(pb => pb.status == 'active');
113
+ const closed_brackets = player_brackets.filter(pb => pb.status == 'closed');
114
+ const [past_search, setPastSearch] = useState({
115
+ visible: false,
116
+ value: ''
117
+ });
118
+ let closed_bracket_ids = [...new Set(closed_brackets.map(b => b.bracket_id))].slice(0, 10);
119
+ if (past_search.visible) {
120
+ let filtered_brackets = [...closed_brackets].filter(b => `${b.bracket_name}`.toLowerCase().includes(past_search.value.toLowerCase()));
121
+ closed_bracket_ids = [...new Set(filtered_brackets.map(b => b.bracket_id))].slice(0, 10);
122
+ }
123
+ const [active_search, setActiveSearch] = useState({
124
+ visible: false,
125
+ value: ''
126
+ });
127
+ let active_bracket_ids = [...new Set(active_brackets.map(b => b.bracket_id))];
128
+ if (active_search.visible) {
129
+ let filtered_a_brackets = [...active_brackets].filter(b => `${b.bracket_name}`.toLowerCase().includes(active_search.value.toLowerCase()));
130
+ active_bracket_ids = [...new Set(filtered_a_brackets.map(b => b.bracket_id))].slice(0, 10);
131
+ }
45
132
  const [action_loading, setActionLoading] = useState(undefined); //This will be a bracket id
46
- const [active_toggle, setActiveToggle] = useState('competitions');
47
- const [past_search, setPastSearch] = useState('');
48
- const [show_active_search, setShowActiveSearch] = useState(false);
49
133
  const [expanded_brackets, setExpandedBrackets] = useState([]);
50
134
  const [expanded_leagues, setExpandedLeagues] = useState([]);
51
135
  const [expanded_c_leagues, setExpandedCLeagues] = useState([]);
52
- const [active_search, setActiveSearch] = useState('');
53
- const [show_past_search, setShowPastSearch] = useState(false);
54
- const [show_brackets_search, setShowBracketsSearch] = useState(false);
55
- const [selected_league, setSelectedLeague] = useState(undefined);
56
- const [brackets_search, setBracketsSearch] = useState('');
57
- console.log(brackets_search);
58
- const [competition_search, setCompetitionSearch] = useState('');
59
- console.log(competition_search);
60
- const [show_competition_search, setShowCompetitionSearch] = useState(false);
61
- let visible_active_brackets = [...active_brackets];
62
- const unique_leages = [...new Set(visible_active_brackets.map(b => b.league_id))];
63
- if (selected_league) {
64
- visible_active_brackets = visible_active_brackets.filter(b => b.league_id == selected_league);
65
- }
66
- //const inprogress_bracket_ids = [ ...new Set(visible_active_brackets.map(b => b.bracket_id)) ];
136
+ useEffect(() => {
137
+ if (!visible) {
138
+ return;
139
+ }
140
+ getData(active_toggle);
141
+ }, [visible, active_toggle]);
142
+ const getData = async toggle => {
143
+ switch (toggle) {
144
+ case 'my_brackets':
145
+ getMyBrackets();
146
+ return;
147
+ case 'tournaments':
148
+ getTournaments();
149
+ return;
150
+ case 'competitions':
151
+ getCompetitions();
152
+ return;
153
+ default:
154
+ return;
155
+ }
156
+ };
157
+ const getCompetitions = async () => {
158
+ setCompetitionsData({
159
+ ...competitions_data,
160
+ competitions_loading: true
161
+ });
162
+ const pub_comps = await BracketComeptitionApi.getActivePublicBrackets();
163
+ const unique_brackets = [...new Set(pub_comps.map(c => c.bracket_id))];
164
+ const comp_brackets = await BracketApi.getBracketsByIds(unique_brackets);
165
+ setCompetitionsData({
166
+ ...competitions_data,
167
+ public_competitions: pub_comps,
168
+ competitions_loaded: true,
169
+ competition_brackets: comp_brackets,
170
+ competitions_loading: false
171
+ });
172
+ getAdminComps(0);
173
+ };
174
+ const getAdminComps = async offset => {
175
+ if (!player) {
176
+ return;
177
+ }
178
+ const admin_comps = await BracketComeptitionApi.getMyAdminCompetitions(offset);
179
+ setAdminData({
180
+ admin_loading: false,
181
+ admin_brackets: [],
182
+ admin_competitions: admin_comps,
183
+ admin_offset: offset
184
+ });
185
+ };
186
+ const getTournaments = async () => {
187
+ setTournamentsData({
188
+ ...tournaments_data,
189
+ tournaments_loading: true
190
+ });
191
+ const tourney_brackets = await BracketApi.getActiveBrackets();
192
+ setTournamentsData({
193
+ ...tournaments_data,
194
+ tournaments_loading: false,
195
+ tournament_brackets: tourney_brackets
196
+ });
197
+ };
198
+ const getMyBrackets = async () => {
199
+ if (!player) {
200
+ return;
201
+ }
202
+ setMyBrackets({
203
+ ...my_brackets_data,
204
+ my_brackets_loading: true
205
+ });
206
+ const my_response = await BracketComeptitionApi.getMyPlayerBrackets();
207
+ const bracket_ids = [...new Set(my_response.player_brackets.map(pb => pb.bracket_id))];
208
+ let brackets = await BracketApi.getBracketsByIds(bracket_ids);
209
+ let champ_team_ids = my_response.player_brackets.filter(pb => pb.champion_id_type == 'team').map(b => b.champion_id ?? '');
210
+ const champ_teams = await BracketApi.getTeamsByIds(champ_team_ids);
211
+ let champ_athlete_ids = my_response.player_brackets.filter(pb => pb.champion_id_type == 'athlete').map(b => b.champion_id ?? '');
212
+ const champ_athletes = await BracketApi.getAthletesByIds(champ_athlete_ids);
213
+ //Filter to active and closed
214
+ setMyBrackets({
215
+ ...my_brackets_data,
216
+ my_brackets_loading: false,
217
+ my_brackets_loaded: true,
218
+ champion_athletes: champ_athletes,
219
+ champion_teams: champ_teams,
220
+ my_brackets: brackets,
221
+ player_brackets: my_response.player_brackets,
222
+ competition_player_brackets: my_response.competition_player_brackets,
223
+ my_competitions: my_response.bracket_competitions
224
+ });
225
+ };
226
+ const handleView = async (bracket_id, player_bracket_id, bracket_competition) => {
227
+ if (bracket_id && player_bracket_id && bracket_competition) {
228
+ return onView(bracket_id, player_bracket_id, bracket_competition);
229
+ }
230
+ //Ok! Now - what if we do not have a player_bracket
231
+ let init_pb_id = player_bracket_id;
232
+ if (!init_pb_id) {
233
+ //Lets try and find one!
234
+ init_pb_id = player_brackets.find(pb => pb.bracket_id == bracket_id && pb.status != 'deleted')?.player_bracket_id;
235
+ if (!init_pb_id && !my_brackets_loaded) {
236
+ //Lets try and get the plyaers brackets and see!
237
+ const my_pbs = await BracketComeptitionApi.getMyPlayerBrackets();
238
+ init_pb_id = my_pbs.player_brackets.find(pb => pb.bracket_id == bracket_id && pb.status != 'deleted')?.player_bracket_id;
239
+ }
240
+ }
67
241
 
68
- const filterPlayerBrackets = (bs, pbs, status, search) => {
69
- let init_pbs = pbs.filter(pb => pb.status == status);
70
- if (!search || search == '') {
71
- return init_pbs;
242
+ //Ok! Now - what if we do not have a bracket competition!
243
+ let init_bc = bracket_competition;
244
+ if (!init_bc) {
245
+ //First check if my competitions has any!
246
+ init_bc = my_competitions.find(c => c.bracket_id == bracket_id);
247
+ if (!init_bc) {
248
+ init_bc = public_competitions.find(pc => pc.bracket_id == bracket_id);
249
+ }
250
+ if (!init_bc) {
251
+ //Lets try and get one from the server
252
+ const comps_bc = await BracketComeptitionApi.getBracketCompetitionsByBracketId(bracket_id);
253
+ init_bc = comps_bc.find(bc => bc.bracket_id == bracket_id && !bc.invite_only);
254
+ }
72
255
  }
73
- let brackets = bs.filter(b => `${b.bracket_name.toLowerCase()}`.includes(search.toLowerCase()));
74
- return init_pbs.filter(pb => brackets.map(b => b.bracket_id.toString()).includes(pb.bracket_id.toString()));
256
+ return onView(bracket_id, init_pb_id, init_bc);
75
257
  };
76
- let visible_player_brackets = useMemo(() => {
77
- return filterPlayerBrackets(brackets, player_brackets, 'active', active_search);
78
- }, [brackets.length, player_brackets.length, active_search]);
79
- const active_bracket_ids = [...new Set(visible_player_brackets.map(pb => pb.bracket_id))];
80
- let past_player_brackets = useMemo(() => {
81
- return filterPlayerBrackets(brackets, player_brackets, 'closed', past_search);
82
- }, [brackets.length, player_brackets.length, past_search]);
83
- const past_bracket_ids = [...new Set(past_player_brackets.map(pb => pb.bracket_id))];
84
- const competition_bracket_ids = [...new Set(public_competitions.map(bc => bc.bracket_id))];
85
- const competition_brackets = brackets.filter(b => competition_bracket_ids.includes(b.bracket_id));
86
- const competition_league_ids = [...new Set(competition_brackets.map(cb => cb.league_id))];
87
258
  const pb_width = calcCardWidth(width, 6);
88
259
  const renderBrackets = data => {
89
- const bracket = brackets.find(b => b.bracket_id == data.item);
260
+ const bracket = my_brackets.find(b => b.bracket_id == data.item);
90
261
  if (!bracket) {
91
262
  return /*#__PURE__*/React.createElement(React.Fragment, null);
92
263
  }
93
264
  const expanded = expanded_brackets.includes(data.item) ? true : false;
94
- let my_player_brackets = player_brackets.filter(pb => pb.bracket_id == data.item);
265
+ let my_player_brackets = player_brackets.filter(pb => pb.bracket_id == data.item && pb.status != 'deleted');
95
266
  let additional = my_player_brackets.length - 1;
96
267
  if (!expanded) {
97
268
  my_player_brackets = my_player_brackets.slice(0, 1);
@@ -99,6 +270,7 @@ const RoomHome = ({
99
270
  const league = leagues.find(l => l.league_id == bracket.league_id);
100
271
  const act_loading = action_loading == data.item ? true : false;
101
272
  return /*#__PURE__*/React.createElement(View, {
273
+ key: `${data.item}_${data.index}_bracket`,
102
274
  float: true,
103
275
  style: {
104
276
  margin: 5,
@@ -109,7 +281,9 @@ const RoomHome = ({
109
281
  style: {
110
282
  flexDirection: 'row',
111
283
  alignItems: 'center',
112
- padding: 10
284
+ padding: 10,
285
+ borderTopRightRadius: 8,
286
+ borderTopLeftRadius: 8
113
287
  }
114
288
  }, league ? /*#__PURE__*/React.createElement(Image, {
115
289
  style: {
@@ -174,11 +348,14 @@ const RoomHome = ({
174
348
  completion_status: 'inprogress',
175
349
  status: 'active'
176
350
  });
177
- onUpdatePlayerBracket(new_pb);
178
351
  setActionLoading(undefined);
179
352
  if (!expanded) {
180
353
  setExpandedBrackets(expanded_brackets.concat(data.item));
181
354
  }
355
+ setMyBrackets({
356
+ ...my_brackets_data,
357
+ player_brackets: player_brackets.filter(pb => pb.player_bracket_id != new_pb.player_bracket_id).concat(new_pb)
358
+ });
182
359
  }
183
360
  }) : /*#__PURE__*/React.createElement(React.Fragment, null)), /*#__PURE__*/React.createElement(View, {
184
361
  style: {
@@ -215,7 +392,7 @@ const RoomHome = ({
215
392
  borderBottomWidth: 1,
216
393
  borderColor: Colors.borders.light
217
394
  },
218
- onPress: () => onView(data.item.bracket_id, player_brackets.find(pb => pb.bracket_id == data.item.bracket_id)?.player_bracket_id, data.item.bracket_competition_id)
395
+ onPress: () => handleView(data.item.bracket_id, undefined, data.item)
219
396
  }, /*#__PURE__*/React.createElement(View, {
220
397
  transparent: true
221
398
  }, /*#__PURE__*/React.createElement(Image, {
@@ -293,7 +470,9 @@ const RoomHome = ({
293
470
  })), /*#__PURE__*/React.createElement(View, {
294
471
  type: "footer",
295
472
  style: {
296
- padding: 8
473
+ padding: 8,
474
+ borderBottomLeftRadius: 8,
475
+ borderBottomRightRadius: 8
297
476
  }
298
477
  }, /*#__PURE__*/React.createElement(Button, {
299
478
  type: "action",
@@ -304,16 +483,24 @@ const RoomHome = ({
304
483
  onPress: () => onManageCompetition(data.item.bracket_competition_id)
305
484
  })));
306
485
  };
307
- const renderPlayerBrackets = useCallback(data => {
486
+ const handleSearchPrivate = async code => {
487
+ const bc = await BracketComeptitionApi.getBracketcompetitionByCode(code);
488
+ if (!bc) {
489
+ return alert('Unable to find private competition by that code');
490
+ }
491
+ let pb_response = await BracketComeptitionApi.getMyPlayerBrackets(bc.bracket_id);
492
+ return handleView(bc.bracket_id, pb_response.player_brackets[0]?.player_bracket_id, bc);
493
+ };
494
+ const renderPlayerBrackets = data => {
308
495
  const cpbs = competition_player_brackets.filter(cpb => cpb.status != 'deleted' && cpb.player_bracket_id == data.item.player_bracket_id);
309
- const comps = bracket_competitions.filter(bc => cpbs.map(cpb => cpb.bracket_competition_id.toString()).includes(bc.bracket_competition_id.toString()));
310
- const bracket = brackets.find(b => b.bracket_id == data.item.bracket_id);
496
+ const comps = my_competitions.filter(bc => cpbs.map(cpb => cpb.bracket_competition_id.toString()).includes(bc.bracket_competition_id.toString()));
497
+ const bracket = my_brackets.find(b => b.bracket_id == data.item.bracket_id);
311
498
  if (!bracket) {
312
499
  return /*#__PURE__*/React.createElement(React.Fragment, null);
313
500
  }
314
501
  const league = leagues.find(l => l.league_id == bracket.league_id);
315
- const champion_team = teams.find(t => data.item.champion_id_type == 'team' && t.team_id == data.item.champion_id);
316
- const champion_athlete = athletes.find(t => data.item.champion_id_type == 'athlete' && t.athlete_id == data.item.champion_id);
502
+ const champion_team = champion_teams.find(t => data.item.champion_id_type == 'team' && t.team_id == data.item.champion_id);
503
+ const champion_athlete = champion_athletes.find(t => data.item.champion_id_type == 'athlete' && t.athlete_id == data.item.champion_id);
317
504
  return /*#__PURE__*/React.createElement(View, {
318
505
  style: {
319
506
  borderBottomWidth: 1,
@@ -328,10 +515,17 @@ const RoomHome = ({
328
515
  competition_player_brackets: cpbs,
329
516
  bracket: bracket,
330
517
  bracket_competitions: comps,
331
- onView: onView,
332
- onEdit: onEditPlayerBracket
518
+ onView: (bracket_id, player_bracket_id) => handleView(bracket_id, player_bracket_id),
519
+ onEdit: () => setEditingPlayerBracket(data.item),
520
+ onShowCompetitions: () => setShowComps({
521
+ player_bracket: data.item,
522
+ entered_competitions: comps,
523
+ entered_brackets: cpbs,
524
+ champion_team,
525
+ champion_athlete
526
+ })
333
527
  }));
334
- }, [JSON.stringify(player_brackets)]);
528
+ };
335
529
  const renderLeagueFilters = data => {
336
530
  const league = leagues.find(l => l.league_id == data.item);
337
531
  if (!league) {
@@ -347,7 +541,8 @@ const RoomHome = ({
347
541
  paddingRight: 10,
348
542
  paddingLeft: 10,
349
543
  borderRadius: 100,
350
- margin: 5
544
+ margin: 5,
545
+ backgroundColor: selected ? Colors.text.highlight : undefined
351
546
  },
352
547
  onPress: () => selected ? setSelectedLeague(undefined) : setSelectedLeague(data.item)
353
548
  }, /*#__PURE__*/React.createElement(Image, {
@@ -374,7 +569,7 @@ const RoomHome = ({
374
569
  borderBottomWidth: 1,
375
570
  borderColor: Colors.borders.light
376
571
  },
377
- onPress: () => onView(data.item.bracket_id, player_brackets.find(pb => pb.bracket_id == data.item.bracket_id)?.player_bracket_id, undefined)
572
+ onPress: () => handleView(data.item.bracket_id)
378
573
  }, /*#__PURE__*/React.createElement(Icons.BracketIcon, {
379
574
  size: 18,
380
575
  color: Colors.text.h1
@@ -406,7 +601,7 @@ const RoomHome = ({
406
601
  }
407
602
  const expanded = expanded_c_leagues.includes(data.item) ? true : false;
408
603
  //Find all the brackets for this league
409
- let league_brackets = active_brackets.filter(b => b.league_id == data.item);
604
+ let league_brackets = competition_brackets.filter(b => b.league_id == data.item);
410
605
  let league_competitions = public_competitions.filter(bc => league_brackets.map(lb => lb.bracket_id.toString()).includes(bc.bracket_id.toString()));
411
606
  const num_comps = league_competitions.length;
412
607
  let additional = league_competitions.length - 1;
@@ -494,7 +689,7 @@ const RoomHome = ({
494
689
  return /*#__PURE__*/React.createElement(React.Fragment, null);
495
690
  }
496
691
  const expanded = expanded_leagues.includes(data.item) ? true : false;
497
- let league_brackets = active_brackets.filter(b => b.league_id == data.item);
692
+ let league_brackets = tournament_brackets.filter(b => b.league_id == data.item);
498
693
  let additional = league_brackets.length - 1;
499
694
  if (!expanded) {
500
695
  league_brackets = league_brackets.slice(0, 1);
@@ -579,19 +774,11 @@ const RoomHome = ({
579
774
  case 'toggle':
580
775
  return /*#__PURE__*/React.createElement(View, {
581
776
  style: {
582
- margin: 5
777
+ margin: 10,
778
+ marginTop: 18
583
779
  }
584
780
  }, /*#__PURE__*/React.createElement(Toggle, {
585
- options: [{
586
- key: 'my_brackets',
587
- label: 'My Brackets'
588
- }, {
589
- key: 'tournaments',
590
- label: 'Tournaments'
591
- }, {
592
- key: 'competitions',
593
- label: 'Competitions'
594
- }],
781
+ options: BracketCompetitionHelpers.getToggleOptions(),
595
782
  selected_option: active_toggle,
596
783
  onSelectOption: key => setActiveToggle(key)
597
784
  }));
@@ -599,14 +786,32 @@ const RoomHome = ({
599
786
  if (active_toggle != 'my_brackets') {
600
787
  return /*#__PURE__*/React.createElement(React.Fragment, null);
601
788
  }
789
+ if (!player) {
790
+ return /*#__PURE__*/React.createElement(View, {
791
+ style: {
792
+ padding: 40,
793
+ justifyContent: 'center',
794
+ alignItems: 'center'
795
+ }
796
+ }, /*#__PURE__*/React.createElement(Button, {
797
+ float: true,
798
+ type: "success",
799
+ title: "GET STARTED",
800
+ onPress: () => onRequestAuthenticate()
801
+ }));
802
+ }
602
803
  return /*#__PURE__*/React.createElement(View, {
603
- nativeID: "my_competitions"
804
+ nativeID: "my_competitions",
805
+ style: {
806
+ marginTop: 18
807
+ }
604
808
  }, /*#__PURE__*/React.createElement(View, {
605
- type: "header",
606
809
  style: {
607
- padding: 10,
810
+ padding: 18,
608
811
  flexDirection: 'row',
609
- alignItems: 'center'
812
+ alignItems: 'center',
813
+ borderBottomWidth: 1,
814
+ borderColor: Colors.borders.light
610
815
  }
611
816
  }, /*#__PURE__*/React.createElement(View, {
612
817
  transparent: true,
@@ -629,22 +834,28 @@ const RoomHome = ({
629
834
  justifyContent: 'center',
630
835
  alignItems: 'center'
631
836
  },
632
- onPress: () => setShowActiveSearch(!show_active_search)
633
- }, show_active_search ? /*#__PURE__*/React.createElement(Icons.CloseIcon, {
837
+ onPress: () => setActiveSearch({
838
+ visible: !active_search.visible,
839
+ value: ''
840
+ })
841
+ }, active_search.visible ? /*#__PURE__*/React.createElement(Icons.CloseIcon, {
634
842
  size: 14,
635
843
  color: Colors.text.error
636
844
  }) : /*#__PURE__*/React.createElement(Icons.SearchIcon, {
637
845
  size: 14,
638
846
  color: Colors.text.action
639
- }))), show_active_search ? /*#__PURE__*/React.createElement(SearchBox, {
640
- onChange: text => setActiveSearch(text),
847
+ }))), active_search.visible ? /*#__PURE__*/React.createElement(SearchBox, {
848
+ onChange: text => setActiveSearch({
849
+ ...active_search,
850
+ value: text
851
+ }),
641
852
  hide_search_button: true,
642
853
  placeholder: "Search Active Brackets",
643
854
  onFocusPosition: onFocusPosition
644
855
  }) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(View, {
645
- type: "body",
856
+ type: "header",
646
857
  style: {
647
- marginBottom: 10,
858
+ padding: 10,
648
859
  flexDirection: 'row',
649
860
  flexWrap: 'wrap',
650
861
  justifyContent: 'center'
@@ -687,25 +898,31 @@ const RoomHome = ({
687
898
  justifyContent: 'center',
688
899
  alignItems: 'center'
689
900
  },
690
- onPress: () => setShowBracketsSearch(!show_brackets_search)
691
- }, show_brackets_search ? /*#__PURE__*/React.createElement(Icons.CloseIcon, {
901
+ onPress: () => setTourneySearch({
902
+ visible: !tourney_search.visible,
903
+ value: ''
904
+ })
905
+ }, tourney_search.visible ? /*#__PURE__*/React.createElement(Icons.CloseIcon, {
692
906
  size: 14,
693
907
  color: Colors.text.error
694
908
  }) : /*#__PURE__*/React.createElement(Icons.SearchIcon, {
695
909
  size: 14,
696
910
  color: Colors.text.action
697
- }))), show_brackets_search ? /*#__PURE__*/React.createElement(View, {
911
+ }))), tourney_search.visible ? /*#__PURE__*/React.createElement(View, {
698
912
  style: {
699
913
  padding: 5
700
914
  }
701
915
  }, /*#__PURE__*/React.createElement(FlatList, {
702
916
  key: "unique_leagues",
703
917
  keyExtractor: item => item,
704
- data: unique_leages,
918
+ data: unique_tournament_leagues,
705
919
  renderItem: renderLeagueFilters,
706
920
  horizontal: true
707
- })) : /*#__PURE__*/React.createElement(React.Fragment, null), show_brackets_search ? /*#__PURE__*/React.createElement(SearchBox, {
708
- onChange: text => setBracketsSearch(text),
921
+ })) : /*#__PURE__*/React.createElement(React.Fragment, null), tourney_search.visible ? /*#__PURE__*/React.createElement(SearchBox, {
922
+ onChange: text => setTourneySearch({
923
+ ...tourney_search,
924
+ value: text
925
+ }),
709
926
  hide_search_button: true,
710
927
  placeholder: "Search Active Tournaments",
711
928
  onFocusPosition: onFocusPosition
@@ -718,7 +935,7 @@ const RoomHome = ({
718
935
  flexWrap: 'wrap',
719
936
  justifyContent: 'center'
720
937
  }
721
- }, unique_leages.map((id, index) => {
938
+ }, unique_tournament_leagues.map((id, index) => {
722
939
  return renderLeagues({
723
940
  item: id,
724
941
  index
@@ -728,14 +945,21 @@ const RoomHome = ({
728
945
  if (active_toggle != 'my_brackets') {
729
946
  return /*#__PURE__*/React.createElement(React.Fragment, null);
730
947
  }
948
+ if (!player) {
949
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
950
+ }
731
951
  return /*#__PURE__*/React.createElement(View, {
732
- nativeID: "past_brackets"
952
+ nativeID: "past_brackets",
953
+ style: {
954
+ marginTop: 18
955
+ }
733
956
  }, /*#__PURE__*/React.createElement(View, {
734
- type: "header",
735
957
  style: {
736
- padding: 10,
958
+ padding: 18,
737
959
  flexDirection: 'row',
738
- alignItems: 'center'
960
+ alignItems: 'center',
961
+ borderBottomWidth: 1,
962
+ borderColor: Colors.borders.light
739
963
  }
740
964
  }, /*#__PURE__*/React.createElement(View, {
741
965
  transparent: true,
@@ -745,7 +969,7 @@ const RoomHome = ({
745
969
  }
746
970
  }, /*#__PURE__*/React.createElement(Text, {
747
971
  theme: "h1"
748
- }, "MY PAST BRACKETS"), /*#__PURE__*/React.createElement(Text, {
972
+ }, "My Past Brackets"), /*#__PURE__*/React.createElement(Text, {
749
973
  style: {
750
974
  marginTop: 4
751
975
  }
@@ -758,27 +982,33 @@ const RoomHome = ({
758
982
  justifyContent: 'center',
759
983
  alignItems: 'center'
760
984
  },
761
- onPress: () => setShowPastSearch(!show_past_search)
762
- }, show_past_search ? /*#__PURE__*/React.createElement(Icons.CloseIcon, {
985
+ onPress: () => setPastSearch({
986
+ visible: !past_search.visible,
987
+ value: ''
988
+ })
989
+ }, past_search.visible ? /*#__PURE__*/React.createElement(Icons.CloseIcon, {
763
990
  size: 14,
764
991
  color: Colors.text.error
765
992
  }) : /*#__PURE__*/React.createElement(Icons.SearchIcon, {
766
993
  size: 14,
767
994
  color: Colors.text.action
768
- }))), show_past_search ? /*#__PURE__*/React.createElement(SearchBox, {
769
- onChange: text => setPastSearch(text),
995
+ }))), past_search.visible ? /*#__PURE__*/React.createElement(SearchBox, {
996
+ onChange: text => setPastSearch({
997
+ ...past_search,
998
+ value: text
999
+ }),
770
1000
  hide_search_button: true,
771
1001
  placeholder: "Search Past Brackets",
772
1002
  onFocusPosition: onFocusPosition
773
1003
  }) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(View, {
774
- type: "body",
1004
+ type: "header",
775
1005
  style: {
776
- marginBottom: 10,
1006
+ padding: 10,
777
1007
  flexDirection: 'row',
778
1008
  flexWrap: 'wrap',
779
1009
  justifyContent: 'center'
780
1010
  }
781
- }, past_bracket_ids.map((id, index) => {
1011
+ }, closed_bracket_ids.map((id, index) => {
782
1012
  return renderBrackets({
783
1013
  item: id,
784
1014
  index
@@ -788,6 +1018,9 @@ const RoomHome = ({
788
1018
  if (active_toggle != 'competitions') {
789
1019
  return /*#__PURE__*/React.createElement(React.Fragment, null);
790
1020
  }
1021
+ if (!player) {
1022
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
1023
+ }
791
1024
  return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(View, {
792
1025
  type: "header",
793
1026
  style: {
@@ -814,24 +1047,72 @@ const RoomHome = ({
814
1047
  padding: 0,
815
1048
  marginRight: 10
816
1049
  },
817
- onPress: () => onMoreAdmin(admin_offset - 1)
1050
+ onPress: () => getAdminComps(admin_offset - 1)
818
1051
  }) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(Button, {
819
1052
  title: "MORE",
820
1053
  type: "text",
821
1054
  style: {
822
1055
  padding: 0
823
1056
  },
824
- onPress: () => onMoreAdmin(admin_offset + 1)
1057
+ onPress: () => getAdminComps(admin_offset + 1)
825
1058
  })), /*#__PURE__*/React.createElement(View, {
826
1059
  style: {
827
1060
  padding: 10
828
1061
  }
829
- }, /*#__PURE__*/React.createElement(FlatList, {
1062
+ }, /*#__PURE__*/React.createElement(View, {
1063
+ style: {
1064
+ flexDirection: 'row'
1065
+ }
1066
+ }, onCreateNewCompetition ? /*#__PURE__*/React.createElement(View, {
1067
+ float: true,
1068
+ style: {
1069
+ width: 100,
1070
+ margin: 5,
1071
+ borderWidth: 1,
1072
+ borderColor: Colors.text.success
1073
+ }
1074
+ }, /*#__PURE__*/React.createElement(View, {
1075
+ type: "header",
1076
+ style: {
1077
+ borderTopRightRadius: 8,
1078
+ borderTopLeftRadius: 8,
1079
+ padding: 5
1080
+ }
1081
+ }, /*#__PURE__*/React.createElement(Text, {
1082
+ style: {
1083
+ padding: 5
1084
+ },
1085
+ theme: "description",
1086
+ textAlign: "center"
1087
+ }, "NEW")), /*#__PURE__*/React.createElement(View, {
1088
+ style: {
1089
+ flex: 1,
1090
+ justifyContent: 'center',
1091
+ alignItems: 'center'
1092
+ }
1093
+ }, /*#__PURE__*/React.createElement(Icons.BracketIcon, {
1094
+ size: 40,
1095
+ color: Colors.text.h1
1096
+ })), /*#__PURE__*/React.createElement(View, {
1097
+ type: "footer",
1098
+ style: {
1099
+ padding: 8,
1100
+ borderBottomLeftRadius: 8,
1101
+ borderBottomRightRadius: 8
1102
+ }
1103
+ }, /*#__PURE__*/React.createElement(Button, {
1104
+ title: "CREATE",
1105
+ type: "success",
1106
+ style: {
1107
+ padding: 5
1108
+ },
1109
+ onPress: () => onCreateNewCompetition()
1110
+ }))) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(FlatList, {
830
1111
  data: admin_competitions,
831
1112
  renderItem: renderAdminCompetitions,
832
1113
  keyExtractor: item => `admin_${item.bracket_competition_id.toString()}`,
833
1114
  horizontal: true
834
- })));
1115
+ }))));
835
1116
  case 'competitions':
836
1117
  if (active_toggle != 'competitions') {
837
1118
  return /*#__PURE__*/React.createElement(React.Fragment, null);
@@ -866,8 +1147,11 @@ const RoomHome = ({
866
1147
  justifyContent: 'center',
867
1148
  alignItems: 'center'
868
1149
  },
869
- onPress: () => setShowCompetitionSearch(!show_competition_search)
870
- }, show_competition_search ? /*#__PURE__*/React.createElement(Icons.CloseIcon, {
1150
+ onPress: () => setCompSearch({
1151
+ visible: !comp_search.visible,
1152
+ value: ''
1153
+ })
1154
+ }, comp_search.visible ? /*#__PURE__*/React.createElement(Icons.CloseIcon, {
871
1155
  size: 12,
872
1156
  color: Colors.text.error
873
1157
  }) : /*#__PURE__*/React.createElement(Icons.SearchIcon, {
@@ -891,9 +1175,12 @@ const RoomHome = ({
891
1175
  }, "+"), /*#__PURE__*/React.createElement(Icons.TrophyIcon, {
892
1176
  color: Colors.text.white,
893
1177
  size: 14
894
- })) : /*#__PURE__*/React.createElement(React.Fragment, null)), show_competition_search ? /*#__PURE__*/React.createElement(SearchBox, {
895
- onChange: text => setCompetitionSearch(text),
896
- onSearch: text => console.log(text),
1178
+ })) : /*#__PURE__*/React.createElement(React.Fragment, null)), comp_search.visible ? /*#__PURE__*/React.createElement(SearchBox, {
1179
+ onChange: text => setCompSearch({
1180
+ ...comp_search,
1181
+ value: text
1182
+ }),
1183
+ onSearch: text => handleSearchPrivate(text),
897
1184
  placeholder: "Search or Enter Private Code",
898
1185
  onFocusPosition: onFocusPosition
899
1186
  }) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(View, {
@@ -905,7 +1192,7 @@ const RoomHome = ({
905
1192
  flexWrap: 'wrap',
906
1193
  justifyContent: 'center'
907
1194
  }
908
- }, competition_league_ids.map((id, index) => {
1195
+ }, unique_competition_leagues.map((id, index) => {
909
1196
  return renderLeaguesForCompetitions({
910
1197
  item: id,
911
1198
  index
@@ -925,8 +1212,40 @@ const RoomHome = ({
925
1212
  }, /*#__PURE__*/React.createElement(FlatList, {
926
1213
  data: sections,
927
1214
  key: "room_sections",
1215
+ refreshing: my_brackets_loading,
928
1216
  keyExtractor: item => item,
929
1217
  renderItem: renderSections
1218
+ }), /*#__PURE__*/React.createElement(EditPlayerBracket, {
1219
+ player_bracket: editing_player_bracket,
1220
+ view_mode: view_mode,
1221
+ insets: insets,
1222
+ onClose: () => setEditingPlayerBracket(undefined),
1223
+ onFocusPosition: onFocusPosition,
1224
+ onUpdatePlayerBracket: new_pb => {
1225
+ setEditingPlayerBracket(undefined);
1226
+ setMyBrackets({
1227
+ ...my_brackets_data,
1228
+ player_brackets: player_brackets.filter(pb => pb.player_bracket_id != new_pb.player_bracket_id).concat(new_pb)
1229
+ });
1230
+ }
1231
+ }), /*#__PURE__*/React.createElement(EnteredCompetitionsModal, {
1232
+ player_bracket: show_comps.player_bracket,
1233
+ onSelectCompetition: bc => {
1234
+ if (!show_comps.player_bracket) {
1235
+ return;
1236
+ }
1237
+ onView(show_comps.player_bracket.bracket_id, show_comps.player_bracket.player_bracket_id, bc);
1238
+ },
1239
+ insets: insets,
1240
+ champion_team: show_comps.champion_team,
1241
+ champion_athlete: show_comps.champion_athlete,
1242
+ onClose: () => setShowComps({
1243
+ entered_brackets: [],
1244
+ entered_competitions: []
1245
+ }),
1246
+ entered_brackets: show_comps.entered_brackets,
1247
+ entered_competitions: show_comps.entered_competitions,
1248
+ view_mode: view_mode
930
1249
  }));
931
1250
  };
932
1251
  export default RoomHome;