import { useState } from "react"; import { Form, useActionData, useLoaderData, useTransition } from "@remix-run/react"; import { IoHelpCircle } from "react-icons/io5"; import type { PhoneSettingsLoaderData } from "~/features/settings/loaders/phone"; import type { SetTwilioCredentialsActionData } from "~/features/settings/actions/phone"; import HelpModal from "./help-modal"; import SettingsSection from "../settings-section"; import useSession from "~/features/core/hooks/use-session"; import Alert from "~/features/core/components/alert"; import LabeledTextField from "~/features/core/components/labeled-text-field"; import Button from "~/features/settings/components/button"; export default function TwilioConnect() { const { twilio } = useSession(); console.log("twilio", twilio); const [isHelpModalOpen, setIsHelpModalOpen] = useState(false); const transition = useTransition(); const actionData = useActionData() ?.setTwilioCredentials as SetTwilioCredentialsActionData["setTwilioCredentials"]; const { accountSid, authToken } = useLoaderData(); const topErrorMessage = actionData?.errors?.general; const isError = typeof topErrorMessage !== "undefined"; const isCurrentFormTransition = transition.submission?.formData.get("_action") === "setTwilioCredentials"; const isSubmitting = isCurrentFormTransition && transition.state === "submitting"; return ( <>
} >

To connect your Twilio Account you will need to provide us your Twilio account SID and auth token.

Both values can be found on your{" "} Twilio account page.

{twilio != null ? (

✓ Your Twilio account is connected to Shellphone.

) : null} {isError ? (
) : null}
setIsHelpModalOpen(false)} isHelpModalOpen={isHelpModalOpen} /> ); }