Ignore filter on contract status when searching
This commit is contained in:
parent
d6cf4332da
commit
003301762c
|
@ -116,45 +116,49 @@ export function ContractSearch(props: {
|
||||||
track('select search category', { category: pill ?? 'all' })
|
track('select search category', { category: pill ?? 'all' })
|
||||||
}
|
}
|
||||||
|
|
||||||
let facetFilters = [
|
let facetFilters = query
|
||||||
filter === 'open' ? 'isResolved:false' : '',
|
? []
|
||||||
filter === 'closed' ? 'isResolved:false' : '',
|
: [
|
||||||
filter === 'resolved' ? 'isResolved:true' : '',
|
filter === 'open' ? 'isResolved:false' : '',
|
||||||
additionalFilter?.creatorId
|
filter === 'closed' ? 'isResolved:false' : '',
|
||||||
? `creatorId:${additionalFilter.creatorId}`
|
filter === 'resolved' ? 'isResolved:true' : '',
|
||||||
: '',
|
additionalFilter?.creatorId
|
||||||
additionalFilter?.tag ? `lowercaseTags:${additionalFilter.tag}` : '',
|
? `creatorId:${additionalFilter.creatorId}`
|
||||||
additionalFilter?.groupSlug
|
: '',
|
||||||
? `groupLinks.slug:${additionalFilter.groupSlug}`
|
additionalFilter?.tag ? `lowercaseTags:${additionalFilter.tag}` : '',
|
||||||
: '',
|
additionalFilter?.groupSlug
|
||||||
pillFilter && pillFilter !== 'personal' && pillFilter !== 'your-bets'
|
? `groupLinks.slug:${additionalFilter.groupSlug}`
|
||||||
? `groupLinks.slug:${pillFilter}`
|
: '',
|
||||||
: '',
|
pillFilter && pillFilter !== 'personal' && pillFilter !== 'your-bets'
|
||||||
pillFilter === 'personal'
|
? `groupLinks.slug:${pillFilter}`
|
||||||
? // Show contracts in groups that the user is a member of
|
: '',
|
||||||
memberGroupSlugs
|
pillFilter === 'personal'
|
||||||
.map((slug) => `groupLinks.slug:${slug}`)
|
? // Show contracts in groups that the user is a member of
|
||||||
// Show contracts created by users the user follows
|
memberGroupSlugs
|
||||||
.concat(follows?.map((followId) => `creatorId:${followId}`) ?? [])
|
.map((slug) => `groupLinks.slug:${slug}`)
|
||||||
// Show contracts bet on by users the user follows
|
// Show contracts created by users the user follows
|
||||||
.concat(
|
.concat(follows?.map((followId) => `creatorId:${followId}`) ?? [])
|
||||||
follows?.map((followId) => `uniqueBettorIds:${followId}`) ?? []
|
// Show contracts bet on by users the user follows
|
||||||
)
|
.concat(
|
||||||
: '',
|
follows?.map((followId) => `uniqueBettorIds:${followId}`) ?? []
|
||||||
// Subtract contracts you bet on from For you.
|
)
|
||||||
pillFilter === 'personal' && user ? `uniqueBettorIds:-${user.id}` : '',
|
: '',
|
||||||
pillFilter === 'your-bets' && user
|
// Subtract contracts you bet on from For you.
|
||||||
? // Show contracts bet on by the user
|
pillFilter === 'personal' && user ? `uniqueBettorIds:-${user.id}` : '',
|
||||||
`uniqueBettorIds:${user.id}`
|
pillFilter === 'your-bets' && user
|
||||||
: '',
|
? // Show contracts bet on by the user
|
||||||
].filter((f) => f)
|
`uniqueBettorIds:${user.id}`
|
||||||
|
: '',
|
||||||
|
].filter((f) => f)
|
||||||
// Hack to make Algolia work.
|
// Hack to make Algolia work.
|
||||||
facetFilters = ['', ...facetFilters]
|
facetFilters = ['', ...facetFilters]
|
||||||
|
|
||||||
const numericFilters = [
|
const numericFilters = query
|
||||||
filter === 'open' ? `closeTime > ${Date.now()}` : '',
|
? []
|
||||||
filter === 'closed' ? `closeTime <= ${Date.now()}` : '',
|
: [
|
||||||
].filter((f) => f)
|
filter === 'open' ? `closeTime > ${Date.now()}` : '',
|
||||||
|
filter === 'closed' ? `closeTime <= ${Date.now()}` : '',
|
||||||
|
].filter((f) => f)
|
||||||
|
|
||||||
const indexName = `${indexPrefix}contracts-${sort}`
|
const indexName = `${indexPrefix}contracts-${sort}`
|
||||||
const index = useMemo(() => searchClient.initIndex(indexName), [indexName])
|
const index = useMemo(() => searchClient.initIndex(indexName), [indexName])
|
||||||
|
@ -253,16 +257,18 @@ export function ContractSearch(props: {
|
||||||
placeholder={showPlaceHolder ? `Search ${filter} markets` : ''}
|
placeholder={showPlaceHolder ? `Search ${filter} markets` : ''}
|
||||||
className="input input-bordered w-full"
|
className="input input-bordered w-full"
|
||||||
/>
|
/>
|
||||||
<select
|
{!query && (
|
||||||
className="select select-bordered"
|
<select
|
||||||
value={filter}
|
className="select select-bordered"
|
||||||
onChange={(e) => selectFilter(e.target.value as filter)}
|
value={filter}
|
||||||
>
|
onChange={(e) => selectFilter(e.target.value as filter)}
|
||||||
<option value="open">Open</option>
|
>
|
||||||
<option value="closed">Closed</option>
|
<option value="open">Open</option>
|
||||||
<option value="resolved">Resolved</option>
|
<option value="closed">Closed</option>
|
||||||
<option value="all">All</option>
|
<option value="resolved">Resolved</option>
|
||||||
</select>
|
<option value="all">All</option>
|
||||||
|
</select>
|
||||||
|
)}
|
||||||
{!hideOrderSelector && (
|
{!hideOrderSelector && (
|
||||||
<select
|
<select
|
||||||
className="select select-bordered"
|
className="select select-bordered"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user