diff --git a/web/components/contract/contract-overview.tsx b/web/components/contract/contract-overview.tsx
index 37639d79..78ae1e78 100644
--- a/web/components/contract/contract-overview.tsx
+++ b/web/components/contract/contract-overview.tsx
@@ -140,7 +140,7 @@ export const ContractOverview = (props: {
{(isBinary || isPseudoNumeric) && (
-
+
)}{' '}
{(outcomeType === 'FREE_RESPONSE' ||
outcomeType === 'MULTIPLE_CHOICE') && (
diff --git a/web/lib/firebase/bets.ts b/web/lib/firebase/bets.ts
index 2a095d32..7f44786a 100644
--- a/web/lib/firebase/bets.ts
+++ b/web/lib/firebase/bets.ts
@@ -28,9 +28,9 @@ function getBetsCollection(contractId: string) {
}
export async function listAllBets(contractId: string) {
- const bets = await getValues(getBetsCollection(contractId))
- bets.sort((bet1, bet2) => bet1.createdTime - bet2.createdTime)
- return bets
+ return await getValues(
+ query(getBetsCollection(contractId), orderBy('createdTime', 'desc'))
+ )
}
const DAY_IN_MS = 24 * 60 * 60 * 1000
@@ -64,10 +64,10 @@ export function listenForBets(
contractId: string,
setBets: (bets: Bet[]) => void
) {
- return listenForValues(getBetsCollection(contractId), (bets) => {
- bets.sort((bet1, bet2) => bet1.createdTime - bet2.createdTime)
- setBets(bets)
- })
+ return listenForValues(
+ query(getBetsCollection(contractId), orderBy('createdTime', 'desc')),
+ setBets
+ )
}
export async function getUserBets(
@@ -147,12 +147,10 @@ export function listenForUserContractBets(
) {
const betsQuery = query(
collection(db, 'contracts', contractId, 'bets'),
- where('userId', '==', userId)
+ where('userId', '==', userId),
+ orderBy('createdTime', 'desc')
)
- return listenForValues(betsQuery, (bets) => {
- bets.sort((bet1, bet2) => bet1.createdTime - bet2.createdTime)
- setBets(bets)
- })
+ return listenForValues(betsQuery, setBets)
}
export function listenForUnfilledBets(
@@ -162,12 +160,10 @@ export function listenForUnfilledBets(
const betsQuery = query(
collection(db, 'contracts', contractId, 'bets'),
where('isFilled', '==', false),
- where('isCancelled', '==', false)
+ where('isCancelled', '==', false),
+ orderBy('createdTime', 'desc')
)
- return listenForValues(betsQuery, (bets) => {
- bets.sort((bet1, bet2) => bet1.createdTime - bet2.createdTime)
- setBets(bets)
- })
+ return listenForValues(betsQuery, setBets)
}
export function withoutAnteBets(contract: Contract, bets?: Bet[]) {
diff --git a/web/pages/embed/[username]/[contractSlug].tsx b/web/pages/embed/[username]/[contractSlug].tsx
index afec84bb..02dbdf36 100644
--- a/web/pages/embed/[username]/[contractSlug].tsx
+++ b/web/pages/embed/[username]/[contractSlug].tsx
@@ -71,8 +71,6 @@ export default function ContractEmbedPage(props: {
const contract = useContractWithPreload(props.contract)
const { bets } = props
- bets.sort((bet1, bet2) => bet1.createdTime - bet2.createdTime)
-
if (!contract) {
return
}