"use client"; import { signIn } from "next-auth/react"; import { useSearchParams } from "next/navigation"; import { useRef, useEffect } from "react"; import { WEBAPP_URL } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { Button, Meta, TextField } from "@calcom/ui"; import PageWrapper from "@components/PageWrapper"; import { getLayout } from "@components/auth/layouts/AdminLayout"; function AdminView() { const { t } = useLocale(); const usernameRef = useRef(null); const searchParams = useSearchParams(); const username = searchParams?.get("username")?.toLowerCase(); useEffect(() => { if (username) { const enteredUsername = username.toLowerCase(); signIn("impersonation-auth", { username: enteredUsername, callbackUrl: `${WEBAPP_URL}/event-types`, }); } }, [username]); return ( <>
{ e.preventDefault(); const enteredUsername = usernameRef.current?.value.toLowerCase(); signIn("impersonation-auth", { username: enteredUsername, callbackUrl: `${WEBAPP_URL}/event-types`, }); }}>
{process.env.NEXT_PUBLIC_WEBSITE_URL}/} ref={usernameRef} hint={t("impersonate_user_tip")} defaultValue={undefined} data-testid="admin-impersonation-input" />
); } AdminView.getLayout = getLayout; AdminView.PageWrapper = PageWrapper; export default AdminView;