2024-12-06 14:16:05 +05:00
|
|
|
'use client'
|
|
|
|
import { deviceCartAtom } from '@/lib/atoms'
|
|
|
|
import type { Device } from '@prisma/client'
|
|
|
|
import { useAtomValue, useSetAtom } from 'jotai'
|
|
|
|
import { BadgePlus, CheckCheck } from 'lucide-react'
|
|
|
|
import React from 'react'
|
|
|
|
import { Button } from './ui/button'
|
|
|
|
|
|
|
|
export default function AddDevicesToCartButton({ device }: { device: Device }) {
|
|
|
|
const setDeviceCart = useSetAtom(deviceCartAtom)
|
|
|
|
const devices = useAtomValue(deviceCartAtom)
|
|
|
|
return (
|
|
|
|
<Button
|
|
|
|
disabled={devices.some((d) => d.id === device.id)}
|
|
|
|
onClick={() => setDeviceCart((prev) => [...prev, device])}
|
|
|
|
>
|
|
|
|
{devices.some((d) => d.id === device.id) ? (
|
|
|
|
<>
|
2024-12-07 14:09:53 +05:00
|
|
|
Selected
|
2024-12-06 14:16:05 +05:00
|
|
|
<CheckCheck />
|
|
|
|
</>
|
|
|
|
) : (
|
|
|
|
<>
|
2024-12-07 14:09:53 +05:00
|
|
|
Select device
|
2024-12-06 14:16:05 +05:00
|
|
|
<BadgePlus />
|
|
|
|
|
|
|
|
</>
|
|
|
|
|
|
|
|
)}
|
|
|
|
</Button>
|
|
|
|
)
|
|
|
|
}
|