AIvoices/frontend-nextjs/app/components/Nav/LeftNavbarButtons.tsx
2025-04-18 14:15:56 +01:00

54 lines
1.8 KiB
TypeScript

import { Button } from "@/components/ui/button";
import { Hospital, Sparkle, ChevronDown, Dog, Bird, Hop, Wand, Plus, Blocks, Gamepad2 } from "lucide-react";
import {
DropdownMenuSeparator,
DropdownMenu,
DropdownMenuItem,
DropdownMenuGroup,
DropdownMenuContent,
DropdownMenuTrigger,
DropdownMenuLabel,
} from "@/components/ui/dropdown-menu";
import { usePathname } from "next/navigation";
const ICON_SIZE = 22;
interface LeftNavbarButtonsProps {
user: IUser | null;
}
export default function LeftNavbarButtons({ user }: LeftNavbarButtonsProps) {
const isDoctor = user?.user_info.user_type === "doctor";
const pathname = usePathname();
let firstWordOfHospital = '';
if (isDoctor) {
const hospitalName = (user?.user_info.user_metadata as IDoctorMetadata).hospital_name;
firstWordOfHospital = hospitalName ? hospitalName.split(' ')[0] : '';
}
const isRoot = pathname === "/";
const isHome = pathname.includes("/home");
const shouldShowHospital = isDoctor && firstWordOfHospital.length && isHome;
return (
<div className="flex flex-row gap-4 sm:gap-10 items-center">
<a className="flex flex-row gap-3 items-center" href="/">
<Wand size={ICON_SIZE} />
<p
className={`flex items-center font-silkscreen text-xl text-stone-800 dark:text-stone-100 relative`}
>
{shouldShowHospital ? (
<>
<span>Elato | <span className="text-cyan-700">{firstWordOfHospital}</span></span>
<span className="absolute -top-3 -right-3 text-cyan-700"><Plus size={12} strokeWidth={3} /></span>
</>
) : (
<span>Elato</span>
)}
</p>
</a>
</div>
);
}