/* eslint-disable react/jsx-no-bind */ /* eslint-disable canonical/id-match */ 'use client'; import { type SlotComponentProps } from './types'; import { useSlotDelete, useSlotMutation, useSlotQuery } from '@/hooks/slots'; import { Enum_Slot_State } from '@repo/graphql/types'; import { Button } from '@repo/ui/components/ui/button'; import { useRouter } from 'next/navigation'; export function SlotButtons({ documentId }: Readonly) { const { data } = useSlotQuery({ documentId }); const { mutate: updateSlot } = useSlotMutation({ documentId }); const { mutate: deleteSlot } = useSlotDelete({ documentId }); const router = useRouter(); const slot = data?.data?.slot; if (!slot) return null; const isOpened = slot?.state === Enum_Slot_State.Open; const isClosed = slot?.state === Enum_Slot_State.Closed; function handleOpenSlot() { return updateSlot({ data: { state: Enum_Slot_State.Open }, documentId }); } function handleCloseSlot() { return updateSlot({ data: { state: Enum_Slot_State.Closed }, documentId }); } function handleDeleteSlot() { router.back(); return deleteSlot(); } const hasOrders = Boolean(slot?.orders.length); return (
{isOpened && ( )} {isClosed && ( )}
); }