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 && (
+
+ )}
-
+
)