be-components 3.5.4 → 3.5.5

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 (99) hide show
  1. package/lib/commonjs/Bracket/components/BracketCompetitionCard.js +167 -169
  2. package/lib/commonjs/Bracket/components/BracketCompetitionCard.js.map +1 -1
  3. package/lib/commonjs/Bracket/components/BracketCompetitionSelector.js +61 -49
  4. package/lib/commonjs/Bracket/components/BracketCompetitionSelector.js.map +1 -1
  5. package/lib/commonjs/Bracket/components/BracketPlay/BracketRound.js +9 -11
  6. package/lib/commonjs/Bracket/components/BracketPlay/BracketRound.js.map +1 -1
  7. package/lib/commonjs/Bracket/components/BracketPlay/RoundEvent.js +87 -90
  8. package/lib/commonjs/Bracket/components/BracketPlay/RoundEvent.js.map +1 -1
  9. package/lib/commonjs/Bracket/components/BracketPlay/index.js +45 -53
  10. package/lib/commonjs/Bracket/components/BracketPlay/index.js.map +1 -1
  11. package/lib/commonjs/Bracket/components/BracketSelector.js +35 -29
  12. package/lib/commonjs/Bracket/components/BracketSelector.js.map +1 -1
  13. package/lib/commonjs/Bracket/components/CompetitionLeaderboard.js +53 -56
  14. package/lib/commonjs/Bracket/components/CompetitionLeaderboard.js.map +1 -1
  15. package/lib/commonjs/Bracket/components/PlayerBracketManager.js +110 -133
  16. package/lib/commonjs/Bracket/components/PlayerBracketManager.js.map +1 -1
  17. package/lib/commonjs/Bracket/components/PlayerBrackets.js +41 -31
  18. package/lib/commonjs/Bracket/components/PlayerBrackets.js.map +1 -1
  19. package/lib/commonjs/Bracket/components/RoomMenu.js +21 -19
  20. package/lib/commonjs/Bracket/components/RoomMenu.js.map +1 -1
  21. package/lib/commonjs/Bracket/index.js +3 -5
  22. package/lib/commonjs/Bracket/index.js.map +1 -1
  23. package/lib/module/Bracket/components/BracketCompetitionCard.js +110 -112
  24. package/lib/module/Bracket/components/BracketCompetitionCard.js.map +1 -1
  25. package/lib/module/Bracket/components/BracketCompetitionSelector.js +41 -29
  26. package/lib/module/Bracket/components/BracketCompetitionSelector.js.map +1 -1
  27. package/lib/module/Bracket/components/BracketPlay/BracketRound.js +3 -5
  28. package/lib/module/Bracket/components/BracketPlay/BracketRound.js.map +1 -1
  29. package/lib/module/Bracket/components/BracketPlay/RoundEvent.js +53 -56
  30. package/lib/module/Bracket/components/BracketPlay/RoundEvent.js.map +1 -1
  31. package/lib/module/Bracket/components/BracketPlay/index.js +31 -39
  32. package/lib/module/Bracket/components/BracketPlay/index.js.map +1 -1
  33. package/lib/module/Bracket/components/BracketSelector.js +26 -20
  34. package/lib/module/Bracket/components/BracketSelector.js.map +1 -1
  35. package/lib/module/Bracket/components/CompetitionLeaderboard.js +34 -36
  36. package/lib/module/Bracket/components/CompetitionLeaderboard.js.map +1 -1
  37. package/lib/module/Bracket/components/PlayerBracketManager.js +56 -78
  38. package/lib/module/Bracket/components/PlayerBracketManager.js.map +1 -1
  39. package/lib/module/Bracket/components/PlayerBrackets.js +29 -19
  40. package/lib/module/Bracket/components/PlayerBrackets.js.map +1 -1
  41. package/lib/module/Bracket/components/RoomMenu.js +15 -13
  42. package/lib/module/Bracket/components/RoomMenu.js.map +1 -1
  43. package/lib/module/Bracket/index.js +2 -4
  44. package/lib/module/Bracket/index.js.map +1 -1
  45. package/lib/typescript/lib/commonjs/Bracket/components/BracketCompetitionCard.d.ts.map +1 -1
  46. package/lib/typescript/lib/commonjs/Bracket/components/BracketCompetitionSelector.d.ts.map +1 -1
  47. package/lib/typescript/lib/commonjs/Bracket/components/BracketPlay/BracketRound.d.ts.map +1 -1
  48. package/lib/typescript/lib/commonjs/Bracket/components/BracketPlay/RoundEvent.d.ts.map +1 -1
  49. package/lib/typescript/lib/commonjs/Bracket/components/BracketPlay/index.d.ts.map +1 -1
  50. package/lib/typescript/lib/commonjs/Bracket/components/BracketSelector.d.ts.map +1 -1
  51. package/lib/typescript/lib/commonjs/Bracket/components/CompetitionLeaderboard.d.ts.map +1 -1
  52. package/lib/typescript/lib/commonjs/Bracket/components/PlayerBracketManager.d.ts.map +1 -1
  53. package/lib/typescript/lib/commonjs/Bracket/components/PlayerBrackets.d.ts.map +1 -1
  54. package/lib/typescript/lib/commonjs/Bracket/components/RoomMenu.d.ts.map +1 -1
  55. package/lib/typescript/lib/commonjs/Bracket/index.d.ts.map +1 -1
  56. package/lib/typescript/lib/module/Bracket/components/BracketCompetitionCard.d.ts +1 -2
  57. package/lib/typescript/lib/module/Bracket/components/BracketCompetitionCard.d.ts.map +1 -1
  58. package/lib/typescript/lib/module/Bracket/components/BracketCompetitionSelector.d.ts +1 -2
  59. package/lib/typescript/lib/module/Bracket/components/BracketCompetitionSelector.d.ts.map +1 -1
  60. package/lib/typescript/lib/module/Bracket/components/BracketPlay/BracketRound.d.ts +1 -2
  61. package/lib/typescript/lib/module/Bracket/components/BracketPlay/BracketRound.d.ts.map +1 -1
  62. package/lib/typescript/lib/module/Bracket/components/BracketPlay/RoundEvent.d.ts +1 -2
  63. package/lib/typescript/lib/module/Bracket/components/BracketPlay/RoundEvent.d.ts.map +1 -1
  64. package/lib/typescript/lib/module/Bracket/components/BracketPlay/index.d.ts +1 -2
  65. package/lib/typescript/lib/module/Bracket/components/BracketPlay/index.d.ts.map +1 -1
  66. package/lib/typescript/lib/module/Bracket/components/BracketSelector.d.ts +1 -2
  67. package/lib/typescript/lib/module/Bracket/components/BracketSelector.d.ts.map +1 -1
  68. package/lib/typescript/lib/module/Bracket/components/CompetitionLeaderboard.d.ts +1 -2
  69. package/lib/typescript/lib/module/Bracket/components/CompetitionLeaderboard.d.ts.map +1 -1
  70. package/lib/typescript/lib/module/Bracket/components/PlayerBracketManager.d.ts +1 -2
  71. package/lib/typescript/lib/module/Bracket/components/PlayerBracketManager.d.ts.map +1 -1
  72. package/lib/typescript/lib/module/Bracket/components/PlayerBrackets.d.ts +1 -2
  73. package/lib/typescript/lib/module/Bracket/components/PlayerBrackets.d.ts.map +1 -1
  74. package/lib/typescript/lib/module/Bracket/components/RoomMenu.d.ts +1 -2
  75. package/lib/typescript/lib/module/Bracket/components/RoomMenu.d.ts.map +1 -1
  76. package/lib/typescript/lib/module/Bracket/index.d.ts +1 -2
  77. package/lib/typescript/lib/module/Bracket/index.d.ts.map +1 -1
  78. package/lib/typescript/src/Bracket/components/BracketCompetitionCard.d.ts.map +1 -1
  79. package/lib/typescript/src/Bracket/components/BracketCompetitionSelector.d.ts.map +1 -1
  80. package/lib/typescript/src/Bracket/components/BracketPlay/BracketRound.d.ts.map +1 -1
  81. package/lib/typescript/src/Bracket/components/BracketPlay/RoundEvent.d.ts.map +1 -1
  82. package/lib/typescript/src/Bracket/components/BracketSelector.d.ts.map +1 -1
  83. package/lib/typescript/src/Bracket/components/CompetitionLeaderboard.d.ts.map +1 -1
  84. package/lib/typescript/src/Bracket/components/PlayerBracketManager.d.ts.map +1 -1
  85. package/lib/typescript/src/Bracket/components/PlayerBrackets.d.ts.map +1 -1
  86. package/lib/typescript/src/Bracket/components/RoomMenu.d.ts.map +1 -1
  87. package/lib/typescript/src/Bracket/index.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. package/src/Bracket/components/BracketCompetitionCard.tsx +85 -98
  90. package/src/Bracket/components/BracketCompetitionSelector.tsx +37 -36
  91. package/src/Bracket/components/BracketPlay/BracketRound.tsx +3 -6
  92. package/src/Bracket/components/BracketPlay/RoundEvent.tsx +39 -39
  93. package/src/Bracket/components/BracketPlay/index.tsx +28 -28
  94. package/src/Bracket/components/BracketSelector.tsx +21 -21
  95. package/src/Bracket/components/CompetitionLeaderboard.tsx +35 -36
  96. package/src/Bracket/components/PlayerBracketManager.tsx +55 -59
  97. package/src/Bracket/components/PlayerBrackets.tsx +26 -25
  98. package/src/Bracket/components/RoomMenu.tsx +16 -15
  99. package/src/Bracket/index.tsx +2 -3
@@ -1,10 +1,11 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import { FlatList, TouchableOpacity, View, Image, ScrollView } from 'react-native';
2
+ import { FlatList, Image, ScrollView } from 'react-native';
3
3
  import type { BracketCompetitionProps, BracketProps, LeagueProps } from '../../types';
4
- import { Button, Icons, Text, TextInput } from '../../Components';
4
+ import { Icons } from '../../Components';
5
5
  import { BracketComeptitionApi } from '../api';
6
- import Colors from '../../constants/colors';
7
6
  import moment from 'moment-mini';
7
+ import { useColors } from '../../constants/useColors';
8
+ import { Button, Text, TextInput, View } from '../../Components/Themed';
8
9
 
9
10
  type BracketCompetitionSelectorProps = {
10
11
  visible:boolean,
@@ -14,6 +15,8 @@ type BracketCompetitionSelectorProps = {
14
15
  onCompetitionSelect:(bracket_competition:BracketCompetitionProps) => void
15
16
  }
16
17
  const BracketCompetitionSelector = ({ visible, leagues, brackets, onClose, onCompetitionSelect }:BracketCompetitionSelectorProps) => {
18
+ const Colors = useColors();
19
+
17
20
  const [ search_value, setSearchValue ] = useState('');
18
21
  const [ search_error, setSearchError ] = useState<string|undefined>(undefined);
19
22
  const [ card_data, setData ] = useState<{
@@ -53,21 +56,21 @@ const BracketCompetitionSelector = ({ visible, leagues, brackets, onClose, onCom
53
56
 
54
57
  const renderCompetitions = (data: { item:BracketCompetitionProps, index:number } ) => {
55
58
  return (
56
- <TouchableOpacity style={{ padding:10, flexDirection:'row', alignItems:'center', borderBottomWidth:1, borderColor:Colors.shades.shade600 }}
59
+ <Button style={{ padding:10, flexDirection:'row', alignItems:'center', borderBottomWidth:1, borderColor:Colors.borders.light }}
57
60
  onPress={() => onCompetitionSelect(data.item)}>
58
- <View>
61
+ <View transparent>
59
62
  <Image
60
63
  source={{ uri: data.item.image?.url }}
61
64
  style={{ height:40, width:40, borderRadius:4 }}
62
65
  resizeMode='cover'
63
66
  />
64
67
  </View>
65
- <View style={{ flex:1, marginLeft:5 }}>
66
- <Text size={14} color={Colors.brand.midnight} weight='bold'>{data.item.competition_name}</Text>
67
- <Text style={{ marginTop:3 }} size={12} color={Colors.brand.slate} weight='regular'>{data.item.competition_description}</Text>
68
+ <View transparent style={{ flex:1, marginLeft:5 }}>
69
+ <Text size={14} theme='h1' weight='bold'>{data.item.competition_name}</Text>
70
+ <Text style={{ marginTop:3 }} size={12} theme='light' weight='regular'>{data.item.competition_description}</Text>
68
71
  </View>
69
- <Icons.ChevronIcon size={10} color={Colors.brand.midnight} direction='right' />
70
- </TouchableOpacity>
72
+ <Icons.ChevronIcon size={10} color={Colors.text.h1} direction='right' />
73
+ </Button>
71
74
  )
72
75
  }
73
76
 
@@ -80,27 +83,27 @@ const BracketCompetitionSelector = ({ visible, leagues, brackets, onClose, onCom
80
83
  const started = moment().isAfter(moment(bracket.scheduled_datetime)) ? true : false;
81
84
  return (
82
85
  <View>
83
- <TouchableOpacity style={{ flexDirection:'row', alignItems:'center', padding:10, backgroundColor:Colors.shades.shade100 }}
86
+ <Button float style={{ flexDirection:'row', alignItems:'center', padding:10, borderRadius:0 }}
84
87
  onPress={() => selected ? setData({ ...card_data, shown_brackets: shown_brackets.filter(b => b != data.item) }) : setData({ ...card_data, shown_brackets: shown_brackets.concat(data.item) })}>
85
- <View>
88
+ <View transparent>
86
89
  <Image
87
90
  source={{ uri: league?.league_image }}
88
91
  style={{ height:40, width:40, borderRadius:4 }}
89
92
  resizeMode='cover'
90
93
  />
91
94
  </View>
92
- <View style={{ flex:1, marginLeft:5 }}>
93
- <Text size={14} color={Colors.brand.midnight} weight='bold'>{bracket.bracket_name}</Text>
94
- <Text style={{ marginTop:3 }} size={12} color={Colors.brand.slate}>{started? 'In Progress' : `Starts at ${moment(bracket.scheduled_datetime).format('MMM DD YYYY hh:mm a')}`}</Text>
95
+ <View transparent style={{ flex:1, marginLeft:5 }}>
96
+ <Text size={14} theme='h1' weight='bold'>{bracket.bracket_name}</Text>
97
+ <Text style={{ marginTop:3 }} size={12} theme='light'>{started? 'In Progress' : `Starts at ${moment(bracket.scheduled_datetime).format('MMM DD YYYY hh:mm a')}`}</Text>
95
98
  </View>
96
- <View style={{ justifyContent:'center', alignItems:'center', padding:5, paddingRight:15 }}>
97
- <Text size={14} color={Colors.brand.midnight} weight='bold'>{comps.length}</Text>
98
- <Text style={{ marginTop:3 }} size={12} color={Colors.brand.slate} weight='regular'>COMPETITIONS</Text>
99
+ <View transparent style={{ justifyContent:'center', alignItems:'center', padding:5, paddingRight:15 }}>
100
+ <Text size={14} theme='h1' weight='bold'>{comps.length}</Text>
101
+ <Text style={{ marginTop:3 }} size={12} theme='light' weight='regular'>COMPETITIONS</Text>
99
102
  </View>
100
- <Icons.ChevronIcon direction={selected?'up':'down'} size={10} color={Colors.brand.midnight} />
101
- </TouchableOpacity>
103
+ <Icons.ChevronIcon direction={selected?'up':'down'} size={10} color={Colors.text.h1} />
104
+ </Button>
102
105
  {selected ?
103
- <View style={{ padding:10 }}>
106
+ <View transparent style={{ padding:10 }}>
104
107
  <FlatList
105
108
  data={comps}
106
109
  renderItem={renderCompetitions}
@@ -115,21 +118,21 @@ const BracketCompetitionSelector = ({ visible, leagues, brackets, onClose, onCom
115
118
  if(!visible || loading){ return <></> }
116
119
  return (
117
120
  <View style={{ flex:1 }}>
118
- <TouchableOpacity style={{ flexDirection:'row', alignItems:'center', padding:20, borderBottomWidth:1, borderColor:Colors.shades.shade100 }} onPress={() => onClose()}>
119
- <Icons.ChevronIcon direction='left' size={12} color={Colors.brand.midnight} />
121
+ <Button style={{ flexDirection:'row', alignItems:'center', padding:20, borderBottomWidth:1, borderColor:Colors.borders.light }} onPress={() => onClose()}>
122
+ <Icons.ChevronIcon direction='left' size={12} color={Colors.text.h1} />
120
123
  <View style={{ flex:1, marginLeft:20 }}>
121
- <Text size={18} color={Colors.brand.midnight} weight='bold'>Bracket Competitions</Text>
122
- <Text style={{ marginTop:4 }} size={14} color={Colors.brand.slate} weight='regular'>Select a competition below to see more details</Text>
124
+ <Text size={18} theme='h1' weight='bold'>Bracket Competitions</Text>
125
+ <Text style={{ marginTop:4 }} size={14} theme='light' weight='regular'>Select a competition below to see more details</Text>
123
126
  </View>
124
- </TouchableOpacity>
127
+ </Button>
125
128
 
126
129
  <ScrollView style={{ flex:1 }}>
127
- <View style={{ padding:20 }}>
128
- <View style={{ marginBottom:10 }}>
129
- <Text size={14} color={Colors.brand.midnight} weight='semibold'>Have a private code?</Text>
130
- <Text style={{ marginTop:3 }} size={12} color={Colors.brand.slate}>Enter it below and select search. If found, we will send you to the competition.</Text>
130
+ <View transparent style={{ padding:20 }}>
131
+ <View transparent style={{ marginBottom:10 }}>
132
+ <Text size={14} theme='h1' weight='semibold'>Have a private code?</Text>
133
+ <Text style={{ marginTop:3 }} size={12} theme='light'>Enter it below and select search. If found, we will send you to the competition.</Text>
131
134
  </View>
132
- <View style={{ flexDirection:'row', alignItems:'center' }}>
135
+ <View transparent style={{ flexDirection:'row', alignItems:'center' }}>
133
136
  <TextInput
134
137
  style={{ flex:1 }}
135
138
  value={search_value}
@@ -138,21 +141,19 @@ const BracketCompetitionSelector = ({ visible, leagues, brackets, onClose, onCom
138
141
  setSearchValue(text)
139
142
  }}
140
143
  placeholder='Search or Enter Private Code'
141
- placeholderTextColor={Colors.brand.slate}
144
+ placeholderTextColor={Colors.text.descriptionLight}
142
145
  />
143
146
  {search_value ?
144
147
  <Button
145
148
  title='Find Private'
146
149
  style={{ marginLeft:5 }}
147
- padding={15}
148
- title_color={Colors.shades.white}
149
- backgroundColor={Colors.brand.electric}
150
+ type='close'
150
151
  onPress={() => handleFindPrivate()}
151
152
  />
152
153
  :<></>}
153
154
  </View>
154
155
  {search_error ?
155
- <Text style={{ padding:10 }} size={14} color={Colors.utility.warning} weight='regular' textAlign='center'>{search_error}</Text>
156
+ <Text style={{ padding:10 }} size={14} color={Colors.text.warning} weight='regular' textAlign='center'>{search_error}</Text>
156
157
  :<></>}
157
158
  </View>
158
159
  <FlatList
@@ -1,10 +1,8 @@
1
1
  import React from 'react';
2
- import { View } from "react-native"
3
- import Colors from "../../../constants/colors"
4
2
  import type { AthleteProps, BracketRoundProps, PlayerBracketPickProps, RoundEventProps, TeamProps } from '../../../types';
5
3
  import RoundEventCard from './RoundEvent';
6
4
  import { view_styles } from '../../../constants/styles';
7
- import { Text } from '../../../Components';
5
+ import { Text, View } from '../../../Components/Themed';
8
6
 
9
7
  type BracketRoundSectionProps = {
10
8
  player_bracket_id?:string,
@@ -25,7 +23,6 @@ type BracketRoundSectionProps = {
25
23
  }
26
24
 
27
25
  const BracketRoundSection = ({ bracket_round, round_event_loading, teams, round_events, width, hide_titles, player_bracket_picks, active_bracket_group_id, onPick }:BracketRoundSectionProps) => {
28
-
29
26
  if(active_bracket_group_id){
30
27
  round_events = round_events.filter(re => re.bracket_group_id == active_bracket_group_id)
31
28
  }
@@ -71,10 +68,10 @@ const BracketRoundSection = ({ bracket_round, round_event_loading, teams, round_
71
68
  <View style={{ }}>
72
69
  {!hide_titles ?
73
70
  <View style={{ padding:10 }}>
74
- <Text size={14} color={Colors.brand.midnight} weight='bold' textAlign="center">{bracket_round.round_name}</Text>
71
+ <Text size={14} theme='h1' textAlign="center">{bracket_round.round_name}</Text>
75
72
  </View>
76
73
  :<></>}
77
- <View nativeID="round_events" style={{ flex:1 }}>
74
+ <View transparent nativeID="round_events" style={{ flex:1 }}>
78
75
  {round_events.filter(re => re.bracket_round_id == bracket_round.bracket_round_id).sort((a,b) => a.event_number - b.event_number).map((re, i) => {
79
76
  return renderRoundEvents({ item: re, index:i })
80
77
  })}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { Image, TouchableOpacity, View, ActivityIndicator } from "react-native"
3
- import Colors from "../../../constants/colors"
2
+ import { Image, ActivityIndicator } from "react-native"
4
3
  import type { AthleteProps, EventProps, PlayerBracketPickProps, RoundEventProps, TeamProps } from "../../../types"
5
- import { Text } from '../../../Components';
6
4
  import { BracketCompetitionHelpers } from '../../api';
5
+ import { useColors } from '../../../constants/useColors';
6
+ import { Button, Text, View } from '../../../Components/Themed';
7
7
 
8
8
 
9
9
  type RoundEventCardProps = {
@@ -28,7 +28,7 @@ type RoundEventCardProps = {
28
28
  const RoundEventCard = ({ event, loading, away_team, away_placeholder_team, home_placeholder_team, home_team, width, no_pick, round_event, player_bracket_pick, away_placeholder_pick, home_placeholder_pick, onPick }:RoundEventCardProps) => {
29
29
  //AWAY PLACEHOLDER
30
30
  const round_width = width//width > 600 ? undefined : width / 2
31
-
31
+ const Colors = useColors();
32
32
  const handleSelectAway = () => {
33
33
  if(loading){ return }
34
34
  //Okay! Lets get the side_id
@@ -74,11 +74,12 @@ const RoundEventCard = ({ event, loading, away_team, away_placeholder_team, home
74
74
  }
75
75
 
76
76
  const getPickColor = (side:'away'|'home', pbb?:PlayerBracketPickProps) => {
77
- if(!pbb || pbb.pick_side != side){ return Colors.brand.midnight }
77
+ if(!pbb){ return Colors.text.h1 }
78
+ if(pbb.pick_side && pbb.pick_side != side){ return Colors.text.h1 }
78
79
  switch(pbb.result_ind){
79
- case 'win': return Colors.utility.success
80
- case 'lose': return Colors.utility.error
81
- default: return Colors.brand.electric
80
+ case 'win': return Colors.text.success
81
+ case 'lose': return Colors.text.error
82
+ default: return Colors.text.action
82
83
  }
83
84
  }
84
85
 
@@ -99,26 +100,26 @@ const RoundEventCard = ({ event, loading, away_team, away_placeholder_team, home
99
100
  const renderButton = (side:'away'|'home') => {
100
101
  if(no_pick){
101
102
  return (
102
- <View style={{ height:15, width:15, borderRadius:100, backgroundColor:Colors.shades.shade400 }} />
103
+ <View style={{ height:15, width:15, borderRadius:100 }} />
103
104
  )
104
105
  }
105
106
  if(!player_bracket_pick || player_bracket_pick.pick_side != side){
106
107
  return (
107
- <View style={{ height:15, width:15, borderRadius:100, borderWidth:1, borderColor:Colors.brand.electric }} />
108
+ <View style={{ height:15, width:15, borderRadius:100, borderWidth:1, borderColor:Colors.text.action }} />
108
109
  )
109
110
  }
110
111
  switch(player_bracket_pick.result_ind){
111
112
  case 'win':
112
113
  return (
113
- <View style={{ height:15, width:15, borderRadius:100, borderWidth:1, borderColor:Colors.brand.electric, backgroundColor:Colors.utility.success }} />
114
+ <View style={{ height:15, width:15, borderRadius:100, borderWidth:1, borderColor:Colors.text.action, backgroundColor:Colors.text.success }} />
114
115
  )
115
116
  case 'lose':
116
117
  return (
117
- <View style={{ height:15, width:15, borderRadius:100, borderWidth:1, borderColor:Colors.brand.electric, backgroundColor:Colors.utility.error }} />
118
+ <View style={{ height:15, width:15, borderRadius:100, borderWidth:1, borderColor:Colors.text.action, backgroundColor:Colors.text.error }} />
118
119
  )
119
120
  default:
120
121
  return (
121
- <View style={{ height:15, width:15, borderRadius:100, borderWidth:1, borderColor:Colors.brand.electric, backgroundColor:Colors.brand.electric }} />
122
+ <View style={{ height:15, width:15, borderRadius:100, borderWidth:1, borderColor:Colors.text.action, backgroundColor:Colors.text.action }} />
122
123
  )
123
124
  }
124
125
  }
@@ -143,34 +144,33 @@ const RoundEventCard = ({ event, loading, away_team, away_placeholder_team, home
143
144
  return (
144
145
  <View style={{ }}>
145
146
  {round_event?.away_side_id && away_placeholder_pick && away_placeholder_team ?
146
- <View style={{ padding:4, borderTopRightRadius:4, borderTopLeftRadius:4, backgroundColor:Colors.shades.shade600 }}>
147
- <Text size={10} weight='semibold' color={away_placeholder_pick.result_ind=='win'?Colors.utility.success:Colors.utility.error}>{away_placeholder_team.market_name} {away_placeholder_team.name}</Text>
147
+ <View style={{ padding:4, borderTopRightRadius:4, borderTopLeftRadius:4 }}>
148
+ <Text size={10} weight='semibold' color={away_placeholder_pick.result_ind=='win'?Colors.text.success:Colors.text.error}>{away_placeholder_team.market_name} {away_placeholder_team.name}</Text>
148
149
  </View>
149
150
  :<></>}
150
151
  <View style={{ flexDirection:'row', alignItems:'center', padding:8 }}>
151
152
  <View style={{ flex:1, marginRight:10, marginLeft:0 }}>
152
153
  {round_event.away_side_id && away_team ?
153
- <View style={{ flex:1, flexDirection:'row', alignItems:'center' }}>
154
+ <View style={{ flexGrow:1, flexDirection:'row', alignItems:'center' }}>
154
155
  <Image
155
156
  source={{ uri: away_team.image?.url }}
156
157
  style={{ height:20, width:20, marginRight:2 }}
157
158
  resizeMode="cover"
158
159
  />
159
-
160
- <Text style={{ paddingRight: 5, borderRightWidth:1, borderColor:Colors.shades.shade100 }} size={10} color={Colors.brand.midnight} weight='regular'>{round_event.away_seed}</Text>
161
- <Text style={{ flex:1 }} size={10} color={getPickColor('home', player_bracket_pick)} weight={'semibold'}>{away_team.market_name} {away_team.name}</Text>
160
+ <Text style={{ paddingRight: 5, borderRightWidth:1, borderColor:Colors.borders.light }} size={10} theme='description'>{round_event.away_seed}</Text>
161
+ <Text style={{ flex:1 }} size={10} color={getPickColor('away', player_bracket_pick)} weight={'semibold'}>{away_team.market_name} {away_team.name}</Text>
162
162
  </View>
163
163
  :
164
164
  <View>
165
165
  {away_placeholder_pick && away_placeholder_team ?
166
- <View style={{ flex:1, flexDirection:'row', alignItems:'center' }}>
166
+ <View style={{ flexGrow:1, flexDirection:'row', alignItems:'center' }}>
167
167
  <Image
168
168
  source={{ uri: away_placeholder_team.image?.url }}
169
169
  style={{ height:20, width:20, marginRight:2 }}
170
170
  resizeMode="cover"
171
171
  />
172
- <Text style={{ paddingRight: 5, borderRightWidth:1, borderColor:Colors.shades.shade100 }} size={10} color={Colors.brand.electric} weight='regular'>{away_placeholder_pick.pick_seed}</Text>
173
- <Text style={{ flex:1 }} size={10} color={Colors.brand.electric} weight='semibold'>{away_placeholder_team.market_name} {away_placeholder_team.name}</Text>
172
+ <Text style={{ paddingRight: 5, borderRightWidth:1, borderColor:Colors.borders.light }} size={10} theme='description'>{away_placeholder_pick.pick_seed}</Text>
173
+ <Text style={{ flex:1 }} size={10} theme='h1'>{away_placeholder_team.market_name} {away_placeholder_team.name}</Text>
174
174
  </View>
175
175
  :
176
176
  <Text color='transparent'>select</Text>
@@ -178,9 +178,9 @@ const RoundEventCard = ({ event, loading, away_team, away_placeholder_team, home
178
178
  </View>
179
179
  }
180
180
  </View>
181
- <View style={{ flexDirection:'row', alignItems:'center', borderLeftWidth:1, borderLeftColor:Colors.shades.shade600 }}>
181
+ <View style={{ flexDirection:'row', alignItems:'center', borderLeftWidth:1, borderLeftColor:Colors.borders.light }}>
182
182
  {round_event.event_id ?
183
- <Text style={{ margin:5}} size={10} color={Colors.brand.midnight} weight={'semibold'}>{getScore(away_team?.team_id)}</Text>
183
+ <Text style={{ margin:5}} size={10} theme='h2'>{getScore(away_team?.team_id)}</Text>
184
184
  :<></>}
185
185
  {renderButton('away')}
186
186
  </View>
@@ -194,26 +194,26 @@ const RoundEventCard = ({ event, loading, away_team, away_placeholder_team, home
194
194
 
195
195
  <View style={{ flex:1, marginRight:10 }}>
196
196
  {round_event.home_side_id && home_team ?
197
- <View style={{ flex:1, flexDirection:'row', alignItems:'center' }}>
197
+ <View style={{ flexGrow:1, flexDirection:'row', alignItems:'center' }}>
198
198
  <Image
199
199
  source={{ uri: home_team.image?.url }}
200
200
  style={{ height:20, width:20, marginRight:2 }}
201
201
  resizeMode="cover"
202
202
  />
203
- <Text style={{ paddingRight: 5, borderRightWidth:1, borderColor:Colors.shades.shade100 }} size={10} color={Colors.brand.midnight} weight='regular'>{round_event.home_seed}</Text>
203
+ <Text style={{ paddingRight: 5, borderRightWidth:1, borderColor:Colors.borders.light }} size={10} theme='description'>{round_event.home_seed}</Text>
204
204
  <Text style={{ flex:1 }} size={10} color={getPickColor('home', player_bracket_pick)} weight={'semibold'}>{home_team.market_name} {home_team.name}</Text>
205
205
  </View>
206
206
  :
207
207
  <View>
208
208
  {home_placeholder_pick && home_placeholder_team ?
209
- <View style={{ flex:1, flexDirection:'row', alignItems:'center' }}>
209
+ <View style={{ flexGrow:1, flexDirection:'row', alignItems:'center' }}>
210
210
  <Image
211
211
  source={{ uri: home_placeholder_team.image?.url }}
212
212
  style={{ height:20, width:20, marginRight:2 }}
213
213
  resizeMode="cover"
214
214
  />
215
- <Text style={{ paddingRight: 5, borderRightWidth:1, borderColor:Colors.shades.shade100 }} size={10} color={Colors.brand.electric} weight='regular'>{home_placeholder_pick.pick_seed}</Text>
216
- <Text style={{ flex:1 }} size={10} color={Colors.brand.electric} weight={'semibold'}>{home_placeholder_team.market_name} {home_placeholder_team.name}</Text>
215
+ <Text style={{ paddingRight: 5, borderRightWidth:1, borderColor:Colors.borders.light }} size={10} theme='action'>{home_placeholder_pick.pick_seed}</Text>
216
+ <Text style={{ flex:1 }} size={10} theme='h2'>{home_placeholder_team.market_name} {home_placeholder_team.name}</Text>
217
217
  </View>
218
218
  :
219
219
  <Text color='transparent'>select</Text>
@@ -221,16 +221,16 @@ const RoundEventCard = ({ event, loading, away_team, away_placeholder_team, home
221
221
  </View>
222
222
  }
223
223
  </View>
224
- <View style={{ flexDirection:'row', alignItems:'center', borderLeftWidth:1, borderLeftColor:Colors.shades.shade600 }}>
224
+ <View style={{ flexDirection:'row', alignItems:'center', borderLeftWidth:1, borderLeftColor:Colors.borders.light }}>
225
225
  {round_event.event_id ?
226
- <Text style={{ margin:5}} size={10} color={Colors.brand.midnight} weight={'semibold'}>{getScore(home_team?.team_id)}</Text>
226
+ <Text style={{ margin:5}} size={10} theme='h2'>{getScore(home_team?.team_id)}</Text>
227
227
  :<></>}
228
228
  {renderButton('home')}
229
229
  </View>
230
230
  </View>
231
231
  {round_event?.home_side_id && home_placeholder_pick && home_placeholder_team?
232
- <View style={{ padding:4, borderBottomRightRadius:4, borderBottomLeftRadius:4, backgroundColor:Colors.shades.shade600 }}>
233
- <Text size={10} weight='semibold' color={home_placeholder_pick.result_ind=='win'?Colors.utility.success:Colors.utility.error}>{home_placeholder_team.market_name} {home_placeholder_team.name}</Text>
232
+ <View style={{ padding:4, borderBottomRightRadius:4, borderBottomLeftRadius:4 }}>
233
+ <Text size={10} weight='semibold' color={home_placeholder_pick.result_ind=='win'?Colors.text.success:Colors.text.error}>{home_placeholder_team.market_name} {home_placeholder_team.name}</Text>
234
234
  </View>
235
235
  :<></>}
236
236
  </View>
@@ -240,18 +240,18 @@ const RoundEventCard = ({ event, loading, away_team, away_placeholder_team, home
240
240
 
241
241
 
242
242
  return (
243
- <View style={{ minWidth:125, width:round_width, backgroundColor:no_pick?Colors.shades.shade100:Colors.shades.white, borderRadius:4 }}>
244
- <TouchableOpacity style={{ borderBottomWidth:1, borderColor:Colors.shades.shade600 }} onPress={() => handleSelectAway()}>
243
+ <View float style={{ minWidth:125, width:round_width, backgroundColor:no_pick?'blue':'black', borderRadius:4 }}>
244
+ <Button style={{ borderBottomWidth:1, borderColor:Colors.borders.light, padding:5 }} onPress={() => handleSelectAway()}>
245
245
  {renderSide('away')}
246
- </TouchableOpacity>
247
- <TouchableOpacity onPress={() => handleSelectHome()}>
246
+ </Button>
247
+ <Button style={{ padding:5 }} onPress={() => handleSelectHome()}>
248
248
  {renderSide('home')}
249
- </TouchableOpacity>
249
+ </Button>
250
250
  {loading ?
251
251
  <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'center', alignItems:'center' }}>
252
252
  <ActivityIndicator
253
253
  size='large'
254
- color={Colors.brand.midnight}
254
+ color={Colors.text.h1}
255
255
  />
256
256
  </View>
257
257
  :<></>}
@@ -1,12 +1,12 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import { View, ActivityIndicator, TouchableOpacity, ScrollView, Image } from "react-native";
2
+ import { ActivityIndicator, ScrollView, Image } from "react-native";
3
3
  import type { AthleteProps, BracketGroupProps, BracketProps, BracketRoundProps, CompetitionPlayerBracketProps, EventProps, MyPlayerProps, PlayerBracketPickProps, PlayerBracketProps, RoundEventProps, TeamProps } from '../../../types';
4
4
  import { BracketApi, BracketComeptitionApi, BracketCompetitionHelpers } from '../../api';
5
- import { Button, Icons, Text } from '../../../Components';
6
- import Colors from '../../../constants/colors';
5
+ import { Icons } from '../../../Components';
7
6
  import BracketRoundSection from './BracketRound';
8
7
  import BracketNavigator from './BracketNavigator';
9
- import { view_styles } from '../../../constants/styles';
8
+ import { Button, Text, View } from '../../../Components/Themed';
9
+ import { useColors } from '../../../constants/useColors';
10
10
 
11
11
  type BracketPlayProps = {
12
12
  visible: boolean,
@@ -22,6 +22,7 @@ type BracketPlayProps = {
22
22
  const MIN_ROUND_WIDTH = 175
23
23
  const MAX_ROUND_WIDTH = 200;
24
24
  const BracketPlay = ({ visible, player, room_size, bracket_id, player_bracket_id, onClose, onPlayerBracketUpdate, onChangePlayerBracket, onRequestAuthenticate }:BracketPlayProps) => {
25
+ const Colors = useColors();
25
26
  const [ round_event_loading, setRoundEventLoading ] = useState<string|undefined>(undefined);
26
27
  const [ show_filter, setShowFilter ] = useState(false);
27
28
  const [ play_data, setPlayData ] = useState<{
@@ -168,29 +169,28 @@ const BracketPlay = ({ visible, player, room_size, bracket_id, player_bracket_id
168
169
 
169
170
  if(!bracket || loading || play_loading){
170
171
  return (
171
- <View>
172
- <ActivityIndicator size='large' style={{ padding:20, alignSelf:'center' }} color={Colors.brand.midnight} />
172
+ <View type='blur'>
173
+ <ActivityIndicator size='large' style={{ padding:20, alignSelf:'center' }} color={Colors.text.h1} />
173
174
  </View>
174
175
  )
175
176
  }
176
177
  return (
177
- <View style={{ flex:1 }}>
178
- <View style={{ zIndex:10, flexDirection:'row', alignItems:'center', padding:20, borderBottomWidth:1, borderColor:Colors.shades.shade100 }}>
179
- <TouchableOpacity style={{ flex:1, flexDirection:'row', alignItems: 'center' }} onPress={() => onClose()}>
180
- <Icons.ChevronIcon direction='left' size={12} color={Colors.brand.midnight} />
178
+ <View style={{ flexGrow:1 }}>
179
+ <View style={{ zIndex:10, flexDirection:'row', alignItems:'center', padding:20, borderBottomWidth:1, borderColor:Colors.borders.light }}>
180
+ <Button style={{ flex:1, flexDirection:'row', alignItems: 'center' }} onPress={() => onClose()}>
181
+ <Icons.ChevronIcon direction='left' size={12} color={Colors.text.h1} />
181
182
  <View style={{ flex:1, marginLeft:20, marginRight:10 }}>
182
- <Text size={18} color={Colors.brand.midnight} weight='bold'>{bracket.bracket_name}</Text>
183
+ <Text size={18} theme='h1'>{bracket.bracket_name}</Text>
183
184
  </View>
184
- </TouchableOpacity>
185
+ </Button>
185
186
  <View style={{ zIndex:10 }}>
186
187
  <Button
187
188
  title='Filter'
188
- backgroundColor={Colors.brand.electric}
189
- title_color={Colors.shades.white}
189
+ type='info'
190
190
  onPress={() => setShowFilter(true)}
191
191
  />
192
192
  {show_filter ?
193
- <View style={{ position:'absolute', top:5, right:5, backgroundColor:Colors.shades.white, borderRadius:8, ...view_styles.float }}>
193
+ <View style={{ position:'absolute', top:5, right:5, borderRadius:8 }}>
194
194
  <BracketNavigator
195
195
  bracket_groups={bracket_groups}
196
196
  bracket_rounds={bracket_rounds}
@@ -205,44 +205,44 @@ const BracketPlay = ({ visible, player, room_size, bracket_id, player_bracket_id
205
205
  </View>
206
206
  </View>
207
207
  {player_bracket ?
208
- <View style={{ padding:20, flexDirection:'row', alignItems:'center', backgroundColor:Colors.shades.shade100 }}>
208
+ <View float style={{ padding:10, borderRadius:0, flexDirection:'row', alignItems:'center' }}>
209
209
  {champion_team ?
210
- <View style={{ justifyContent:'center', alignItems:'center', marginRight:10 }}>
210
+ <View transparent style={{ justifyContent:'center', alignItems:'center', marginRight:10 }}>
211
211
  <Image
212
212
  source={{ uri: champion_team.image?.url }}
213
213
  style={{ height:20, width:20, borderRadius:4 }}
214
214
  resizeMode='cover'
215
215
  />
216
- <Text style={{ marginTop:2 }} size={12} color={Colors.brand.midnight} weight='bold' textAlign='center'>{champion_team.abbr}</Text>
216
+ <Text style={{ marginTop:2 }} size={12} theme='h1' textAlign='center'>{champion_team.abbr}</Text>
217
217
  </View>
218
218
  :champion_athlete ?
219
- <View style={{ justifyContent:'center', alignItems:'center', marginRight:10 }}>
219
+ <View transparent style={{ justifyContent:'center', alignItems:'center', marginRight:10 }}>
220
220
  <Image
221
221
  source={{ uri: champion_athlete.image?.url }}
222
222
  style={{ height:20, width:20, borderRadius:4 }}
223
223
  resizeMode='cover'
224
224
  />
225
- <Text style={{ marginTop:2 }} size={12} color={Colors.brand.midnight} weight='bold' textAlign='center'>{champion_athlete.abbr_name}</Text>
225
+ <Text style={{ marginTop:2 }} size={12} theme='h1' textAlign='center'>{champion_athlete.abbr_name}</Text>
226
226
  </View>
227
227
  :<></>}
228
- <View style={{ flex:1 }}>
229
- <Text size={14} color={Colors.brand.midnight} weight='bold'>{player_bracket.bracket_name}</Text>
230
- <Text style={{ marginTop:3 }} size={12} color={Colors.brand.midnight} weight='regular'>{(player_bracket.completion_pct*100).toFixed(2)}% Complete</Text>
228
+ <View transparent style={{ flex:1 }}>
229
+ <Text size={14} theme='h1'>{player_bracket.bracket_name}</Text>
230
+ <Text style={{ marginTop:3 }} size={12} theme='description'>{(player_bracket.completion_pct*100).toFixed(2)}% Complete</Text>
231
231
  </View>
232
232
  <Button
233
233
  title='Change'
234
- backgroundColor={Colors.brand.electric}
235
- title_color={Colors.shades.white}
234
+ type='info'
236
235
  onPress={() => onChangePlayerBracket(bracket.bracket_id)}
237
236
  />
238
237
  </View>
239
238
  :<></>}
240
- <ScrollView style={{ flex:1, backgroundColor:Colors.shades.shade100 }}>
241
- <View style={{ flex:1, flexDirection:'row', padding:10, overflow:'scroll' }}>
239
+
240
+ <ScrollView>
241
+ <ScrollView horizontal style={{ flexDirection:'row', padding:10 }}>
242
242
  {visible_rounds.sort((a,b) => a.round_number - b.round_number).map((br,i) => {
243
243
  return renderBracketRounds({ item:br, index:i })
244
244
  })}
245
- </View>
245
+ </ScrollView>
246
246
  </ScrollView>
247
247
  </View>
248
248
  )
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- import { TouchableOpacity, FlatList, View, Image, ScrollView } from "react-native"
2
+ import { FlatList, Image, ScrollView } from "react-native"
3
3
  import type { BracketProps, LeagueProps } from '../../types';
4
- import Colors from '../../constants/colors';
5
- import { Button, Icons, Text } from '../../Components';
4
+ import { Icons } from '../../Components';
6
5
  import moment from 'moment-mini';
6
+ import { Button, Text, View } from '../../Components/Themed';
7
+ import { useColors } from '../../constants/useColors';
7
8
 
8
9
  type BracketSelectorProps = {
9
10
  visible: boolean,
@@ -14,26 +15,25 @@ type BracketSelectorProps = {
14
15
  }
15
16
 
16
17
  const BracketSelector = ({ visible, leagues, brackets, onSelectBracket, onClose }:BracketSelectorProps) => {
17
-
18
+ const Colors = useColors();
18
19
  const unique_league_ids = [ ...new Set(brackets.map(b => b.league_id)) ]
19
20
 
20
21
 
21
22
  const renderBrackets = (data: { item:BracketProps, index:number }) => {
22
23
  const started = moment().isAfter(moment(data.item.scheduled_datetime)) ? true : false;
23
24
  return (
24
- <TouchableOpacity style={{ flexDirection:'row', alignItems:'center', padding:20, borderBottomColor:Colors.shades.shade600, borderBottomWidth:1 }} onPress={() => onSelectBracket(data.item)}>
25
+ <Button style={{ flexDirection:'row', alignItems:'center', padding:20, borderBottomColor:Colors.borders.light, borderBottomWidth:1 }} onPress={() => onSelectBracket(data.item)}>
25
26
  <View style={{ flex:1 }}>
26
- <Text size={14} color={Colors.brand.midnight} weight='bold'>{data.item.bracket_name}</Text>
27
- <Text style={{ marginTop:3 }} size={12} color={Colors.brand.slate} weight='regular'>{started?'In Progress':`Starts at ${moment(data.item.scheduled_datetime).format('MMM DD YYYY hh:mm a')}`}</Text>
27
+ <Text size={14} theme='h1' weight='bold'>{data.item.bracket_name}</Text>
28
+ <Text style={{ marginTop:3 }} size={12} theme='light' weight='regular'>{started?'In Progress':`Starts at ${moment(data.item.scheduled_datetime).format('MMM DD YYYY hh:mm a')}`}</Text>
28
29
  </View>
29
30
  <Button
30
31
  title='VIEW'
31
- title_color={Colors.shades.white}
32
- backgroundColor={Colors.brand.electric}
32
+ type='info'
33
33
  disabled
34
34
  onPress={() => console.log('')}
35
35
  />
36
- </TouchableOpacity>
36
+ </Button>
37
37
  )
38
38
  }
39
39
 
@@ -42,18 +42,18 @@ const BracketSelector = ({ visible, leagues, brackets, onSelectBracket, onClose
42
42
  const league_brackets = brackets.filter(b => b.league_id == data.item);
43
43
  if(!league){ return <></> }
44
44
  return (
45
- <View>
46
- <View style={{ flexDirection:'row', alignItems:'center', padding:10, backgroundColor:Colors.shades.shade100 }}>
47
- <View>
45
+ <View transparent>
46
+ <View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
47
+ <View transparent>
48
48
  <Image
49
49
  source={{ uri: league.league_image }}
50
50
  style={{ height:30, width:30, borderRadius:4 }}
51
51
  resizeMode='cover'
52
52
  />
53
53
  </View>
54
- <View style={{ flex:1, marginLeft:10 }}>
55
- <Text size={14} color={Colors.brand.midnight} weight='bold'>{league.league_name}</Text>
56
- <Text style={{ marginTop:3 }} size={12} color={Colors.brand.slate}>{league_brackets.length} Brackets</Text>
54
+ <View transparent style={{ flex:1, marginLeft:10 }}>
55
+ <Text size={14} theme='h1' weight='bold'>{league.league_name}</Text>
56
+ <Text style={{ marginTop:3 }} size={12} theme='light'>{league_brackets.length} Brackets</Text>
57
57
  </View>
58
58
  </View>
59
59
  <FlatList
@@ -68,13 +68,13 @@ const BracketSelector = ({ visible, leagues, brackets, onSelectBracket, onClose
68
68
  if(!visible){ return <></> }
69
69
  return (
70
70
  <View style={{ flex:1 }}>
71
- <TouchableOpacity style={{ flexDirection:'row', alignItems:'center', padding:20, borderBottomWidth:1, borderColor:Colors.shades.shade100 }} onPress={() => onClose()}>
72
- <Icons.ChevronIcon direction='left' size={12} color={Colors.brand.midnight} />
71
+ <Button style={{ flexDirection:'row', alignItems:'center', padding:20, borderBottomWidth:1, borderColor:Colors.borders.light }} onPress={() => onClose()}>
72
+ <Icons.ChevronIcon direction='left' size={12} color={Colors.text.h1} />
73
73
  <View style={{ flex:1, marginLeft:20 }}>
74
- <Text size={18} color={Colors.brand.midnight} weight='bold'>Active Brackets</Text>
75
- <Text style={{ marginTop:4 }} size={14} color={Colors.brand.slate} weight='regular'>Select a bracket below to make or edit picks</Text>
74
+ <Text size={18} theme='h1' weight='bold'>Active Brackets</Text>
75
+ <Text style={{ marginTop:4 }} size={14} theme='light' weight='regular'>Select a bracket below to make or edit picks</Text>
76
76
  </View>
77
- </TouchableOpacity>
77
+ </Button>
78
78
  <ScrollView style={{ flex:1 }}>
79
79
  <FlatList
80
80
  data={unique_league_ids}