193 lines
3.9 KiB
TypeScript
193 lines
3.9 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: 40,
|
|
},
|
|
// Header card
|
|
headerCard: {
|
|
backgroundColor: colors.card,
|
|
borderRadius: 16,
|
|
padding: 20,
|
|
alignItems: 'center',
|
|
marginBottom: 16,
|
|
shadowColor: '#0F172A',
|
|
shadowOffset: { width: 0, height: 3 },
|
|
shadowOpacity: 0.08,
|
|
shadowRadius: 8,
|
|
elevation: 3,
|
|
},
|
|
avatarCircle: {
|
|
width: 64,
|
|
height: 64,
|
|
borderRadius: 32,
|
|
backgroundColor: colors.icon,
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
marginBottom: 12,
|
|
},
|
|
avatarInitial: {
|
|
color: '#FFFFFF',
|
|
fontSize: 26,
|
|
fontWeight: '700',
|
|
},
|
|
companyName: {
|
|
fontSize: 20,
|
|
fontWeight: '800',
|
|
color: colors.text,
|
|
textAlign: 'center',
|
|
},
|
|
fullName: {
|
|
fontSize: 14,
|
|
color: colors.textSecondary,
|
|
marginTop: 4,
|
|
textAlign: 'center',
|
|
},
|
|
badgeRow: {
|
|
flexDirection: 'row',
|
|
alignItems: 'center',
|
|
marginTop: 10,
|
|
gap: 8,
|
|
},
|
|
badge: {
|
|
paddingHorizontal: 10,
|
|
paddingVertical: 4,
|
|
borderRadius: 20,
|
|
},
|
|
activeBadge: {
|
|
backgroundColor: '#D1FAE5',
|
|
},
|
|
inactiveBadge: {
|
|
backgroundColor: '#FEE2E2',
|
|
},
|
|
badgeText: {
|
|
fontSize: 12,
|
|
fontWeight: '700',
|
|
},
|
|
activeBadgeText: {
|
|
color: '#059669',
|
|
},
|
|
inactiveBadgeText: {
|
|
color: '#DC2626',
|
|
},
|
|
dateText: {
|
|
fontSize: 12,
|
|
color: colors.textMuted,
|
|
},
|
|
|
|
// Quick Actions
|
|
actionRow: {
|
|
flexDirection: 'row',
|
|
gap: 10,
|
|
marginBottom: 16,
|
|
},
|
|
actionBtn: {
|
|
flex: 1,
|
|
flexDirection: 'row',
|
|
height: 42,
|
|
borderRadius: 10,
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
gap: 6,
|
|
borderWidth: 1,
|
|
},
|
|
primaryBtn: {
|
|
backgroundColor: colors.icon,
|
|
borderColor: colors.icon,
|
|
},
|
|
primaryBtnText: {
|
|
color: '#FFFFFF',
|
|
fontWeight: '600',
|
|
fontSize: 13,
|
|
},
|
|
secondaryBtn: {
|
|
backgroundColor: colors.card,
|
|
borderColor: colors.border,
|
|
},
|
|
secondaryBtnText: {
|
|
color: colors.text,
|
|
fontWeight: '600',
|
|
fontSize: 13,
|
|
},
|
|
|
|
// Section title
|
|
sectionTitle: {
|
|
fontSize: 15,
|
|
fontWeight: '700',
|
|
color: colors.text,
|
|
marginTop: 8,
|
|
marginBottom: 10,
|
|
textTransform: 'uppercase',
|
|
letterSpacing: 0.5,
|
|
},
|
|
|
|
// Card & Info rows
|
|
infoCard: {
|
|
backgroundColor: colors.card,
|
|
borderRadius: 14,
|
|
padding: 16,
|
|
marginBottom: 16,
|
|
borderWidth: 1,
|
|
borderColor: colors.border,
|
|
shadowColor: '#0F172A',
|
|
shadowOffset: { width: 0, height: 2 },
|
|
shadowOpacity: 0.04,
|
|
shadowRadius: 4,
|
|
elevation: 2,
|
|
},
|
|
infoRow: {
|
|
flexDirection: 'row',
|
|
alignItems: 'center',
|
|
paddingVertical: 8,
|
|
},
|
|
infoIconWrap: {
|
|
width: 34,
|
|
height: 34,
|
|
borderRadius: 8,
|
|
backgroundColor: colors.surface,
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
marginRight: 12,
|
|
},
|
|
infoMeta: {
|
|
flex: 1,
|
|
},
|
|
infoLabel: {
|
|
fontSize: 12,
|
|
color: colors.textMuted,
|
|
fontWeight: '500',
|
|
},
|
|
infoValue: {
|
|
fontSize: 14,
|
|
color: colors.text,
|
|
fontWeight: '600',
|
|
marginTop: 2,
|
|
},
|
|
divider: {
|
|
height: 1,
|
|
backgroundColor: colors.border,
|
|
marginVertical: 4,
|
|
},
|
|
|
|
// Error & empty states
|
|
centered: {
|
|
flex: 1,
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
padding: 32,
|
|
},
|
|
errorText: {
|
|
color: '#EF4444',
|
|
fontSize: 14,
|
|
textAlign: 'center',
|
|
marginTop: 10,
|
|
},
|
|
});
|