diff --git a/src/Routers.jsx b/src/Routers.jsx index 55b3c49..2b1d10b 100644 --- a/src/Routers.jsx +++ b/src/Routers.jsx @@ -3,10 +3,9 @@ import { lazy } from "react"; import LoginLandingPage from './views/LoginLandingPage' import LoginPage from "./views/LoginPage"; -import HomePages from "./views/HomePages"; import SocketConnection from "./middleware/SocketConnection"; - +const HomePages = lazy(() => import("./views/HomePages")); const FourZeroFour = lazy(() => import("./components/FourZeroFour")); const ScrollToTop = lazy(() => import("./components/Helpers/ScrollToTop")); const StartJob = lazy(() => import("./components/MyJobs/StartJob")); @@ -17,8 +16,6 @@ const AppleRedirectPage = lazy(() => import("./views/AppleRedirectPage")); const AuthProfilePage = lazy(() => import("./views/AuthProfilePage")); const AuthRedirect = lazy(() => import("./views/AuthRedirect")); const BlogPage = lazy(() => import("./views/BlogPage")); -const CalendarPage = lazy(() => import("./views/CalendarPage")); -const CollectionItemPage = lazy(() => import("./views/CollectionItemPage")); const FacebookRedirect = lazy(() => import("./views/FacebookRedirect")); const FamilyManagePage = lazy(() => import("./views/FamilyManagePage")); const FamilyMarketPage = lazy(() => import("./views/FamilyMarketPage")); @@ -45,8 +42,6 @@ const OffersInterestPage = lazy(()=> import("./views/OffersInterestPage")); const ReferralPage = lazy(()=> import("./views/ReferralPage")); const RemindersPage = lazy(()=> import("./views/RemindersPage")); const ResourcePage = lazy(()=> import("./views/ResourcePage")); -const SavedPage = lazy(()=> import("./views/SavedPage")); -const SellPage = lazy(()=> import("./views/SellPage")); const SettingsPage = lazy(()=> import("./views/SettingsPage")); const SignupPage = lazy(()=> import("./views/SignupPage")); const SignupPageTwo = lazy(()=> import("./views/SignupPageTwo")); @@ -133,14 +128,8 @@ export default function Routers() { }> }> } /> - {/* } /> - } /> - } /> - } /> - } />*/} } /> } /> - } /> } /> } /> } /> @@ -163,7 +152,6 @@ export default function Routers() { } /> } /> } /> - {/* } /> */} } /> } /> - - {/* } /> - } /> - } /> */} } /> } /> @@ -202,17 +186,8 @@ export default function Routers() { path="/manage-offer" element={} /> - - } - /> - } /> - } /> } /> } /> - {/*} />*/} } /> } /> } /> diff --git a/src/components/Home/index.jsx b/src/components/Home/index.jsx index 9d38a75..5787de0 100644 --- a/src/components/Home/index.jsx +++ b/src/components/Home/index.jsx @@ -2,49 +2,53 @@ import React, { useState, useEffect } from "react"; import datas from "../../data/product_data.json"; import Layout from "../Partials/Layout"; import usersService from "../../services/UsersService"; -import { useSelector } from "react-redux"; +import { useSelector, useDispatch } from "react-redux"; import FamilyDash from "./FamilyDash"; import FullAccountDash from "./FullAccountDash"; import LoadingSpinner from '../../components/Spinners/LoadingSpinner' +import { tableReload } from '../../store/TableReloads'; export default function Home(props) { - // console.log("PROPS IN HOME->", props); - // const userApi = new usersService(); + + const dispatch = useDispatch() + const { commonHeadBanner } = useSelector((state) => state.commonHeadBanner); const { userDetails } = useSelector((state) => state?.userDetails); + useEffect(()=>{ + if(!commonHeadBanner.loading && (!commonHeadBanner?.data || Object.keys(commonHeadBanner?.data).length < 1)){ + dispatch(tableReload({ type: "HOMEBANNERS" })); // reloads home banner in case it fails to load or encounters error while loading + } + },[]) + return ( -
- {userDetails && userDetails?.account_type == "FAMILY" ? ( - - ) : userDetails && userDetails?.account_type == "FULL" ? ( - <> - {Object.keys(commonHeadBanner).length < 1 ? - - : - - } - - ) : ( -
- You are not logged in or your account type is not supported. -
- )} -
+
+ {commonHeadBanner.loading ? + + : + <> + {userDetails && userDetails?.account_type == "FAMILY" ? ( + + ) : userDetails && userDetails?.account_type == "FULL" ? ( + + ) : ( +
+ You are not logged in or your account type is not supported. +
+ )} + + } +
); } diff --git a/src/middleware/AuthRoute.jsx b/src/middleware/AuthRoute.jsx index 1ff8ba1..bd9505c 100644 --- a/src/middleware/AuthRoute.jsx +++ b/src/middleware/AuthRoute.jsx @@ -116,16 +116,17 @@ const AuthRoute = ({ redirectPath = "/login", children }) => { if((!loggedIn && !isLogin.status) || account_type == 'FAMILY'){ // DO NOT CALL THIS, IF USER ACCOUNT TYPE IS FAMILY return } + dispatch(commonHeadBanner({loading:true, data:{}})); apiCall .getHeroJBanners() .then((res) => { if (res?.data?.internal_return < 0) { return; } - dispatch(commonHeadBanner(res.data)); + dispatch(commonHeadBanner({loading:false, data:res.data})); }) .catch((error) => { - // console.log("ERROR ", error); + dispatch(commonHeadBanner({loading:false, data:{}})); }); }, [isLogin.status, homeBanners]); diff --git a/src/store/CommonHeadBanner.js b/src/store/CommonHeadBanner.js index 5ae2312..e10ef9d 100644 --- a/src/store/CommonHeadBanner.js +++ b/src/store/CommonHeadBanner.js @@ -1,7 +1,7 @@ import { createSlice } from "@reduxjs/toolkit"; const initialState = { - commonHeadBanner: {} + commonHeadBanner: {loading:true, data:{}} }; export const commonHeadBannerSlice = createSlice({ diff --git a/src/views/HomePages.jsx b/src/views/HomePages.jsx index dff26e3..ca18c5e 100644 --- a/src/views/HomePages.jsx +++ b/src/views/HomePages.jsx @@ -1,24 +1,10 @@ -import {useState, useEffect} from 'react' -import { useSelector } from "react-redux"; import Home from "../components/Home"; export default function HomePages() { - const { commonHeadBanner } = useSelector((state) => state.commonHeadBanner); - const [bannerOptions, setBannerOptions] = useState({}) - - useEffect(()=>{ - const bannerOptions = { - bannerList: commonHeadBanner?.result_list, - dashTypes: commonHeadBanner?.home_dash_type, - offersList: commonHeadBanner?.offers_list, - imageServer: commonHeadBanner?.session_image_server - }; - setBannerOptions(bannerOptions) - },[commonHeadBanner]) return ( <> - + ); }