Files
cally/components/pages/main/ResetPasswordPage.tsx
2025-01-14 20:54:56 +01:00

79 lines
1.9 KiB
TypeScript

import { Button, ButtonSize, Text, TextField, View } from "react-native-ui-lib";
import React, { useState } from "react";
import { StyleSheet } from "react-native";
import { useResetPassword } from "@/hooks/firebase/useResetPassword";
import { router } from "expo-router";
export const ResetPasswordPage = () => {
const [email, setEmail] = useState<string>("");
const {
mutateAsync: resetPassword,
error,
isError,
isLoading,
} = useResetPassword();
const handleResetPassword = async () => {
await resetPassword({ email });
alert("Password reset, please check your email");
};
return (
<View padding-10 centerV height={"100%"}>
<Text text70 center>
Please enter your email and reset your password
</Text>
<TextField
placeholder="Email"
value={email}
onChangeText={setEmail}
style={styles.textfield}
/>
<Button
label="Reset Password"
onPress={handleResetPassword}
marginB-20
backgroundColor="#fd1775"
disabled={isLoading}
/>
<View>
<Button
onPress={() => router.push("/(unauth)/sign_in")}
label="Back"
labelStyle={[
styles.jakartaMedium,
{ textDecorationLine: "none", color: "#fd1575" },
]}
link
size={ButtonSize.xSmall}
padding-0
margin-0
text70
left
color="#fd1775"
/>
</View>
{isError && <Text center style={{ marginBottom: 20 }}>{`${error}`}</Text>}
</View>
);
};
const styles = StyleSheet.create({
textfield: {
backgroundColor: "white",
marginVertical: 10,
padding: 30,
height: 45,
borderRadius: 50,
},
jakartaMedium: {
fontFamily: "PlusJakartaSans_500Medium",
fontSize: 16,
color: "#919191",
textDecorationLine: "underline",
},
});