native_convex_CRM/app/features/leadProposals/leadProposals.styles.ts
2026-07-16 20:04:40 +05:30

191 lines
4.0 KiB
TypeScript

import { StyleSheet } from 'react-native';
import { ThemeColors } from '../../theme';
export const getStyles = (colors: ThemeColors) =>
StyleSheet.create({
container: {
flex: 1,
backgroundColor: colors.background,
},
scrollContent: {
padding: 16,
paddingBottom: 32,
},
// Step Indicator
stepIndicator: {
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'center',
marginBottom: 24,
paddingHorizontal: 40,
},
stepActive: {
width: 40,
height: 40,
borderRadius: 20,
backgroundColor: '#6366F1',
justifyContent: 'center',
alignItems: 'center',
},
stepInactive: {
width: 40,
height: 40,
borderRadius: 20,
backgroundColor: colors.border,
justifyContent: 'center',
alignItems: 'center',
},
stepNumberActive: {
color: '#FFFFFF',
fontSize: 16,
fontWeight: '700',
},
stepNumberInactive: {
color: colors.textMuted,
fontSize: 16,
fontWeight: '700',
},
stepLine: {
flex: 1,
height: 2,
backgroundColor: colors.border,
marginHorizontal: 8,
},
// Card
card: {
backgroundColor: colors.card,
borderRadius: 16,
padding: 20,
marginBottom: 16,
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.05,
shadowRadius: 8,
elevation: 2,
},
cardTitle: {
fontSize: 18,
fontWeight: '700',
color: colors.text,
marginBottom: 20,
},
// Row Layout
row: {
flexDirection: 'row',
gap: 12,
},
halfWidth: {
flex: 1,
},
// Summary Section
summaryRow: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
paddingVertical: 12,
},
summaryLabel: {
fontSize: 15,
color: colors.textSecondary,
fontWeight: '500',
},
summaryValue: {
fontSize: 15,
color: colors.text,
fontWeight: '600',
},
// Discount Row
discountRow: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
paddingVertical: 12,
borderTopWidth: 1,
borderTopColor: colors.border,
},
discountInputs: {
flexDirection: 'row',
alignItems: 'center',
flex: 1,
marginHorizontal: 12,
gap: 8,
},
discountInput: {
flex: 1,
backgroundColor: colors.surface,
borderWidth: 1,
borderColor: colors.border,
borderRadius: 8,
paddingHorizontal: 12,
paddingVertical: 8,
fontSize: 14,
color: colors.text,
textAlign: 'center',
},
unitButton: {
flexDirection: 'row',
alignItems: 'center',
backgroundColor: colors.surface,
borderWidth: 1,
borderColor: colors.border,
borderRadius: 8,
paddingHorizontal: 12,
paddingVertical: 8,
gap: 4,
},
unitText: {
fontSize: 14,
color: colors.text,
fontWeight: '600',
},
// Adjustment Row
adjustmentRow: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
paddingVertical: 12,
borderTopWidth: 1,
borderTopColor: colors.border,
},
adjustmentInput: {
flex: 1,
backgroundColor: colors.surface,
borderWidth: 1,
borderColor: colors.border,
borderRadius: 8,
paddingHorizontal: 12,
paddingVertical: 8,
fontSize: 14,
color: colors.text,
textAlign: 'center',
marginHorizontal: 12,
},
// Total Row
totalRow: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
paddingVertical: 16,
borderTopWidth: 2,
borderTopColor: colors.border,
marginTop: 8,
},
totalLabel: {
fontSize: 18,
color: colors.text,
fontWeight: '700',
},
totalValue: {
fontSize: 18,
color: colors.text,
fontWeight: '700',
},
});