Add search row

This commit is contained in:
James Grugett 2022-09-14 00:10:32 -05:00
parent 7f9925a8c4
commit a7e3414cc9
3 changed files with 32 additions and 2 deletions

View File

@ -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

View File

@ -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

View File

@ -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>