"use client"; import classNames from "classnames"; import type { InferGetServerSidePropsType } from "next"; import Link from "next/link"; import { Toaster } from "react-hot-toast"; import { sdkActionManager, useEmbedNonStylesConfig, useEmbedStyles, useIsEmbed, } from "@calcom/embed-core/embed-iframe"; import { getOrgFullOrigin } from "@calcom/features/ee/organizations/lib/orgDomains"; import { EventTypeDescriptionLazy as EventTypeDescription } from "@calcom/features/eventtypes/components"; import EmptyPage from "@calcom/features/eventtypes/components/EmptyPage"; import { useRouterQuery } from "@calcom/lib/hooks/useRouterQuery"; import useTheme from "@calcom/lib/hooks/useTheme"; import { HeadSeo, Icon, UnpublishedEntity, UserAvatar } from "@calcom/ui"; import { type getServerSideProps } from "./users-public-view.getServerSideProps"; export function UserPage(props: InferGetServerSidePropsType) { const { users, profile, eventTypes, markdownStrippedBio, entity } = props; const [user] = users; //To be used when we only have a single user, not dynamic group useTheme(profile.theme); const isBioEmpty = !user.bio || !user.bio.replace("


", "").length; const isEmbed = useIsEmbed(props.isEmbed); const eventTypeListItemEmbedStyles = useEmbedStyles("eventTypeListItem"); const shouldAlignCentrallyInEmbed = useEmbedNonStylesConfig("align") !== "left"; const shouldAlignCentrally = !isEmbed || shouldAlignCentrallyInEmbed; const { // So it doesn't display in the Link (and make tests fail) user: _user, orgSlug: _orgSlug, redirect: _redirect, ...query } = useRouterQuery(); /* const telemetry = useTelemetry(); useEffect(() => { if (top !== window) { //page_view will be collected automatically by _middleware.ts telemetry.event(telemetryEventTypes.embedView, collectPageParameters("/[user]")); } }, [telemetry, router.asPath]); */ if (entity.considerUnpublished) { return (
); } const isEventListEmpty = eventTypes.length === 0; const isOrg = !!user?.profile?.organization; return ( <>

{profile.name} {!isOrg && user.verified && ( )} {isOrg && ( )}

{!isBioEmpty && ( <>
)}
{eventTypes.map((type) => ( { sdkActionManager?.fire("eventTypeSelected", { eventType: type, }); }} className="bg-default border-subtle dark:bg-muted dark:hover:bg-emphasis hover:bg-muted group relative border-b transition first:rounded-t-md last:rounded-b-md last:border-b-0" data-testid="event-type-link"> {/* Don't prefetch till the time we drop the amount of javascript in [user][type] page which is impacting score for [user] page */}

{type.title}

))}
{isEventListEmpty && }
); } export default UserPage;