Advertisement
materialblock

tt

Oct 17th, 2022
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. import React, { createContext, useState, useCallBack } from "react";
  2. import { StyleSheet, TouchableOpacity } from "react-native";
  3. import Input from "../atoms/Input";
  4. import { View, Text, Colors, Button } from "react-native-ui-lib";
  5. import { useTranslation } from "react-i18next";
  6. import FieldState from "../atoms/FieldState";
  7. import {SignInSchema} from "../environment/validation";
  8. import { useFormContext, FormProvider, useForm } from "react-hook-form";
  9. import { yupResolver } from "@hookform/resolvers/yup";
  10.  
  11. import BottomSheet from "@gorhom/bottom-sheet/src";
  12. import EditProfileTemplete from "../templates/EditProfileTemplete";
  13.  
  14. export const ModalsContext = createContext(null);
  15.  
  16. const EditProfile = ({ navigation }) => {
  17. const [userData, setUserData] = useState({
  18. firstName: "Natalia",
  19. lastName: "Triandofilidi",
  20. bio: "I am professional at procrastination",
  21. status: "open_to_work",
  22. pronoun: "she/her",
  23. jobs: [],
  24. imployment: [],
  25. notify: false,
  26. });
  27.  
  28. const updateUserData = (data) => {
  29. setUserData({
  30. ...userData,
  31. ...data,
  32. });
  33. };
  34.  
  35. const statusRef = React.useRef<BottomSheet>(null);
  36. const pronounRef = React.useRef<BottomSheet>(null);
  37. const lookingForRef = React.useRef<BottomSheet>(null);
  38.  
  39. const handleGoBach = () => {
  40. navigation.goBack();
  41. };
  42.  
  43. const handleSave = () => {
  44. handleGoBach();
  45. };
  46.  
  47. const methods = useForm({
  48. resolver: yupResolver(SignInSchema),
  49. });
  50.  
  51. const signInWithFirebase = (values) => {
  52. const { email, password } = values;
  53. console.log('VAL', values);
  54. };
  55.  
  56. const onSubmit = React.useCallback((values) => {
  57. alert(2);
  58. signInWithFirebase(values);
  59. }, []);
  60.  
  61.  
  62.  
  63. return (
  64. <ModalsContext.Provider
  65. value={{
  66. statusRef,
  67. pronounRef,
  68. lookingForRef,
  69. }}
  70. >
  71. <FormProvider {...methods}>
  72. {/* <EditProfileTemplete
  73. userData={userData}
  74. onSubmit={methods.handleSubmit(onSubmit)}
  75. updateUserData={updateUserData}
  76. onCancel={handleGoBach}
  77. onDone={handleSave}
  78. /> */}
  79. <View marginB-20>
  80. <Text marginB-6>Email</Text>
  81. <Input
  82. name="email"
  83. isClear={true}
  84. placeholder="Enter"
  85. />
  86. <FieldState name="email" />
  87. </View>
  88. <View marginB-20>
  89. <Text marginB-6>Password</Text>
  90. <Input
  91. name="password"
  92. isClear={true}
  93. isPassword={true}
  94. isSecure={true}
  95. placeholder="ENTER PASSWROD"
  96. />
  97. <FieldState name="password" />
  98. </View>
  99. <Button
  100. onPress={methods.handleSubmit(onSubmit)}
  101. label="SUBMIT"
  102. backgroundColor={Colors.greyWhiteColor}
  103. size={Button.sizes.large}
  104. paddingH-100
  105. paddingV-15
  106. marginB-15
  107. />
  108. </FormProvider>
  109. </ModalsContext.Provider>
  110. );
  111. };
  112.  
  113. export default EditProfile;
  114.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement