diff --git a/common/like.ts b/common/like.ts index 85140e02..38b25dad 100644 --- a/common/like.ts +++ b/common/like.ts @@ -3,6 +3,6 @@ export type Like = { userId: string type: 'contract' createdTime: number - tipTxnId?: string + tipTxnId?: string // only holds most recent tip txn id } export const LIKE_TIP_AMOUNT = 5 diff --git a/web/components/contract/contract-details.tsx b/web/components/contract/contract-details.tsx index 55784ab6..a1bb3167 100644 --- a/web/components/contract/contract-details.tsx +++ b/web/components/contract/contract-details.tsx @@ -16,7 +16,7 @@ import { Contract, updateContract } from 'web/lib/firebase/contracts' import { DateTimeTooltip } from '../datetime-tooltip' import { fromNow } from 'web/lib/util/time' import { Avatar } from '../avatar' -import React, { useState } from 'react' +import { useState } from 'react' import { ContractInfoDialog } from './contract-info-dialog' import { Bet } from 'common/bet' import NewContractBadge from '../new-contract-badge' @@ -145,7 +145,7 @@ export function ContractDetails(props: { isCreator?: boolean disabled?: boolean }) { - const { contract, bets, isCreator, disabled } = props + const { contract, isCreator, disabled } = props const { closeTime, creatorName, creatorUsername, creatorId, groupLinks } = contract const { volumeLabel, resolvedDate } = contractMetrics(contract) @@ -267,7 +267,6 @@ export function ContractDetails(props: { {!disabled && ( )} @@ -310,15 +309,11 @@ export function ExtraMobileContractDetails(props: { !resolvedDate && contract.closeTime && ( - - - - - + Ends ) @@ -387,10 +382,10 @@ function EditableCloseDate(props: { return ( <> {isEditingCloseTime ? ( - + e.stopPropagation()} onChange={(e) => setCloseDate(e.target.value)} min={Date.now()} @@ -398,20 +393,25 @@ function EditableCloseDate(props: { /> e.stopPropagation()} onChange={(e) => setCloseHoursMinutes(e.target.value)} min="00:00" value={closeHoursMinutes} /> + ) : ( Date.now() ? 'Trading ends:' : 'Trading ended:'} time={closeTime} - className={isCreator ? 'cursor-pointer' : ''} > - isCreator && setIsEditingCloseTime(true)}> + isCreator && setIsEditingCloseTime(true)} + > {isSameYear ? dayJsCloseTime.format('MMM D') : dayJsCloseTime.format('MMM D, YYYY')} @@ -419,14 +419,6 @@ function EditableCloseDate(props: { )} - - {isCreator && isEditingCloseTime && ( - - - - )} ) } diff --git a/web/components/contract/contract-info-dialog.tsx b/web/components/contract/contract-info-dialog.tsx index ac8a8298..aaa3cad6 100644 --- a/web/components/contract/contract-info-dialog.tsx +++ b/web/components/contract/contract-info-dialog.tsx @@ -1,9 +1,7 @@ import { DotsHorizontalIcon } from '@heroicons/react/outline' import clsx from 'clsx' import dayjs from 'dayjs' -import { uniqBy } from 'lodash' import { useState } from 'react' -import { Bet } from 'common/bet' import { Contract } from 'common/contract' import { formatMoney } from 'common/util/format' @@ -24,10 +22,9 @@ export const contractDetailsButtonClassName = export function ContractInfoDialog(props: { contract: Contract - bets: Bet[] className?: string }) { - const { contract, bets, className } = props + const { contract, className } = props const [open, setOpen] = useState(false) const [featured, setFeatured] = useState( @@ -41,11 +38,7 @@ export function ContractInfoDialog(props: { const { createdTime, closeTime, resolutionTime, mechanism, outcomeType, id } = contract - const tradersCount = uniqBy( - bets.filter((bet) => !bet.isAnte), - 'userId' - ).length - + const bettorsCount = contract.uniqueBettorCount ?? 'Unknown' const typeDisplay = outcomeType === 'BINARY' ? 'YES / NO' @@ -140,8 +133,8 @@ export function ContractInfoDialog(props: { */} - Traders - {tradersCount} + Bettors + {bettorsCount} diff --git a/web/components/contract/contract-overview.tsx b/web/components/contract/contract-overview.tsx index 055b10bd..22ab4f16 100644 --- a/web/components/contract/contract-overview.tsx +++ b/web/components/contract/contract-overview.tsx @@ -46,9 +46,9 @@ export const ContractOverview = (props: { isCreator={isCreator} /> - +
- +
{isBinary && ( - + {user?.id !== contract.creatorId && ( + + )} - + )