import { ConfirmModal, HStack, Input, MetaButton, Text, VStack, } from '@metafam/ds'; import { CreateQuestCompletionInput, QuestFragmentFragment, } from 'graphql/autogen/types'; import { useRouter } from 'next/router'; import React, { useState } from 'react'; import { useForm } from 'react-hook-form'; import { UriRegexp } from '../../utils/questHelpers'; const validations = { submission_text: { required: true, }, submission_link: { pattern: UriRegexp, }, }; type Props = { quest: QuestFragmentFragment; onSubmit: (data: CreateQuestCompletionInput) => void; success?: boolean; fetching?: boolean; }; export const CompletionForm: React.FC = ({ quest, onSubmit, success, fetching, }) => { const { register, errors, handleSubmit, } = useForm(); const [exitAlert, setExitAlert] = useState(false); const router = useRouter(); return ( Description Link setExitAlert(true)} isDisabled={fetching || success} > Cancel Submit setExitAlert(false)} onYep={() => router.push(`/quest/${quest.id}`)} header="Are you sure you want to leave ?" /> ); };