import { GetServerSidePropsContext } from "next"; import { useForm } from "react-hook-form"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { trpc } from "@calcom/trpc/react"; import { Button, Form, getSettingsLayout as getLayout, Label, Meta, showToast, Skeleton, Switch, } from "@calcom/ui"; import { ssrInit } from "@server/lib/ssr"; const ProfileImpersonationView = () => { const { t } = useLocale(); const utils = trpc.useContext(); const { data: user } = trpc.viewer.me.useQuery(); const mutation = trpc.viewer.updateProfile.useMutation({ onSuccess: () => { showToast(t("profile_updated_successfully"), "success"); }, onError: (error) => { showToast(`${t("error")}, ${error.message}`, "error"); }, }); const formMethods = useForm<{ disableImpersonation: boolean }>({ defaultValues: { disableImpersonation: user?.disableImpersonation, }, }); const { formState: { isSubmitting }, setValue, } = formMethods; return ( <>
> ); }; ProfileImpersonationView.getLayout = getLayout; export const getServerSideProps = async (context: GetServerSidePropsContext) => { const ssr = await ssrInit(context); return { props: { trpcState: ssr.dehydrate(), }, }; }; export default ProfileImpersonationView;