import { X, Info } from 'lucide-react';
import type { ReactNode } from 'react';
interface InfoModalProps {
isOpen: boolean;
onClose: () => void;
title: string;
children: ReactNode;
icon?: ReactNode;
}
export default function InfoModal({ isOpen, onClose, title, children, icon }: InfoModalProps) {
if (!isOpen) return null;
return (
{/* Backdrop */}
{/* Modal */}
{/* Header */}
{/* Content */}
{children}
{/* Footer */}
);
}
// Reusable info button component
interface InfoButtonProps {
onClick: () => void;
className?: string;
size?: 'sm' | 'md';
}
export function InfoButton({ onClick, className = '', size = 'sm' }: InfoButtonProps) {
const sizeClasses = size === 'sm' ? 'w-3.5 h-3.5' : 'w-4 h-4';
return (
);
}