import React from "react"; import { View, Modal, Pressable, StyleSheet } from "react-native"; import { Text } from "./ui/text"; import { Button } from "./ui/button"; import { LucideIcon } from "lucide-react-native"; import { X } from "@/lib/icons"; import { useColorScheme } from "nativewind"; interface ActionModalProps { visible: boolean; onClose: () => void; onConfirm: () => void; title: string; description: string; confirmText?: string; cancelText?: string; confirmVariant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link"; icon?: LucideIcon; iconColor?: string; loading?: boolean; } export function ActionModal({ visible, onClose, onConfirm, title, description, confirmText = "Confirm", cancelText = "Cancel", confirmVariant = "default", icon: Icon, iconColor = "#ea580c", loading = false, }: ActionModalProps) { const { colorScheme } = useColorScheme(); const isDark = colorScheme === "dark"; return ( e.stopPropagation()} > {/* Header */} {Icon && ( )} {title} {/* Body */} {description} {/* Footer */} ); }