diff --git a/app/[locale]/header.tsx b/app/[locale]/header.tsx index 3c81dc3b..614c5d09 100644 --- a/app/[locale]/header.tsx +++ b/app/[locale]/header.tsx @@ -10,6 +10,14 @@ import { Button, HamburgerButton } from '~/components/buttons'; import { CtrlLink } from '~/components/link'; import LocaleSwitcher from '~/components/locale-switcher'; import MaybeLink from '~/components/maybe-link'; +import { + NavigationMenu, + NavigationMenuCustomListItem, + NavigationMenuItem, + NavigationMenuLink, + NavigationMenuList, + navigationMenuTriggerStyle, +} from '~/components/ui'; import { getTranslations } from '~/i18n/translations'; import { cn } from '~/lib/utils'; import { getServerAuthSession } from '~/server/auth'; @@ -22,11 +30,84 @@ export default async function Header({ locale }: { locale: string }) { const isMacOS = agent.os.name === 'Mac OS'; const items = [ - { label: text.institute, href: 'institute' }, - { label: text.academics, href: 'academics' }, + { + label: text.institute, + href: 'institute', + listItems: [ + { + title: 'Institute Profile', + href: '/institute/profile', + description: + 'Get to know our institute’s vision, mission, and values.', + }, + { + title: 'Administration', + href: '/institute/administration', + description: 'Meet the leadership team guiding our institution.', + }, + { + title: 'Sections', + href: '/institute/sections', + description: + 'Explore the various sections that support campus life and academics.', + }, + { + title: 'Campus Infrastructure', + href: '/institute/campus-infra', + description: + 'Discover the state-of-the-art facilities and infrastructure on campus.', + }, + ], + }, + { + label: text.academics, + href: 'academics', + listItems: [ + { + title: 'Departments', + href: '/academics/departments', + description: + 'Explore the diverse academic departments and their offerings.', + }, + { + title: 'Programmes', + href: '/academics/programmes', + description: + 'Discover our range of undergraduate and postgraduate programmes.', + }, + { + title: 'Courses & Curricula', + href: '/academics/curricula', + description: 'Browse through the detailed list of courses available.', + }, + { + title: 'Convocation', + href: '/academics/convocation', + description: 'Get information on upcoming convocation ceremonies.', + }, + { + title: 'Awards', + href: '/academics/awards', + description: + 'Recognizing excellence in academics, research, and beyond.', + }, + { + title: 'Scholarship', + href: '/academics/scholarships', + description: + 'Learn about scholarships, eligibility, and application details.', + }, + { + title: 'Academic Notifications', + href: '/academics/notifications', + description: + 'Stay updated with the latest academic announcements and deadlines.', + }, + ], + }, { label: text.faculty, href: 'faculty-and-staff' }, { label: text.placement, href: 'training-and-placement' }, - { label: text.alumni, href: 'alumni' }, + // { label: text.alumni, href: 'alumni' }, { label: text.activities, href: 'student-activities' }, ]; @@ -48,16 +129,43 @@ export default async function Header({ locale }: { locale: string }) { src="assets/nitlogo.png" /> + + + {items.map(({ label, href, listItems }, index) => ( + + ))} -
    - {items.map(({ label, href }, index) => ( -
  1. - - {label} + {/* */} + {/* + + + Documentation + -
  2. - ))} -
+ */} +
+
  1. diff --git a/components/ui/navigation-menu.tsx b/components/ui/navigation-menu.tsx index f933a035..8ab371dd 100644 --- a/components/ui/navigation-menu.tsx +++ b/components/ui/navigation-menu.tsx @@ -2,6 +2,8 @@ import * as React from 'react'; import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu'; import { cva } from 'class-variance-authority'; import { RxChevronDown } from 'react-icons/rx'; +import Link from 'next/link'; +import Image from 'next/image'; import { cn } from '~/lib/utils'; @@ -47,13 +49,13 @@ const navigationMenuTriggerStyle = cva( const NavigationMenuTrigger = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef ->(({ className, children, title, ...props }, ref) => ( +>(({ className, children, ...props }, ref) => ( -

    {children}

    +

    {children}