TIF_NGANJUK_E41212433/screens/MasukAdmin.js

228 lines
5.7 KiB
JavaScript

import React, { useState } from "react";
import {
View,
Text,
TextInput,
TouchableOpacity,
StyleSheet,
ScrollView,
StatusBar,
Image,
} from "react-native";
import { Ionicons, FontAwesome } from "@expo/vector-icons"; // Import FontAwesome untuk ikon surat
import { useNavigation } from "@react-navigation/native";
// import AksesWargaNavigator from "../Navigation/AksesWargaNavigator";
const MasukAdmin = () => {
const navigation = useNavigation();
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [showPassword, setShowPassword] = useState(false);
return (
<ScrollView style={{ flex: 1, backgroundColor: "#fff" }}>
<StatusBar backgroundColor={"#fff"} barStyle={"dark-content"} />
<View style={{ flex: 1, backgroundColor: "#fff" }}>
<View
style={{
backgroundColor: "#fff",
paddingVertical: 20,
paddingHorizontal: 10,
flexDirection: "row",
alignItems: "center",
}}
>
{/* Tombol Kembali */}
<TouchableOpacity
onPress={() => navigation.navigate("AksesAkun")}
style={{ width: 45, height: 45, marginRight: 13 }}
>
<Ionicons name="arrow-back" size={30} color="#000" />
</TouchableOpacity>
</View>
<View style={{ justifyContent: "center", alignItems: "center" }}>
<Image
source={require("../assets/images/sampah.png")}
style={{
width: 250,
height: 300,
marginTop: 10,
marginBottom: 10,
marginLeft: 10,
marginRight: 10,
}}
/>
<Text
style={{
color: "#000",
fontWeight: "bold",
fontSize: 40,
textAlign: "left",
}}
>
Selamat Datang
</Text>
<Text
style={{
color: "#000",
fontWeight: "bold",
fontSize: 40,
textAlign: "center",
}}
>
Ecomapper!
</Text>
</View>
</View>
<View style={styles.formContainer}>
<Text style={styles.label}>Email</Text>
<View style={styles.inputContainer}>
<Ionicons name="mail" size={24} color="gray" style={styles.icon} />
<TextInput
style={styles.input}
value={email}
onChangeText={setEmail}
placeholder="Masukkan email"
keyboardType="email-address"
/>
</View>
<Text style={styles.label}>Kata Sandi</Text>
<View style={styles.passwordContainer}>
<FontAwesome name="lock" size={24} color="gray" style={styles.icon} />
<TextInput
style={styles.passwordInput}
value={password}
onChangeText={setPassword}
placeholder="Masukkan Kata Sandi"
secureTextEntry={!showPassword}
/>
<TouchableOpacity
onPress={() => setShowPassword(!showPassword)}
style={styles.eyeIcon}
>
<Ionicons
name={showPassword ? "eye-off" : "eye"}
size={24}
color="gray"
/>
</TouchableOpacity>
</View>
<TouchableOpacity
style={styles.button}
onPress={() =>
navigation.navigate("AksesAdminNavigator", {
screen: "AdminScreen",
})
}
>
<Text style={styles.buttonText}>Masuk</Text>
</TouchableOpacity>
{/* "Daftar Sekarang" Text */}
<View style={styles.registerContainer}>
<Text style={styles.registerText}>
Belum punya akun?{" "}
<TouchableOpacity onPress={() => navigation.navigate("daftar")}>
<Text style={styles.registerLink}>Daftar Sekarang</Text>
</TouchableOpacity>
</Text>
</View>
{/* "Lupa Kata Sandi?" Text */}
<View style={styles.forgotPasswordContainer}>
<TouchableOpacity
onPress={() => navigation.navigate("lupakatasandi")}
>
<Text style={styles.forgotPasswordText}>Lupa Kata Sandi?</Text>
</TouchableOpacity>
</View>
</View>
</ScrollView>
);
};
const styles = StyleSheet.create({
formContainer: {
paddingHorizontal: 30,
marginTop: 20,
marginBottom: 30,
},
label: {
fontSize: 16,
marginBottom: 10,
color: "#333",
},
inputContainer: {
flexDirection: "row",
alignItems: "center",
borderColor: "#ddd",
borderWidth: 1,
borderRadius: 5,
marginBottom: 20,
},
input: {
flex: 1,
height: 45,
paddingLeft: 10,
},
icon: {
paddingLeft: 10,
},
passwordContainer: {
flexDirection: "row",
alignItems: "center",
borderColor: "#ddd",
height: 45,
borderWidth: 1,
borderRadius: 5,
marginBottom: 20,
},
passwordInput: {
flex: 1,
height: 45,
paddingLeft: 10,
},
eyeIcon: {
paddingRight: 10,
},
button: {
backgroundColor: "#2D572C",
paddingVertical: 15,
borderRadius: 5,
marginTop: 20,
},
buttonText: {
textAlign: "center",
color: "#fff",
fontSize: 16,
fontWeight: "bold",
},
registerContainer: {
marginTop: 15,
alignItems: "center",
},
registerText: {
fontSize: 16,
color: "#333",
},
registerLink: {
color: "#2D572C",
fontWeight: "bold",
},
forgotPasswordContainer: {
marginTop: 15,
alignItems: "center",
},
forgotPasswordText: {
fontSize: 16,
color: "#2D572C",
fontWeight: "bold",
},
});
export default MasukAdmin;