import { useState } from 'react' import * as Dialog from '@radix-ui/react-dialog' import { X } from 'lucide-react' import { useMutation } from '@apollo/client/react' import { GET_USERS_PAGE_QUERY, SIGN_UP_MUTATION, } from '../../../../entities/employee/api/employee.graphql' import type { SignUpData, SignUpVariables, } from '../../../../entities/employee/model/types' import './AddEmployeeModal.scss' type AddEmployeeModalProps = { open: boolean onOpenChange: (open: boolean) => void } export function AddEmployeeModal({ open, onOpenChange }: AddEmployeeModalProps) { const [organisationId, setOrganisationId] = useState('') const [username, setUsername] = useState('') const [password, setPassword] = useState('') const [groupId, setGroupId] = useState('') const [signUp, { loading, error }] = useMutation( SIGN_UP_MUTATION, { refetchQueries: [ { query: GET_USERS_PAGE_QUERY, variables: {}, }, ], onCompleted: () => { setUsername('') setPassword('') setGroupId('') onOpenChange(false) }, }, ) function handleSubmit(event: React.SubmitEvent) { event.preventDefault() signUp({ variables: { organisationId, username, password, groupId: groupId.trim() ? groupId : null, }, }) } return (
Добавить сотрудника Создание пользователя для доступа к смартфонам
{error && (
Не удалось добавить сотрудника. Проверьте данные.
)}
Отмена
) }