"use client";

import { useState } from "react";

/**
 * Small ergonomic wrapper over useState for the "row-targeted delete dialog" pattern
 * that every CRUD page repeats. Behavior is identical to:
 *   const [target, setTarget] = useState<T | null>(null);
 */
export function useDeleteTarget<T>() {
  const [target, setTarget] = useState<T | null>(null);
  return {
    target,
    isOpen: target !== null,
    open: (row: T) => setTarget(row),
    close: () => setTarget(null),
    set: setTarget,
  };
}
