From be62b9c519cecbe50099c9b50b1595a36d96f34f Mon Sep 17 00:00:00 2001 From: Marshall Polaris Date: Sun, 28 Aug 2022 01:31:42 -0700 Subject: [PATCH] Make bet calculations less wrong --- web/components/bets-list.tsx | 8 +++----- web/components/contract/contract-tabs.tsx | 16 +++++++--------- web/components/feed/contract-activity.tsx | 14 +++++++------- 3 files changed, 17 insertions(+), 21 deletions(-) diff --git a/web/components/bets-list.tsx b/web/components/bets-list.tsx index 3270408b..3217da3d 100644 --- a/web/components/bets-list.tsx +++ b/web/components/bets-list.tsx @@ -394,13 +394,11 @@ export function BetsSummary(props: { const { hasShares, invested, profitPercent, payout, profit, totalShares } = getContractBetMetrics(contract, bets) - const excludeSalesAndAntes = bets.filter( - (b) => !b.isAnte && !b.isSold && !b.sale - ) - const yesWinnings = sumBy(excludeSalesAndAntes, (bet) => + const excludeSales = bets.filter((b) => !b.isSold && !b.sale) + const yesWinnings = sumBy(excludeSales, (bet) => calculatePayout(contract, bet, 'YES') ) - const noWinnings = sumBy(excludeSalesAndAntes, (bet) => + const noWinnings = sumBy(excludeSales, (bet) => calculatePayout(contract, bet, 'NO') ) diff --git a/web/components/contract/contract-tabs.tsx b/web/components/contract/contract-tabs.tsx index 77c3df83..10f5b5e2 100644 --- a/web/components/contract/contract-tabs.tsx +++ b/web/components/contract/contract-tabs.tsx @@ -30,17 +30,15 @@ export function ContractTabs(props: { const { contract, user, tips } = props const { outcomeType } = contract - const updatedBets = useBets(contract.id, { - filterChallenges: false, - filterRedemptions: true, - }) - const bets = updatedBets ?? props.bets - const userBets = user && bets.filter((bet) => bet.userId === user.id) + const bets = useBets(contract.id) ?? props.bets + const lps = useLiquidity(contract.id) ?? [] + + const userBets = + user && bets.filter((bet) => !bet.isAnte && bet.userId === user.id) const visibleBets = bets.filter( (bet) => !bet.isAnte && !bet.isRedemption && bet.amount !== 0 ) - const liquidityProvisions = - useLiquidity(contract.id)?.filter((l) => !l.isAnte && l.amount > 0) ?? [] + const visibleLps = lps.filter((l) => !l.isAnte && l.amount > 0) // Load comments here, so the badge count will be correct const updatedComments = useComments(contract.id) @@ -50,7 +48,7 @@ export function ContractTabs(props: { ) diff --git a/web/components/feed/contract-activity.tsx b/web/components/feed/contract-activity.tsx index 0e66ebd9..7b451cc9 100644 --- a/web/components/feed/contract-activity.tsx +++ b/web/components/feed/contract-activity.tsx @@ -16,9 +16,9 @@ import { Col } from 'web/components/layout/col' export function ContractBetsActivity(props: { contract: Contract bets: Bet[] - liquidityProvisions: LiquidityProvision[] + lps: LiquidityProvision[] }) { - const { contract, bets, liquidityProvisions } = props + const { contract, bets, lps } = props const items = [ ...bets.map((bet) => ({ @@ -26,10 +26,10 @@ export function ContractBetsActivity(props: { id: bet.id + '-' + bet.isSold, bet, })), - ...liquidityProvisions.map((liquidity) => ({ + ...lps.map((lp) => ({ type: 'liquidity' as const, - id: liquidity.id, - liquidity, + id: lp.id, + lp, })), ] @@ -37,7 +37,7 @@ export function ContractBetsActivity(props: { item.type === 'bet' ? -item.bet.createdTime : item.type === 'liquidity' - ? -item.liquidity.createdTime + ? -item.lp.createdTime : undefined ) @@ -47,7 +47,7 @@ export function ContractBetsActivity(props: { item.type === 'bet' ? ( ) : ( - + ) )}