native_convex_CRM/app/components/leadDetailHeader/leadDetailHeader.styles.ts

162 lines
3.4 KiB
TypeScript

import { StyleSheet } from 'react-native';
import { ThemeColors } from '../../theme';
export const getStyles = (colors: ThemeColors) =>
StyleSheet.create({
card: {
backgroundColor: colors.card,
borderRadius: 14,
padding: 14,
marginBottom: 16,
borderWidth: 1,
borderColor: colors.border,
shadowColor: '#0F172A',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.05,
shadowRadius: 4,
elevation: 2,
},
topRow: {
flexDirection: 'row',
alignItems: 'center',
marginBottom: 12,
},
avatar: {
width: 44,
height: 44,
borderRadius: 22,
justifyContent: 'center',
alignItems: 'center',
marginRight: 10,
flexShrink: 0,
},
avatarText: {
color: '#FFFFFF',
fontSize: 16,
fontWeight: '700',
},
info: {
flex: 1,
marginRight: 8,
},
name: {
fontSize: 15,
fontWeight: '700',
color: colors.text,
marginBottom: 1,
},
company: {
fontSize: 12,
color: colors.textSecondary,
marginBottom: 2,
},
contact: {
fontSize: 11,
color: colors.textMuted,
lineHeight: 16,
},
statusBadge: {
flexDirection: 'row',
alignItems: 'center',
gap: 4,
paddingHorizontal: 8,
paddingVertical: 4,
borderRadius: 20,
flexShrink: 0,
},
statusDot: {
width: 5,
height: 5,
borderRadius: 2.5,
},
statusText: {
fontSize: 10,
fontWeight: '700',
textTransform: 'uppercase',
letterSpacing: 0.3,
},
statusDropdownButton: {
flexDirection: 'row',
alignItems: 'center',
gap: 5,
paddingHorizontal: 10,
paddingVertical: 5,
borderRadius: 20,
borderWidth: 1,
flexShrink: 0,
},
statusDropdownText: {
fontSize: 10,
fontWeight: '700',
textTransform: 'uppercase',
letterSpacing: 0.3,
},
menuOverlay: {
position: 'absolute',
top: 36,
right: 0,
backgroundColor: colors.card,
borderRadius: 12,
borderWidth: 1,
borderColor: colors.border,
zIndex: 9999,
elevation: 20,
shadowColor: '#000000',
shadowOffset: { width: 0, height: 6 },
shadowOpacity: 0.15,
shadowRadius: 10,
minWidth: 140,
paddingVertical: 4,
},
menuItem: {
flexDirection: 'row',
alignItems: 'center',
gap: 8,
paddingVertical: 9,
paddingHorizontal: 12,
},
menuItemActive: {
backgroundColor: `${colors.icon}08`,
},
menuItemText: {
fontSize: 12,
fontWeight: '600',
color: colors.textSecondary,
flex: 1,
},
menuItemTextActive: {
color: colors.text,
fontWeight: '700',
},
menuItemDot: {
width: 8,
height: 8,
borderRadius: 4,
},
actionRow: {
flexDirection: 'row',
gap: 10,
borderTopWidth: 1,
borderTopColor: colors.border,
paddingTop: 10,
},
actionBtn: {
flex: 1,
flexDirection: 'row',
height: 36,
borderRadius: 8,
justifyContent: 'center',
alignItems: 'center',
gap: 5,
borderWidth: 1,
},
secondaryBtn: {
backgroundColor: colors.background,
borderColor: colors.border,
},
btnText: {
fontSize: 13,
fontWeight: '600',
},
});