"use client"; import { useSortable } from "@dnd-kit/sortable"; import { CSS } from "@dnd-kit/utilities"; import { Button } from "@/components/ui/button"; import { Building2, GripVertical, Pencil } from "lucide-react"; import { cn } from "@/lib/utils"; import Link from "next/link"; import type { Account } from "@/lib/types"; import { getAccountBalance } from "@/lib/account-utils"; interface DraggableAccountItemProps { account: Account; onEditAccount: (account: Account) => void; formatCurrency: (amount: number) => string; } export function DraggableAccountItem({ account, onEditAccount, formatCurrency, }: DraggableAccountItemProps) { const realBalance = getAccountBalance(account); const { attributes, listeners, setNodeRef, transform, transition, isDragging, } = useSortable({ id: `account-${account.id}`, data: { type: "account", account, }, }); const style = { transform: CSS.Transform.toString(transform), transition, opacity: isDragging ? 0.5 : 1, }; return (