import Constants from 'expo-constants'; import { Platform, StyleSheet, Text, View, useWindowDimensions } from 'react-native'; import { useTranslation } from 'react-i18next'; import { clampContentWidth, isIPadLike } from '@/src/utils/device'; export default function SettingsScreen() { const { t } = useTranslation(); const { width, height } = useWindowDimensions(); const isTablet = isIPadLike(width, height); const contentWidth = isTablet ? clampContentWidth(width, 720, 24) : undefined; const version = Constants.expoConfig?.version ?? // 兜底:部分环境下 expoConfig 可能为空 'unknown'; return ( {t('settings.version')} {version} {t('settings.widgetTitle')} {t('settings.widgetDesc')} ); } const styles = StyleSheet.create({ container: { flex: 1, width: '100%', alignSelf: 'stretch', padding: 16 }, contentWrap: { width: '100%', alignSelf: 'center', gap: 16, }, section: { borderRadius: 14, padding: 16, backgroundColor: '#FFFFFF', borderWidth: StyleSheet.hairlineWidth, borderColor: '#E5E7EB', flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', }, label: { color: '#374151', fontSize: 16 }, value: { color: '#111827', fontSize: 16, fontWeight: '600', fontFamily: Platform.OS === 'ios' ? 'STIX Two Text' : undefined, }, card: { borderRadius: 16, padding: 16, backgroundColor: '#111827', }, cardTitle: { color: 'white', fontSize: 16, fontWeight: '700', marginBottom: 8 }, cardText: { color: '#E5E7EB', fontSize: 14, lineHeight: 20 }, });