import React from 'react'; import { View } from 'react-native'; import { router } from 'expo-router'; import { useTheme } from '~/features/theme/ThemeProvider'; import Text from '~/components/atoms/Text'; import Button from '~/components/atoms/Button'; import BaseModal from '~/components/atoms/BaseModal'; import ManaIcon from '~/features/subscription/ManaIcon'; import { useTranslation } from 'react-i18next'; interface InsufficientCreditsModalProps { isVisible: boolean; onClose: () => void; requiredCredits?: number; availableCredits?: number; operation?: string; } /** * Modal that is displayed when a user doesn't have enough mana/credits for an operation. * Shows the current credit status and provides a button to navigate to the subscription page. */ const InsufficientCreditsModal: React.FC = ({ isVisible, onClose, requiredCredits, availableCredits, operation, }) => { const { isDark } = useTheme(); const { t } = useTranslation(); const handleBuyCredits = () => { onClose(); router.push('/(protected)/subscription'); }; const renderFooter = () => (