/** * Bulk Status Update Modal * Reusable modal for updating status of multiple selected records * Used across all table pages (Keywords, Clusters, Ideas, Tasks, etc.) */ import { useState } from 'react'; import { Modal } from '../ui/modal'; import Button from '../ui/button/Button'; import SelectDropdown from '../form/SelectDropdown'; import Label from '../form/Label'; import { InfoIcon } from '../../icons'; interface BulkStatusUpdateModalProps { isOpen: boolean; onClose: () => void; onConfirm: (status: string) => void | Promise; title: string; message: string; confirmText?: string; statusOptions: Array<{ value: string; label: string }>; isLoading?: boolean; } export default function BulkStatusUpdateModal({ isOpen, onClose, onConfirm, title, message, confirmText = 'Update Status', statusOptions, isLoading = false, }: BulkStatusUpdateModalProps) { const [selectedStatus, setSelectedStatus] = useState(''); const handleConfirm = async () => { if (!selectedStatus) return; await onConfirm(selectedStatus); // Reset on success (onClose will be called by parent) setSelectedStatus(''); }; const handleClose = () => { setSelectedStatus(''); onClose(); }; return (
{/* Header with icon */}

{title}

{/* Message */}

{message}

{/* Status Selector */}
setSelectedStatus(value || '')} className="w-full" />
{/* Actions */}
); }