+
toggleShowSearchFilters()}
/>
- {offers.map((offer, i) => (
-
- {i !== 0 && }
-
-
- ))}
+
+ {offers?.map((offer, i) => (
+
+ ))}
+
+ {moreOffersLoading && }
);
};
OfferItemsContainer.propTypes = {
- offers: PropTypes.arrayOf(PropTypes.instanceOf(Offer)),
- loading: PropTypes.bool,
+ initialOffersLoading: PropTypes.bool,
+ moreOffersLoading: PropTypes.bool,
selectedOfferIdx: PropTypes.number,
setSelectedOfferIdx: PropTypes.func.isRequired,
showSearchFilters: PropTypes.bool,
toggleShowSearchFilters: PropTypes.func.isRequired,
+ offers: PropTypes.arrayOf(PropTypes.instanceOf(Offer)),
+ loadMoreOffers: PropTypes.func,
+ searchQueryToken: PropTypes.string,
};
+
export default OfferItemsContainer;
diff --git a/src/components/HomePage/SearchResultsArea/SearchResultsWidget/OfferItemsContainer.spec.js b/src/components/HomePage/SearchResultsArea/SearchResultsWidget/OfferItemsContainer.spec.js
index 947d904f..bc52bd10 100644
--- a/src/components/HomePage/SearchResultsArea/SearchResultsWidget/OfferItemsContainer.spec.js
+++ b/src/components/HomePage/SearchResultsArea/SearchResultsWidget/OfferItemsContainer.spec.js
@@ -1,5 +1,6 @@
-import { getByRole, getByText, render, screen } from "@testing-library/react";
+import { getByRole, getByText, screen } from "@testing-library/react";
import React from "react";
+import { render } from "../../../../test-utils";
import Offer from "../Offer/Offer";
import OfferItemsContainer from "./OfferItemsContainer";
@@ -9,9 +10,10 @@ describe("OfferItemsContainer", () => {
it("should show loading state when loading", () => {
render(
{}}
toggleShowSearchFilters={() => {}}
+ loadMoreOffers={() => {}}
/>
);
expect(screen.getAllByTestId("offer-item-loading")).toHaveLength(3);
@@ -46,10 +48,12 @@ describe("OfferItemsContainer", () => {
render(
{}}
toggleShowSearchFilters={() => {}}
- />);
+ loadMoreOffers={() => {}}
+ />
+ );
const items = await screen.findAllByTestId("offer-item");
expect(items).toHaveLength(2);
expect(getByText(items[0], offers[0].title)).toBeInTheDocument();
diff --git a/src/components/HomePage/SearchResultsArea/SearchResultsWidget/SearchResultsDesktop.js b/src/components/HomePage/SearchResultsArea/SearchResultsWidget/SearchResultsDesktop.js
index 591ebd20..9058ecd1 100644
--- a/src/components/HomePage/SearchResultsArea/SearchResultsWidget/SearchResultsDesktop.js
+++ b/src/components/HomePage/SearchResultsArea/SearchResultsWidget/SearchResultsDesktop.js
@@ -10,8 +10,9 @@ import { WorkOff } from "@material-ui/icons";
import clsx from "clsx";
import { SearchResultsControllerContext } from "./SearchResultsWidget";
-const OffersList = ({ noOffers, classes, offers, selectedOfferIdx, offersLoading, setSelectedOfferIdx,
- showSearchFilters, toggleShowSearchFilters,
+const OffersList = ({
+ noOffers, classes, selectedOfferIdx, offersLoading, setSelectedOfferIdx,
+ showSearchFilters, toggleShowSearchFilters, offers, moreOffersLoading, loadMoreOffers, searchQueryToken,
}) => (
@@ -23,13 +24,16 @@ const OffersList = ({ noOffers, classes, offers, selectedOfferIdx, offersLoading
: