import { Mail, Menu, CalendarCheck, Star, Box, LogIn, HomeIcon, Hospital, BookOpen, Blocks, Gamepad2, Cpu, } from "lucide-react"; import Link from "next/link"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { FaDiscord, FaGithub } from "react-icons/fa"; import { businessDemoLink, discordInviteLink, feedbackFormLink, githubPublicLink, } from "@/lib/data"; import PremiumBadge from "../PremiumBadge"; import { useEffect, useState } from "react"; import { isPremiumUser } from "@/app/actions"; import { DropdownMenuLabel } from "@radix-ui/react-dropdown-menu"; import { usePathname } from "next/navigation"; interface NavbarMenuButtonProps { user: IUser | null; stars: number | null; } const ICON_SIZE = 22; export function NavbarDropdownMenu({ user, stars }: NavbarMenuButtonProps) { const [premiumUser, setPremiumUser] = useState(false); const pathname = usePathname(); useEffect(() => { const setUserPremium = async () => { if (user) { const isPremium = await isPremiumUser(user.user_id); setPremiumUser(isPremium ?? false); } }; setUserPremium(); }, [user]); const LoggedInItems: React.FC = () => { return ( Home ); }; const LoggedOutItems: React.FC = () => { return ( Login ); }; return ( { if (!open) { // Remove focus from any active element when dropdown closes document.activeElement instanceof HTMLElement && document.activeElement.blur(); } }} > {!!user && premiumUser ? ( ) : null} {user ? : } Business Demo GitHub Discord Send feedback
AI Device Buy Now
AI Devkit Buy Now
); }