mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
Adjusting query to show assets from the same publisher but not the exact same asset
This commit is contained in:
parent
cbf7958bc0
commit
7296a48fd6
@ -79,7 +79,11 @@ export default function AssetContent({
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
<RelatedAssets tags={asset?.metadata?.tags} id={asset?.id} />
|
||||
<RelatedAssets
|
||||
tags={asset?.metadata?.tags}
|
||||
dtAddress={asset?.datatokens[0]?.address}
|
||||
owner={asset?.nft?.owner}
|
||||
/>
|
||||
</div>
|
||||
</article>
|
||||
</>
|
||||
|
@ -1,19 +1,21 @@
|
||||
import React, { ReactElement, useEffect, useState } from 'react'
|
||||
import { generateBaseQuery, getFilterTerm } from '@utils/aquarius'
|
||||
import { generateBaseQuery } from '@utils/aquarius'
|
||||
import { useUserPreferences } from '@context/UserPreferences'
|
||||
import { SortTermOptions } from '../../../@types/aquarius/SearchQuery'
|
||||
import SectionQueryResult from '../../Home/SectionQueryResult'
|
||||
|
||||
export default function RelatedAssets({
|
||||
tags,
|
||||
id
|
||||
dtAddress,
|
||||
owner
|
||||
}: {
|
||||
tags: string[]
|
||||
id: string
|
||||
dtAddress: string
|
||||
owner: string
|
||||
}): ReactElement {
|
||||
const { chainIds } = useUserPreferences()
|
||||
|
||||
const [queryRelatedAssets, setQueryRelatedAssets] = useState<SearchQuery>()
|
||||
const modifiedTags = tags.toString().split(',').join(' OR ')
|
||||
|
||||
useEffect(() => {
|
||||
const baseParamsSales = {
|
||||
@ -22,19 +24,35 @@ export default function RelatedAssets({
|
||||
size: 3
|
||||
},
|
||||
nestedQuery: {
|
||||
must_not: {
|
||||
match: {
|
||||
id
|
||||
must_not: [
|
||||
{
|
||||
query_string: {
|
||||
query: `${dtAddress.toLowerCase()}`,
|
||||
fields: ['datatokens.address']
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
must: [
|
||||
{
|
||||
query_string: {
|
||||
query: modifiedTags,
|
||||
fields: ['metadata.tags']
|
||||
}
|
||||
},
|
||||
{
|
||||
query_string: {
|
||||
query: `${owner.toLowerCase()}`,
|
||||
fields: ['nft.owner']
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
filters: [getFilterTerm('metadata.tags', tags)],
|
||||
sortOptions: {
|
||||
sortBy: SortTermOptions.Orders
|
||||
} as SortOptions
|
||||
} as BaseQueryParams
|
||||
setQueryRelatedAssets(generateBaseQuery(baseParamsSales))
|
||||
}, [chainIds])
|
||||
}, [chainIds, dtAddress, tags])
|
||||
|
||||
return (
|
||||
<SectionQueryResult title="Related Assets:" query={queryRelatedAssets} />
|
||||
|
Loading…
x
Reference in New Issue
Block a user