"use client"; import { TableCell, TableRow } from "@/components/ui/table"; import { deviceCartAtom } from "@/lib/atoms"; import type { Device } from "@/lib/backend-types"; import { cn } from "@/lib/utils"; import { useAtom } from "jotai"; import { HandCoins } from "lucide-react"; import Link from "next/link"; import AddDevicesToCartButton from "./add-devices-to-cart-button"; import BlockDeviceDialog from "./block-device-dialog"; export default function ClickableRow({ device, parentalControl, admin = false, }: { device: Device; parentalControl?: boolean; admin?: boolean }) { const [devices, setDeviceCart] = useAtom(deviceCartAtom); return ( { if (device.blocked) return; if (device.is_active === true) return; if (device.has_a_pending_payment === true) return; if (parentalControl === true) return; setDeviceCart((prev) => devices.some((d) => d.id === device.id) ? prev.filter((d) => d.id !== device.id) : [...prev, device], ); }} >
e.stopPropagation()} > {device.name} {device.is_active ? (
Active until{" "} {new Date(device.expiry_date || "").toLocaleDateString( "en-US", { month: "short", day: "2-digit", year: "numeric", }, )}
) : (

Device Inactive

)} {device.has_a_pending_payment && ( Payment Pending{" "} )} {device.blocked_by === "ADMIN" && device.blocked && (
Comment

{device?.reason_for_blocking}

)}
{device.mac} {!parentalControl ? ( ) : ( )}
); }