summaryrefslogtreecommitdiff
path: root/src/lib/product/components/Product/ColumnsSLA.jsx
blob: e5296f965087369e3fa0644a547cc122aaa4e152 (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import odooApi from '@/core/api/odooApi'
import { createSlug } from '@/core/utils/slug'
import whatsappUrl from '@/core/utils/whatsappUrl'
import { Box, Skeleton, Tooltip } from '@chakra-ui/react'
import { Info } from 'lucide-react'
import { memo } from 'react'
import { useQuery } from 'react-query'

const ColumnSLA = ({ variant, product }) => {
  const fetchSLA = async () => await odooApi('GET', `/api/v1/product_variant/${variant.id}/stock`)
  const dataSLA = useQuery(`VariantSLA-${variant.id}`, fetchSLA, { refetchOnWindowFocus: false })

  return (
    <>
      <td>
        <Skeleton isLoaded={!dataSLA.isFetching} w='full'>
          {dataSLA?.data?.qty > 0 ? (
            dataSLA?.data?.qty
          ) : (
            <a
              href={whatsappUrl('product', {
                name: variant.name,
                manufacture: product.manufacture?.name,
                url: createSlug('/shop/product/', product.name, product.id, true)
              })}
              className='text-danger-500 font-medium'
              target='_blank'
              rel='noreferrer noopener'
            >
              Tanya Admin
            </a>
          )}
        </Skeleton>
      </td>

      <td className='flex justify-center'>
        <Skeleton isLoaded={!dataSLA.isFetching} w='75%'>
          <Tooltip placement='top' label={`Masa Persiapan Barang ${dataSLA?.data?.slaDate}`}>
            <Box className='border border-gray_r-7 rounded-md p-2 flex justify-center items-center gap-x-2'>
              {dataSLA?.data?.slaDate}
              <Info size={16} />
            </Box>
          </Tooltip>
        </Skeleton>
      </td>
    </>
  )
}

export default memo(ColumnSLA)