'use client'; import { useOrg } from '@components/Contexts/OrgContext'; import FormLayout, { ButtonBlack, Flex, FormField, FormLabel, Input, Textarea } from '@components/StyledElements/Form/Form' import * as Form from '@radix-ui/react-form' import { FormMessage } from "@radix-ui/react-form"; import { getAPIUrl } from '@services/config/config'; import { updateUserRole } from '@services/organizations/orgs'; import { swrFetcher } from '@services/utils/ts/requests'; import React, { useEffect } from 'react' import { BarLoader } from 'react-spinners'; import { mutate } from 'swr'; interface Props { user: any setRolesModal: any alreadyAssignedRole: any } function RolesUpdate(props: Props) { const org = useOrg() as any; const [isSubmitting, setIsSubmitting] = React.useState(false); const [assignedRole, setAssignedRole] = React.useState(props.alreadyAssignedRole); const [error, setError] = React.useState(null) as any; const handleAssignedRole = (event: React.ChangeEvent) => { setError(null); setAssignedRole(event.target.value); } const handleSubmit = async (e: any) => { e.preventDefault(); setIsSubmitting(true); const res = await updateUserRole(org.id, props.user.user.id, assignedRole); if (res.status === 200) { await mutate(`${getAPIUrl()}orgs/${org.id}/users`); props.setRolesModal(false); } else { setIsSubmitting(false); setError('Error ' + res.status + ': ' + res.data.detail); } }; useEffect(() => { } , [assignedRole]) return (
{error ?
{error}
: ''} Roles Please choose a role for the user
{isSubmitting ? : "Update user role"}
) } export default RolesUpdate