import dynamic from 'next/dynamic' import ImageSkeleton from '@/core/components/elements/Skeleton/ImageSkeleton' import PopularProductSkeleton from '@/lib/home/components/Skeleton/PopularProductSkeleton' import MobileView from '@/core/components/views/MobileView' import DesktopView from '@/core/components/views/DesktopView' import { useRef } from 'react' import Seo from '@/core/components/Seo' import { useQuery } from 'react-query' import odooApi from '@/core/api/odooApi' import Image from 'next/image' import DelayRender from '@/core/components/elements/DelayRender/DelayRender' const BasicLayout = dynamic(() => import('@/core/components/layouts/BasicLayout')) const FlashSale = dynamic(() => import('@/lib/flashSale/components/FlashSale')) const HeroBanner = dynamic(() => import('@/lib/home/components/HeroBanner'), { loading: () => }) const PreferredBrand = dynamic(() => import('@/lib/home/components/PreferredBrand'), { loading: () => }) const PopularProduct = dynamic(() => import('@/lib/home/components/PopularProduct'), { loading: () => }) const CategoryHomeId = dynamic(() => import('@/lib/home/components/CategoryHomeId'), { loading: () => }) const CustomerReviews = dynamic(() => import('@/lib/review/components/CustomerReviews')) export default function Home() { const fetchSecondHeroBanner = async () => await odooApi('GET', '/api/v1/banner?type=index-a-2') const secondHeroBanner = useQuery('secondHeroBanner', fetchSecondHeroBanner) const bannerRef = useRef(null) const wrapperRef = useRef(null) const handleOnLoad = () => { wrapperRef.current.style.height = bannerRef.current.querySelector(':first-child').clientHeight + 'px' } return ( {secondHeroBanner.isFetched && ( )} ) }