92 lines
2.4 KiB
TypeScript
92 lines
2.4 KiB
TypeScript
import { StyleSheet, TouchableOpacity } from 'react-native';
|
|
import { useRouter } from 'expo-router';
|
|
import ParallaxScrollView from '@/components/default/ParallaxScrollView';
|
|
import { ThemedText, ThemedTextButton, ThemedView } from '@/components/theme';
|
|
import { IconSymbol } from '@/components/ui/IconSymbol';
|
|
import { Colors } from '@/constants/Colors';
|
|
import { useColorScheme } from '@/hooks/useColorScheme';
|
|
|
|
const SettingsScreen = () => {
|
|
const scheme = useColorScheme() ?? 'dark';
|
|
const router = useRouter();
|
|
|
|
return (
|
|
<ParallaxScrollView
|
|
headerImage={
|
|
<IconSymbol size={80} color='#808080' name='gear.circle' style={styles.headerImage} />
|
|
}
|
|
headerTitle={
|
|
<ThemedText type='title' style={styles.headerTitle}>
|
|
Settings
|
|
</ThemedText>
|
|
}
|
|
>
|
|
<ThemedView style={styles.section}>
|
|
<TouchableOpacity
|
|
style={[styles.settingItem, {backgroundColor: Colors[scheme].card}]}
|
|
onPress={() => router.push('/settings/profile')}
|
|
>
|
|
<IconSymbol name="person.fill" size={24} color="#007AFF" style={styles.icon} />
|
|
<ThemedView style={styles.settingContent}>
|
|
<ThemedText style={styles.settingTitle}>Profile Settings</ThemedText>
|
|
<ThemedText style={styles.settingSubtitle}>Update profile information or sign out.</ThemedText>
|
|
</ThemedView>
|
|
<IconSymbol name="chevron.right" size={20} color="#C7C7CC" />
|
|
</TouchableOpacity>
|
|
|
|
</ThemedView>
|
|
|
|
<ThemedView style={styles.section}>
|
|
</ThemedView>
|
|
</ParallaxScrollView>
|
|
);
|
|
};
|
|
|
|
export default SettingsScreen;
|
|
|
|
const styles = StyleSheet.create({
|
|
headerImage: {
|
|
color: '#808080',
|
|
bottom: 6,
|
|
left: 38,
|
|
position: 'absolute',
|
|
},
|
|
headerTitle: {
|
|
position: 'absolute',
|
|
bottom: 20,
|
|
left: 16,
|
|
right: 0,
|
|
textAlign: 'center',
|
|
fontSize: 48,
|
|
lineHeight: 64,
|
|
fontWeight: 'bold',
|
|
},
|
|
section: {
|
|
marginVertical: 8,
|
|
borderRadius: 10,
|
|
overflow: 'hidden',
|
|
},
|
|
settingItem: {
|
|
flexDirection: 'row',
|
|
alignItems: 'center',
|
|
padding: 16,
|
|
marginBottom: 1,
|
|
},
|
|
icon: {
|
|
marginRight: 16,
|
|
},
|
|
settingContent: {
|
|
backgroundColor: 'transparent',
|
|
flex: 1,
|
|
},
|
|
settingTitle: {
|
|
fontSize: 17,
|
|
fontWeight: '500',
|
|
},
|
|
settingSubtitle: {
|
|
fontSize: 14,
|
|
opacity: 0.6,
|
|
marginTop: 4,
|
|
},
|
|
});
|