import React from 'react'; import { View, Text } from 'react-native'; import { Ionicons } from '@expo/vector-icons'; import { useTheme } from '../theme/ThemeProvider'; import { useTranslation } from 'react-i18next'; import colors from '~/tailwind.config.js'; export interface CostItem { action: string; actionKey?: string; // Translation key for the action cost: number; icon: keyof typeof Ionicons.glyphMap; } interface CostCardProps { title: string; costs: CostItem[]; } export const CostCard: React.FC = ({ title, costs }) => { const { isDark, themeVariant, tw } = useTheme(); const { t } = useTranslation(); // Theme-aware colors using the same system as MemoPreview and SettingsToggle const themeColors = (colors as any).theme?.extend?.colors; const textColor = isDark ? '#FFFFFF' : '#000000'; const secondaryTextColor = isDark ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.7)'; const bgColor = isDark ? themeColors?.dark?.[themeVariant]?.contentBackground || '#1E1E1E' : themeColors?.[themeVariant]?.contentBackground || '#FFFFFF'; const borderColor = isDark ? themeColors?.dark?.[themeVariant]?.border || '#424242' : themeColors?.[themeVariant]?.border || '#e6e6e6'; const accentColor = '#4287f5'; // Konsistente Mana-Farbe return ( {title} {costs.map((item, index) => ( {item.actionKey ? t(item.actionKey, item.action) : item.action} {t('subscription.mana_amount', '{{amount}} Mana', { amount: item.cost })} ))} ); }; export default CostCard;