mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
* wagmi + ethers + web3modal setup * refactor wallet components * fallback providers, more config * kick out useWeb3 * remove all useWeb3 imports * more web3.js usage removal * isAddress utils replacement * restore add token / add network * less accountId changes * web3 legacy tinkering, utils/web3 → utils/wallet * legacy web3 object for ocean.js * graph sync fix, remove custom network switching code * package updates, merge fixes * downgrade to ethers v5 * fix project id * switch to ConnectKit * connectkit theming * add existing chains to wagmi * rewrite getPaymentCollector() * kick out getPaymentCollector completely, use wagmi hooks instead * Revert "kick out getPaymentCollector completely, use wagmi hooks instead" This reverts commit 54c7d1ef1a2dec0b1575a685125ba78336b30f59. * switch getPaymentCollector * calcBaseInGivenDatatokensOut reorg * wip integrate ocean lib 3.0.0 * update orbis components to use wagmi instead of web hooks * more oceanjs integration updates * more refactors * fix build * update ocean lib * fix publish * fix order fixed rate * remove logs * debug and stop infinite cycle orbis connect * fix orbis dm connection * mock use network and fix some more tests * mock wagmi switch network * mock wagmi useProvider createClient and connectKit getDefaultClient * fix jest tests * try storybook fix * cleanups and bump ocean lib * fix order * bump lib to next.5 and add more modal style * bump ocean.js lib to 3.0.0 --------- Co-authored-by: Matthias Kretschmann <m@kretschmann.io>
60 lines
1.8 KiB
TypeScript
60 lines
1.8 KiB
TypeScript
import React, { ReactElement, useState } from 'react'
|
|
import Search from '../components/Search'
|
|
import Page from '@shared/Page'
|
|
import { accountTruncate } from '@utils/wallet'
|
|
import { MAXIMUM_NUMBER_OF_PAGES_WITH_RESULTS } from '@utils/aquarius'
|
|
import { useRouter } from 'next/router'
|
|
import { isAddress } from 'ethers/lib/utils'
|
|
|
|
export default function PageSearch(): ReactElement {
|
|
const router = useRouter()
|
|
const parsed = router.query
|
|
const { text, owner, tags, categories } = parsed
|
|
const [totalResults, setTotalResults] = useState<number>()
|
|
const [totalPagesNumber, setTotalPagesNumber] = useState<number>()
|
|
|
|
const isETHAddress = isAddress(text as string)
|
|
const searchValue =
|
|
(isETHAddress ? accountTruncate(text as string) : text) ||
|
|
tags ||
|
|
categories
|
|
const title = owner
|
|
? `Published by ${accountTruncate(owner as string)}`
|
|
: `${
|
|
totalResults !== undefined
|
|
? searchValue && searchValue !== ' '
|
|
? totalResults === 0
|
|
? 'No results'
|
|
: totalResults +
|
|
(totalResults > 1 ? ' results' : ' result') +
|
|
' for ' +
|
|
searchValue
|
|
: totalResults + ' results'
|
|
: 'Searching...'
|
|
}`
|
|
|
|
return (
|
|
<Page
|
|
title={
|
|
totalPagesNumber > MAXIMUM_NUMBER_OF_PAGES_WITH_RESULTS
|
|
? `>10000 results ${
|
|
searchValue && searchValue !== ' ' ? `for ${searchValue}` : ''
|
|
}`
|
|
: title
|
|
}
|
|
description={
|
|
totalPagesNumber &&
|
|
totalPagesNumber > MAXIMUM_NUMBER_OF_PAGES_WITH_RESULTS
|
|
? '**Results displayed are limited to the first 10k, please refine your search.**'
|
|
: undefined
|
|
}
|
|
uri={router.route}
|
|
>
|
|
<Search
|
|
setTotalResults={setTotalResults}
|
|
setTotalPagesNumber={setTotalPagesNumber}
|
|
/>
|
|
</Page>
|
|
)
|
|
}
|