import { ConfirmDialog } from '@ui/components/confirm-dialog'

type ToggleStatusDialogProps = {
    open: boolean
    onOpenChange: (open: boolean) => void
    onConfirm: () => void
    itemName?: string
    isActive?: boolean
    isLoading?: boolean
}

export function ToggleStatusDialog({
    open,
    onOpenChange,
    onConfirm,
    itemName,
    isActive = true,
    isLoading = false,
}: ToggleStatusDialogProps) {
    const action = isActive ? 'menonaktifkan' : 'mengaktifkan'
    const target = itemName ? `"${itemName}"` : 'item ini'
    const desc = `Apakah Anda yakin ingin ${action} ${target}?`

    return (
        <ConfirmDialog
            open={open}
            onOpenChange={onOpenChange}
            handleConfirm={onConfirm}
            title={isActive ? 'Nonaktifkan' : 'Aktifkan'}
            desc={desc}
            confirmText={isActive ? 'Nonaktifkan' : 'Aktifkan'}
            cancelBtnText='Batal'
            isLoading={isLoading}
        />
    )
}
