diff --git a/src/app/home/components/Banners3.tsx b/src/app/home/components/Banners3.tsx
index 3b69179..552216d 100644
--- a/src/app/home/components/Banners3.tsx
+++ b/src/app/home/components/Banners3.tsx
@@ -13,11 +13,8 @@ const Banners3: FC = () => {
const { desktopBanners, mobileBanners } = useMemo(() => {
const allBanners = data?.results?.banners ?? []
- const sortByOrder = (items: IBanner[]) =>
- [...items].sort((firstBanner, secondBanner) => firstBanner.order - secondBanner.order)
-
const groupByDisplayLocation = (displayLocation: IBanner['displayLocation']) =>
- sortByOrder(allBanners.filter((banner) => banner.displayLocation === displayLocation))
+ allBanners.filter((banner) => banner.displayLocation === displayLocation)
return {
desktopBanners: groupByDisplayLocation('desktop'),
@@ -26,9 +23,9 @@ const Banners3: FC = () => {
}, [data?.results?.banners])
const renderLayout = (banners: IBanner[]) => {
- if (banners.length < 3) return null
-
- const [firstBanner, secondBanner, thirdBanner] = banners
+ const firstBanner = banners.find((banner) => banner.order === 1)
+ const secondBanner = banners.find((banner) => banner.order === 2)
+ const thirdBanner = banners.find((banner) => banner.order === 3)
if (!firstBanner?.imageUrl || !secondBanner?.imageUrl || !thirdBanner?.imageUrl) return null
@@ -75,8 +72,12 @@ const Banners3: FC = () => {
return (
<>
-
{renderLayout(desktopBanners)}
- {renderLayout(mobileBanners)}
+ {desktopBanners.length > 0 && (
+ {renderLayout(desktopBanners)}
+ )}
+ {mobileBanners.length > 0 && (
+ {renderLayout(mobileBanners)}
+ )}
>
)
}
diff --git a/src/app/home/components/Banners4.tsx b/src/app/home/components/Banners4.tsx
index 514f96e..7c8fb0c 100644
--- a/src/app/home/components/Banners4.tsx
+++ b/src/app/home/components/Banners4.tsx
@@ -12,11 +12,8 @@ const Banners4: FC = () => {
const { desktopBanners, mobileBanners } = useMemo(() => {
const allBanners = data?.results?.banners ?? []
- const sortByOrder = (items: IBanner[]) =>
- [...items].sort((firstBanner, secondBanner) => firstBanner.order - secondBanner.order)
-
const groupByDisplayLocation = (displayLocation: IBanner['displayLocation']) =>
- sortByOrder(allBanners.filter((banner) => banner.displayLocation === displayLocation))
+ allBanners.filter((banner) => banner.displayLocation === displayLocation)
return {
desktopBanners: groupByDisplayLocation('desktop'),
@@ -25,17 +22,19 @@ const Banners4: FC = () => {
}, [data?.results?.banners])
const renderLayout = (banners: IBanner[]) => {
- if (banners.length < 4) return null
-
- const [firstBanner, secondBanner, thirdBanner, fourthBanner] = banners
+ const firstBanner = banners.find((banner) => banner.order === 4)
+ const secondBanner = banners.find((banner) => banner.order === 5)
+ const thirdBanner = banners.find((banner) => banner.order === 6)
+ const fourthBanner = banners.find((banner) => banner.order === 7)
if (
!firstBanner?.imageUrl ||
!secondBanner?.imageUrl ||
!thirdBanner?.imageUrl ||
!fourthBanner?.imageUrl
- )
+ ) {
return null
+ }
return (
@@ -93,8 +92,12 @@ const Banners4: FC = () => {
return (
<>
-
{renderLayout(desktopBanners)}
-
{renderLayout(mobileBanners)}
+ {desktopBanners.length > 0 && (
+
{renderLayout(desktopBanners)}
+ )}
+ {mobileBanners.length > 0 && (
+
{renderLayout(mobileBanners)}
+ )}
>
)
}