Files
mindfulness/client/app/(app)/settings.tsx
2026-01-28 22:54:21 +08:00

51 lines
1.4 KiB
TypeScript

import Constants from 'expo-constants';
import { StyleSheet, Text, View } from 'react-native';
import { useTranslation } from 'react-i18next';
export default function SettingsScreen() {
const { t } = useTranslation();
const version =
Constants.expoConfig?.version ??
// 兜底:部分环境下 expoConfig 可能为空
'unknown';
return (
<View style={styles.container}>
<View style={styles.section}>
<Text style={styles.label}>{t('settings.version')}</Text>
<Text style={styles.value}>{version}</Text>
</View>
<View style={styles.card}>
<Text style={styles.cardTitle}>{t('settings.widgetTitle')}</Text>
<Text style={styles.cardText}>{t('settings.widgetDesc')}</Text>
</View>
</View>
);
}
const styles = StyleSheet.create({
container: { flex: 1, padding: 16, 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' },
card: {
borderRadius: 16,
padding: 16,
backgroundColor: '#111827',
},
cardTitle: { color: 'white', fontSize: 16, fontWeight: '700', marginBottom: 8 },
cardText: { color: '#E5E7EB', fontSize: 14, lineHeight: 20 },
});