import React, { useState } from 'react'; import { message, Button, Input, Modal, Typography, Form } from 'antd'; import { useCreateGroupMutation } from '../../../graphql/group.generated'; type Props = { visible: boolean; onClose: () => void; onCreate: (name: string, description: string) => void; }; export default function CreateGroupModal({ visible, onClose, onCreate }: Props) { const [stagedName, setStagedName] = useState(''); const [stagedDescription, setStagedDescription] = useState(''); const [createGroupMutation] = useCreateGroupMutation(); const onCreateGroup = () => { createGroupMutation({ variables: { input: { name: stagedName, description: stagedDescription, }, }, }) .catch((e) => { message.destroy(); message.error({ content: `Failed to create group!: \n ${e.message || ''}`, duration: 3 }); }) .finally(() => { message.success({ content: `Created group!`, duration: 3, }); onCreate(stagedName, stagedDescription); setStagedName(''); setStagedDescription(''); }); onClose(); }; return ( } >
Name}> Give your new group a name. setStagedName(event.target.value)} /> Description}> An optional description for your new group. setStagedDescription(event.target.value)} />
); }