Spaces:
Running
Running
| class AppNavbar extends HTMLElement { | |
| constructor() { | |
| super(); | |
| } | |
| connectedCallback() { | |
| this.innerHTML = ` | |
| <nav class="fixed top-0 left-0 right-0 z-50 bg-slate-900/80 backdrop-blur-md border-b border-slate-800 h-16"> | |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-full"> | |
| <div class="flex items-center justify-between h-full"> | |
| <!-- Logo --> | |
| <div class="flex items-center gap-3"> | |
| <div class="w-8 h-8 bg-gradient-to-br from-primary-500 to-secondary-500 rounded-lg flex items-center justify-center shadow-lg shadow-primary-500/20"> | |
| <i data-feather="mic" class="w-5 h-5 text-white"></i> | |
| </div> | |
| <div class="flex flex-col"> | |
| <span class="text-lg font-bold bg-gradient-to-r from-slate-100 to-slate-300 bg-clip-text text-transparent"> | |
| CapCutSync Pro | |
| </span> | |
| <span class="text-[10px] text-slate-500 uppercase tracking-wider">Pipeline de Áudio</span> | |
| </div> | |
| </div> | |
| <!-- Desktop Menu --> | |
| <div class="hidden md:flex items-center gap-6"> | |
| <a href="#" class="text-sm text-slate-300 hover:text-white transition-colors flex items-center gap-2"> | |
| <i data-feather="book-open" class="w-4 h-4"></i> | |
| Documentação | |
| </a> | |
| <a href="#" class="text-sm text-slate-300 hover:text-white transition-colors flex items-center gap-2"> | |
| <i data-feather="github" class="w-4 h-4"></i> | |
| GitHub | |
| </a> | |
| <div class="h-4 w-px bg-slate-700"></div> | |
| <button class="flex items-center gap-2 px-4 py-2 bg-slate-800 hover:bg-slate-700 text-slate-200 rounded-lg text-sm font-medium transition-all border border-slate-700 hover:border-slate-600"> | |
| <i data-feather="settings" class="w-4 h-4"></i> | |
| Configurações | |
| </button> | |
| </div> | |
| <!-- Mobile Menu Button --> | |
| <button id="mobile-menu-btn" class="md:hidden p-2 text-slate-400 hover:text-white"> | |
| <i data-feather="menu" class="w-6 h-6"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Mobile Menu --> | |
| <div id="mobile-menu" class="hidden md:hidden bg-slate-900 border-t border-slate-800"> | |
| <div class="px-4 py-3 space-y-2"> | |
| <a href="#" class="block px-3 py-2 text-slate-300 hover:bg-slate-800 rounded-lg text-sm">Documentação</a> | |
| <a href="#" class="block px-3 py-2 text-slate-300 hover:bg-slate-800 rounded-lg text-sm">GitHub</a> | |
| <a href="#" class="block px-3 py-2 text-slate-300 hover:bg-slate-800 rounded-lg text-sm">Configurações</a> | |
| </div> | |
| </div> | |
| </nav> | |
| `; | |
| // Mobile menu toggle | |
| this.querySelector('#mobile-menu-btn').addEventListener('click', () => { | |
| const menu = this.querySelector('#mobile-menu'); | |
| menu.classList.toggle('hidden'); | |
| }); | |
| } | |
| } | |
| customElements.define('app-navbar', AppNavbar); |