Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | 33x 33x 33x 33x 33x 33x 8x 25x 33x 33x 33x 33x 33x 33x | import { useRef } from "react";
import { useLocation, useSearchParams } from "react-router-dom";
import Banner from "../../components/Banner";
import PackageList from "../../components/PackageList/PackageList";
import EmptyResultSection from "../../components/EmptyResultSection";
import { usePackages } from "../../hooks";
function Store(): React.JSX.Element {
const { search } = useLocation();
const [searchParams] = useSearchParams();
const currentPage = searchParams.get("page") || "1";
const searchTerm = searchParams.get("q");
let queryString = search;
if (
!search ||
(!searchParams.get("categories") &&
!searchTerm &&
!searchParams.get("architecture"))
) {
queryString = `?categories=featured&page=${currentPage}`;
} else {
queryString += `&page=${currentPage}`;
}
const { data, status, isFetching } = usePackages(queryString);
const packagesCount = data?.packages ? data?.packages.length : 0;
const isResultExist = status === "success" && packagesCount > 0;
const searchRef = useRef<HTMLInputElement | null>(null);
const searchSummaryRef = useRef<HTMLDivElement>(null);
return isResultExist || isFetching ? (
<>
<Banner searchRef={searchRef} searchSummaryRef={searchSummaryRef} />{" "}
<PackageList
data={data}
isFetching={isFetching}
searchRef={searchRef}
searchSummaryRef={searchSummaryRef}
/>
</>
) : (
<EmptyResultSection
searchTerm={searchTerm}
data={data}
isFetching={isFetching}
/>
);
}
export default Store;
|