"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" )}

)}
); }