be-components 5.7.5 → 5.7.7
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/Campaign/index.js +3 -0
- package/lib/commonjs/Campaign/index.js.map +1 -1
- package/lib/commonjs/Competition/components/AthleteMarketCard.js +1 -1
- package/lib/commonjs/Competition/components/MatchMarketCard.js +2 -2
- package/lib/commonjs/Components/Jerseys.js +25 -13
- package/lib/commonjs/Components/Jerseys.js.map +1 -1
- package/lib/commonjs/FlashMarket/api/index.js +32 -5
- package/lib/commonjs/FlashMarket/api/index.js.map +1 -1
- package/lib/commonjs/FlashMarket/index.js +41 -19
- package/lib/commonjs/FlashMarket/index.js.map +1 -1
- package/lib/commonjs/GolfScoreboard/components/LeaderBetSelector.js +1 -1
- package/lib/commonjs/GolfScoreboard/components/LeaderBetsList.js +1 -1
- package/lib/commonjs/GolfScoreboard/index.js +3 -3
- package/lib/commonjs/MarketComponents/api/index.js +13 -0
- package/lib/commonjs/MarketComponents/api/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/AthleteMarket/index.js +1 -1
- package/lib/commonjs/MarketComponents/components/AthleteTournamentMarket/index.js +4 -2
- package/lib/commonjs/MarketComponents/components/AthleteTournamentMarket/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/MatchMarket/index.js +1 -1
- package/lib/commonjs/MarketComponents/components/TournamentMarket/index.js +1 -0
- package/lib/commonjs/MarketComponents/components/TournamentMarket/index.js.map +1 -1
- package/lib/commonjs/SocialComponents/SocialOrderCard.js +1 -1
- package/lib/commonjs/Ticker/index.js +103 -5
- package/lib/commonjs/Ticker/index.js.map +1 -1
- package/lib/module/Campaign/index.js +3 -0
- package/lib/module/Campaign/index.js.map +1 -1
- package/lib/module/Competition/components/AthleteMarketCard.js +1 -1
- package/lib/module/Competition/components/MatchMarketCard.js +2 -2
- package/lib/module/Components/Jerseys.js +24 -12
- package/lib/module/Components/Jerseys.js.map +1 -1
- package/lib/module/FlashMarket/api/index.js +32 -5
- package/lib/module/FlashMarket/api/index.js.map +1 -1
- package/lib/module/FlashMarket/index.js +41 -19
- package/lib/module/FlashMarket/index.js.map +1 -1
- package/lib/module/GolfScoreboard/components/LeaderBetSelector.js +1 -1
- package/lib/module/GolfScoreboard/components/LeaderBetsList.js +1 -1
- package/lib/module/GolfScoreboard/index.js +3 -3
- package/lib/module/MarketComponents/api/index.js +13 -0
- package/lib/module/MarketComponents/api/index.js.map +1 -1
- package/lib/module/MarketComponents/components/AthleteMarket/index.js +1 -1
- package/lib/module/MarketComponents/components/AthleteTournamentMarket/index.js +4 -2
- package/lib/module/MarketComponents/components/AthleteTournamentMarket/index.js.map +1 -1
- package/lib/module/MarketComponents/components/MatchMarket/index.js +1 -1
- package/lib/module/MarketComponents/components/TournamentMarket/index.js +1 -0
- package/lib/module/MarketComponents/components/TournamentMarket/index.js.map +1 -1
- package/lib/module/SocialComponents/SocialOrderCard.js +1 -1
- package/lib/module/Ticker/index.js +104 -6
- package/lib/module/Ticker/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/Campaign/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Components/Jerseys.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/FlashMarket/api/index.d.ts +5 -3
- package/lib/typescript/lib/commonjs/FlashMarket/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/FlashMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/MarketComponents/api/index.d.ts +1 -0
- package/lib/typescript/lib/commonjs/MarketComponents/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/MarketComponents/components/TournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Ticker/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Campaign/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Components/Jerseys.d.ts +2 -3
- package/lib/typescript/lib/module/Components/Jerseys.d.ts.map +1 -1
- package/lib/typescript/lib/module/FlashMarket/api/index.d.ts +5 -3
- package/lib/typescript/lib/module/FlashMarket/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/FlashMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/api/index.d.ts +1 -0
- package/lib/typescript/lib/module/MarketComponents/api/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/TournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Ticker/index.d.ts.map +1 -1
- package/lib/typescript/src/Campaign/index.d.ts.map +1 -1
- package/lib/typescript/src/Components/Jerseys.d.ts.map +1 -1
- package/lib/typescript/src/FlashMarket/api/index.d.ts +10 -5
- package/lib/typescript/src/FlashMarket/api/index.d.ts.map +1 -1
- package/lib/typescript/src/FlashMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/api/index.d.ts +1 -0
- package/lib/typescript/src/MarketComponents/api/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/AthleteTournamentMarket/index.d.ts +3 -2
- package/lib/typescript/src/MarketComponents/components/AthleteTournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/TournamentMarket/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/index.d.ts +2 -1
- package/lib/typescript/src/MarketComponents/index.d.ts.map +1 -1
- package/lib/typescript/src/Ticker/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Campaign/index.tsx +1 -0
- package/src/Competition/components/AthleteMarketCard.tsx +1 -1
- package/src/Competition/components/MatchMarketCard.tsx +2 -2
- package/src/Components/Jerseys.tsx +12 -8
- package/src/FlashMarket/api/index.ts +23 -8
- package/src/FlashMarket/index.tsx +38 -22
- package/src/GolfScoreboard/components/LeaderBetSelector.tsx +1 -1
- package/src/GolfScoreboard/components/LeaderBetsList.tsx +1 -1
- package/src/GolfScoreboard/index.tsx +3 -3
- package/src/MarketComponents/api/index.ts +11 -0
- package/src/MarketComponents/components/AthleteMarket/index.tsx +1 -1
- package/src/MarketComponents/components/AthleteTournamentMarket/index.tsx +6 -4
- package/src/MarketComponents/components/MatchMarket/index.tsx +1 -1
- package/src/MarketComponents/components/TournamentMarket/index.tsx +1 -0
- package/src/SocialComponents/SocialOrderCard.tsx +1 -1
- package/src/Ticker/index.tsx +81 -11
- package/src/types.d.ts +12 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PollCampaignLeaderProps, PollCampaignProps, PollOptionProps, PollProps, PollResponseProps, PollSummaryProps } from "../../types";
|
|
1
|
+
import type { FlashMarketFeeProps, PollCampaignLeaderProps, PollCampaignProps, PollOptionProps, PollProps, PollResponseProps, PollSummaryProps } from "../../types";
|
|
2
2
|
export { FlashMarketApi };
|
|
3
3
|
declare const FlashMarketApi: {
|
|
4
4
|
setEnvironment: () => void;
|
|
@@ -7,9 +7,12 @@ declare const FlashMarketApi: {
|
|
|
7
7
|
poll_options: PollOptionProps[];
|
|
8
8
|
poll_summaries: PollSummaryProps[];
|
|
9
9
|
}>;
|
|
10
|
-
getPollCampaignById: (poll_campaign_id: string) => Promise<
|
|
10
|
+
getPollCampaignById: (poll_campaign_id: string) => Promise<{
|
|
11
|
+
poll_campaign: PollCampaignProps;
|
|
12
|
+
flash_market_fees: FlashMarketFeeProps[];
|
|
13
|
+
} | undefined>;
|
|
11
14
|
getMyCampaignResponses: (poll_campaign_id: string) => Promise<PollResponseProps[]>;
|
|
12
|
-
createPMOrder: (poll_option_id: string, stake: number) => Promise<{
|
|
15
|
+
createPMOrder: (poll_option_id: string, stake: number, poll_response_id?: string) => Promise<{
|
|
13
16
|
poll_response: PollResponseProps;
|
|
14
17
|
my_leader: PollCampaignLeaderProps;
|
|
15
18
|
poll_campaign: PollCampaignProps;
|
|
@@ -24,9 +27,11 @@ export declare const FlashMarketHelpers: {
|
|
|
24
27
|
earnings: number;
|
|
25
28
|
};
|
|
26
29
|
calcPotentialWinnings: (probability?: number, stake?: string) => number;
|
|
27
|
-
|
|
30
|
+
calcDraftStake: (poll_responses: PollResponseProps[], draft_stake: string, poll_option_id?: string) => number;
|
|
31
|
+
getFeeFromValue: (value: number, fees: FlashMarketFeeProps[]) => FlashMarketFeeProps | undefined;
|
|
32
|
+
getStats: (poll_summaries: PollSummaryProps[], fees: FlashMarketFeeProps[]) => {
|
|
28
33
|
total_staked: number;
|
|
29
34
|
};
|
|
30
|
-
isValid: (poll?: PollProps, stake?: string) => boolean;
|
|
35
|
+
isValid: (poll_responses: PollResponseProps[], poll?: PollProps, stake?: string, poll_option_id?: string) => boolean;
|
|
31
36
|
};
|
|
32
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/FlashMarket/api/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/FlashMarket/api/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpK,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB,QAAA,MAAM,cAAc;;2BAQY,MAAM,KAAE,OAAO,CAAC,SAAS,GAAG;QAAE,IAAI,EAAC,SAAS,CAAC;QAAC,YAAY,EAAC,eAAe,EAAE,CAAC;QAAC,cAAc,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;4CASlG,MAAM,KAAE,OAAO,CAAC;QAAE,aAAa,EAAC,iBAAiB,CAAC;QAAC,iBAAiB,EAAC,mBAAmB,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;+CASvG,MAAM,KAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;oCAQ/C,MAAM,SAAQ,MAAM,qBAAoB,MAAM,KAAE,OAAO,CAAC;QAAE,aAAa,EAAC,iBAAiB,CAAC;QAAC,SAAS,EAAC,uBAAuB,CAAC;QAAC,aAAa,EAAC,iBAAiB,CAAA;KAAE,GAAG,SAAS,CAAC;CAUnN,CAAA;AAED,eAAO,MAAM,kBAAkB;mBACb,MAAM,oBAAmB,MAAM,KAAE,MAAM;+BAK3B,eAAe,kBAAiB,iBAAiB;;;;;;0CAStC,MAAM,UAAS,MAAM;qCAM1B,iBAAiB,EAAE,eAAc,MAAM,mBAAkB,MAAM;6BAMvE,MAAM,QAAO,mBAAmB,EAAE;+BAKhC,gBAAgB,EAAE,QAAO,mBAAmB,EAAE;;;8BAO/C,iBAAiB,EAAE,SAAQ,SAAS,UAAS,MAAM,mBAAkB,MAAM;CAYvG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/FlashMarket/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/FlashMarket/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAuB,aAAa,EAAsF,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAS1K,KAAK,gBAAgB,GAAG;IACpB,OAAO,EAAC,MAAM,CAAC;IACf,aAAa,CAAC,EAAC,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAC,aAAa,CAAC;IACxB,YAAY,CAAC,EAAC,GAAG,CAAC;IAClB,YAAY,CAAC,EAAC,GAAG,CAAC;IAClB,SAAS,CAAC,EAAC,MAAM,CAAA;IACjB,MAAM,CAAC,EAAC,iBAAiB,CAAC;IAC1B,iBAAiB,EAAC,MAAM,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAC;QAAE,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,EAAC,MAAM,CAAC;QAAC,KAAK,EAAC,MAAM,CAAC;QAAC,MAAM,EAAC,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACzF,qBAAqB,EAAE,MAAM,IAAI,CAAA;CACpC,CAAA;AACD,QAAA,MAAM,WAAW,GAAI,gJAA+I,gBAAgB,sBA2YnL,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -5,6 +5,7 @@ declare const MarketComponentApi: {
|
|
|
5
5
|
getMarkets: () => Promise<MarketProps[]>;
|
|
6
6
|
getOrderById: (order_id: string) => Promise<OrderProps | undefined>;
|
|
7
7
|
getActiveEvents: (league_id?: string) => Promise<EventProps[]>;
|
|
8
|
+
getActiveTournaments: (league_id?: string) => Promise<TournamentProps[]>;
|
|
8
9
|
getLatestTradesByEvents: (event_type: string, event_ids: string[]) => Promise<TradeProps[]>;
|
|
9
10
|
getExternalPrices: (contest_type: string, contest_id: string, market_id: string, side?: string, participant_id?: string, participant_type?: string, external_name?: string) => Promise<ExternalPriceProps[]>;
|
|
10
11
|
getMyAction: () => Promise<OrderProps[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/MarketComponents/api/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAQ1S,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAA;AAErD,QAAA,MAAM,kBAAkB;;sBAQD,OAAO,CAAC,WAAW,EAAE,CAAC;6BASZ,MAAM,KAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;kCAQlC,MAAM,KAAE,OAAO,CAAC,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/MarketComponents/api/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAQ1S,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAA;AAErD,QAAA,MAAM,kBAAkB;;sBAQD,OAAO,CAAC,WAAW,EAAE,CAAC;6BASZ,MAAM,KAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;kCAQlC,MAAM,KAAE,OAAO,CAAC,UAAU,EAAE,CAAC;uCASxB,MAAM,KAAE,OAAO,CAAC,eAAe,EAAE,CAAC;0CAW9B,MAAM,aAAY,MAAM,EAAE,KAAE,OAAO,CAAC,UAAU,EAAE,CAAC;sCAUtD,MAAM,cAAa,MAAM,aAAY,MAAM,SAAQ,MAAM,mBAAkB,MAAM,qBAAoB,MAAM,kBAAiB,MAAM,KAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;uBAmBnL,OAAO,CAAC,UAAU,EAAE,CAAC;8BASX,MAAM,SAAQ,MAAM,KAAE,OAAO,CAAC,UAAU,EAAE,CAAC;qCAUpC,MAAM,EAAE,KAAE,OAAO,CAAC,UAAU,EAAE,CAAC;sCAS9B,MAAM,EAAE,KAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oCAUhC,MAAM,EAAE;oDASO,MAAM,EAAE,KAAE,OAAO,CAAC,eAAe,EAAE,CAAC;8BAS1D,MAAM,EAAE;sBAUnB,OAAO,CAAC,WAAW,EAAE,CAAC;kCAQV,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;mCAS3C,MAAM,KAAE,OAAO,CAAC,YAAY,EAAE,CAAC;sCAS5B,MAAM,KAAE,OAAO,CAAC,YAAY,EAAE,CAAC;4CAQzB,MAAM,KAAE,OAAO,CAAC,UAAU,EAAE,CAAC;8BAS3C,MAAM,EAAE,KAAE,OAAO,CAAC,UAAU,EAAE,CAAC;iCAS5B,MAAM;yCAQE,MAAM,KAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAS/E,CAAA;AAGD,QAAA,MAAM,sBAAsB;qCACQ,mBAAmB,EAAE,KAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAC,MAAM,CAAA;KAAE;iCAKxE,MAAM,QAAO,MAAM,KAAE,MAAM;2BASlC,WAAW,SAAQ,MAAM,SAAQ,MAAM;yBAOzC,MAAM,aAAY,MAAM;mDAME,MAAM;mCAUtB,WAAW,eAAc,qBAAqB,YAAW,YAAY,SAAQ,SAAS;;;;sBAkBlG,MAAM;6BAqBE,UAAU,eAAc,qBAAqB;;;;iCAO5C,UAAU,UAAS,WAAW,eAAc,qBAAqB,YAAW,YAAY,SAAQ,SAAS;;;;iCAwBvG,UAAU,aAAY,MAAM;2CAQnB,eAAe,aAAY,MAAM;iCAQ3C,UAAU,aAAY,MAAM;gCAQ7B,UAAU;uCAQF,UAAU,UAAS,WAAW,SAAQ,UAAU,YAAW,YAAY,WAAU,GAAG,KAAE,MAAM,GAAG,SAAS;wCAyBvG,UAAU,GAAG,uBAAuB,UAAS,WAAW,cAAa,eAAe,YAAW,YAAY,SAAQ,SAAS,KAAE,MAAM,GAAG,SAAS;mCAuBrJ,UAAU,UAAS,WAAW,SAAQ,UAAU,YAAW,YAAY,SAAQ,SAAS,KAAE,MAAM,GAAG,SAAS;4CAuBpG,MAAM,WAAU,WAAW,UAAS,UAAU,eAAc,eAAe,UAAS,UAAU;;;;;CAwCxI,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { AthleteProps, BestAvailableOrderProps, EventOrderStatProps, MarketProps, OrderProps, TournamentProps, TradeProps } from "../../../types";
|
|
2
|
+
import type { AthleteProps, BestAvailableOrderProps, EventOrderStatProps, LeagueProps, MarketProps, OrderProps, TournamentProps, TradeProps } from "../../../types";
|
|
3
3
|
type AthleteTournamentMarketProps = {
|
|
4
4
|
tournament: TournamentProps;
|
|
5
5
|
event_type: 'team' | 'tournament' | 'match';
|
|
@@ -11,6 +11,7 @@ type AthleteTournamentMarketProps = {
|
|
|
11
11
|
hide_image?: boolean;
|
|
12
12
|
style?: any;
|
|
13
13
|
show_event?: boolean;
|
|
14
|
+
league?: LeagueProps;
|
|
14
15
|
direction?: 'horizontal' | 'vertical';
|
|
15
16
|
hide_liquidity?: boolean;
|
|
16
17
|
latest_trades: TradeProps[];
|
|
@@ -28,6 +29,6 @@ type AthleteTournamentMarketProps = {
|
|
|
28
29
|
}) => void;
|
|
29
30
|
onTradeLongPress: (trade: TradeProps) => void;
|
|
30
31
|
};
|
|
31
|
-
declare const _default: React.MemoExoticComponent<({ tournament, float, style, hide_image, direction, show_event, hide_liquidity, hide_stat_banner, athlete, market, event_order_stats, default_price_view, latest_trades, show_grades, best_available_orders, onOrder, onView, onTradeLongPress }: AthleteTournamentMarketProps) => React.JSX.Element>;
|
|
32
|
+
declare const _default: React.MemoExoticComponent<({ tournament, league, float, style, hide_image, direction, show_event, hide_liquidity, hide_stat_banner, athlete, market, event_order_stats, default_price_view, latest_trades, show_grades, best_available_orders, onOrder, onView, onTradeLongPress }: AthleteTournamentMarketProps) => React.JSX.Element>;
|
|
32
33
|
export default _default;
|
|
33
34
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/typescript/src/MarketComponents/components/AthleteTournamentMarket/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/MarketComponents/components/AthleteTournamentMarket/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,WAAW,EAAyB,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/MarketComponents/components/AthleteTournamentMarket/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAyB,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAS1L,KAAK,4BAA4B,GAAG;IAChC,UAAU,EAAC,eAAe,CAAC;IAC3B,UAAU,EAAC,MAAM,GAAC,YAAY,GAAC,OAAO,CAAC;IACvC,OAAO,EAAC,YAAY,CAAC;IACrB,gBAAgB,CAAC,EAAC,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAC,MAAM,CAAC;IACd,KAAK,CAAC,EAAC,OAAO,CAAC;IACf,MAAM,EAAC,WAAW,CAAC;IACnB,UAAU,CAAC,EAAC,OAAO,CAAC;IACpB,KAAK,CAAC,EAAC,GAAG,CAAC;IACX,UAAU,CAAC,EAAC,OAAO,CAAC;IACpB,MAAM,CAAC,EAAC,WAAW,CAAC;IACpB,SAAS,CAAC,EAAC,YAAY,GAAC,UAAU,CAAC;IACnC,cAAc,CAAC,EAAC,OAAO,CAAC;IACxB,aAAa,EAAC,UAAU,EAAE,CAAC;IAC3B,qBAAqB,EAAC,uBAAuB,EAAE,CAAC;IAChD,iBAAiB,EAAC,mBAAmB,EAAE,CAAC;IACxC,kBAAkB,EAAC,YAAY,GAAC,gBAAgB,CAAC;IACjD,OAAO,EAAC,CAAC,KAAK,EAAC,UAAU,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAC,OAAO,CAAC;IACrB,MAAM,EAAC,CAAC,IAAI,EAAC;QAAC,QAAQ,EAAC,MAAM,CAAC;QAAC,UAAU,EAAC,MAAM,CAAC;QAAC,SAAS,EAAC,MAAM,CAAC;QAAC,SAAS,EAAC,SAAS,CAAC;QAAC,OAAO,EAAC,MAAM,CAAA;KAAC,KAAK,IAAI,CAAC;IAClH,gBAAgB,EAAC,CAAC,KAAK,EAAC,UAAU,KAAK,IAAI,CAAA;CAC9C,CAAA;4SAEwR,4BAA4B;AAoGrT,wBAGE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/MarketComponents/components/TournamentMarket/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAGpE,OAAO,KAAK,EAAgB,uBAAuB,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAc,UAAU,EAAa,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAa3L,KAAK,qBAAqB,GAAG;IACzB,UAAU,EAAC,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAC,WAAW,CAAC;IACpB,OAAO,EAAC,WAAW,EAAE,CAAC;IACtB,cAAc,CAAC,EAAC,OAAO,CAAC;IACxB,KAAK,CAAC,EAAC,MAAM,CAAC;IACd,KAAK,CAAC,EAAC,GAAG,CAAC;IACX,oBAAoB,CAAC,EAAC,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAC,OAAO,CAAC;IACrB,KAAK,CAAC,EAAC,OAAO,CAAC;IACf,0BAA0B,CAAC,EAAC,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAC,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAC,OAAO,CAAC;IACtB,aAAa,EAAC,UAAU,EAAE,CAAC;IAC3B,qBAAqB,EAAC,uBAAuB,EAAE,CAAC;IAChD,sBAAsB,EAAC,uBAAuB,EAAE,CAAC;IACjD,iBAAiB,EAAC,mBAAmB,EAAE,CAAC;IACxC,iBAAiB,EAAC,mBAAmB,EAAE,CAAC;IACxC,mBAAmB,EAAC,UAAU,EAAE,CAAC;IACjC,wBAAwB,CAAC,EAAC,MAAM,CAAC;IACjC,OAAO,CAAC,EAAC,CAAC,CAAC,EAAC,eAAe,KAAK,IAAI,CAAC;IACrC,MAAM,EAAC,CAAC,IAAI,EAAC;QAAE,QAAQ,EAAC,MAAM,CAAC;QAAC,UAAU,EAAC,MAAM,CAAC;QAAC,SAAS,EAAC,MAAM,CAAC;QAAC,SAAS,CAAC,EAAC,MAAM,CAAC;QAAC,OAAO,CAAC,EAAC,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnH,gBAAgB,EAAC,CAAC,KAAK,EAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAC,CAAC,QAAQ,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,KAAK,IAAI,CAAC;IACzD,uBAAuB,EAAE,CAAC,QAAQ,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,KAAK,IAAI,CAAC;IACtE,OAAO,EAAC,CAAC,KAAK,EAAC,UAAU,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,QAAA,MAAM,gBAAgB,GAAI,yYAAwY,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/MarketComponents/components/TournamentMarket/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAGpE,OAAO,KAAK,EAAgB,uBAAuB,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAc,UAAU,EAAa,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAa3L,KAAK,qBAAqB,GAAG;IACzB,UAAU,EAAC,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAC,WAAW,CAAC;IACpB,OAAO,EAAC,WAAW,EAAE,CAAC;IACtB,cAAc,CAAC,EAAC,OAAO,CAAC;IACxB,KAAK,CAAC,EAAC,MAAM,CAAC;IACd,KAAK,CAAC,EAAC,GAAG,CAAC;IACX,oBAAoB,CAAC,EAAC,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAC,OAAO,CAAC;IACrB,KAAK,CAAC,EAAC,OAAO,CAAC;IACf,0BAA0B,CAAC,EAAC,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAC,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAC,OAAO,CAAC;IACtB,aAAa,EAAC,UAAU,EAAE,CAAC;IAC3B,qBAAqB,EAAC,uBAAuB,EAAE,CAAC;IAChD,sBAAsB,EAAC,uBAAuB,EAAE,CAAC;IACjD,iBAAiB,EAAC,mBAAmB,EAAE,CAAC;IACxC,iBAAiB,EAAC,mBAAmB,EAAE,CAAC;IACxC,mBAAmB,EAAC,UAAU,EAAE,CAAC;IACjC,wBAAwB,CAAC,EAAC,MAAM,CAAC;IACjC,OAAO,CAAC,EAAC,CAAC,CAAC,EAAC,eAAe,KAAK,IAAI,CAAC;IACrC,MAAM,EAAC,CAAC,IAAI,EAAC;QAAE,QAAQ,EAAC,MAAM,CAAC;QAAC,UAAU,EAAC,MAAM,CAAC;QAAC,SAAS,EAAC,MAAM,CAAC;QAAC,SAAS,CAAC,EAAC,MAAM,CAAC;QAAC,OAAO,CAAC,EAAC,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnH,gBAAgB,EAAC,CAAC,KAAK,EAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAC,CAAC,QAAQ,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,KAAK,IAAI,CAAC;IACzD,uBAAuB,EAAE,CAAC,QAAQ,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,KAAK,IAAI,CAAC;IACtE,OAAO,EAAC,CAAC,KAAK,EAAC,UAAU,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,QAAA,MAAM,gBAAgB,GAAI,yYAAwY,qBAAqB,sBA6Ztb,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -145,7 +145,7 @@ declare const _default: {
|
|
|
145
145
|
away_label?: string;
|
|
146
146
|
home_label?: string;
|
|
147
147
|
}) => import("react").JSX.Element;
|
|
148
|
-
AthleteTournamentMarket: import("react").MemoExoticComponent<({ tournament, float, style, hide_image, direction, show_event, hide_liquidity, hide_stat_banner, athlete, market, event_order_stats, default_price_view, latest_trades, show_grades, best_available_orders, onOrder, onView, onTradeLongPress }: {
|
|
148
|
+
AthleteTournamentMarket: import("react").MemoExoticComponent<({ tournament, league, float, style, hide_image, direction, show_event, hide_liquidity, hide_stat_banner, athlete, market, event_order_stats, default_price_view, latest_trades, show_grades, best_available_orders, onOrder, onView, onTradeLongPress }: {
|
|
149
149
|
tournament: import("../types").TournamentProps;
|
|
150
150
|
event_type: "team" | "tournament" | "match";
|
|
151
151
|
athlete: import("../types").AthleteProps;
|
|
@@ -156,6 +156,7 @@ declare const _default: {
|
|
|
156
156
|
hide_image?: boolean;
|
|
157
157
|
style?: any;
|
|
158
158
|
show_event?: boolean;
|
|
159
|
+
league?: import("../types").LeagueProps;
|
|
159
160
|
direction?: "horizontal" | "vertical";
|
|
160
161
|
hide_liquidity?: boolean;
|
|
161
162
|
latest_trades: import("../types").TradeProps[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/MarketComponents/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;qBAgC2oB,CAAC;mBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/MarketComponents/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;qBAgC2oB,CAAC;mBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAf5oB,CAAC;qBACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAcse,CAAC;mBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBARnf,CAAC;qBACX,CAAC;;;;;;;;;;;;;AATZ,wBAgBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Ticker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Ticker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAA0E,UAAU,EAA0C,MAAM,UAAU,CAAC;AAW3J,KAAK,WAAW,GAAG;IACf,UAAU,EAAC,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAC,OAAO,GAAC,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAC,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAC,CAAC,MAAM,EAAC,UAAU,EAAE,KAAK,IAAI,CAAA;CAC1C,CAAA;AAKD,QAAA,MAAM,MAAM,GAAI,mDAAkD,WAAW,sBAsP5E,CAAA;AAED,eAAe,MAAM,CAAA"}
|
package/package.json
CHANGED
package/src/Campaign/index.tsx
CHANGED
|
@@ -152,6 +152,7 @@ const Campaign = ({ campaign_id, insets, color_mode, auto, distinct_id, my_parti
|
|
|
152
152
|
switch(data.item){
|
|
153
153
|
case 'ticker':
|
|
154
154
|
if(!ticker_visible){ return <></> }
|
|
155
|
+
if(!campaign){ return <></> }
|
|
155
156
|
return (
|
|
156
157
|
<TickerApp
|
|
157
158
|
league_ids={campaign?.league_ids ?? []}
|
|
@@ -70,7 +70,7 @@ const AthleteMarketCard = ({ markets, competition_type, event, athlete, mode, l
|
|
|
70
70
|
|
|
71
71
|
<View transparent nativeID="event_details" style={{ flexGrow:1, flexDirection:orientation=='horizontal'?'row':'column', alignItems:'center' }}>
|
|
72
72
|
<View transparent nativeID="athlete_image" style={{ flexGrow:1 }}>
|
|
73
|
-
<AthleteImage athlete={athlete} size={
|
|
73
|
+
<AthleteImage athlete={athlete} size={48} number_size={10}/>
|
|
74
74
|
</View>
|
|
75
75
|
<View transparent>
|
|
76
76
|
<Text size={16} theme='h1' textAlign="center">{athlete.first_name} {athlete.last_name}</Text>
|
|
@@ -80,12 +80,12 @@ const MatchMarketCard = ({ match, home_athlete, away_athlete, competition_type,
|
|
|
80
80
|
{match.participant_type == 'athlete' ?
|
|
81
81
|
<View transparent nativeID="event_details" style={{ flex:1, flexDirection:'row', alignItems:'center' }}>
|
|
82
82
|
<View transparent nativeID="away_athlete" style={{ flex:1 }}>
|
|
83
|
-
<AthleteImage size={
|
|
83
|
+
<AthleteImage size={48} athlete={away_athlete}/>
|
|
84
84
|
<Text style={{ padding:10 }} size={14} theme='h1' textAlign="center">{away_athlete.first_name} {away_athlete.last_name}</Text>
|
|
85
85
|
</View>
|
|
86
86
|
<Text size={14} theme='h1' style={{ padding:20 }} weight='bold'>VS</Text>
|
|
87
87
|
<View transparent nativeID="away_athlete" style={{ flex:1 }}>
|
|
88
|
-
<AthleteImage size={
|
|
88
|
+
<AthleteImage size={48} athlete={home_athlete}/>
|
|
89
89
|
<Text style={{ padding:10 }} size={14} theme='h1' weight='bold' textAlign="center">{home_athlete.first_name} {home_athlete.last_name}</Text>
|
|
90
90
|
</View>
|
|
91
91
|
</View>
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Image as RN_Image } from 'react-native';
|
|
3
3
|
import type { AthleteProps, LeagueProps, TeamProps } from "../types"
|
|
4
4
|
import Colors from '../constants/colors';
|
|
5
5
|
import Text from './Text';
|
|
6
6
|
import Svg, { G, Defs, Path, Polygon, Pattern, Image, Line, Rect} from 'react-native-svg';
|
|
7
|
+
import { View } from './Themed';
|
|
7
8
|
|
|
8
9
|
type AthleteImageProps = {
|
|
9
10
|
athlete:AthleteProps
|
|
@@ -35,23 +36,23 @@ const AthleteImage = ({ athlete, size, number_size, league }:AthleteImageProps)
|
|
|
35
36
|
case 'NBA':
|
|
36
37
|
return <NBAJersey size={size} jersey_fill={athlete.team?.primary_color ?? Colors.brand.midnight} stripe_fill={athlete.team?.secondary_color ?? Colors.brand.mint} />
|
|
37
38
|
case 'HORSE':
|
|
38
|
-
return <Horse />
|
|
39
|
+
return <Horse size={size}/>
|
|
39
40
|
default:
|
|
40
41
|
return <NFLJersey size={size} jersey_fill={athlete.team?.primary_color ?? Colors.brand.midnight} stripe_fill={athlete.team?.secondary_color ?? Colors.brand.mint}/>
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
return (
|
|
45
|
-
<View style={{ alignSelf:'center', justifyContent:'center', alignItems:'center', height:
|
|
46
|
+
<View float style={{ alignSelf:'center', justifyContent:'center', alignItems:'center', padding:5, height:size+4, width:size+4, borderRadius:100 }}>
|
|
46
47
|
{athlete_image ?
|
|
47
|
-
<RN_Image source={{ uri: athlete_image }} style={{ height:size
|
|
48
|
+
<RN_Image source={{ uri: athlete_image }} style={{ height:size, width:size, borderRadius:100 }} resizeMode='center'/>
|
|
48
49
|
:
|
|
49
|
-
<View>
|
|
50
|
+
<View transparent>
|
|
50
51
|
{getAthleteImage()}
|
|
51
52
|
</View>
|
|
52
53
|
}
|
|
53
54
|
{!athlete_image && (athlete.jersey_number || athlete.jersey_number == 0) ?
|
|
54
|
-
<View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'center', alignItems:'center' }}>
|
|
55
|
+
<View transparent style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'center', alignItems:'center' }}>
|
|
55
56
|
<Text weight='bold' size={number_size ?? 18} color={Colors.shades.white}>{athlete.jersey_number}</Text>
|
|
56
57
|
</View>
|
|
57
58
|
:<></>}
|
|
@@ -185,9 +186,12 @@ const PGAJersey = ({ size }:{size?:number}) => {
|
|
|
185
186
|
}
|
|
186
187
|
|
|
187
188
|
|
|
188
|
-
const Horse = () => {
|
|
189
|
+
const Horse = ({ size }:{size?:number}) => {
|
|
190
|
+
const ratio = 0.574
|
|
191
|
+
const width = size ?? 35
|
|
192
|
+
const height = width * ratio
|
|
189
193
|
return (
|
|
190
|
-
<Svg width=
|
|
194
|
+
<Svg width={`${width}px`} height={`${height}px`} viewBox="0 0 47 27">
|
|
191
195
|
<G id="Page-1" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
|
|
192
196
|
<G id="Horse" transform="translate(1.000000, 1.000000)">
|
|
193
197
|
<Path d="M4,18.5 L4,10.5 L12.5,10 L12.5,18.5 C12.5,18.8333 12.4,19 12,19 L5,19 C4.2,19 4,18.8333 4,18.5 Z" id="Path" fill="#C4C4C4" fillRule="nonzero"></Path>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
2
|
import { APIOverrides } from "../../ApiOverrides"
|
|
3
|
-
import type { PollCampaignLeaderProps, PollCampaignProps, PollOptionProps, PollProps, PollResponseProps, PollSummaryProps } from "../../types";
|
|
3
|
+
import type { FlashMarketFeeProps, PollCampaignLeaderProps, PollCampaignProps, PollOptionProps, PollProps, PollResponseProps, PollSummaryProps } from "../../types";
|
|
4
4
|
import moment from "moment-mini";
|
|
5
5
|
|
|
6
6
|
//let EVENT_SVC_API = ''
|
|
@@ -27,10 +27,10 @@ const FlashMarketApi = {
|
|
|
27
27
|
return undefined
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
-
getPollCampaignById : async(poll_campaign_id:string):Promise<PollCampaignProps | undefined> => {
|
|
30
|
+
getPollCampaignById : async(poll_campaign_id:string):Promise<{ poll_campaign:PollCampaignProps, flash_market_fees:FlashMarketFeeProps[] } | undefined> => {
|
|
31
31
|
try {
|
|
32
32
|
const resp = await axios.get(`${AUTH_SVC_API}/v1/polls/campaigns/campaign/${poll_campaign_id}`)
|
|
33
|
-
return resp.data
|
|
33
|
+
return resp.data
|
|
34
34
|
} catch (e) {
|
|
35
35
|
return undefined
|
|
36
36
|
}
|
|
@@ -44,9 +44,9 @@ const FlashMarketApi = {
|
|
|
44
44
|
return []
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
|
-
createPMOrder: async(poll_option_id:string, stake:number):Promise<{ poll_response:PollResponseProps, my_leader:PollCampaignLeaderProps, poll_campaign:PollCampaignProps } | undefined> => {
|
|
47
|
+
createPMOrder: async(poll_option_id:string, stake:number, poll_response_id?:string):Promise<{ poll_response:PollResponseProps, my_leader:PollCampaignLeaderProps, poll_campaign:PollCampaignProps } | undefined> => {
|
|
48
48
|
try {
|
|
49
|
-
const resp = await axios.post(`${AUTH_SVC_API}/v2/pm/action/order`, { poll_option_id, stake });
|
|
49
|
+
const resp = await axios.post(`${AUTH_SVC_API}/v2/pm/action/order`, { poll_option_id, stake, poll_response_id });
|
|
50
50
|
return resp.data
|
|
51
51
|
} catch (e) {
|
|
52
52
|
console.log(e);
|
|
@@ -70,7 +70,6 @@ export const FlashMarketHelpers = {
|
|
|
70
70
|
let winnings = poll_response.winnings
|
|
71
71
|
let earnings = winnings - num_stake
|
|
72
72
|
return { stake: num_stake, potential_winnings: pot_winnings, winnings, earnings }
|
|
73
|
-
|
|
74
73
|
},
|
|
75
74
|
calcPotentialWinnings: (probability?:number, stake?:string) => {
|
|
76
75
|
if(!probability || !stake){ return 0 }
|
|
@@ -78,15 +77,31 @@ export const FlashMarketHelpers = {
|
|
|
78
77
|
if(isNaN(stake_num)){ return 0 }
|
|
79
78
|
return stake_num / probability
|
|
80
79
|
},
|
|
81
|
-
|
|
80
|
+
calcDraftStake: (poll_responses:PollResponseProps[], draft_stake:string, poll_option_id?:string) => {
|
|
81
|
+
let stake_num = parseFloat(draft_stake);
|
|
82
|
+
let existing_response = poll_responses.find(pr => pr.poll_option_id == poll_option_id);
|
|
83
|
+
if(existing_response){ stake_num += parseFloat(existing_response.stake as string) }
|
|
84
|
+
return stake_num
|
|
85
|
+
},
|
|
86
|
+
getFeeFromValue: (value:number, fees:FlashMarketFeeProps[]) => {
|
|
87
|
+
let fee = fees.find(f => value >= f.minimum_stake && value <= f.maximum_stake);
|
|
88
|
+
if(!fee){ return fees[0] }
|
|
89
|
+
return fee
|
|
90
|
+
},
|
|
91
|
+
getStats: (poll_summaries:PollSummaryProps[], fees:FlashMarketFeeProps[]) => {
|
|
82
92
|
let total_staked = poll_summaries.reduce((a,b) => a + b.stake, 0);
|
|
93
|
+
let fee = FlashMarketHelpers.getFeeFromValue(total_staked, fees);
|
|
94
|
+
if(!fee){ return { total_staked } }
|
|
95
|
+
total_staked = total_staked * (1 - fee.fee_pct)
|
|
83
96
|
return { total_staked }
|
|
84
97
|
},
|
|
85
|
-
isValid: (poll?:PollProps, stake?:string) => {
|
|
98
|
+
isValid: (poll_responses:PollResponseProps[], poll?:PollProps, stake?:string, poll_option_id?:string) => {
|
|
86
99
|
if(!poll || !stake){ return false }
|
|
87
100
|
if(poll.status != 'active'){ return false }
|
|
88
101
|
if(moment().isAfter(poll.end_datetime) && !poll.manual_close_only){ return false }
|
|
89
102
|
let stake_num = parseFloat(stake);
|
|
103
|
+
let existing_response = poll_responses.find(pr => pr.poll_option_id == poll_option_id);
|
|
104
|
+
if(existing_response){ stake_num += parseFloat(existing_response.stake as string) }
|
|
90
105
|
if(isNaN(stake_num)){ return false }
|
|
91
106
|
if(stake_num > poll.max_stake){ return false }
|
|
92
107
|
if(stake_num < poll.minimum_stake){ return false }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { Button, Text, TextInput, View } from "../Components/Themed";
|
|
3
|
-
import type { LocationProps, PollCampaignProps, PollOptionProps, PollProps, PollResponseProps, PollSummaryProps, PublicPlayerProps } from '../types';
|
|
3
|
+
import type { FlashMarketFeeProps, LocationProps, PollCampaignProps, PollOptionProps, PollProps, PollResponseProps, PollSummaryProps, PublicPlayerProps } from '../types';
|
|
4
4
|
import { FlashMarketApi, FlashMarketHelpers } from './api';
|
|
5
5
|
import { Icons } from '../Components';
|
|
6
6
|
import { useColors } from '../constants/useColors';
|
|
@@ -45,28 +45,31 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
45
45
|
loading:boolean,
|
|
46
46
|
poll?:PollProps,
|
|
47
47
|
poll_campaign?:PollCampaignProps,
|
|
48
|
+
flash_market_fees:FlashMarketFeeProps[],
|
|
48
49
|
poll_options:PollOptionProps[],
|
|
49
50
|
poll_summaries:PollSummaryProps[]
|
|
50
51
|
}>({
|
|
51
52
|
loading:false,
|
|
52
53
|
poll_options:[],
|
|
53
|
-
poll_summaries:[]
|
|
54
|
+
poll_summaries:[],
|
|
55
|
+
flash_market_fees:[]
|
|
54
56
|
});
|
|
55
|
-
const { loading, poll, poll_options, poll_summaries, poll_campaign } = market_data;
|
|
57
|
+
const { loading, poll, poll_options, poll_summaries, poll_campaign, flash_market_fees } = market_data;
|
|
56
58
|
const cl = poll_campaign?.market_type == 'FOR_MONEY' ? '$' : 'E'
|
|
57
59
|
const [ my_data, setMyData ] = useState<{
|
|
58
60
|
me_loading:boolean,
|
|
59
|
-
|
|
61
|
+
my_responses:PollResponseProps[]
|
|
60
62
|
}>({
|
|
61
|
-
me_loading:false
|
|
63
|
+
me_loading:false,
|
|
64
|
+
my_responses:[]
|
|
62
65
|
});
|
|
63
|
-
const { me_loading,
|
|
66
|
+
const { me_loading, my_responses } = my_data;
|
|
64
67
|
const [ selected_option, setSelectedOption ] = useState<PollOptionProps | undefined>(undefined);
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
const order_valid = FlashMarketHelpers.isValid(poll, draft_data.stake);
|
|
68
|
+
const draft_stake = FlashMarketHelpers.calcDraftStake(my_responses, draft_data.stake, selected_option?.poll_option_id);
|
|
69
|
+
const potential_winnings = FlashMarketHelpers.calcPotentialWinnings(selected_option?.parimutuel_odds, draft_stake.toFixed(2));
|
|
70
|
+
const order_valid = FlashMarketHelpers.isValid(my_responses, poll, draft_data.stake, selected_option?.poll_option_id);
|
|
69
71
|
const visible_options = poll_options.filter(po => po.status != 'inactive').sort((a,b) => a.priority - b.priority)
|
|
72
|
+
|
|
70
73
|
useEffect(() => {
|
|
71
74
|
FlashMarketApi.setEnvironment();
|
|
72
75
|
loadMarket(poll_id);
|
|
@@ -119,8 +122,9 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
119
122
|
setMarketData({
|
|
120
123
|
...market_data,
|
|
121
124
|
poll: pr.poll,
|
|
122
|
-
poll_campaign:pc,
|
|
125
|
+
poll_campaign:pc?.poll_campaign,
|
|
123
126
|
poll_options:pr.poll_options,
|
|
127
|
+
flash_market_fees: pc?.flash_market_fees ?? [],
|
|
124
128
|
poll_summaries: pr.poll_summaries,
|
|
125
129
|
loading:false
|
|
126
130
|
});
|
|
@@ -128,6 +132,7 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
128
132
|
if(init_expanded){ setExpanded(true) }
|
|
129
133
|
}
|
|
130
134
|
|
|
135
|
+
|
|
131
136
|
const handleSubmit = async(poll_option:PollOptionProps) => {
|
|
132
137
|
if(!player_id){ return onRequestAuthenticate() }
|
|
133
138
|
if(!order_valid){ return }
|
|
@@ -138,12 +143,13 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
138
143
|
if(!location.legal_ind){ return alert(`Real money flash markets are not available in your current location`) }
|
|
139
144
|
}
|
|
140
145
|
setActionLoading(true);
|
|
146
|
+
let previous_response = my_responses.find(r => r.poll_option_id == poll_option.poll_option_id);
|
|
141
147
|
let stake_num = parseFloat(draft_data.stake);
|
|
142
|
-
const response = await FlashMarketApi.createPMOrder(poll_option.poll_option_id, stake_num);
|
|
148
|
+
const response = await FlashMarketApi.createPMOrder(poll_option.poll_option_id, stake_num, previous_response?.poll_response_id);
|
|
143
149
|
if(!response){ return alert('Unable to process order') }
|
|
144
150
|
setMyData({
|
|
145
151
|
...my_data,
|
|
146
|
-
|
|
152
|
+
my_responses: my_responses.filter(r => r.poll_response_id != response.poll_response.poll_response_id).concat(response.poll_response)
|
|
147
153
|
});
|
|
148
154
|
setSelectedOption(undefined);
|
|
149
155
|
setActionLoading(false)
|
|
@@ -187,12 +193,22 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
187
193
|
if(!poll){ return }
|
|
188
194
|
setMyData({ ...my_data, me_loading: true });
|
|
189
195
|
let responses = await FlashMarketApi.getMyCampaignResponses(poll.poll_campaign_id);
|
|
190
|
-
let
|
|
191
|
-
setMyData({ ...my_data, me_loading: false,
|
|
196
|
+
let poll_responses = responses.filter(r => r.poll_id == poll_id);
|
|
197
|
+
setMyData({ ...my_data, me_loading: false, my_responses:poll_responses })
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
const isOrderAllowed = (option:PollOptionProps, my_responses:PollResponseProps[]) => {
|
|
201
|
+
if(!poll){ return false }
|
|
202
|
+
if(poll.status != 'active'){ return false }
|
|
203
|
+
let my_response = my_responses.find(r => r.poll_option_id == option.poll_option_id);
|
|
204
|
+
if(!my_response && my_responses.length > 0 && !poll.multi_responses_allowed){ return false }
|
|
205
|
+
if(my_response && !poll.stake_increase_allowed){ return false }
|
|
206
|
+
return true
|
|
192
207
|
}
|
|
193
208
|
|
|
194
209
|
const renderOptions = (data:{ item:PollOptionProps, index:number }) => {
|
|
195
|
-
const my_option =
|
|
210
|
+
const my_option = my_responses.find(r => r.poll_option_id == data.item.poll_option_id)
|
|
211
|
+
const allow_order = isOrderAllowed(data.item, my_responses);
|
|
196
212
|
const response_stats = FlashMarketHelpers.getResponseStats(data.item, my_option);
|
|
197
213
|
const selected = selected_option?.poll_option_id == data.item.poll_option_id ? true : false
|
|
198
214
|
return (
|
|
@@ -213,7 +229,7 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
213
229
|
<View transparent style={{ flex:1 }}>
|
|
214
230
|
<Text theme='h1'>{data.item.option_name}</Text>
|
|
215
231
|
{selected && data.item.parimutuel_odds && data.item.parimutuel_odds > 0 ?
|
|
216
|
-
<Text theme='h2' style={{ marginTop:3 }} color={Colors.text.action}>${
|
|
232
|
+
<Text theme='h2' style={{ marginTop:3 }} color={Colors.text.action}>${draft_stake.toFixed(2)} to win ${potential_winnings.toFixed(2)}*</Text>
|
|
217
233
|
:<></>}
|
|
218
234
|
</View>
|
|
219
235
|
{!selected ?
|
|
@@ -222,7 +238,7 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
222
238
|
{my_option?.result_ind ?
|
|
223
239
|
<Text style={{ marginTop:3 }} theme='h2' color={getColor(response_stats.earnings)}>{cl}{response_stats.earnings.toFixed(2)} Earned</Text>
|
|
224
240
|
: my_option ?
|
|
225
|
-
<Text style={{ marginTop:3 }} theme='h2' color={Colors.text.h1}>{cl}{response_stats.stake.toFixed(2)} to win {cl}{response_stats.potential_winnings.toFixed(2)}
|
|
241
|
+
<Text style={{ marginTop:3 }} theme='h2' color={Colors.text.h1}>{cl}{response_stats.stake.toFixed(2)} to win {cl}{response_stats.potential_winnings.toFixed(2)}*</Text>
|
|
226
242
|
:<></>}
|
|
227
243
|
</View>
|
|
228
244
|
:<></>}
|
|
@@ -259,7 +275,7 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
259
275
|
style={{ padding:10 }}
|
|
260
276
|
onPress={() => setSelectedOption(data.item)}
|
|
261
277
|
>
|
|
262
|
-
<Text theme='h1' color={Colors.text.white}>
|
|
278
|
+
<Text theme='h1' color={Colors.text.white}>{my_option ? 'ADD' : 'BUY'}</Text>
|
|
263
279
|
</Button>
|
|
264
280
|
:<></>}
|
|
265
281
|
</View>
|
|
@@ -275,7 +291,7 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
275
291
|
|
|
276
292
|
if(!poll){ return <></> }
|
|
277
293
|
//if(!poll.flash_active){ return <></> }
|
|
278
|
-
const stats = FlashMarketHelpers.getStats(poll_summaries);
|
|
294
|
+
const stats = FlashMarketHelpers.getStats(poll_summaries, flash_market_fees);
|
|
279
295
|
return (
|
|
280
296
|
<View transparent>
|
|
281
297
|
<Button
|
|
@@ -358,8 +374,8 @@ const FlashMarket = ({ poll_id, init_expanded, header_style, footer_style, locat
|
|
|
358
374
|
</View>
|
|
359
375
|
<View style={{ flex:1 }} />
|
|
360
376
|
<View transparent style={{ justifyContent:'center', alignItems:'center', padding:5 }}>
|
|
361
|
-
<Text theme='h1' color={Colors.text.success} textAlign='center'>${stats.total_staked.toFixed(
|
|
362
|
-
<Text style={{ marginTop:2 }} theme='description' textAlign='center'>TOTAL</Text>
|
|
377
|
+
<Text theme='h1' color={Colors.text.success} textAlign='center'>${stats.total_staked.toFixed()}</Text>
|
|
378
|
+
<Text style={{ marginTop:2 }} theme='description' textAlign='center'>EST. TOTAL</Text>
|
|
363
379
|
</View>
|
|
364
380
|
</View>
|
|
365
381
|
:<></>}
|
|
@@ -165,7 +165,7 @@ const LeaderBetSelector = ({ athlete, golf_leader, golf_statistics, prior_year,
|
|
|
165
165
|
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10, borderTopRightRadius:8, borderTopLeftRadius:8 }}>
|
|
166
166
|
<AthleteImage
|
|
167
167
|
athlete={athlete}
|
|
168
|
-
size={
|
|
168
|
+
size={32}
|
|
169
169
|
/>
|
|
170
170
|
<View transparent style={{ flex:1, marginLeft:10 }}>
|
|
171
171
|
<Text theme='h1'>{athlete.first_name} {athlete.last_name}</Text>
|
|
@@ -99,7 +99,7 @@ const LeaderBetsList = ({ golf_leader, athlete, orders, markets, max_height, act
|
|
|
99
99
|
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10, borderTopRightRadius:8, borderTopLeftRadius:8 }}>
|
|
100
100
|
<AthleteImage
|
|
101
101
|
athlete={athlete}
|
|
102
|
-
size={
|
|
102
|
+
size={32}
|
|
103
103
|
/>
|
|
104
104
|
<View transparent style={{ flex:1, marginLeft:10 }}>
|
|
105
105
|
<Text theme='h1'>{athlete.first_name} {athlete.last_name}</Text>
|
|
@@ -174,7 +174,7 @@ const GolfScoreboard = ({ player_id, my_orders, tournament_id, markets, best_ava
|
|
|
174
174
|
<AthleteImage
|
|
175
175
|
athlete={athlete}
|
|
176
176
|
league={league}
|
|
177
|
-
size={
|
|
177
|
+
size={48}
|
|
178
178
|
/>
|
|
179
179
|
</View>
|
|
180
180
|
<View transparent style={{ flex:1, marginLeft:5 }}>
|
|
@@ -228,7 +228,7 @@ const GolfScoreboard = ({ player_id, my_orders, tournament_id, markets, best_ava
|
|
|
228
228
|
<AthleteImage
|
|
229
229
|
athlete={athlete}
|
|
230
230
|
league={league}
|
|
231
|
-
size={
|
|
231
|
+
size={48}
|
|
232
232
|
/>
|
|
233
233
|
</View>
|
|
234
234
|
<View transparent style={{ flex:1, marginLeft:10 }}>
|
|
@@ -273,7 +273,7 @@ const GolfScoreboard = ({ player_id, my_orders, tournament_id, markets, best_ava
|
|
|
273
273
|
<View transparent style={{ padding:10, flex:1 }}>
|
|
274
274
|
<AthleteImage
|
|
275
275
|
athlete={athlete}
|
|
276
|
-
size={
|
|
276
|
+
size={48}
|
|
277
277
|
/>
|
|
278
278
|
<Text style={{ marginTop:5 }} theme='h2' textAlign='center'>{athlete.first_name} {athlete.last_name}</Text>
|
|
279
279
|
</View>
|
|
@@ -44,6 +44,17 @@ const MarketComponentApi = {
|
|
|
44
44
|
return []
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
|
+
getActiveTournaments: async(league_id?:string):Promise<TournamentProps[]> => {
|
|
48
|
+
try {
|
|
49
|
+
const resp = await axios.get(`${EVENT_SVC_API}/v1/tournaments/active?expanded=true&league_id=${league_id}`);
|
|
50
|
+
if(resp.data.tournament_ids.length == 0){ return [] }
|
|
51
|
+
const tournaments = await MarketComponentApi.getTournamentsByTournamentIds(resp.data.tournament_ids);
|
|
52
|
+
return tournaments
|
|
53
|
+
} catch (e) {
|
|
54
|
+
console.log(e);
|
|
55
|
+
return []
|
|
56
|
+
}
|
|
57
|
+
},
|
|
47
58
|
getLatestTradesByEvents: async(event_type: string, event_ids:string[]):Promise<TradeProps[]> => {
|
|
48
59
|
try {
|
|
49
60
|
if(event_ids.length == 0){ return [] }
|
|
@@ -89,7 +89,7 @@ const AthleteMarket = ({ event, show_event, float, hide_image, direction, league
|
|
|
89
89
|
<AthleteImage
|
|
90
90
|
athlete={athlete}
|
|
91
91
|
league={league}
|
|
92
|
-
size={direction == 'horizontal' ?
|
|
92
|
+
size={direction == 'horizontal' ? 60 : 60}
|
|
93
93
|
number_size={12}
|
|
94
94
|
/>
|
|
95
95
|
:<></>}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useCallback, useMemo } from 'react';
|
|
2
|
-
import type { AthleteProps, BestAvailableOrderProps, EventOrderStatProps, MarketProps, MarketSideOptionProps, OrderProps, TournamentProps, TradeProps } from "../../../types"
|
|
2
|
+
import type { AthleteProps, BestAvailableOrderProps, EventOrderStatProps, LeagueProps, MarketProps, MarketSideOptionProps, OrderProps, TournamentProps, TradeProps } from "../../../types"
|
|
3
3
|
import MarketButton from '../MarketButton';
|
|
4
4
|
import { Icons, LinearDiagnal } from '../../../Components';
|
|
5
5
|
import { MarketButtonHelpers } from '../MarketButton/api';
|
|
@@ -19,6 +19,7 @@ type AthleteTournamentMarketProps = {
|
|
|
19
19
|
hide_image?:boolean,
|
|
20
20
|
style?:any,
|
|
21
21
|
show_event?:boolean,
|
|
22
|
+
league?:LeagueProps,
|
|
22
23
|
direction?:'horizontal'|'vertical',
|
|
23
24
|
hide_liquidity?:boolean,
|
|
24
25
|
latest_trades:TradeProps[],
|
|
@@ -31,7 +32,7 @@ type AthleteTournamentMarketProps = {
|
|
|
31
32
|
onTradeLongPress:(trade:TradeProps) => void
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
const AthleteTournamentMarket = ({ tournament, float, style, hide_image, direction, show_event, hide_liquidity, hide_stat_banner, athlete, market, event_order_stats, default_price_view, latest_trades, show_grades, best_available_orders, onOrder, onView, onTradeLongPress }:AthleteTournamentMarketProps) => {
|
|
35
|
+
const AthleteTournamentMarket = ({ tournament, league, float, style, hide_image, direction, show_event, hide_liquidity, hide_stat_banner, athlete, market, event_order_stats, default_price_view, latest_trades, show_grades, best_available_orders, onOrder, onView, onTradeLongPress }:AthleteTournamentMarketProps) => {
|
|
35
36
|
const C = useColors();
|
|
36
37
|
const { liquidity, open_order_count } = useMemo(() => MarketComponentHelpers.getLiqudity(event_order_stats),[JSON.stringify(event_order_stats)]);
|
|
37
38
|
const is_locked = useMemo(() => MarketComponentHelpers.isTournamentMarketLocked(tournament, market.market_id),[JSON.stringify(tournament.supported_markets)])
|
|
@@ -82,11 +83,12 @@ const AthleteTournamentMarket = ({ tournament, float, style, hide_image, directi
|
|
|
82
83
|
:<></>}
|
|
83
84
|
<View transparent style={{ flexDirection:direction == 'horizontal' ? 'row' : 'column', flexGrow:1 }}>
|
|
84
85
|
|
|
85
|
-
<View transparent style={{ flexDirection:direction == 'horizontal' ? 'row' : 'column', flexGrow:1, padding:
|
|
86
|
+
<View transparent style={{ flexDirection:direction == 'horizontal' ? 'row' : 'column', flexGrow:1, padding:2, justifyContent:'center', alignItems:'center' }}>
|
|
86
87
|
{!hide_image ?
|
|
87
88
|
<AthleteImage
|
|
88
89
|
athlete={athlete}
|
|
89
|
-
|
|
90
|
+
league={league}
|
|
91
|
+
size={50}
|
|
90
92
|
number_size={12}
|
|
91
93
|
/>
|
|
92
94
|
:<></>}
|
|
@@ -41,7 +41,7 @@ const MatchMarket = ({ league, match, tournament, float, show_event, hide_image,
|
|
|
41
41
|
const { liquidity, open_order_count } = useMemo(() => MarketComponentHelpers.getLiqudity(event_order_stats), [JSON.stringify(event_order_stats)])
|
|
42
42
|
const is_locked = useMemo(() => MarketComponentHelpers.isMatchMarketLocked(match, market.market_id),[JSON.stringify(match.supported_markets)])
|
|
43
43
|
const match_time_detail = MarketComponentHelpers.getMatchTimeDetail(match);
|
|
44
|
-
let image_size = image_size_override ??
|
|
44
|
+
let image_size = image_size_override ?? 40
|
|
45
45
|
if(!image_size_override && width){ image_size = width * 0.18 }
|
|
46
46
|
|
|
47
47
|
const getSideLabel = (side:string) => {
|
|
@@ -217,6 +217,7 @@ const TournamentMarket = ({ tournament, float, wrap_markets, width, style, marke
|
|
|
217
217
|
onTradeLongPress={onTradeLongPress}
|
|
218
218
|
onView={onView}
|
|
219
219
|
float
|
|
220
|
+
league={league}
|
|
220
221
|
style={{ flexGrow:1 }}
|
|
221
222
|
show_grades={show_grades}
|
|
222
223
|
hide_liquidity={hide_participant_liquidity ? true : false}
|