"use client"
import Link from "next/link";
import Image from "next/image"; // Import Next.js Image
import { 
  DropdownMenu,
  DropdownMenuContent,
  DropdownMenuItem,
  DropdownMenuTrigger
} from "@/components/ui/dropdown-menu";
import { 
  Sheet, 
  SheetContent, 
  SheetTrigger, 
  SheetTitle 
} from "@/components/ui/sheet";
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
import { Menu, ChevronDown, Plus, Minus, User } from "lucide-react";
import { useEffect, useState } from "react";
import menuItems from '@/data/menuItems'; 
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faWhatsapp } from '@fortawesome/free-brands-svg-icons';

export default function Header() {
  const [openSubmenu, setOpenSubmenu] = useState<string | null>(null);
  const [isMounted, setIsMounted] = useState(false);

  useEffect(() => {
    setIsMounted(true);
  }, []);

  // Function to open WhatsApp
  const openWhatsApp = () => {
    const phoneNumber = '+971585561554'; 
    const message = encodeURIComponent('Hello!.'); 
    const url = `https://wa.me/${phoneNumber}?text=${message}`;
    window.open(url, '_blank');
  };

  const toggleSubmenu = (title: string) => {
    setOpenSubmenu(prev => prev === title ? null : title);
  };

  return (
    <header className="sticky top-0 z-50 w-full border-b bg-white dark:border-gray-800 dark:bg-gray-950">
      <nav className="bg-white shadow-sm">
        <div className="container mx-auto px-4">
          <div className="flex h-14 items-center justify-between">
            
            {/* Logo */}
            <Link href="/" className="text-xl font-bold text-blue-600">
              <Image 
                src="/newlogo25637.webp" 
                alt="BankFinders.com" 
                width={200}
                height={50}
                className="w-21 h-11.2"
              />
            </Link>

            {/* Desktop Navigation */}
            <div className="hidden md:flex flex-grow justify-center gap-5">
              {menuItems.map((item) => (
                item.submenu ? (
                  isMounted ? (
                    <DropdownMenu key={item.title}>
                      <DropdownMenuTrigger className="flex items-center gap-1 text-gray-600 hover:text-blue-600 group">
                        {item.icon}
                        {item.title}
                        <ChevronDown className="w-4 h-4 ml-1 transition-transform group-data-[state=open]:rotate-180" />
                      </DropdownMenuTrigger>
                      <DropdownMenuContent className="w-auto max-w-max p-2" align="start" sideOffset={8}>
                        <div className="grid gap-6 overflow-x-auto" style={{ gridTemplateColumns: `repeat(${item.submenu.length}, minmax(200px, 1fr))` }}>
                          {item.submenu.map((column, colIndex) => (
                            <div key={column.title + '-' + colIndex} className="space-y-3">
                              <h4 className="text-sm font-semibold text-gray-900 mb-2">
                                {column.title}
                              </h4>
                              {column.items.map((subItem) => (
                                <DropdownMenuItem key={subItem.key} asChild>
                                  {/* <Link href={subItem.href || "#"} className="hover:text-blue-600 text-sm">
                                    {subItem.itemName}
                                  </Link> */}
                                  <Link href={subItem.href || "#"} className="hover:text-blue-600 text-sm flex items-center gap-1">
    {subItem.itemName}
    {subItem.addnewhighlight && (
                                            <button
                                            type="button"
                                            className="ml-1 text-red-500 text-xs font-bold blink"
                                            disabled
                                          >
                                            New
                                          </button>
    )}
  </Link>

                
                                                </DropdownMenuItem>
                              ))}
                            </div>
                          ))}
                        </div>
                      </DropdownMenuContent>
                    </DropdownMenu>
                  ) : (
                    <div key={item.title} className="flex items-center gap-1 text-gray-600">
                      {item.icon}
                      {item.title}
                      <ChevronDown className="w-4 h-4 ml-1" />
                    </div>
                  )
                ) : (
                  <Link
                    key={item.title}
                    href={item.href || "#"}
                    className="text-gray-600 hover:text-blue-600 flex items-center"
                  >
                    {item.icon}
                    {item.title}
                  </Link>
                )
              ))}
            </div>

            {/* CTA Buttons - Desktop */}
            <div className="flex items-center space-x-4">
              <button
                className="flex items-center justify-center w-8 h-8 rounded-full bg-green-500 text-white hover:bg-green-600 transition"
                onClick={openWhatsApp}
              >
                <FontAwesomeIcon icon={faWhatsapp} />
              </button>
              <button className="flex items-center justify-center w-8 h-8 rounded-full bg-blue-500 text-white hover:bg-blue-600 transition">
                <User className="w-4 h-4" />
              </button>
            </div>

            {/* Mobile Menu */}
            {isMounted ? (
              <Sheet>
                <SheetTrigger className="md:hidden">
                  <Menu className="h-6 w-6" />
                </SheetTrigger>
                <SheetContent side="right" className="w-[85%] max-w-sm">
                  <VisuallyHidden>
                    <SheetTitle>Main Navigation</SheetTitle>
                  </VisuallyHidden>

                  <div className="flex flex-col h-full">
                    <div className="flex items-center justify-between mb-8">
                      <span className="text-xl font-bold text-blue-600">Banks Finders</span>
                    </div>

                    <div className="flex-1 overflow-y-auto space-y-4">
                      {menuItems.map((item) => (
                        item.submenu ? (
                          <div key={item.title} className="space-y-2">
                            <div className="flex items-center justify-between">
                              <button
                                onClick={() => toggleSubmenu(item.title)}
                                className="flex items-center gap-2 w-full text-left"
                              >
                                {item.icon}
                                <span className="font-medium text-gray-900">{item.title}</span>
                                <span className="ml-auto">
                                  {openSubmenu === item.title ? (
                                    <Minus className="w-4 h-4" />
                                  ) : (
                                    <Plus className="w-4 h-4" />
                                  )}
                                </span>
                              </button>
                            </div>

                            {openSubmenu === item.title && (
                              <div className="ml-6 space-y-3">
                                {item.submenu.map((column, colIndex) => (
                                  <div key={colIndex} className="space-y-2">
                                    <h4 className="text-sm font-semibold text-gray-700 mt-2">
                                      {column.title}
                                    </h4>
                                    {column.items.map((subItem) => (
                                      // <Link
                                      //   key={subItem.key}
                                      //   href={subItem.href || "#"}
                                      //   className="block text-gray-600 hover:text-blue-600 text-sm"
                                      // >
                                      //   {subItem.itemName}
                                      // </Link>
                                      <Link key={subItem.key} href={subItem.href || "#"} className="hover:text-blue-600 text-sm flex items-center gap-1">
                                      {subItem.itemName}
                                      {subItem.addnewhighlight && (
                                        // <button
                                        //   type="button"
                                        //   className="ml-1 text-xs bg-red-500 text-white px-2 py-0.5 rounded-full cursor-default"
                                        //   disabled
                                        // >
                                        //   New
                                        // </button>
                                         <button
        type="button"
        className="ml-1  text-red-500 text-xs font-bold blink"
        disabled
      >
        New
      </button>
                                      )}
                                    </Link>
                                    ))}
                                  </div>
                                ))}
                              </div>
                            )}
                          </div>
                        ) : (
                          <Link
                            key={item.title}
                            href={item.href || "#"}
                            className="block text-gray-900 hover:text-blue-600 flex items-center"
                          >
                            {item.icon}
                            {item.title}
                          </Link>
                        )
                      ))}
                    </div>

                    {/* CTA Buttons - Mobile */}
                    <div className="flex items-center space-x-4">
                      <button
                        className="flex items-center justify-center w-8 h-8 rounded-full bg-green-500 text-white hover:bg-green-600 transition"
                        onClick={openWhatsApp}
                      >
                        <FontAwesomeIcon icon={faWhatsapp} />
                      </button>
                      <button className="flex items-center justify-center w-8 h-8 rounded-full bg-blue-500 text-white hover:bg-blue-600 transition">
                        <User className="w-4 h-4" />
                      </button>
                    </div>

                  </div>
                </SheetContent>
              </Sheet>
            ) : (
              <button className="md:hidden" type="button" aria-label="Open menu">
                <Menu className="h-6 w-6" />
              </button>
            )}

          </div>
        </div>
      </nav>
    </header>
  );
}
