import { useEffect, useState } from "react"; import { useMutation } from "blitz"; import { useForm } from "react-hook-form"; import { IoHelpCircle } from "react-icons/io5"; import setTwilioApiFields from "../../mutations/set-twilio-api-fields"; import useCurrentUser from "app/core/hooks/use-current-user"; import HelpModal from "./help-modal"; import Button from "../button"; import SettingsSection from "../settings-section"; type Form = { twilioAccountSid: string; twilioAuthToken: string; }; export default function TwilioApiForm() { const { register, handleSubmit, setValue, formState: { isSubmitting }, } = useForm
(); const { organization, refetch } = useCurrentUser(); const [setTwilioApiFieldsMutation] = useMutation(setTwilioApiFields); const [isHelpModalOpen, setIsHelpModalOpen] = useState(false); useEffect(() => { setValue("twilioAuthToken", organization?.twilioAuthToken ?? ""); setValue("twilioAccountSid", organization?.twilioAccountSid ?? ""); }, [setValue, organization?.twilioAuthToken, organization?.twilioAccountSid]); const onSubmit = handleSubmit(async ({ twilioAccountSid, twilioAuthToken }) => { if (isSubmitting) { return; } await setTwilioApiFieldsMutation({ twilioAccountSid, twilioAuthToken }); await refetch(); }); return ( <> } >
Shellphone needs some informations about your Twilio account to securely use your phone numbers.
setIsHelpModalOpen(false)} isHelpModalOpen={isHelpModalOpen} /> ); }