Search page
This page is optional but recommended to have. The recommended file name for this page is search.json.
Show search results
Use useSearch() hook to show search results, show and apply filters on search.
import {useSearch} from "builderoo";
const {loading, results, filters, setQuery, searchAgain, toggleFilter} = useSearch({types: ["product"]})Learn more about the useSearch() hook.
Show result pagination
Use the usePagination() to implement pagination.
Use currentPage and totalPages properties to show page information. Use gotoPage function to navigate to a specific page.
And urlForPage function to get a link to a specific page (this function cannot be used to navigate to pages).
import React from 'react';
import {usePagination} from "builderoo";
export default function SearchResults() {
const {currentPage, gotoPage, totalPages, urlForPage} = usePagination()
return (
<section className="px-20 py-10 my-10">
<div className="mt-20 flex justify-center gap-8">
<a
className="cursor-pointer underline text-blue-500"
href={urlForPage(currentPage - 1)}
onClick={(e) => gotoPage(currentPage - 1, e)}
>
Previous Page
</a>
<a
href={urlForPage(currentPage + 1)}
className="cursor-pointer underline text-blue-500"
onClick={(e) => gotoPage(currentPage + 1, e)}
>
Next Page
</a>
</div>
</section>
);
}
Learn more about the usePagination() hook.
Show search filters
The useSearch() hook returns filters, toggleFilter properties that can be
used to show and apply one or more filters.
import { useSearch } from "builderoo";
// Component
const {filters, toggleFilter} = useSearch()