From 2c2dfba45357bbd205a59145ae55a2779c911ae0 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Fri, 14 Aug 2026 15:06:35 -0300 Subject: remake Signed-off-by: Lucas Faria Mendes --- src/components/ui/action-modal.tsx | 107 ++++++++++++++++++++ src/components/ui/button.tsx | 141 ++++++++++++++++++++++++++ src/components/ui/expenses-chart.tsx | 187 +++++++++++++++++++++++++++++++++++ src/components/ui/input.tsx | 98 ++++++++++++++++++ src/components/ui/options-modal.tsx | 137 +++++++++++++++++++++++++ src/components/ui/primitives.tsx | 104 +++++++++++++++++++ 6 files changed, 774 insertions(+) create mode 100644 src/components/ui/action-modal.tsx create mode 100644 src/components/ui/button.tsx create mode 100644 src/components/ui/expenses-chart.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/options-modal.tsx create mode 100644 src/components/ui/primitives.tsx (limited to 'src/components/ui') diff --git a/src/components/ui/action-modal.tsx b/src/components/ui/action-modal.tsx new file mode 100644 index 0000000..a1d95be --- /dev/null +++ b/src/components/ui/action-modal.tsx @@ -0,0 +1,107 @@ +import React from 'react'; +import { Modal, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import { BlurView } from 'expo-blur'; +import Animated, { FadeIn, FadeInDown, FadeOut, FadeOutDown } from 'react-native-reanimated'; +import { Colors, Radius, Spacing, Typography } from '@/constants/theme'; +import { Button } from './button'; + +interface ActionModalProps { + visible: boolean; + title: string; + message: string; + confirmText?: string; + cancelText?: string; + onConfirm: () => void; + onCancel: () => void; + isDestructive?: boolean; +} + +export function ActionModal({ + visible, + title, + message, + confirmText = 'Confirmar', + cancelText = 'Cancelar', + onConfirm, + onCancel, + isDestructive = false, +}: ActionModalProps) { + if (!visible) return null; + + return ( + + + + + + + + {title} + {message} + + +