import React from 'react'; import { View, Text, TouchableOpacity, StyleSheet, Pressable } from 'react-native'; import { useTheme } from './ThemeProvider'; import type { ColorMode, ContrastLevel } from './ThemeProvider'; const COLOR_MODES: { label: string; value: ColorMode }[] = [ { label: 'System', value: 'system' }, { label: 'Hell', value: 'light' }, { label: 'Dunkel', value: 'dark' }, ]; const CONTRAST_LABELS: Record = { 1: 'Sehr niedrig', 2: 'Niedrig', 3: 'Standard', 4: 'Hoch', 5: 'Sehr hoch', }; export const ThemeSettings = () => { const { theme, colorMode, setColorMode, contrastLevel, setContrastLevel } = useTheme(); return ( {/* Helligkeits-Einstellungen */} Helligkeit: {COLOR_MODES.map((mode) => ( setColorMode(mode.value)} > {mode.label} ))} {/* Kontrast-Einstellungen */} Kontrast: {([1, 2, 3, 4, 5] as ContrastLevel[]).map((level) => ( setContrastLevel(level)} /> ))} {CONTRAST_LABELS[contrastLevel]} ); }; const styles = StyleSheet.create({ container: { width: '100%', gap: 16, }, section: { padding: 16, borderRadius: 12, gap: 12, }, sectionTitle: { fontSize: 16, fontWeight: '600', }, colorModeList: { flexDirection: 'row', gap: 8, }, colorModeOption: { flex: 1, padding: 12, borderRadius: 8, alignItems: 'center', }, colorModeText: { fontSize: 14, fontWeight: '500', }, contrastContainer: { gap: 12, }, contrastSlider: { flexDirection: 'row', gap: 8, alignItems: 'center', }, contrastOption: { flex: 1, height: 4, borderRadius: 2, }, contrastLabel: { fontSize: 14, textAlign: 'center', }, });