import { useSortable } from '@dnd-kit/sortable'; import { CSS } from '@dnd-kit/utilities'; import { GripVertical } from 'lucide-react'; import { RideCreditCard } from './RideCreditCard'; import { UserRideCredit } from '@/types/database'; interface SortableRideCreditCardProps { credit: UserRideCredit; position: number; maxPosition: number; viewMode: 'grid' | 'list'; onUpdate: (creditId: string, updates: Partial) => void; onDelete: () => void; onReorder: (creditId: string, newPosition: number) => Promise; } export function SortableRideCreditCard({ credit, position, maxPosition, viewMode, onUpdate, onDelete, onReorder, }: SortableRideCreditCardProps) { const { attributes, listeners, setNodeRef, transform, transition, isDragging, } = useSortable({ id: credit.id }); const style = { transform: CSS.Transform.toString(transform), transition, opacity: isDragging ? 0.5 : 1, }; return (
{/* Drag handle - external to card */}
{/* Card takes remaining space */}
); }