Style changes suggested by James
This commit is contained in:
parent
5fe39590b5
commit
a4b739a772
|
@ -152,7 +152,8 @@ export function ContractSearch(props: {
|
||||||
searchParameters.current = params
|
searchParameters.current = params
|
||||||
performQuery(true)
|
performQuery(true)
|
||||||
}, 100)
|
}, 100)
|
||||||
)
|
).current
|
||||||
|
|
||||||
const contracts = pages
|
const contracts = pages
|
||||||
.flat()
|
.flat()
|
||||||
.filter((c) => !additionalFilter?.excludeContractIds?.includes(c.id))
|
.filter((c) => !additionalFilter?.excludeContractIds?.includes(c.id))
|
||||||
|
@ -172,7 +173,7 @@ export function ContractSearch(props: {
|
||||||
useQuerySortLocalStorage={useQuerySortLocalStorage}
|
useQuerySortLocalStorage={useQuerySortLocalStorage}
|
||||||
useQuerySortUrlParams={useQuerySortUrlParams}
|
useQuerySortUrlParams={useQuerySortUrlParams}
|
||||||
user={user}
|
user={user}
|
||||||
onSearchParametersChanged={onSearchParametersChanged.current}
|
onSearchParametersChanged={onSearchParametersChanged}
|
||||||
/>
|
/>
|
||||||
<ContractsGrid
|
<ContractsGrid
|
||||||
contracts={pages.length === 0 ? undefined : contracts}
|
contracts={pages.length === 0 ? undefined : contracts}
|
||||||
|
@ -212,8 +213,9 @@ function ContractSearchControls(props: {
|
||||||
|
|
||||||
const savedSort = useQuerySortLocalStorage ? getSavedSort() : null
|
const savedSort = useQuerySortLocalStorage ? getSavedSort() : null
|
||||||
const initialSort = savedSort ?? defaultSort ?? 'score'
|
const initialSort = savedSort ?? defaultSort ?? 'score'
|
||||||
const [sort, setSort] = useSort(initialSort, !!useQuerySortUrlParams)
|
const querySortOpts = { useUrl: !!useQuerySortUrlParams }
|
||||||
const [query, setQuery] = useQuery('', !!useQuerySortUrlParams)
|
const [sort, setSort] = useSort(initialSort, querySortOpts)
|
||||||
|
const [query, setQuery] = useQuery('', querySortOpts)
|
||||||
const [filter, setFilter] = useState<filter>(defaultFilter ?? 'open')
|
const [filter, setFilter] = useState<filter>(defaultFilter ?? 'open')
|
||||||
const [pillFilter, setPillFilter] = useState<string | undefined>(undefined)
|
const [pillFilter, setPillFilter] = useState<string | undefined>(undefined)
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ export type Sort =
|
||||||
| 'score'
|
| 'score'
|
||||||
|
|
||||||
type UpdatedQueryParams = { [k: string]: string }
|
type UpdatedQueryParams = { [k: string]: string }
|
||||||
|
type QuerySortOpts = { useUrl: boolean }
|
||||||
|
|
||||||
function withURLParams(location: Location, params: UpdatedQueryParams) {
|
function withURLParams(location: Location, params: UpdatedQueryParams) {
|
||||||
const newParams = new URLSearchParams(location.search)
|
const newParams = new URLSearchParams(location.search)
|
||||||
|
@ -39,7 +40,8 @@ function getStringURLParam(router: NextRouter, k: string) {
|
||||||
return typeof v === 'string' ? v : null
|
return typeof v === 'string' ? v : null
|
||||||
}
|
}
|
||||||
|
|
||||||
export function useQuery(defaultQuery: string, useUrl: boolean) {
|
export function useQuery(defaultQuery: string, opts?: QuerySortOpts) {
|
||||||
|
const useUrl = opts?.useUrl ?? false
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const initialQuery = useUrl ? getStringURLParam(router, 'q') : null
|
const initialQuery = useUrl ? getStringURLParam(router, 'q') : null
|
||||||
const [query, setQuery] = useState(initialQuery ?? defaultQuery)
|
const [query, setQuery] = useState(initialQuery ?? defaultQuery)
|
||||||
|
@ -50,7 +52,8 @@ export function useQuery(defaultQuery: string, useUrl: boolean) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function useSort(defaultSort: Sort, useUrl: boolean) {
|
export function useSort(defaultSort: Sort, opts?: QuerySortOpts) {
|
||||||
|
const useUrl = opts?.useUrl ?? false
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const initialSort = useUrl ? (getStringURLParam(router, 's') as Sort) : null
|
const initialSort = useUrl ? (getStringURLParam(router, 's') as Sort) : null
|
||||||
const [sort, setSort] = useState(initialSort ?? defaultSort)
|
const [sort, setSort] = useState(initialSort ?? defaultSort)
|
||||||
|
|
|
@ -17,9 +17,8 @@ export default function ContractSearchFirestore(props: {
|
||||||
}) {
|
}) {
|
||||||
const contracts = useContracts()
|
const contracts = useContracts()
|
||||||
const { additionalFilter } = props
|
const { additionalFilter } = props
|
||||||
|
const [query, setQuery] = useQuery('', { useUrl: true })
|
||||||
const [query, setQuery] = useQuery('', true)
|
const [sort, setSort] = useSort('score', { useUrl: true })
|
||||||
const [sort, setSort] = useSort('score', true)
|
|
||||||
|
|
||||||
let matches = (contracts ?? []).filter((c) =>
|
let matches = (contracts ?? []).filter((c) =>
|
||||||
searchInAny(
|
searchInAny(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user