import { Button, Modal, ModalCloseButton, ModalHeader, ModalOverlay, ModalContent, ModalBody, ModalFooter, FormControl, FormLabel, Textarea, FormHelperText, FormErrorMessage, Select, } from "@chakra-ui/react"; import { Trans, t } from "@lingui/macro"; import { useState } from "react"; import { Controller, useForm } from "react-hook-form"; import { suggestionSchema, SUGGESTION_DESCRIPTION_LIMIT, } from "lib/validators/suggestion"; import * as z from "zod"; import { zodResolver } from "@hookform/resolvers/zod"; import UserSelector from "components/common/UserSelector"; interface Props { canVouch: boolean; canSuggest: boolean; userPlusMembershipTier?: number; } type FormData = z.infer; const SuggestionVouchModal: React.FC = ({ canVouch, canSuggest, userPlusMembershipTier, }) => { const [isOpen, setIsOpen] = useState(false); const sending = false; //usemutation hook const { handleSubmit, errors, register, watch, control } = useForm({ resolver: zodResolver(suggestionSchema), }); const watchDescription = watch("description", ""); if (!canVouch && !canSuggest) return null; const getButtonText = () => { if (canSuggest && canVouch) return t`Add new suggestion or vouch`; if (canVouch) return t`Vouch`; return t`Add new suggestion`; }; if (!userPlusMembershipTier) return null; return ( <> {isOpen && ( setIsOpen(false)} size="xl" closeOnOverlayClick={false} > Adding a new suggestion or vouch
Tier ( )} /> User ( )} /> Region If the player isn't from either region then choose the one they play most commonly with. Description