| class CustomNavbar extends HTMLElement { |
| connectedCallback() { |
| this.attachShadow({ mode: 'open' }); |
| this.shadowRoot.innerHTML = ` |
| <style> |
| .navbar { |
| backdrop-filter: blur(10px); |
| background-color: rgba(15, 23, 42, 0.8); |
| } |
| .nav-link { |
| position: relative; |
| } |
| .nav-link::after { |
| content: ''; |
| position: absolute; |
| bottom: -2px; |
| left: 0; |
| width: 0; |
| height: 2px; |
| background: linear-gradient(to right, #06b6d4, #3b82f6); |
| transition: width 0.3s ease; |
| } |
| .nav-link:hover::after { |
| width: 100%; |
| } |
| </style> |
| <nav class="navbar fixed w-full z-50 border-b border-gray-800"> |
| <div class="container mx-auto px-4 py-4"> |
| <div class="flex items-center justify-between"> |
| <a href="/" class="flex items-center gap-2"> |
| <div class="w-8 h-8 bg-gradient-to-r from-cyan-500 to-blue-600 rounded-lg flex items-center justify-center"> |
| <span class="text-white font-bold text-xs">PD</span> |
| </div> |
| <span class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-cyan-400 to-blue-500">PHANTOM</span> |
| </a> |
| |
| <div class="hidden md:flex items-center gap-8"> |
| <a href="#services" class="nav-link text-gray-300 hover:text-white">Services</a> |
| <a href="#work" class="nav-link text-gray-300 hover:text-white">Work</a> |
| <a href="#about" class="nav-link text-gray-300 hover:text-white">About</a> |
| <a href="#contact" class="nav-link text-gray-300 hover:text-white">Contact</a> |
| </div> |
| |
| <div class="flex items-center gap-4"> |
| <button id="darkModeToggle" class="p-2 rounded-lg hover:bg-gray-800 transition"> |
| <i data-feather="moon" class="text-gray-300 w-5 h-5"></i> |
| </button> |
| <a href="#contact" class="px-6 py-2 bg-gradient-to-r from-cyan-500 to-blue-600 rounded-lg font-medium hover:opacity-90 transition hidden md:block"> |
| Get Started |
| </a> |
| <button class="md:hidden p-2 rounded-lg hover:bg-gray-800 transition"> |
| <i data-feather="menu" class="text-gray-300 w-5 h-5"></i> |
| </button> |
| </div> |
| </div> |
| </div> |
| </nav> |
| `; |
| } |
| } |
| customElements.define('custom-navbar', CustomNavbar); |