native_convex_CRM/app/navigation/customDrawerContent.style.ts

160 lines
3.4 KiB
TypeScript

import { StyleSheet, Platform } from 'react-native';
import { ThemeColors } from '../theme';
export const getStyles = (colors: ThemeColors) =>
StyleSheet.create({
container: {
flex: 1,
backgroundColor: colors.drawerBg,
},
// Header
headerContainer: {
backgroundColor: colors.drawerHeader,
paddingHorizontal: 20,
paddingTop: Platform.OS === 'ios' ? 56 : 44,
paddingBottom: 20,
borderBottomWidth: 1,
borderBottomColor: 'rgba(255, 255, 255, 0.08)',
},
userHeaderTouchable: {
flexDirection: 'row',
alignItems: 'center',
},
avatarWrapper: {
position: 'relative',
marginRight: 14,
},
avatarImage: {
width: 52,
height: 52,
borderRadius: 26,
borderWidth: 2,
borderColor: colors.icon,
},
avatarCircle: {
width: 52,
height: 52,
borderRadius: 26,
backgroundColor: colors.icon,
justifyContent: 'center',
alignItems: 'center',
shadowColor: colors.icon,
shadowOffset: { width: 0, height: 3 },
shadowOpacity: 0.3,
shadowRadius: 5,
elevation: 4,
},
avatarInitial: {
color: '#FFFFFF',
fontSize: 22,
fontWeight: '800',
},
onlineDot: {
position: 'absolute',
bottom: 0,
right: 0,
width: 13,
height: 13,
borderRadius: 6.5,
backgroundColor: '#10B981',
borderWidth: 2,
borderColor: colors.drawerHeader,
},
headerDetails: {
flex: 1,
},
userName: {
fontSize: 16,
fontWeight: '700',
color: '#FFFFFF',
marginBottom: 2,
},
userEmail: {
fontSize: 12,
color: '#94A3B8',
marginBottom: 6,
},
roleBadge: {
alignSelf: 'flex-start',
paddingHorizontal: 8,
paddingVertical: 2,
borderRadius: 10,
backgroundColor: 'rgba(255, 255, 255, 0.12)',
},
roleBadgeText: {
fontSize: 10,
fontWeight: '700',
color: '#E2E8F0',
letterSpacing: 0.3,
},
// Navigation Menu
scrollContent: {
paddingVertical: 14,
},
menuContainer: {
paddingHorizontal: 12,
},
itemWrapper: {
flexDirection: 'row',
alignItems: 'center',
paddingVertical: 11,
paddingHorizontal: 14,
borderRadius: 12,
marginBottom: 4,
},
itemWrapperActive: {
backgroundColor: colors.card,
shadowColor: '#0F172A',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.04,
shadowRadius: 4,
elevation: 1,
},
activeIndicatorBar: {
width: 3.5,
height: 20,
borderRadius: 2,
backgroundColor: colors.icon,
marginRight: 10,
},
itemIcon: {
marginRight: 12,
},
itemLabel: {
fontSize: 14,
fontWeight: '500',
color: colors.textSecondary,
flex: 1,
},
itemLabelActive: {
color: colors.text,
fontWeight: '700',
},
// Footer
footer: {
borderTopWidth: 1,
borderTopColor: colors.border,
paddingHorizontal: 16,
paddingVertical: 14,
backgroundColor: colors.drawerBg,
},
logoutButton: {
flexDirection: 'row',
alignItems: 'center',
paddingVertical: 10,
paddingHorizontal: 14,
borderRadius: 10,
backgroundColor: '#FEF2F2',
},
logoutIcon: {
marginRight: 12,
},
logoutText: {
fontSize: 14,
fontWeight: '700',
color: '#EF4444',
},
});