import type { GetStaticPropsContext } from "next"; import Link from "next/link"; import { useRouter } from "next/router"; import type { ReactElement } from "react"; import z from "zod"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { Button, SkeletonText } from "@calcom/ui"; import { X } from "@calcom/ui/components/icon"; import PageWrapper from "@components/PageWrapper"; import AuthContainer from "@components/ui/AuthContainer"; import { ssgInit } from "@server/lib/ssg"; const querySchema = z.object({ error: z.string().optional(), }); export default function Error() { const { t } = useLocale(); const router = useRouter(); const { error } = querySchema.parse(router.query); const isTokenVerificationError = error?.toLowerCase() === "verification"; let errorMsg: string | ReactElement = ; if (router.isReady) { errorMsg = isTokenVerificationError ? t("token_invalid_expired") : t("error_during_login"); } return (

{errorMsg}

); } Error.PageWrapper = PageWrapper; export const getStaticProps = async (context: GetStaticPropsContext) => { const ssr = await ssgInit(context); return { props: { trpcState: ssr.dehydrate(), }, }; };