import clsx from 'clsx' import { contractPath } from 'web/lib/firebase/contracts' import { CPMMContract } from 'common/contract' import { formatPercent } from 'common/util/format' import { useProbChanges } from 'web/hooks/use-prob-changes' import { linkClass, SiteLink } from '../site-link' import { Col } from '../layout/col' import { Row } from '../layout/row' import { useState } from 'react' export function ProbChangeTable(props: { userId: string | undefined }) { const { userId } = props const changes = useProbChanges(userId ?? '') const [expanded, setExpanded] = useState(false) if (!changes) { return null } const count = expanded ? 16 : 4 const { positiveChanges, negativeChanges } = changes const filteredPositiveChanges = positiveChanges.slice(0, count / 2) const filteredNegativeChanges = negativeChanges.slice(0, count / 2) const filteredChanges = [ ...filteredPositiveChanges, ...filteredNegativeChanges, ] return ( {filteredChanges.slice(0, count / 2).map((contract) => ( {contract.question} ))} {filteredChanges.slice(count / 2).map((contract) => ( {contract.question} ))}
setExpanded(!expanded)} > {expanded ? 'Show less' : 'Show more'}
) } export function ProbChange(props: { contract: CPMMContract className?: string }) { const { contract, className } = props const { probChanges: { day: change }, } = contract const color = change > 0 ? 'text-green-500' : change < 0 ? 'text-red-500' : 'text-gray-600' const str = change === 0 ? '+0%' : `${change > 0 ? '+' : '-'}${formatPercent(Math.abs(change))}` return
{str}
}