249 lines
5.4 KiB
TypeScript
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,
|
|
},
|
|
});
|