160 lines
3.4 KiB
TypeScript
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',
|
|
},
|
|
});
|