be-components 6.2.6 → 6.2.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.
- package/lib/commonjs/ApiOverrides/index.js +2 -2
- package/lib/commonjs/ApiOverrides/index.js.map +1 -1
- package/lib/commonjs/Components/Icons.js +53 -0
- package/lib/commonjs/Components/Icons.js.map +1 -1
- package/lib/commonjs/Components/Jerseys.js +37 -5
- package/lib/commonjs/Components/Jerseys.js.map +1 -1
- package/lib/commonjs/GolfScoreboard/components/LeaderBetSelector.js +7 -2
- package/lib/commonjs/GolfScoreboard/components/LeaderBetSelector.js.map +1 -1
- package/lib/commonjs/GolfScoreboard/index.js +1 -0
- package/lib/commonjs/GolfScoreboard/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/AthleteMarket/index.js +6 -1
- package/lib/commonjs/MarketComponents/components/AthleteMarket/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/AthleteTournamentMarket/index.js +6 -1
- package/lib/commonjs/MarketComponents/components/AthleteTournamentMarket/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/CreateMarketForm.js +27 -58
- package/lib/commonjs/MarketComponents/components/CreateMarketForm.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/EventMarket/index.js +6 -1
- package/lib/commonjs/MarketComponents/components/EventMarket/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/MatchMarket/index.js +6 -1
- package/lib/commonjs/MarketComponents/components/MatchMarket/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/Parlay/ParlayCard.js +213 -0
- package/lib/commonjs/MarketComponents/components/Parlay/ParlayCard.js.map +1 -0
- package/lib/commonjs/MarketComponents/components/Parlay/api/index.js +16 -0
- package/lib/commonjs/MarketComponents/components/Parlay/api/index.js.map +1 -0
- package/lib/commonjs/MarketComponents/components/TeamEventMarket/index.js +8 -1
- package/lib/commonjs/MarketComponents/components/TeamEventMarket/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/TeamTournamentMarket/index.js +6 -1
- package/lib/commonjs/MarketComponents/components/TeamTournamentMarket/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/TournamentMarket/index.js +4 -0
- package/lib/commonjs/MarketComponents/components/TournamentMarket/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/index.js +2 -0
- package/lib/commonjs/MarketComponents/index.js.map +1 -1
- package/lib/module/ApiOverrides/index.js +2 -2
- package/lib/module/ApiOverrides/index.js.map +1 -1
- package/lib/module/Components/Icons.js +54 -1
- package/lib/module/Components/Icons.js.map +1 -1
- package/lib/module/Components/Jerseys.js +37 -5
- package/lib/module/Components/Jerseys.js.map +1 -1
- package/lib/module/GolfScoreboard/components/LeaderBetSelector.js +7 -2
- package/lib/module/GolfScoreboard/components/LeaderBetSelector.js.map +1 -1
- package/lib/module/GolfScoreboard/index.js +1 -0
- package/lib/module/GolfScoreboard/index.js.map +1 -1
- package/lib/module/MarketComponents/components/AthleteMarket/index.js +6 -1
- package/lib/module/MarketComponents/components/AthleteMarket/index.js.map +1 -1
- package/lib/module/MarketComponents/components/AthleteTournamentMarket/index.js +6 -1
- package/lib/module/MarketComponents/components/AthleteTournamentMarket/index.js.map +1 -1
- package/lib/module/MarketComponents/components/CreateMarketForm.js +27 -58
- package/lib/module/MarketComponents/components/CreateMarketForm.js.map +1 -1
- package/lib/module/MarketComponents/components/EventMarket/index.js +6 -1
- package/lib/module/MarketComponents/components/EventMarket/index.js.map +1 -1
- package/lib/module/MarketComponents/components/MatchMarket/index.js +6 -1
- package/lib/module/MarketComponents/components/MatchMarket/index.js.map +1 -1
- package/lib/module/MarketComponents/components/Parlay/ParlayCard.js +206 -0
- package/lib/module/MarketComponents/components/Parlay/ParlayCard.js.map +1 -0
- package/lib/module/MarketComponents/components/Parlay/api/index.js +10 -0
- package/lib/module/MarketComponents/components/Parlay/api/index.js.map +1 -0
- package/lib/module/MarketComponents/components/TeamEventMarket/index.js +8 -1
- package/lib/module/MarketComponents/components/TeamEventMarket/index.js.map +1 -1
- package/lib/module/MarketComponents/components/TeamTournamentMarket/index.js +6 -1
- package/lib/module/MarketComponents/components/TeamTournamentMarket/index.js.map +1 -1
- package/lib/module/MarketComponents/components/TournamentMarket/index.js +4 -0
- package/lib/module/MarketComponents/components/TournamentMarket/index.js.map +1 -1
- package/lib/module/MarketComponents/index.js +2 -0
- package/lib/module/MarketComponents/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/Components/Icons.d.ts +5 -0
- package/lib/typescript/lib/commonjs/Components/Icons.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Components/Jerseys.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/GolfScoreboard/components/LeaderBetSelector.d.ts +2 -1
- package/lib/typescript/lib/commonjs/GolfScoreboard/components/LeaderBetSelector.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/GolfScoreboard/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/MarketComponents/components/CreateMarketForm.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/MarketComponents/components/Parlay/ParlayCard.d.ts +15 -0
- package/lib/typescript/lib/commonjs/MarketComponents/components/Parlay/ParlayCard.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/MarketComponents/components/Parlay/api/index.d.ts +5 -0
- package/lib/typescript/lib/commonjs/MarketComponents/components/Parlay/api/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/MarketComponents/components/TournamentMarket/index.d.ts +2 -1
- package/lib/typescript/lib/commonjs/MarketComponents/components/TournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/MarketComponents/index.d.ts +1 -0
- package/lib/typescript/lib/module/Components/Icons.d.ts +5 -0
- package/lib/typescript/lib/module/Components/Icons.d.ts.map +1 -1
- package/lib/typescript/lib/module/Components/Jerseys.d.ts.map +1 -1
- package/lib/typescript/lib/module/GolfScoreboard/components/LeaderBetSelector.d.ts +2 -1
- package/lib/typescript/lib/module/GolfScoreboard/components/LeaderBetSelector.d.ts.map +1 -1
- package/lib/typescript/lib/module/GolfScoreboard/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/AthleteMarket/index.d.ts +2 -1
- package/lib/typescript/lib/module/MarketComponents/components/AthleteMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/AthleteTournamentMarket/index.d.ts +2 -1
- package/lib/typescript/lib/module/MarketComponents/components/AthleteTournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/CreateMarketForm.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/EventMarket/index.d.ts +2 -1
- package/lib/typescript/lib/module/MarketComponents/components/EventMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/MatchMarket/index.d.ts +2 -1
- package/lib/typescript/lib/module/MarketComponents/components/MatchMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/Parlay/ParlayCard.d.ts +15 -0
- package/lib/typescript/lib/module/MarketComponents/components/Parlay/ParlayCard.d.ts.map +1 -0
- package/lib/typescript/lib/module/MarketComponents/components/Parlay/api/index.d.ts +4 -0
- package/lib/typescript/lib/module/MarketComponents/components/Parlay/api/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/MarketComponents/components/TeamEventMarket/index.d.ts +2 -1
- package/lib/typescript/lib/module/MarketComponents/components/TeamEventMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/TeamTournamentMarket/index.d.ts +2 -1
- package/lib/typescript/lib/module/MarketComponents/components/TeamTournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/TournamentMarket/index.d.ts +2 -1
- package/lib/typescript/lib/module/MarketComponents/components/TournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/index.d.ts +2 -0
- package/lib/typescript/lib/module/MarketComponents/index.d.ts.map +1 -1
- package/lib/typescript/src/Components/Icons.d.ts +6 -0
- package/lib/typescript/src/Components/Icons.d.ts.map +1 -1
- package/lib/typescript/src/Components/Jerseys.d.ts.map +1 -1
- package/lib/typescript/src/GolfScoreboard/components/LeaderBetSelector.d.ts +2 -1
- package/lib/typescript/src/GolfScoreboard/components/LeaderBetSelector.d.ts.map +1 -1
- package/lib/typescript/src/GolfScoreboard/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/AthleteMarket/index.d.ts +2 -1
- package/lib/typescript/src/MarketComponents/components/AthleteMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/AthleteTournamentMarket/index.d.ts +2 -1
- package/lib/typescript/src/MarketComponents/components/AthleteTournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/CreateMarketForm.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/EventMarket/index.d.ts +2 -1
- package/lib/typescript/src/MarketComponents/components/EventMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/MatchMarket/index.d.ts +2 -1
- package/lib/typescript/src/MarketComponents/components/MatchMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/Parlay/ParlayCard.d.ts +19 -0
- package/lib/typescript/src/MarketComponents/components/Parlay/ParlayCard.d.ts.map +1 -0
- package/lib/typescript/src/MarketComponents/components/Parlay/api/index.d.ts +5 -0
- package/lib/typescript/src/MarketComponents/components/Parlay/api/index.d.ts.map +1 -0
- package/lib/typescript/src/MarketComponents/components/TeamEventMarket/index.d.ts +2 -1
- package/lib/typescript/src/MarketComponents/components/TeamEventMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/TeamTournamentMarket/index.d.ts +2 -1
- package/lib/typescript/src/MarketComponents/components/TeamTournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/TournamentMarket/index.d.ts +2 -1
- package/lib/typescript/src/MarketComponents/components/TournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/index.d.ts +27 -7
- package/lib/typescript/src/MarketComponents/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ApiOverrides/index.ts +2 -2
- package/src/Components/Icons.tsx +29 -1
- package/src/Components/Jerseys.tsx +12 -4
- package/src/GolfScoreboard/components/LeaderBetSelector.tsx +9 -4
- package/src/GolfScoreboard/index.tsx +1 -0
- package/src/MarketComponents/components/AthleteMarket/index.tsx +5 -2
- package/src/MarketComponents/components/AthleteTournamentMarket/index.tsx +5 -2
- package/src/MarketComponents/components/CreateMarketForm.tsx +17 -30
- package/src/MarketComponents/components/EventMarket/index.tsx +6 -2
- package/src/MarketComponents/components/MatchMarket/index.tsx +5 -3
- package/src/MarketComponents/components/Parlay/ParlayCard.tsx +127 -0
- package/src/MarketComponents/components/Parlay/api/index.ts +11 -0
- package/src/MarketComponents/components/TeamEventMarket/index.tsx +7 -2
- package/src/MarketComponents/components/TeamTournamentMarket/index.tsx +5 -2
- package/src/MarketComponents/components/TournamentMarket/index.tsx +5 -1
- package/src/MarketComponents/index.tsx +2 -0
- package/src/types.d.ts +52 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Button, Text, View } from "../../../Components/Themed"
|
|
3
|
+
import type { AthleteProps, LeagueProps, OrderProps, ParlayPositionProps, ParlayProps, PublicPlayerProps, TeamProps } from '../../../types';
|
|
4
|
+
import { FlatList, Image, type ViewStyle } from 'react-native';
|
|
5
|
+
import { MarketComponentHelpers } from '../../api';
|
|
6
|
+
import { useColors } from '../../../constants/useColors';
|
|
7
|
+
import { Icons } from '../../../Components';
|
|
8
|
+
import { AthleteImage, TeamImage } from '../../../Components/Jerseys';
|
|
9
|
+
import OrderGradeBar from '../OrderGradeBar';
|
|
10
|
+
import moment from 'moment-mini';
|
|
11
|
+
import { ParlayHelpers } from './api';
|
|
12
|
+
|
|
13
|
+
type ParlayCardProps = {
|
|
14
|
+
parlay:ParlayProps,
|
|
15
|
+
float?:boolean,
|
|
16
|
+
card_style?:ViewStyle,
|
|
17
|
+
header_style?:ViewStyle,
|
|
18
|
+
footer_style?:ViewStyle,
|
|
19
|
+
players:PublicPlayerProps[],
|
|
20
|
+
leagues:LeagueProps[],
|
|
21
|
+
teams:TeamProps[],
|
|
22
|
+
athletes:AthleteProps[],
|
|
23
|
+
parlay_positions:ParlayPositionProps[],
|
|
24
|
+
orders:OrderProps[]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const ParlayCard = ({ float, card_style, header_style, footer_style, teams, athletes, leagues, players, parlay, orders }:ParlayCardProps) => {
|
|
28
|
+
const Colors = useColors();
|
|
29
|
+
const parlay_owner = players.find(p => p.player_id == parlay.player_id);
|
|
30
|
+
|
|
31
|
+
const available = ParlayHelpers.calcAvailable(parlay);
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
const renderLegs = (data:{ item:OrderProps, index:number }) => {
|
|
35
|
+
const athlete = athletes.find(a => a.athlete_id == data.item.side_id);
|
|
36
|
+
const team = teams.find(t => t.team_id == data.item.side_id);
|
|
37
|
+
let league = leagues.find(l => l.league_id == team?.league_id);
|
|
38
|
+
if(data.item.side_type == 'athlete'){ league = leagues.find(l => l.league_id == athlete?.league_id) }
|
|
39
|
+
return (
|
|
40
|
+
<View type='row' style={{ padding:10, borderBottomWidth:1, borderColor:Colors.borders.light }}>
|
|
41
|
+
{data.item.side_type == 'team' && team ?
|
|
42
|
+
<TeamImage
|
|
43
|
+
team={team}
|
|
44
|
+
league={league}
|
|
45
|
+
size={30}
|
|
46
|
+
/>
|
|
47
|
+
:data.item.side_type == 'athlete' && athlete ?
|
|
48
|
+
<AthleteImage
|
|
49
|
+
athlete={athlete}
|
|
50
|
+
league={league}
|
|
51
|
+
size={32}
|
|
52
|
+
/>
|
|
53
|
+
:<></>}
|
|
54
|
+
<View transparent style={{ flex:1 }}>
|
|
55
|
+
<Text theme='h2'>{data.item.title}</Text>
|
|
56
|
+
<Text theme='description' style={{ marginTop:3 }}>{(data.item.probability*100).toFixed()}% ({MarketComponentHelpers.getOddsLabel(data.item.odds)})</Text>
|
|
57
|
+
</View>
|
|
58
|
+
<OrderGradeBar grade={data.item.grade} view_type='book'/>
|
|
59
|
+
</View>
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return (
|
|
64
|
+
<View float={float} style={{ ...card_style }}>
|
|
65
|
+
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10, ...header_style }}>
|
|
66
|
+
<Icons.ParlayIcon size={28} color={Colors.text.h1}/>
|
|
67
|
+
<View transparent style={{ flex:1, marginLeft:10 }}>
|
|
68
|
+
<Text theme='h2'>{parlay.name}</Text>
|
|
69
|
+
<Text theme='light' style={{ marginTop:3 }}>Expires on {moment(parlay.expire_datetime).format('ddd hh:mm a')}</Text>
|
|
70
|
+
</View>
|
|
71
|
+
<View transparent style={{ alignItems:'flex-end' }}>
|
|
72
|
+
<Text theme='h2'>{parlay.open_amt.toFixed(2)} to win {parlay.potential_winnings.toFixed(2)}</Text>
|
|
73
|
+
<Text theme='light' style={{ marginTop:3 }}>{(parlay.probability*100).toFixed()}% ({MarketComponentHelpers.getOddsLabel(parlay.odds)})</Text>
|
|
74
|
+
</View>
|
|
75
|
+
</View>
|
|
76
|
+
<View type='body'>
|
|
77
|
+
<FlatList
|
|
78
|
+
data={orders}
|
|
79
|
+
renderItem={renderLegs}
|
|
80
|
+
keyExtractor={(item) => item.order_id.toString()}
|
|
81
|
+
/>
|
|
82
|
+
</View>
|
|
83
|
+
<View type='footer' style={{ flexDirection:'row', alignItems:'center', padding:10, ...footer_style }}>
|
|
84
|
+
{parlay.show_me && parlay_owner ?
|
|
85
|
+
<View transparent style={{ flexDirection:'row', alignItems:'center' }}>
|
|
86
|
+
<View float style={{ borderRadius:100, padding:2 }}>
|
|
87
|
+
<Image
|
|
88
|
+
source={{ uri: parlay_owner.profile_pic && parlay_owner.profile_pic != '' ? parlay_owner.profile_pic : 'https://res.cloudinary.com/hoabts6mc/image/upload/v1722453927/default_man_n96ofq.webp' }}
|
|
89
|
+
style={{ height:35, width:35, borderRadius:100 }}
|
|
90
|
+
resizeMode='cover'
|
|
91
|
+
/>
|
|
92
|
+
</View>
|
|
93
|
+
<View transparent style={{ marginLeft:10 }}>
|
|
94
|
+
<Text theme='light'>Created By</Text>
|
|
95
|
+
<Text theme='h2' style={{ marginTop:2 }}>@{parlay_owner.username}</Text>
|
|
96
|
+
</View>
|
|
97
|
+
</View>
|
|
98
|
+
:<></>}
|
|
99
|
+
<View transparent style={{ flex:1 }} />
|
|
100
|
+
<View transparent style={{ alignItems:'flex-end', marginRight:10 }}>
|
|
101
|
+
<Text theme='h2' color={Colors.text.success}>{available.toFixed(2)}</Text>
|
|
102
|
+
<Text style={{ marginTop:3 }} theme='light'>Available</Text>
|
|
103
|
+
</View>
|
|
104
|
+
{parlay.offer_side == 'taker' ?
|
|
105
|
+
<Button
|
|
106
|
+
type='success'
|
|
107
|
+
style={{ flexDirection:'row', alignItems:'center' }}
|
|
108
|
+
>
|
|
109
|
+
<Icons.BankIcon color={Colors.text.h1} size={14} />
|
|
110
|
+
<Text theme='h2' style={{ marginLeft:5 }} color={Colors.text.white}>House It</Text>
|
|
111
|
+
</Button>
|
|
112
|
+
:
|
|
113
|
+
<Button
|
|
114
|
+
type='success'
|
|
115
|
+
style={{ flexDirection:'row', alignItems:'center' }}
|
|
116
|
+
>
|
|
117
|
+
<Icons.USDIcon color={Colors.text.h1} size={14} />
|
|
118
|
+
<Text theme='h2' style={{ marginLeft:5 }} color={Colors.text.white}>Take It</Text>
|
|
119
|
+
</Button>
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
</View>
|
|
123
|
+
</View>
|
|
124
|
+
)
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export default ParlayCard
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ParlayProps } from "../../../../types";
|
|
2
|
+
|
|
3
|
+
export const ParlayHelpers = {
|
|
4
|
+
calcAvailable: (parlay:ParlayProps):number => {
|
|
5
|
+
if(parlay.offer_side == 'taker'){
|
|
6
|
+
return parlay.potential_winnings - parlay.open_amt
|
|
7
|
+
} else {
|
|
8
|
+
return parlay.open_amt
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -27,6 +27,7 @@ type TeamEventMarketProps = {
|
|
|
27
27
|
league?:LeagueProps,
|
|
28
28
|
competitions?:CompetitionProps[],
|
|
29
29
|
show_id?:string,
|
|
30
|
+
disabled_markets?:string[],
|
|
30
31
|
hide_liquidity?:boolean,
|
|
31
32
|
float?:boolean,
|
|
32
33
|
hot_markets_direction?:'vertical'|'horizontal'
|
|
@@ -56,7 +57,7 @@ type TeamEventMarketProps = {
|
|
|
56
57
|
onActivate?:(event_id:string, event_type:string) => void
|
|
57
58
|
activate_loading?:boolean
|
|
58
59
|
}
|
|
59
|
-
const TeamEventMarket = ({ event, hide_non_primary, flash_markets, league, float, style, init_expanded, hot_markets_direction, show_id, hide_liquidity, show_podcasts, activate_loading, competitions, squares_competitions, show_grades, markets, latest_trades, best_available_orders, event_order_stats, default_price_view, onSetMarket, onTeamSelect, onFlashSelect, onSquaresSelect, onCompetitionSelect, onExpand, onOrder, onViewMarketStats, onView, onViewAdditionalMarkets, onTradeLongPress, onTVSelect, onActivate, onEvent, onShare, onPodcastSelect }:TeamEventMarketProps) => {
|
|
60
|
+
const TeamEventMarket = ({ event, hide_non_primary, disabled_markets, flash_markets, league, float, style, init_expanded, hot_markets_direction, show_id, hide_liquidity, show_podcasts, activate_loading, competitions, squares_competitions, show_grades, markets, latest_trades, best_available_orders, event_order_stats, default_price_view, onSetMarket, onTeamSelect, onFlashSelect, onSquaresSelect, onCompetitionSelect, onExpand, onOrder, onViewMarketStats, onView, onViewAdditionalMarkets, onTradeLongPress, onTVSelect, onActivate, onEvent, onShare, onPodcastSelect }:TeamEventMarketProps) => {
|
|
60
61
|
const C = useColors();
|
|
61
62
|
const [ market_width, setMarketWidth ] = useState(180);
|
|
62
63
|
const [ expanded_data, setExpandedData ] = useState<{
|
|
@@ -214,6 +215,8 @@ const TeamEventMarket = ({ event, hide_non_primary, flash_markets, league, float
|
|
|
214
215
|
trade = MarketButtonHelpers.getTradeFromMarket(data.market, event.event_id, 'team', data.item.side, data.item.id_source, side_details.side_id, side_details.reversed_side_id)
|
|
215
216
|
}
|
|
216
217
|
if(!trade){ return <></> }
|
|
218
|
+
let disabled = false
|
|
219
|
+
if(disabled_markets && disabled_markets.includes(data.market.market_id)){ disabled = true }
|
|
217
220
|
return (
|
|
218
221
|
<View transparent key={`${event.event_id}_${data.item.side}`} style={{ width:primary_width }}>
|
|
219
222
|
<View transparent style={{ height:50, margin:2 }}>
|
|
@@ -222,7 +225,7 @@ const TeamEventMarket = ({ event, hide_non_primary, flash_markets, league, float
|
|
|
222
225
|
market={data.market}
|
|
223
226
|
trade={trade}
|
|
224
227
|
order={ba_order}
|
|
225
|
-
locked={data.is_locked}
|
|
228
|
+
locked={disabled || data.is_locked}
|
|
226
229
|
show_grades={show_grades}
|
|
227
230
|
onLongPress={onTradeLongPress}
|
|
228
231
|
onPress={(order) => {
|
|
@@ -282,6 +285,7 @@ const TeamEventMarket = ({ event, hide_non_primary, flash_markets, league, float
|
|
|
282
285
|
event_type='team'
|
|
283
286
|
athlete={athlete}
|
|
284
287
|
float
|
|
288
|
+
disabled_markets={disabled_markets}
|
|
285
289
|
style={{ flexGrow:1, margin:5 }}
|
|
286
290
|
direction={hot_markets_direction=='vertical' ? 'horizontal' : 'vertical'}
|
|
287
291
|
show_grades={show_grades}
|
|
@@ -306,6 +310,7 @@ const TeamEventMarket = ({ event, hide_non_primary, flash_markets, league, float
|
|
|
306
310
|
event={event}
|
|
307
311
|
market={market}
|
|
308
312
|
float
|
|
313
|
+
disabled_markets={disabled_markets}
|
|
309
314
|
style={{ flexGrow:1, margin:5 }}
|
|
310
315
|
direction={hot_markets_direction=='vertical' ? 'horizontal' : 'vertical'}
|
|
311
316
|
hide_liquidity={hide_liquidity}
|
|
@@ -16,6 +16,7 @@ type TeamTournamentMarketProps = {
|
|
|
16
16
|
hide_stat_banner?:boolean,
|
|
17
17
|
width?:number,
|
|
18
18
|
float?:boolean,
|
|
19
|
+
disabled_markets?:string[],
|
|
19
20
|
market:MarketProps,
|
|
20
21
|
direction?:'horizontal'|'vertical',
|
|
21
22
|
show_event?:boolean,
|
|
@@ -31,7 +32,7 @@ type TeamTournamentMarketProps = {
|
|
|
31
32
|
onTradeLongPress:(trade:TradeProps) => void
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
const TeamTournamentMarket = ({ tournament, float, direction, show_event, hide_liquidity, hide_stat_banner, style, team, market, event_order_stats, default_price_view, latest_trades, show_grades, best_available_orders, onOrder, onView, onTradeLongPress }:TeamTournamentMarketProps) => {
|
|
35
|
+
const TeamTournamentMarket = ({ tournament, disabled_markets, float, direction, show_event, hide_liquidity, hide_stat_banner, style, team, market, event_order_stats, default_price_view, latest_trades, show_grades, best_available_orders, onOrder, onView, onTradeLongPress }:TeamTournamentMarketProps) => {
|
|
35
36
|
const C = useColors();
|
|
36
37
|
const { liquidity, open_order_count } = MarketComponentHelpers.getLiqudity(event_order_stats);
|
|
37
38
|
const is_locked = useMemo(() => MarketComponentHelpers.isTournamentMarketLocked(tournament, market.market_id),[JSON.stringify(tournament.supported_markets)])
|
|
@@ -44,13 +45,15 @@ const TeamTournamentMarket = ({ tournament, float, direction, show_event, hide_l
|
|
|
44
45
|
if(!trade){
|
|
45
46
|
trade = MarketButtonHelpers.getTradeFromMarket(market, tournament.tournament_id, 'team', data.item.side, data.item.id_source, side_details.side_id, side_details.reversed_side_id);
|
|
46
47
|
}
|
|
48
|
+
let disabled = false
|
|
49
|
+
if(disabled_markets && disabled_markets.includes(data.market.market_id)){ disabled = true }
|
|
47
50
|
return (
|
|
48
51
|
<View key={`${tournament.tournament_id}_${team.team_id}_${data.item.side}`} style={{ margin:2, height:50, width:75 }}>
|
|
49
52
|
<MarketButton
|
|
50
53
|
side_option={data.item}
|
|
51
54
|
market={data.market}
|
|
52
55
|
trade={trade}
|
|
53
|
-
locked={is_locked}
|
|
56
|
+
locked={is_locked || disabled}
|
|
54
57
|
show_grades={show_grades}
|
|
55
58
|
order={ba_order}
|
|
56
59
|
onLongPress={onTradeLongPress}
|
|
@@ -23,6 +23,7 @@ type TournamentMarketProps = {
|
|
|
23
23
|
hide_match_liquidity?:boolean,
|
|
24
24
|
show_grades?:boolean,
|
|
25
25
|
float?:boolean,
|
|
26
|
+
disabled_markets?:string[],
|
|
26
27
|
hide_participant_liquidity?:boolean,
|
|
27
28
|
activate_loading?:boolean,
|
|
28
29
|
wrap_markets?:boolean,
|
|
@@ -44,7 +45,7 @@ type TournamentMarketProps = {
|
|
|
44
45
|
onOrder:(order:OrderProps) => void
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
const TournamentMarket = ({ tournament, float, wrap_markets, width, style, market_selector_location, flash_markets, hide_match_liquidity, show_grades, hide_participant_liquidity, league, markets, latest_trades, hide_liquidity, best_available_orders, event_order_stats, match_available_orders, match_latest_trades, match_order_stats, activate_loading, onView, onTradeLongPress, onViewAdditionalMarkets, onViewMarketStats, onFlashSelect, onOrder, onActivate, onShare }:TournamentMarketProps) => {
|
|
48
|
+
const TournamentMarket = ({ tournament, float, disabled_markets, wrap_markets, width, style, market_selector_location, flash_markets, hide_match_liquidity, show_grades, hide_participant_liquidity, league, markets, latest_trades, hide_liquidity, best_available_orders, event_order_stats, match_available_orders, match_latest_trades, match_order_stats, activate_loading, onView, onTradeLongPress, onViewAdditionalMarkets, onViewMarketStats, onFlashSelect, onOrder, onActivate, onShare }:TournamentMarketProps) => {
|
|
48
49
|
const C = useColors();
|
|
49
50
|
const [ search_value, setSearchValue ] = useState<string | undefined>(undefined);
|
|
50
51
|
const [ tournament_data, setTournamentData ] = useState<{
|
|
@@ -156,6 +157,7 @@ const TournamentMarket = ({ tournament, float, wrap_markets, width, style, marke
|
|
|
156
157
|
match={data.item}
|
|
157
158
|
league={league}
|
|
158
159
|
float
|
|
160
|
+
disabled_markets={disabled_markets}
|
|
159
161
|
style={{ flexGrow:1 }}
|
|
160
162
|
away_athlete={away_athlete}
|
|
161
163
|
home_athlete={home_athlete}
|
|
@@ -193,6 +195,7 @@ const TournamentMarket = ({ tournament, float, wrap_markets, width, style, marke
|
|
|
193
195
|
width={wrap_markets ? market_width : undefined}
|
|
194
196
|
show_grades={show_grades}
|
|
195
197
|
float
|
|
198
|
+
disabled_markets={disabled_markets}
|
|
196
199
|
hide_liquidity={hide_participant_liquidity ? true : false}
|
|
197
200
|
tournament={tournament}
|
|
198
201
|
event_order_stats={team_order_stats}
|
|
@@ -220,6 +223,7 @@ const TournamentMarket = ({ tournament, float, wrap_markets, width, style, marke
|
|
|
220
223
|
onView={onView}
|
|
221
224
|
float
|
|
222
225
|
league={league}
|
|
226
|
+
disabled_markets={disabled_markets}
|
|
223
227
|
style={{ flexGrow:1 }}
|
|
224
228
|
show_grades={show_grades}
|
|
225
229
|
hide_liquidity={hide_participant_liquidity ? true : false}
|
|
@@ -15,6 +15,7 @@ import ExternalPriceComparison from './components/ExternalPriceComparison';
|
|
|
15
15
|
import OrderGradeBar from './components/OrderGradeBar';
|
|
16
16
|
import MarketManager from './components/MarketManager';
|
|
17
17
|
import CreateMarketForm from './components/CreateMarketForm';
|
|
18
|
+
import ParlayCard from './components/Parlay/ParlayCard';
|
|
18
19
|
|
|
19
20
|
export default {
|
|
20
21
|
TeamEventMarket,
|
|
@@ -24,6 +25,7 @@ export default {
|
|
|
24
25
|
EventMarket,
|
|
25
26
|
OrderBookCard,
|
|
26
27
|
CreateMarketForm,
|
|
28
|
+
ParlayCard,
|
|
27
29
|
MarketManager,
|
|
28
30
|
OrderBookChart,
|
|
29
31
|
AthleteTournamentMarket,
|
package/src/types.d.ts
CHANGED
|
@@ -2265,6 +2265,8 @@ export interface PositionProps {
|
|
|
2265
2265
|
parlay_id?:string; //If the positions is created as the other side of a parlay, then this is the associated parlay id that needs to be reviewed for a win / loss
|
|
2266
2266
|
status: 'inprogress' | 'closed'; //Current status of the order,
|
|
2267
2267
|
legacy_id?:string,
|
|
2268
|
+
parlay_id?:string,
|
|
2269
|
+
parlay_position_id?:string,
|
|
2268
2270
|
resolution_datetime?:any,
|
|
2269
2271
|
purchased_grade?:number,
|
|
2270
2272
|
commission:number,
|
|
@@ -2325,6 +2327,56 @@ export interface OrderStatsProps {
|
|
|
2325
2327
|
last_update_datetime?:string
|
|
2326
2328
|
}
|
|
2327
2329
|
|
|
2330
|
+
|
|
2331
|
+
export interface ParlayProps {
|
|
2332
|
+
parlay_id:string,
|
|
2333
|
+
player_id:string,
|
|
2334
|
+
name: string,
|
|
2335
|
+
show_me?:boolean,
|
|
2336
|
+
legs:number,
|
|
2337
|
+
odds:number,
|
|
2338
|
+
offer_side:'maker'|'taker',
|
|
2339
|
+
winning_side?:'maker'|'taker',
|
|
2340
|
+
probability:number,
|
|
2341
|
+
status: 'approved'|'cancelled'|'closed',
|
|
2342
|
+
expire_datetime: any,
|
|
2343
|
+
cancel_type?: 'expired'|'manual',
|
|
2344
|
+
resolution_status: 'inprogress'|'closed',
|
|
2345
|
+
region:string,
|
|
2346
|
+
market_type:'FOR_MONEY'|'FREE',
|
|
2347
|
+
location:{ latitude: number, longitude: number },
|
|
2348
|
+
no_bet?:boolean,
|
|
2349
|
+
no_bet_reason?:string,
|
|
2350
|
+
offer_amt:number,
|
|
2351
|
+
open_amt:number,
|
|
2352
|
+
potential_winnings:number,
|
|
2353
|
+
called_amt:number,
|
|
2354
|
+
commission_pct:number,
|
|
2355
|
+
create_datetime:any,
|
|
2356
|
+
last_update_datetime:any
|
|
2357
|
+
}
|
|
2358
|
+
|
|
2359
|
+
|
|
2360
|
+
export interface ParlayPositionProps {
|
|
2361
|
+
parlay_position_id:string,
|
|
2362
|
+
parlay_id:string,
|
|
2363
|
+
player_id:string,
|
|
2364
|
+
side: 'maker'|'taker',
|
|
2365
|
+
status: 'inprogress'|'closed',
|
|
2366
|
+
stake: number,
|
|
2367
|
+
odds:number,
|
|
2368
|
+
result_ind?:'win'|'lose'|'draw',
|
|
2369
|
+
probability:number,
|
|
2370
|
+
commission_pct:number,
|
|
2371
|
+
commission:number,
|
|
2372
|
+
net_winnings:number,
|
|
2373
|
+
potential_winnings:number,
|
|
2374
|
+
winnings:number,
|
|
2375
|
+
create_datetime:any,
|
|
2376
|
+
last_update_datetime:any
|
|
2377
|
+
}
|
|
2378
|
+
|
|
2379
|
+
|
|
2328
2380
|
export interface OrderProps {
|
|
2329
2381
|
order_id:string; //Primary key of the order
|
|
2330
2382
|
player_id:string; //Id of the player creating the order
|