From a4b739a7728866eac3dff5bd05e1a33c5b1ba35b Mon Sep 17 00:00:00 2001 From: Marshall Polaris Date: Sun, 14 Aug 2022 22:02:22 -0700 Subject: [PATCH] Style changes suggested by James --- web/components/contract-search.tsx | 10 ++++++---- web/hooks/use-sort-and-query-params.tsx | 7 +++++-- web/pages/contract-search-firestore.tsx | 5 ++--- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/web/components/contract-search.tsx b/web/components/contract-search.tsx index 4fe97510..54b30f3f 100644 --- a/web/components/contract-search.tsx +++ b/web/components/contract-search.tsx @@ -152,7 +152,8 @@ export function ContractSearch(props: { searchParameters.current = params performQuery(true) }, 100) - ) + ).current + const contracts = pages .flat() .filter((c) => !additionalFilter?.excludeContractIds?.includes(c.id)) @@ -172,7 +173,7 @@ export function ContractSearch(props: { useQuerySortLocalStorage={useQuerySortLocalStorage} useQuerySortUrlParams={useQuerySortUrlParams} user={user} - onSearchParametersChanged={onSearchParametersChanged.current} + onSearchParametersChanged={onSearchParametersChanged} /> (defaultFilter ?? 'open') const [pillFilter, setPillFilter] = useState(undefined) diff --git a/web/hooks/use-sort-and-query-params.tsx b/web/hooks/use-sort-and-query-params.tsx index 727282f1..0a2834d0 100644 --- a/web/hooks/use-sort-and-query-params.tsx +++ b/web/hooks/use-sort-and-query-params.tsx @@ -12,6 +12,7 @@ export type Sort = | 'score' type UpdatedQueryParams = { [k: string]: string } +type QuerySortOpts = { useUrl: boolean } function withURLParams(location: Location, params: UpdatedQueryParams) { const newParams = new URLSearchParams(location.search) @@ -39,7 +40,8 @@ function getStringURLParam(router: NextRouter, k: string) { 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 initialQuery = useUrl ? getStringURLParam(router, 'q') : null 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 initialSort = useUrl ? (getStringURLParam(router, 's') as Sort) : null const [sort, setSort] = useState(initialSort ?? defaultSort) diff --git a/web/pages/contract-search-firestore.tsx b/web/pages/contract-search-firestore.tsx index 8827a70a..ec480269 100644 --- a/web/pages/contract-search-firestore.tsx +++ b/web/pages/contract-search-firestore.tsx @@ -17,9 +17,8 @@ export default function ContractSearchFirestore(props: { }) { const contracts = useContracts() const { additionalFilter } = props - - const [query, setQuery] = useQuery('', true) - const [sort, setSort] = useSort('score', true) + const [query, setQuery] = useQuery('', { useUrl: true }) + const [sort, setSort] = useSort('score', { useUrl: true }) let matches = (contracts ?? []).filter((c) => searchInAny(