"use client"; import { Button } from "@app/components/ui/button"; import { SettingsSection, SettingsSectionBody, SettingsSectionFooter } from "@app/components/Settings"; import EmailIdentityKeysForm from "@app/components/EmailIdentityKeysForm"; import { useEnvContext } from "@app/hooks/useEnvContext"; import { formatVirtualApiKeyCredential } from "@app/lib/virtualApiKeyFormat"; import { ArrowRight, ExternalLink, Globe, KeyRound, Mail } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { useState } from "react"; const EXAMPLE_IDENTITY_KEY = formatVirtualApiKeyCredential( "k7m2n9qx", "a8f3c1e0b5d24791" ); type IdentityKeysSplashProps = { orgId: string; }; export default function IdentityKeysSplash({ orgId }: IdentityKeysSplashProps) { const t = useTranslations(); const { env } = useEnvContext(); const [emailOpen, setEmailOpen] = useState(false); const emailEnabled = env.email.emailEnabled; const dashboardUrl = env.app.dashboardUrl?.replace(/\/$/, "") ?? ""; const keysPath = `/${orgId}/keys`; const keysUrl = dashboardUrl ? `${dashboardUrl}${keysPath}` : keysPath; return ( <> {t("virtualApiKeysIdentitySplashTitle")} {t("virtualApiKeysIdentitySplashDescription")} {t("virtualApiKeysIdentitySplashRetrieveTitle")} {t( "virtualApiKeysIdentitySplashRetrieveResource" )} {t.rich( "virtualApiKeysIdentitySplashRetrievePage", { url: () => ( {keysUrl} ) } )} {t("virtualApiKeysIdentitySplashManual")} {!emailEnabled && ( {t( "virtualApiKeysEmailSmtpRequiredDescription" )} )} setEmailOpen(true)} > {t("virtualApiKeysEmailIdentity")} {t("virtualApiKeysIdentitySplashGoToVirtual")} > ); }
{t("virtualApiKeysIdentitySplashDescription")}
{t("virtualApiKeysIdentitySplashRetrieveTitle")}
{t("virtualApiKeysIdentitySplashManual")}
{t( "virtualApiKeysEmailSmtpRequiredDescription" )}