"use client"; import { LockIcon, Power, SettingsIcon, TestTube, Trash2Icon, } from "lucide-react"; import { CustomButton } from "@/components/ui/custom"; import { IntegrationProps } from "@/types/integrations"; interface IntegrationActionButtonsProps { integration: IntegrationProps; onTestConnection: (id: string) => void; onEditConfiguration?: (integration: IntegrationProps) => void; onEditCredentials: (integration: IntegrationProps) => void; onToggleEnabled: (integration: IntegrationProps) => void; onDelete: (integration: IntegrationProps) => void; isTesting?: boolean; showCredentialsButton?: boolean; } export const IntegrationActionButtons = ({ integration, onTestConnection, onEditConfiguration, onEditCredentials, onToggleEnabled, onDelete, isTesting = false, showCredentialsButton = true, }: IntegrationActionButtonsProps) => { return (
} onPress={() => onTestConnection(integration.id)} isLoading={isTesting} isDisabled={!integration.attributes.enabled || isTesting} ariaLabel="Test connection" className="w-full sm:w-auto" > Test {onEditConfiguration && ( } onPress={() => onEditConfiguration(integration)} ariaLabel="Edit configuration" className="w-full sm:w-auto" > Config )} {showCredentialsButton && ( } onPress={() => onEditCredentials(integration)} ariaLabel="Edit credentials" className="w-full sm:w-auto" > Credentials )} } onPress={() => onToggleEnabled(integration)} isDisabled={isTesting} ariaLabel={ integration.attributes.enabled ? "Disable integration" : "Enable integration" } className="w-full sm:w-auto" > {integration.attributes.enabled ? "Disable" : "Enable"} } onPress={() => onDelete(integration)} ariaLabel="Delete integration" className="w-full sm:w-auto" > Delete
); };