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(); const [isHelpModalOpen, setIsHelpModalOpen] = useState(false); const transition = useTransition(); const actionData = useActionData()?.setTwilioCredentials; const { accountSid, authToken } = useLoaderData(); const topErrorMessage = actionData?.errors?.general; const isError = typeof topErrorMessage !== "undefined"; const isCurrentFormTransition = transition.submission?.formData.get("_action") === "changePassword"; const isSubmitting = isCurrentFormTransition && transition.state === "submitting"; return ( <>
} >
Shellphone needs some informations about your Twilio account to securely use your phone numbers.
{twilio !== null ? (

✓ Your Twilio account is connected to Shellphone.

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