import clsx from 'clsx' import Link from 'next/link' import { Row } from '../components/layout/row' import { formatMoney } from '../lib/util/format' import { UserLink } from './user-page' import { Linkify } from './linkify' import { Contract, compute, path } from '../lib/firebase/contracts' import { Col } from './layout/col' import { parseTags } from '../lib/util/parse' import dayjs from 'dayjs' export function ContractCard(props: { contract: Contract }) { const { contract } = props const { question, resolution } = contract const { probPercent } = compute(contract) return (
  • {question}

  • ) } export function ResolutionOrChance(props: { resolution?: 'YES' | 'NO' | 'MKT' | 'CANCEL' probPercent: string large?: boolean className?: string }) { const { resolution, probPercent, large, className } = props const resolutionColor = { YES: 'text-primary', NO: 'text-red-400', MKT: 'text-blue-400', CANCEL: 'text-yellow-400', '': '', // Empty if unresolved }[resolution || ''] const resolutionText = { YES: 'YES', NO: 'NO', MKT: 'MKT', CANCEL: 'N/A', '': '', }[resolution || ''] return ( {resolution ? ( <>
    Resolved
    {resolutionText}
    ) : ( <>
    {probPercent}
    chance
    )} ) } export function AbbrContractDetails(props: { contract: Contract }) { const { contract } = props const { truePool } = compute(contract) return (
    {formatMoney(truePool)} pool
    ) } export function ContractDetails(props: { contract: Contract }) { const { contract } = props const { question, description, closeTime } = contract const { truePool, createdDate, resolvedDate } = compute(contract) const tags = parseTags(`${question} ${description}`).map((tag) => `#${tag}`) return (
    {resolvedDate ? `${createdDate} - ${resolvedDate}` : createdDate}
    {!resolvedDate && closeTime && ( <>
    {closeTime > Date.now() ? 'Closes' : 'Closed'}{' '} {dayjs(closeTime).format('MMM D, h:mma')}
    )}
    {formatMoney(truePool)} pool
    {tags.length > 0 && ( <>
    {tags.map((tag) => (
    ))}
    )} ) }