diff --git a/web/components/answers/answers-graph.tsx b/web/components/answers/answers-graph.tsx index 27b8846d..63824dd4 100644 --- a/web/components/answers/answers-graph.tsx +++ b/web/components/answers/answers-graph.tsx @@ -4,20 +4,28 @@ import dayjs from 'dayjs' import _ from 'lodash' import { Bet } from '../../../common/bet' -import { Contract } from '../../../common/contract' +import { + Contract, + DPM, + FreeResponse, + FullContract, +} from '../../../common/contract' import { getOutcomeProbability } from '../../../common/calculate' import { useBets } from '../../hooks/use-bets' import { useWindowSize } from '../../hooks/use-window-size' -export function AnswersGraph(props: { contract: Contract; bets: Bet[] }) { +export function AnswersGraph(props: { + contract: FullContract + bets: Bet[] +}) { const { contract } = props - const { resolutionTime, closeTime, answers, totalShares } = contract + const { resolutionTime, closeTime, answers } = contract const bets = (useBets(contract.id) ?? props.bets).filter((bet) => !bet.sale) const { probsByOutcome, sortedOutcomes } = computeProbsByOutcome( bets, - totalShares + contract ) const isClosed = !!closeTime && Date.now() > closeTime @@ -134,10 +142,7 @@ function formatTime(time: number, includeTime: boolean) { return dayjs(time).format('MMM D') } -const computeProbsByOutcome = ( - bets: Bet[], - totalShares: { [outcome: string]: number } -) => { +const computeProbsByOutcome = (bets: Bet[], contract: Contract) => { const betsByOutcome = _.groupBy(bets, (bet) => bet.outcome) const outcomes = Object.keys(betsByOutcome).filter((outcome) => { const maxProb = Math.max( @@ -148,7 +153,7 @@ const computeProbsByOutcome = ( const trackedOutcomes = _.sortBy( outcomes, - (outcome) => -1 * getOutcomeProbability(totalShares, outcome) + (outcome) => -1 * getOutcomeProbability(contract, outcome) ).slice(0, 5) const probsByOutcome = _.fromPairs( diff --git a/web/components/contract-overview.tsx b/web/components/contract-overview.tsx index f92f2ade..e5ac8bb2 100644 --- a/web/components/contract-overview.tsx +++ b/web/components/contract-overview.tsx @@ -20,6 +20,7 @@ import { Fold } from '../../common/fold' import { FoldTagList } from './tags-list' import { ContractActivity } from './feed/contract-activity' import { AnswersGraph } from './answers/answers-graph' +import { DPM, FreeResponse, FullContract } from '../../common/contract' export const ContractOverview = (props: { contract: Contract @@ -81,7 +82,10 @@ export const ContractOverview = (props: { {isBinary ? ( ) : ( - + } + bets={bets} + /> )} {children}