249 lines
5.4 KiB
TypeScript

import { StyleSheet } from 'react-native';
import { typography } from '@theme';
export const getStyles = (colors: any) => StyleSheet.create({
container: {
flex: 1,
backgroundColor: colors.background,
},
content: {
padding: 16,
paddingBottom: 40,
},
sectionTitle: {
fontSize: typography.fontSize.lg,
fontWeight: typography.fontWeight.bold,
color: colors.text,
marginBottom: 16,
marginTop: 8,
},
faqItem: {
backgroundColor: colors.cardBg,
borderRadius: 12,
padding: 16,
marginBottom: 10,
borderWidth: 1,
borderColor: colors.border,
},
faqQuestion: {
fontSize: typography.fontSize.md,
fontWeight: typography.fontWeight.semibold,
color: colors.text,
marginBottom: 4,
},
faqAnswer: {
fontSize: typography.fontSize.sm,
color: colors.textSecondary,
lineHeight: 20,
},
supportCard: {
flexDirection: 'row',
alignItems: 'center',
backgroundColor: colors.cardBg,
borderRadius: 12,
padding: 16,
marginBottom: 10,
borderWidth: 1,
borderColor: colors.border,
},
supportIcon: {
fontSize: 24,
marginRight: 12,
},
supportLabel: {
fontSize: typography.fontSize.sm,
color: colors.textSecondary,
},
supportValue: {
fontSize: typography.fontSize.md,
fontWeight: typography.fontWeight.semibold,
color: colors.text,
},
tabContainer: {
flexDirection: 'row',
backgroundColor: colors.surface,
borderRadius: 8,
padding: 4,
marginBottom: 16,
},
tabButton: {
flex: 1,
paddingVertical: 10,
alignItems: 'center',
borderRadius: 6,
},
activeTabButton: {
backgroundColor: colors.cardBg,
shadowColor: '#000',
shadowOffset: { width: 0, height: 1 },
shadowOpacity: 0.1,
shadowRadius: 2,
elevation: 2,
},
tabText: {
fontSize: typography.fontSize.sm,
fontWeight: typography.fontWeight.semibold,
color: colors.textSecondary,
},
activeTabText: {
color: colors.primary,
},
ticketCard: {
backgroundColor: colors.cardBg,
borderRadius: 12,
padding: 16,
marginBottom: 12,
borderWidth: 1,
borderColor: colors.border,
},
ticketHeader: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
marginBottom: 8,
},
ticketNumber: {
fontSize: typography.fontSize.sm,
fontWeight: typography.fontWeight.bold,
color: colors.text,
},
ticketDate: {
fontSize: typography.fontSize.xs,
color: colors.textSecondary,
},
ticketSubjectText: {
fontSize: typography.fontSize.sm,
color: colors.text,
marginBottom: 8,
},
ticketFooter: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
borderTopWidth: 1,
borderTopColor: colors.border,
paddingTop: 8,
marginTop: 4,
},
categoryBadge: {
backgroundColor: colors.surface,
paddingHorizontal: 8,
paddingVertical: 2,
borderRadius: 4,
},
categoryText: {
fontSize: 11,
color: colors.textSecondary,
},
statusBadge: {
paddingHorizontal: 8,
paddingVertical: 2,
borderRadius: 12,
},
statusText: {
fontSize: 11,
fontWeight: typography.fontWeight.bold,
},
createTicketBtn: {
backgroundColor: colors.primary,
borderRadius: 12,
paddingVertical: 14,
alignItems: 'center',
marginTop: 12,
marginBottom: 24,
},
createTicketBtnText: {
color: '#FFFFFF',
fontSize: typography.fontSize.md,
fontWeight: typography.fontWeight.bold,
},
modalOverlay: {
flex: 1,
backgroundColor: 'rgba(0,0,0,0.5)',
justifyContent: 'center',
alignItems: 'center',
padding: 20,
},
modalContent: {
backgroundColor: colors.cardBg,
borderRadius: 16,
width: '100%',
maxHeight: '90%',
padding: 20,
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.25,
shadowRadius: 4,
elevation: 5,
},
modalTitle: {
fontSize: typography.fontSize.lg,
fontWeight: typography.fontWeight.bold,
color: colors.text,
marginBottom: 16,
textAlign: 'center',
},
label: {
fontSize: typography.fontSize.sm,
fontWeight: typography.fontWeight.semibold,
color: colors.text,
marginBottom: 6,
marginTop: 12,
},
input: {
backgroundColor: colors.background,
borderWidth: 1,
borderColor: colors.border,
borderRadius: 8,
paddingHorizontal: 12,
paddingVertical: 10,
fontSize: typography.fontSize.sm,
color: colors.text,
},
textArea: {
minHeight: 80,
textAlignVertical: 'top',
},
categorySelect: {
backgroundColor: colors.background,
borderWidth: 1,
borderColor: colors.border,
borderRadius: 8,
padding: 12,
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
},
categorySelectText: {
fontSize: typography.fontSize.sm,
color: colors.text,
},
modalActions: {
flexDirection: 'row',
justifyContent: 'space-between',
marginTop: 20,
},
modalBtn: {
flex: 1,
paddingVertical: 12,
borderRadius: 8,
alignItems: 'center',
},
cancelBtn: {
backgroundColor: colors.border,
marginRight: 10,
},
submitBtn: {
backgroundColor: colors.primary,
marginLeft: 10,
},
cancelBtnText: {
color: colors.text,
fontWeight: typography.fontWeight.bold,
},
submitBtnText: {
color: '#FFFFFF',
fontWeight: typography.fontWeight.bold,
},
});