Add search row
This commit is contained in:
parent
7f9925a8c4
commit
a7e3414cc9
|
@ -91,6 +91,7 @@ export function ContractSearch(props: {
|
||||||
contracts: Contract[] | undefined,
|
contracts: Contract[] | undefined,
|
||||||
loadMore: () => void
|
loadMore: () => void
|
||||||
) => ReactNode
|
) => ReactNode
|
||||||
|
autoFocus?: boolean
|
||||||
}) {
|
}) {
|
||||||
const {
|
const {
|
||||||
user,
|
user,
|
||||||
|
@ -109,6 +110,7 @@ export function ContractSearch(props: {
|
||||||
noControls,
|
noControls,
|
||||||
maxResults,
|
maxResults,
|
||||||
renderContracts,
|
renderContracts,
|
||||||
|
autoFocus,
|
||||||
} = props
|
} = props
|
||||||
|
|
||||||
const [state, setState] = usePersistentState(
|
const [state, setState] = usePersistentState(
|
||||||
|
@ -210,6 +212,7 @@ export function ContractSearch(props: {
|
||||||
user={user}
|
user={user}
|
||||||
onSearchParametersChanged={onSearchParametersChanged}
|
onSearchParametersChanged={onSearchParametersChanged}
|
||||||
noControls={noControls}
|
noControls={noControls}
|
||||||
|
autoFocus={autoFocus}
|
||||||
/>
|
/>
|
||||||
{renderContracts ? (
|
{renderContracts ? (
|
||||||
renderContracts(renderedContracts, performQuery)
|
renderContracts(renderedContracts, performQuery)
|
||||||
|
@ -238,6 +241,7 @@ function ContractSearchControls(props: {
|
||||||
useQueryUrlParam?: boolean
|
useQueryUrlParam?: boolean
|
||||||
user?: User | null
|
user?: User | null
|
||||||
noControls?: boolean
|
noControls?: boolean
|
||||||
|
autoFocus?: boolean
|
||||||
}) {
|
}) {
|
||||||
const {
|
const {
|
||||||
className,
|
className,
|
||||||
|
@ -250,6 +254,7 @@ function ContractSearchControls(props: {
|
||||||
useQueryUrlParam,
|
useQueryUrlParam,
|
||||||
user,
|
user,
|
||||||
noControls,
|
noControls,
|
||||||
|
autoFocus,
|
||||||
} = props
|
} = props
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
@ -399,6 +404,7 @@ function ContractSearchControls(props: {
|
||||||
onBlur={trackCallback('search', { query: query })}
|
onBlur={trackCallback('search', { query: query })}
|
||||||
placeholder={'Search'}
|
placeholder={'Search'}
|
||||||
className="input input-bordered w-full"
|
className="input input-bordered w-full"
|
||||||
|
autoFocus={autoFocus}
|
||||||
/>
|
/>
|
||||||
{!query && (
|
{!query && (
|
||||||
<select
|
<select
|
||||||
|
|
|
@ -4,6 +4,7 @@ import {
|
||||||
AdjustmentsIcon,
|
AdjustmentsIcon,
|
||||||
PlusSmIcon,
|
PlusSmIcon,
|
||||||
ArrowSmRightIcon,
|
ArrowSmRightIcon,
|
||||||
|
SearchIcon,
|
||||||
} from '@heroicons/react/solid'
|
} from '@heroicons/react/solid'
|
||||||
import clsx from 'clsx'
|
import clsx from 'clsx'
|
||||||
|
|
||||||
|
@ -44,8 +45,10 @@ export default function Home() {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page>
|
<Page>
|
||||||
<Col className="pm:mx-10 gap-4 px-4 pb-12">
|
<Col className="pm:mx-10 gap-4 px-4 pb-12 pt-2 sm:pt-0">
|
||||||
<Row className={'mt-4 w-full items-start justify-between'}>
|
<SearchRow />
|
||||||
|
|
||||||
|
<Row className={'w-full items-start justify-between gap-8'}>
|
||||||
<Row className="items-end gap-4">
|
<Row className="items-end gap-4">
|
||||||
<Title className="!mb-1 !mt-0" text="Home" />
|
<Title className="!mb-1 !mt-0" text="Home" />
|
||||||
<EditButton />
|
<EditButton />
|
||||||
|
@ -177,6 +180,22 @@ function EditButton(props: { className?: string }) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function SearchRow() {
|
||||||
|
return (
|
||||||
|
<SiteLink href="/search" className="hover:no-underline">
|
||||||
|
<Row>
|
||||||
|
<Button size="sm" color="gray-white">
|
||||||
|
<SearchIcon className={clsx('h-[24px] w-5')} aria-hidden="true" />
|
||||||
|
</Button>
|
||||||
|
<input
|
||||||
|
className="input pointer-events-none w-full"
|
||||||
|
placeholder="Search"
|
||||||
|
/>
|
||||||
|
</Row>
|
||||||
|
</SiteLink>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
function DailyProfitAndBalance(props: {
|
function DailyProfitAndBalance(props: {
|
||||||
user: User | null | undefined
|
user: User | null | undefined
|
||||||
className?: string
|
className?: string
|
||||||
|
|
|
@ -4,6 +4,7 @@ import { ContractSearch } from 'web/components/contract-search'
|
||||||
import { useTracking } from 'web/hooks/use-tracking'
|
import { useTracking } from 'web/hooks/use-tracking'
|
||||||
import { useUser } from 'web/hooks/use-user'
|
import { useUser } from 'web/hooks/use-user'
|
||||||
import { usePrefetch } from 'web/hooks/use-prefetch'
|
import { usePrefetch } from 'web/hooks/use-prefetch'
|
||||||
|
import { useRouter } from 'next/router'
|
||||||
|
|
||||||
export default function Search() {
|
export default function Search() {
|
||||||
const user = useUser()
|
const user = useUser()
|
||||||
|
@ -11,6 +12,9 @@ export default function Search() {
|
||||||
|
|
||||||
useTracking('view search')
|
useTracking('view search')
|
||||||
|
|
||||||
|
const { query } = useRouter()
|
||||||
|
const autoFocus = !(query['q'] || query['s'] || query['p'])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page>
|
<Page>
|
||||||
<Col className="mx-auto w-full p-2">
|
<Col className="mx-auto w-full p-2">
|
||||||
|
@ -18,6 +22,7 @@ export default function Search() {
|
||||||
user={user}
|
user={user}
|
||||||
persistPrefix="search"
|
persistPrefix="search"
|
||||||
useQueryUrlParam={true}
|
useQueryUrlParam={true}
|
||||||
|
autoFocus={autoFocus}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
</Page>
|
</Page>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user