* Icon and IconName * Button and ButtonGroup * UserAvatar * AvatarGroup * Avatar * WizardLayout * Dialogs * EmptyScreen * showToast and TextField * Editor * Skeleton * Skeleton * TopBanner and showToast * Button again * more * perf: Remove app-store reference from @calcom/ui * more * Fixing types * Icon * Fixed casing * dropdown * more * Select * more * Badge * List * more * Divider * more * fix * fix type check * refactor * fix * fix * fix * fix * fix * fix * fix * fix type check * fix * fix * fix * fix * more * more * more * more * add index file to components/command * fix * fix * fix * fix imports * fix * fix * fix * fix * fix * fix * fix * fix build errors * fix build errors * fix --------- Co-authored-by: Keith Williams <keithwillcode@gmail.com>
45 lines
1.7 KiB
TypeScript
45 lines
1.7 KiB
TypeScript
import { useSession } from "next-auth/react";
|
|
import Link from "next/link";
|
|
|
|
import { useIsEmbed } from "@calcom/embed-core/embed-iframe";
|
|
import { KBarTrigger } from "@calcom/features/kbar/Kbar";
|
|
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|
import { Icon } from "@calcom/ui/components/icon";
|
|
import { Logo } from "@calcom/ui/components/logo";
|
|
|
|
import { UserDropdown } from "./user-dropdown/UserDropdown";
|
|
|
|
export function TopNavContainer() {
|
|
const { status } = useSession();
|
|
if (status !== "authenticated") return null;
|
|
return <TopNav />;
|
|
}
|
|
|
|
function TopNav() {
|
|
const isEmbed = useIsEmbed();
|
|
const { t } = useLocale();
|
|
return (
|
|
<>
|
|
<nav
|
|
style={isEmbed ? { display: "none" } : {}}
|
|
className="bg-muted border-subtle sticky top-0 z-40 flex w-full items-center justify-between border-b bg-opacity-50 px-4 py-1.5 backdrop-blur-lg sm:p-4 md:hidden">
|
|
<Link href="/event-types">
|
|
<Logo />
|
|
</Link>
|
|
<div className="flex items-center gap-2 self-center">
|
|
<span className="hover:bg-muted hover:text-emphasis text-default group flex items-center rounded-full text-sm font-medium transition lg:hidden">
|
|
<KBarTrigger />
|
|
</span>
|
|
<button className="hover:bg-muted hover:text-subtle text-muted rounded-full p-1 transition focus:outline-none focus:ring-2 focus:ring-black focus:ring-offset-2">
|
|
<span className="sr-only">{t("settings")}</span>
|
|
<Link href="/settings/my-account/profile">
|
|
<Icon name="settings" className="text-default h-4 w-4" aria-hidden="true" />
|
|
</Link>
|
|
</button>
|
|
<UserDropdown small />
|
|
</div>
|
|
</nav>
|
|
</>
|
|
);
|
|
}
|