import React, { useCallback } from 'react';
import { Pressable } from 'react-native';
import * as Clipboard from 'expo-clipboard';
import * as Haptics from 'expo-haptics';
import Svg, { Path } from 'react-native-svg';
interface CopyButtonProps {
value: string;
size?: number;
color?: string;
className?: string;
onCopied?: () => void;
}
function CopyIcon({ size = 16, color = '#a1a1aa' }: { size?: number; color?: string }) {
return (
);
}
export function CopyButton({ value, size = 16, color = '#a1a1aa', className, onCopied }: CopyButtonProps) {
const handleCopy = useCallback(async () => {
await Clipboard.setStringAsync(value);
await Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);
onCopied?.();
}, [value, onCopied]);
return (
);
}