Show hot markets in fold feed
This commit is contained in:
parent
00ac581736
commit
fdbaa5270b
|
@ -37,6 +37,16 @@ export async function getRecentBets() {
|
||||||
return getValues<Bet>(recentBetsQuery)
|
return getValues<Bet>(recentBetsQuery)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function getRecentContractBets(contractId: string) {
|
||||||
|
const q = query(
|
||||||
|
getBetsCollection(contractId),
|
||||||
|
where('createdTime', '>', Date.now() - DAY_IN_MS),
|
||||||
|
orderBy('createdTime', 'desc')
|
||||||
|
)
|
||||||
|
|
||||||
|
return getValues<Bet>(q)
|
||||||
|
}
|
||||||
|
|
||||||
export function listenForBets(
|
export function listenForBets(
|
||||||
contractId: string,
|
contractId: string,
|
||||||
setBets: (bets: Bet[]) => void
|
setBets: (bets: Bet[]) => void
|
||||||
|
|
|
@ -5,7 +5,11 @@ import { Fold } from '../../../../common/fold'
|
||||||
import { Comment } from '../../../../common/comment'
|
import { Comment } from '../../../../common/comment'
|
||||||
import { Page } from '../../../components/page'
|
import { Page } from '../../../components/page'
|
||||||
import { Title } from '../../../components/title'
|
import { Title } from '../../../components/title'
|
||||||
import { Bet, listAllBets } from '../../../lib/firebase/bets'
|
import {
|
||||||
|
Bet,
|
||||||
|
getRecentContractBets,
|
||||||
|
listAllBets,
|
||||||
|
} from '../../../lib/firebase/bets'
|
||||||
import { listAllComments } from '../../../lib/firebase/comments'
|
import { listAllComments } from '../../../lib/firebase/comments'
|
||||||
import { Contract } from '../../../lib/firebase/contracts'
|
import { Contract } from '../../../lib/firebase/contracts'
|
||||||
import {
|
import {
|
||||||
|
@ -43,14 +47,22 @@ export async function getStaticProps(props: { params: { slugs: string[] } }) {
|
||||||
const curatorPromise = fold ? getUser(fold.curatorId) : null
|
const curatorPromise = fold ? getUser(fold.curatorId) : null
|
||||||
|
|
||||||
const contracts = fold ? await getFoldContracts(fold).catch((_) => []) : []
|
const contracts = fold ? await getFoldContracts(fold).catch((_) => []) : []
|
||||||
const contractComments = await Promise.all(
|
|
||||||
contracts.map((contract) => listAllComments(contract.id).catch((_) => []))
|
const [contractComments, contractRecentBets] = await Promise.all([
|
||||||
)
|
Promise.all(
|
||||||
|
contracts.map((contract) => listAllComments(contract.id).catch((_) => []))
|
||||||
|
),
|
||||||
|
Promise.all(
|
||||||
|
contracts.map((contract) =>
|
||||||
|
getRecentContractBets(contract.id).catch((_) => [])
|
||||||
|
)
|
||||||
|
),
|
||||||
|
])
|
||||||
|
|
||||||
let activeContracts = findActiveContracts(
|
let activeContracts = findActiveContracts(
|
||||||
contracts,
|
contracts,
|
||||||
_.flatten(contractComments),
|
_.flatten(contractComments),
|
||||||
[],
|
_.flatten(contractRecentBets),
|
||||||
365
|
365
|
||||||
)
|
)
|
||||||
const [resolved, unresolved] = _.partition(
|
const [resolved, unresolved] = _.partition(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user