Files
webhooker/templates/navbar.html
user 56c032a63f
All checks were successful
check / check (push) Successful in 1m13s
Replace Bootstrap with Tailwind CSS + Alpine.js
- Remove all Bootstrap CSS/JS references from templates
- Add Tailwind CSS v4 with Material Design inspired theme (input.css)
- Compile tailwind.css with standalone CLI (committed to repo)
- Vendor Alpine.js 3.14.9 for reactive UI components
- Rewrite base.html to match µPaaS layout structure
- Rewrite htmlheader.html with Tailwind CSS link
- Rewrite navbar.html with Alpine.js mobile menu toggle
- Convert index.html to Tailwind utility classes
- Convert login.html to Tailwind utility classes
- Convert profile.html to Tailwind utility classes
- Add make css target for Tailwind compilation
- Add footer template with project links

closes #4
2026-03-01 10:19:35 -08:00

52 lines
2.4 KiB
HTML

{{define "navbar"}}
<nav class="app-bar" x-data="{ open: false }">
<div class="max-w-6xl mx-auto flex justify-between items-center">
<div class="flex items-center gap-3">
<a href="/" class="text-xl font-medium text-gray-900 hover:text-primary-600 transition-colors">Webhooker</a>
</div>
<!-- Mobile menu button -->
<button @click="open = !open" class="md:hidden p-2 rounded-md text-gray-500 hover:bg-gray-100">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path x-show="!open" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/>
<path x-show="open" x-cloak stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/>
</svg>
</button>
<!-- Desktop navigation -->
<div class="hidden md:flex items-center gap-4">
{{if .User}}
<a href="/sources" class="btn-text">Sources</a>
<a href="/user/{{.User.Username}}" class="btn-text">
<svg class="w-5 h-5 mr-1" fill="currentColor" viewBox="0 0 16 16">
<path d="M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/>
<path fill-rule="evenodd" d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z"/>
</svg>
{{.User.Username}}
</a>
<form method="POST" action="/pages/logout" class="inline">
<button type="submit" class="btn-text">Logout</button>
</form>
{{else}}
<a href="/pages/login" class="btn-primary">Login</a>
{{end}}
</div>
</div>
<!-- Mobile navigation -->
<div x-show="open" x-cloak x-transition class="md:hidden mt-4 pt-4 border-t border-gray-200">
<div class="flex flex-col gap-2">
{{if .User}}
<a href="/sources" class="btn-text w-full text-left">Sources</a>
<a href="/user/{{.User.Username}}" class="btn-text w-full text-left">Profile</a>
<form method="POST" action="/pages/logout">
<button type="submit" class="btn-text w-full text-left">Logout</button>
</form>
{{else}}
<a href="/pages/login" class="btn-primary w-full">Login</a>
{{end}}
</div>
</div>
</nav>
{{end}}