import React, { forwardRef, useState } from 'react'; import { Pressable, View, PressableProps, ViewStyle, TextStyle, Platform } from 'react-native'; import * as Haptics from 'expo-haptics'; import Text from './Text'; import { useTheme } from '~/features/theme/ThemeProvider'; import Icon from './Icon'; interface ButtonProps extends Omit { title?: string; variant?: 'primary' | 'secondary' | 'icon' | 'text' | 'danger'; iconName?: string; iconSize?: number; iconColor?: string; leftIcon?: () => React.ReactNode; iconButtonStyle?: boolean; active?: boolean; textStyle?: TextStyle; noBorder?: boolean; disabled?: boolean; loading?: boolean; style?: ViewStyle | ViewStyle[]; numberOfLines?: number; } /** * Button-Komponente * * Eine flexible Button-Komponente, die verschiedene Varianten und Stile unterstützt. * * Beispiel: * ```tsx *