26 lines
1.4 KiB
HTML
26 lines
1.4 KiB
HTML
<div class="toolbar">
|
|
<h1>Proxies</h1>
|
|
<div class="spacer"></div>
|
|
<a href="/admin/proxies/new" class="btn btn-sm" hx-get="/admin/proxies/new" hx-target="#main-content" hx-push-url="true">New Proxy</a>
|
|
</div>
|
|
<table>
|
|
<thead>
|
|
<tr><th>Name</th><th>Type</th><th>Client</th><th>Local</th><th>Remote</th><th>Status</th><th></th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .Proxies}}
|
|
<tr>
|
|
<td><a href="/admin/proxies/{{.ID}}" hx-get="/admin/proxies/{{.ID}}" hx-target="#main-content" hx-push-url="true">{{.Name}}</a></td>
|
|
<td style="color:var(--fg2)">{{.ProxyType}}</td>
|
|
<td>{{.ClientName}}</td>
|
|
<td class="text-mono">{{.LocalIP}}:{{.LocalPort}}</td>
|
|
<td class="text-mono">{{if .RemotePort}}{{.RemotePort}}{{else}}—{{end}}</td>
|
|
<td>{{if eq .Status "active"}}<span style="font-weight:600">active</span>{{else if eq .Status "inactive"}}<span style="color:var(--fg2)">inactive</span>{{else}}<span style="color:var(--fg2)">{{.Status}}</span>{{end}}</td>
|
|
<td><a href="/admin/proxies/{{.ID}}" class="btn btn-sm btn-outline" hx-get="/admin/proxies/{{.ID}}" hx-target="#main-content" hx-push-url="true">View</a></td>
|
|
</tr>
|
|
{{else}}
|
|
<tr><td colspan="7"><div class="empty">No proxies found. <a href="/admin/proxies/new" hx-get="/admin/proxies/new" hx-target="#main-content" hx-push-url="true">Create one</a>.</div></td></tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|