summaryrefslogtreecommitdiff
path: root/src/core/components/elements/Navbar/TopBanner.jsx
blob: a757c260e7fb3da86da97ccbfbb4158ebd7e2fb3 (plain)
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
import odooApi from '@/core/api/odooApi'
import { useQuery } from 'react-query'
import Image from 'next/image'
import Link from '../Link/Link'
import { TopBannerSkeleton } from '../Skeleton/TopBannerSkeleton'

const TopBanner = () => {
  const fetchTopBanner = async () => await odooApi('GET', '/api/v1/banner?type=top-banner')
  const topBanner = useQuery('topBanner', fetchTopBanner, { refetchOnWindowFocus: false })

  if (topBanner.isLoading) {
    return <TopBannerSkeleton />
  }

  return (
    topBanner.isFetched &&
    topBanner.data?.length > 0 && (
      <div style={{ backgroundColor: topBanner.data[0]?.backgroundColor || 'transparent' }}>
        <Link href={topBanner.data[0]?.url}>
          <Image
            src={topBanner.data[0].image}
            alt={topBanner.data[0].name}
            width={1440}
            height={40}
            className='object-cover object-center h-full mx-auto'
          />
        </Link>
      </div>
    )
  )
}

export default TopBanner