From 84a93758f773b4af26f8a402f58c068cdece0497 Mon Sep 17 00:00:00 2001 From: angelindepthios Date: Sun, 7 Nov 2021 16:22:07 +0700 Subject: [PATCH 1/2] FEAT: integrate update profile user --- src/screens/profile/AccountSettingsScreen.tsx | 56 +++++++++++++------ 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/src/screens/profile/AccountSettingsScreen.tsx b/src/screens/profile/AccountSettingsScreen.tsx index 5337082..844bdde 100644 --- a/src/screens/profile/AccountSettingsScreen.tsx +++ b/src/screens/profile/AccountSettingsScreen.tsx @@ -1,12 +1,7 @@ import { useNavigation } from "@react-navigation/core"; import * as React from "react"; -import { - Button, - StyleSheet, - Image, - ActivityIndicator, - Alert, -} from "react-native"; +import { StyleSheet, Image, ActivityIndicator, Alert } from "react-native"; +import DropdownForm from "../../components/Forms/DropdownForm"; import { ScrollView, TouchableOpacity } from "react-native-gesture-handler"; import PlainForm from "../../components/Forms/PlainForm"; import { useEffect, useState } from "react"; @@ -19,7 +14,10 @@ import { ImageInfo } from "expo-image-picker/build/ImagePicker.types"; import { setProfilePic } from "../../redux/user/actions"; import { useAppDispatch, useUser } from "../../hooks/reduxHooks"; import { getCategory } from "../../service/firestore/ecosystem/getCategory"; - +import { updateUser } from "../../service/firestore/user"; +import MainButton from "../../components/button/MainButton"; +import { IDD } from "../../types/firestore"; +import { getCategoriesAsDdFormat } from "../../helpers/ddConverter"; export default function AccountSettingsScreen({ // eslint-disable-next-line @typescript-eslint/no-unused-vars navigation, @@ -31,9 +29,23 @@ export default function AccountSettingsScreen({ const [email, setEmail] = useState(user.email); const [hp, setHp] = useState(user.phone); const [bisnis, setBisnis] = useState(user.businessType); + const [picked, setPicked] = useState(""); const nav = useNavigation(); const [isLoading, setIsLoading] = useState(false); const dispatch = useAppDispatch(); + const [categories, setCategories] = useState([]); + const handleUpdateProfile = () => { + updateUser(user.id, { + firstName: namaDepan, + lastName: namaBelakang, + email: "", + phone: hp, + pic: "", + businessType: picked, + }).then(() => { + Alert.alert("Berhasil Mengupdate"); + }); + }; const handlePickImage = () => { // setIsLoading(true); pickImage().then((res) => { @@ -53,6 +65,7 @@ export default function AccountSettingsScreen({ }); }; useEffect(() => { + getCategoriesAsDdFormat().then((res) => setCategories(res)); (async () => { const name = await getCategory(bisnis); setBisnis(name); @@ -116,6 +129,7 @@ export default function AccountSettingsScreen({ placeholder="Masukkan Email" email errorMessage={"Silahkan masukkan email yang benar"} + disabled /> @@ -131,22 +145,32 @@ export default function AccountSettingsScreen({ - -