import { Picker } from "@react-native-picker/picker"; import React, { FunctionComponent, useEffect, useState } from "react"; import { View, ActivityIndicator } from "react-native"; import { useListUserRolesQuery, User, useUpdateUserMutation } from "../../../generated/graphql"; import {NblocksModalComponent} from "../../shared/NblocksModalComponent"; import {SubmitCancelButtonsComponent} from "../../shared/SubmitCancelButtonsComponent"; import {TitleComponent} from "../../shared/TitleComponent"; const EditUserModalComponent:FunctionComponent<{ user?:User; visible: boolean; onCloseModal: () => void; }> = ({user, visible, onCloseModal}) => { const [selectedRole, setSelectedRole] = useState(""); const { data: listUserRolesData, loading: listUserRolesLoading, error } = useListUserRolesQuery(); const [updateUserMutation, { data: updateData, loading: updateLoading, error: updateError }] = useUpdateUserMutation(); useEffect(() => { if (user) { setSelectedRole(user!.role!); } }, [user]) const updateUser = () => { updateUserMutation({variables: {user: {id: user!.id, role: selectedRole}}}); onCloseModal(); } if (updateLoading || listUserRolesLoading) { return ( ); } return ( onCloseModal()} > Change role setSelectedRole(itemValue) }> {listUserRolesData?.listUserRoles.map(role => ())} updateUser()} onCancel={() => onCloseModal()} > ) } export {EditUserModalComponent};