import { StyleSheet } from 'react-native'; import { Spacing, BorderRadius, Theme } from '@/constants/theme'; export const createStyles = (theme: Theme) => { return StyleSheet.create({ scrollContent: { flexGrow: 1, paddingHorizontal: Spacing.lg, paddingTop: Spacing.xl, paddingBottom: Spacing["5xl"], }, header: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', marginBottom: Spacing.xl, }, addButton: { width: 40, height: 40, borderRadius: BorderRadius.lg, backgroundColor: theme.primary, justifyContent: 'center', alignItems: 'center', shadowColor: theme.primary, shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.2, shadowRadius: 8, elevation: 3, }, chartSection: { padding: Spacing.xl, borderRadius: BorderRadius.xl, marginBottom: Spacing.lg, }, sectionHeader: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', marginBottom: Spacing.lg, }, sectionTitle: { marginBottom: Spacing.lg, }, emptyText: { textAlign: 'center', paddingVertical: Spacing["2xl"], }, recordsList: { gap: Spacing.md, }, recordItem: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', padding: Spacing.lg, backgroundColor: theme.backgroundTertiary, borderRadius: BorderRadius.lg, }, recordInfo: { flex: 1, }, recordWeight: { flexDirection: 'row', alignItems: 'baseline', marginBottom: Spacing.xs, }, changeBadge: { flexDirection: 'row', alignItems: 'center', paddingHorizontal: Spacing.sm, paddingVertical: Spacing.xs, backgroundColor: theme.backgroundDefault, borderRadius: BorderRadius.sm, marginRight: Spacing.md, }, statsSection: { padding: Spacing.xl, borderRadius: BorderRadius.xl, marginBottom: Spacing.lg, }, statRow: { flexDirection: 'row', justifyContent: 'space-between', }, statItem: { flex: 1, alignItems: 'center', }, statBorder: { borderLeftWidth: 1, borderRightWidth: 1, borderColor: theme.border, }, modalContainer: { flex: 1, backgroundColor: 'rgba(0, 0, 0, 0.5)', justifyContent: 'center', alignItems: 'center', padding: Spacing.lg, }, modalContent: { width: '100%', maxWidth: 400, borderRadius: BorderRadius["2xl"], }, modalHeader: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', padding: Spacing.xl, borderBottomWidth: 1, borderBottomColor: theme.border, }, modalBody: { padding: Spacing.xl, }, inputGroup: { marginBottom: Spacing.lg, }, label: { marginBottom: Spacing.sm, }, input: { backgroundColor: theme.backgroundTertiary, borderRadius: BorderRadius.lg, paddingHorizontal: Spacing.lg, paddingVertical: Spacing.md, color: theme.textPrimary, fontSize: 16, }, textArea: { height: 80, textAlignVertical: 'top', }, modalFooter: { flexDirection: 'row', gap: Spacing.md, padding: Spacing.xl, borderTopWidth: 1, borderTopColor: theme.border, }, modalButton: { flex: 1, paddingVertical: Spacing.lg, borderRadius: BorderRadius.lg, alignItems: 'center', }, cancelButton: { backgroundColor: theme.backgroundTertiary, }, confirmButton: { backgroundColor: theme.primary, shadowColor: theme.primary, shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.2, shadowRadius: 8, elevation: 3, }, }); };