'use client'; import { EquipmentSlot } from '@/lib/game/data/equipment'; import type { GameStore } from '@/lib/game/types'; import { ActionButton } from '@/components/ui/action-button'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; import { X } from 'lucide-react'; interface EquipmentControlsProps { store: GameStore; onUnequip: (slot: EquipmentSlot) => void; onDelete: (instanceId: string, name: string) => void; selectedSlot: EquipmentSlot | null; isSlotBlocked: (slot: EquipmentSlot) => boolean; isEquipped: (instanceId: string) => boolean; getEquippableSlots: (typeId: string) => EquipmentSlot[]; } export function EquipmentControls({ store, onUnequip, onDelete, selectedSlot, isSlotBlocked, isEquipped, getEquippableSlots, }: EquipmentControlsProps) { const SLOT_NAMES = { mainHand: 'Main Hand', offHand: 'Off Hand', head: 'Head', body: 'Body', hands: 'Hands', feet: 'Feet', accessory1: 'Accessory 1', accessory2: 'Accessory 2', } as const; return { renderUnequipButton: (slot: EquipmentSlot, instanceName: string) => ( { e.stopPropagation(); onUnequip(slot); }} aria-label={`Unequip ${instanceName}`} > ), renderDeleteButton: (instanceId: string, name: string) => ( onDelete(instanceId, name)} aria-label={`Delete ${name}`} >

Delete this item

), }; }