Skip to content

feat(components): Implement Global Header and Footer Components#8

Merged
TKanX merged 19 commits intomainfrom
feature/7-implement-global-layout-components-header-footer
Jan 29, 2026
Merged

feat(components): Implement Global Header and Footer Components#8
TKanX merged 19 commits intomainfrom
feature/7-implement-global-layout-components-header-footer

Conversation

@TKanX
Copy link
Copy Markdown
Member

@TKanX TKanX commented Jan 29, 2026

Summary:

Implemented the core site layout structure, introducing a responsive global Header and Footer. The Header features a sophisticated navigation system with desktop dropdowns and a mobile-friendly slide-out menu (Sheet). The landing page has been redesigned to showcase dynamic content fetched directly from the database, replacing the previous placeholder.

Changes:

  • Implemented Global Header (src/components/layout/header.tsx):

    • Desktop Navigation: Created a responsive navigation bar with dropdown support (NavDropdown) for nested menu items.
    • Mobile Navigation: Integrated a Sheet component to provide a slide-out drawer menu for smaller screens, featuring expandable sub-menus.
    • Sticky & Blur: Configured the header to remain sticky at the top with a backdrop blur effect.
  • Implemented Global Footer (src/components/layout/footer.tsx):

    • Designed a comprehensive footer layout containing contact information, quick links, and institutional references.
    • Dynamically populated content using siteConfig.
  • Redesigned Landing Page (src/app/(public)/page.tsx):

    • Dynamic Stats: Implemented server-side data fetching to display real-time counts of publications, members, research areas, and total citations.
    • Recent Publications: Added a section to display the latest 5 publications fetched from the database.
    • Hero Section: Created a welcoming hero area with quick calls-to-action.
    • New Layout Wrapper: Introduced PublicLayout in src/app/(public)/layout.tsx to wrap public pages with the new Header and Footer.
  • Enhanced UI Components:

    • Navigation Menu: Added src/components/ui/navigation-menu.tsx (wrapping Radix UI) for accessible dropdown interactions.
    • Sheet Component: Added src/components/ui/sheet.tsx for the mobile menu drawer.
    • Theme Toggle: Improved the ThemeToggle component to handle hydration states more gracefully, preventing icon flicker.
  • Style Updates:

    • Color Palette: Added msc-red to tailwind.config.ts and globals.css to align with institutional branding.

@TKanX TKanX self-assigned this Jan 29, 2026
@TKanX TKanX added the enhancement ✨ New feature or request label Jan 29, 2026
Copilot AI review requested due to automatic review settings January 29, 2026 11:06
@TKanX TKanX linked an issue Jan 29, 2026 that may be closed by this pull request
5 tasks
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements a comprehensive site layout structure with a responsive global Header and Footer, replacing the previous placeholder homepage. The Header features desktop dropdown navigation and a mobile slide-out menu, while the landing page now displays dynamic content fetched from the database including real-time statistics and recent publications.

Changes:

  • Implemented responsive Header and Footer components with mobile-friendly navigation
  • Redesigned landing page with server-side database queries for dynamic stats and recent publications
  • Added Radix UI components (Sheet, NavigationMenu) for enhanced UI interactions
  • Improved ThemeToggle hydration handling and added institutional branding color (msc-red)

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
tailwind.config.ts Adds msc-red color configuration for institutional branding
src/app/globals.css Defines CSS variables for msc-red in light and dark modes
src/components/ui/sheet.tsx New mobile drawer component wrapping Radix UI Dialog
src/components/ui/navigation-menu.tsx New navigation menu component (currently unused)
src/components/layout/theme-toggle.tsx Improves hydration handling by conditionally rendering icon
src/components/layout/header.tsx Implements responsive header with desktop dropdowns and mobile sheet menu
src/components/layout/footer.tsx Implements footer with contact info and institutional links
src/components/layout/index.ts Exports layout components for easier imports
src/app/(public)/layout.tsx Creates public pages layout wrapper with Header and Footer
src/app/(public)/page.tsx Redesigned landing page with database-driven content
package.json Adds @radix-ui/react-dialog and @radix-ui/react-navigation-menu dependencies

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/app/(public)/page.tsx
Comment thread src/components/layout/theme-toggle.tsx
Comment thread src/components/layout/header.tsx
Comment thread src/components/layout/header.tsx Outdated
Comment thread tailwind.config.ts Outdated
Comment thread src/components/layout/header.tsx
Comment thread src/components/layout/header.tsx
Comment thread src/components/layout/header.tsx
Comment thread src/app/(public)/page.tsx
Comment thread src/components/layout/header.tsx
@TKanX TKanX force-pushed the feature/7-implement-global-layout-components-header-footer branch from 2a5545d to 35f6e96 Compare January 29, 2026 11:22
@TKanX TKanX merged commit c1419f0 into main Jan 29, 2026
2 checks passed
@TKanX TKanX deleted the feature/7-implement-global-layout-components-header-footer branch January 29, 2026 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement ✨ New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Global Layout Components (Header, Footer)

2 participants