137 lines
3.0 KiB
TypeScript
137 lines
3.0 KiB
TypeScript
|
|
import { View, Text, StyleSheet, TouchableOpacity } from "react-native";
|
||
|
|
import { Ionicons } from "@expo/vector-icons";
|
||
|
|
|
||
|
|
export default function ProfileScreen() {
|
||
|
|
return (
|
||
|
|
<View style={styles.container}>
|
||
|
|
{/* Header */}
|
||
|
|
<Text style={styles.title}>Profile</Text>
|
||
|
|
<Text style={styles.subtitle}>Informasi pengguna aplikasi</Text>
|
||
|
|
|
||
|
|
{/* Profile Card */}
|
||
|
|
<View style={styles.profileCard}>
|
||
|
|
<View style={styles.avatar}>
|
||
|
|
<Ionicons name="person" size={40} color="#FFFFFF" />
|
||
|
|
</View>
|
||
|
|
|
||
|
|
<Text style={styles.name}>Fahrul</Text>
|
||
|
|
<Text style={styles.email}>fahrul@email.com</Text>
|
||
|
|
</View>
|
||
|
|
|
||
|
|
{/* Info Card */}
|
||
|
|
<View style={styles.infoCard}>
|
||
|
|
<View style={styles.infoRow}>
|
||
|
|
<Ionicons name="wallet-outline" size={22} color="#2563EB" />
|
||
|
|
<Text style={styles.infoText}>Aplikasi: Hitung Duit</Text>
|
||
|
|
</View>
|
||
|
|
|
||
|
|
<View style={styles.infoRow}>
|
||
|
|
<Ionicons name="phone-portrait-outline" size={22} color="#2563EB" />
|
||
|
|
<Text style={styles.infoText}>Versi: 1.0.0</Text>
|
||
|
|
</View>
|
||
|
|
|
||
|
|
<View style={styles.infoRow}>
|
||
|
|
<Ionicons name="school-outline" size={22} color="#2563EB" />
|
||
|
|
<Text style={styles.infoText}>Project Tugas Mobile Programming</Text>
|
||
|
|
</View>
|
||
|
|
</View>
|
||
|
|
|
||
|
|
{/* Logout Button */}
|
||
|
|
<TouchableOpacity style={styles.logoutButton}>
|
||
|
|
<Ionicons name="log-out-outline" size={20} color="#FFFFFF" />
|
||
|
|
<Text style={styles.logoutText}>Logout</Text>
|
||
|
|
</TouchableOpacity>
|
||
|
|
</View>
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
const styles = StyleSheet.create({
|
||
|
|
container: {
|
||
|
|
flex: 1,
|
||
|
|
backgroundColor: "#F5F7FA",
|
||
|
|
padding: 24,
|
||
|
|
paddingTop: 60,
|
||
|
|
},
|
||
|
|
|
||
|
|
title: {
|
||
|
|
fontSize: 30,
|
||
|
|
fontWeight: "bold",
|
||
|
|
marginBottom: 6,
|
||
|
|
},
|
||
|
|
|
||
|
|
subtitle: {
|
||
|
|
fontSize: 15,
|
||
|
|
color: "#666",
|
||
|
|
marginBottom: 28,
|
||
|
|
},
|
||
|
|
|
||
|
|
profileCard: {
|
||
|
|
backgroundColor: "#2563EB",
|
||
|
|
borderRadius: 20,
|
||
|
|
padding: 28,
|
||
|
|
alignItems: "center",
|
||
|
|
marginBottom: 24,
|
||
|
|
},
|
||
|
|
|
||
|
|
avatar: {
|
||
|
|
width: 80,
|
||
|
|
height: 80,
|
||
|
|
borderRadius: 40,
|
||
|
|
backgroundColor: "rgba(255,255,255,0.25)",
|
||
|
|
justifyContent: "center",
|
||
|
|
alignItems: "center",
|
||
|
|
marginBottom: 16,
|
||
|
|
},
|
||
|
|
|
||
|
|
name: {
|
||
|
|
fontSize: 24,
|
||
|
|
fontWeight: "bold",
|
||
|
|
color: "#FFFFFF",
|
||
|
|
marginBottom: 6,
|
||
|
|
},
|
||
|
|
|
||
|
|
email: {
|
||
|
|
fontSize: 14,
|
||
|
|
color: "#DBEAFE",
|
||
|
|
},
|
||
|
|
|
||
|
|
infoCard: {
|
||
|
|
backgroundColor: "#FFFFFF",
|
||
|
|
borderRadius: 18,
|
||
|
|
padding: 20,
|
||
|
|
marginBottom: 28,
|
||
|
|
shadowColor: "#000",
|
||
|
|
shadowOpacity: 0.05,
|
||
|
|
shadowRadius: 6,
|
||
|
|
elevation: 3,
|
||
|
|
},
|
||
|
|
|
||
|
|
infoRow: {
|
||
|
|
flexDirection: "row",
|
||
|
|
alignItems: "center",
|
||
|
|
gap: 12,
|
||
|
|
marginBottom: 18,
|
||
|
|
},
|
||
|
|
|
||
|
|
infoText: {
|
||
|
|
fontSize: 15,
|
||
|
|
color: "#333",
|
||
|
|
flex: 1,
|
||
|
|
},
|
||
|
|
|
||
|
|
logoutButton: {
|
||
|
|
backgroundColor: "#DC2626",
|
||
|
|
paddingVertical: 16,
|
||
|
|
borderRadius: 14,
|
||
|
|
flexDirection: "row",
|
||
|
|
justifyContent: "center",
|
||
|
|
alignItems: "center",
|
||
|
|
gap: 10,
|
||
|
|
},
|
||
|
|
|
||
|
|
logoutText: {
|
||
|
|
color: "#FFFFFF",
|
||
|
|
fontSize: 16,
|
||
|
|
fontWeight: "600",
|
||
|
|
},
|
||
|
|
});
|