diff options
Diffstat (limited to 'web/templates')
| -rw-r--r-- | web/templates/index.html | 36 | ||||
| -rw-r--r-- | web/templates/settings.html | 38 |
2 files changed, 50 insertions, 24 deletions
diff --git a/web/templates/index.html b/web/templates/index.html index aabe7ff..465e612 100644 --- a/web/templates/index.html +++ b/web/templates/index.html @@ -60,43 +60,31 @@ hx-get="/tabs/timeline" hx-target="#tab-content" hx-push-url="?tab=timeline" - onclick="setActiveTab(this)"> - 🗓️ Timeline - </button> - <button - class="tab-button {{if eq .ActiveTab "tasks"}}tab-button-active{{end}}" - hx-get="/tabs/tasks" - hx-target="#tab-content" - hx-push-url="?tab=tasks" - onclick="setActiveTab(this)"> - ✓ Tasks + onclick="setActiveTab(this)" + title="Timeline"> + <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg> </button> <button class="tab-button {{if eq .ActiveTab "shopping"}}tab-button-active{{end}}" hx-get="/tabs/shopping" hx-target="#tab-content" hx-push-url="?tab=shopping" - onclick="setActiveTab(this)"> - 🛒 Shopping - </button> - <button - class="tab-button {{if eq .ActiveTab "meals"}}tab-button-active{{end}}" - hx-get="/tabs/meals" - hx-target="#tab-content" - hx-push-url="?tab=meals" - onclick="setActiveTab(this)"> - 🍽️ Meals + onclick="setActiveTab(this)" + title="Shopping"> + <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"/></svg> </button> <button class="tab-button {{if eq .ActiveTab "planning"}}tab-button-active{{end}}" hx-get="/tabs/planning" hx-target="#tab-content" hx-push-url="?tab=planning" - onclick="setActiveTab(this)"> - 📋 Planning + onclick="setActiveTab(this)" + title="Planning"> + <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"/></svg> </button> - <a href="/conditions" class="tab-button"> - 🌋 Conditions + <a href="/conditions" class="tab-button" title="Conditions">🌋</a> + <a href="/claudomator/" class="tab-button" title="Claudomator"> + <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/></svg> </a> </nav> </div> diff --git a/web/templates/settings.html b/web/templates/settings.html index ca1d268..ef969ee 100644 --- a/web/templates/settings.html +++ b/web/templates/settings.html @@ -167,6 +167,44 @@ </script> {{end}} + <!-- Trusted Agents Section --> + <section class="mb-12"> + <h2 class="text-xl font-medium text-white mb-6 pb-2 border-b border-white/10">Trusted Agents</h2> + <div class="grid gap-4" id="agents-list"> + {{if .Agents}} + {{range .Agents}} + <div class="card flex items-center gap-4" id="agent-{{.AgentID}}"> + <div class="flex-1"> + <div class="flex items-center gap-2"> + <strong class="text-white">{{.Name}}</strong> + {{if not .Trusted}}<span class="text-[10px] bg-red-950 text-red-400 px-2 py-0.5 rounded border border-red-900/50 uppercase tracking-wider">Revoked</span>{{end}} + </div> + <div class="text-xs font-mono text-slate-500 mt-0.5">{{.AgentID}}</div> + <div class="text-[10px] text-slate-400 mt-2 uppercase tracking-widest font-medium"> + Last seen: {{if .LastSeen}}{{.LastSeen.Format "Jan 02, 15:04"}}{{else}}Never{{end}} + </div> + </div> + <div class="flex items-center gap-4"> + {{if .Trusted}} + <button class="text-xs text-red-400 hover:text-red-300 transition-colors bg-red-950/30 hover:bg-red-950/50 px-3 py-1.5 rounded-lg border border-red-900/30" + hx-delete="/settings/agents/{{.AgentID}}" + hx-target="#agent-{{.AgentID}}" + hx-swap="outerHTML" + hx-confirm="Revoke access for agent '{{.Name}}'?"> + Revoke Access + </button> + {{else}} + <div class="text-xs text-slate-500 italic">Access Revoked</div> + {{end}} + </div> + </div> + {{end}} + {{else}} + <div class="card text-center text-slate-500 py-10">No agents have requested access yet.</div> + {{end}} + </div> + </section> + <!-- Data Sources Section --> <section class="mb-12"> <div class="flex flex-wrap items-center justify-between gap-4 mb-6 pb-2 border-b border-white/10"> |
