Files
mailgosend/web/admin/templates/domains.html
T
2026-05-22 06:06:44 +00:00

72 lines
2.5 KiB
HTML

{{define "title"}}Domains{{end}}
{{define "content"}}
<div class="flex items-center justify-between mb-6">
<h1 class="text-xl font-bold text-white">Domains</h1>
</div>
<div class="card mb-6">
<div class="text-sm font-semibold text-gray-300 mb-3">Add domain</div>
<form method="POST" action="/admin/domains">
<input type="hidden" name="_csrf" value="{{.CSRF}}">
<div style="display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;align-items:end">
<div class="field" style="margin:0">
<label>Domain name</label>
<input type="text" name="name" placeholder="example.com" required maxlength="253"
pattern="[a-z0-9][a-z0-9\-\.]{1,252}">
</div>
<div class="field" style="margin:0">
<label>DKIM selector</label>
<input type="text" name="selector" value="mail" maxlength="63" pattern="[a-zA-Z0-9_\-]+">
</div>
<div class="field" style="margin:0">
<label>DKIM algorithm</label>
<select name="algo">
<option value="rsa2048">RSA-2048</option>
<option value="ed25519">Ed25519</option>
</select>
</div>
<button type="submit" class="btn btn-primary" style="white-space:nowrap">Add domain</button>
</div>
</form>
</div>
<div class="card" style="padding:0;overflow:hidden">
{{if .Domains}}
<table>
<thead>
<tr>
<th>Domain</th>
<th>Status</th>
<th>DKIM</th>
<th>Max users</th>
<th>Max quota</th>
<th>Created</th>
<th></th>
</tr>
</thead>
<tbody>
{{range .Domains}}
<tr>
<td><a href="/admin/domains/{{.ID}}" class="text-blue-400 hover:underline">{{.Name}}</a></td>
<td>
{{if .Enabled}}<span class="badge badge-green">enabled</span>
{{else}}<span class="badge badge-red">disabled</span>{{end}}
</td>
<td>
{{if .DKIMPublic}}<span class="badge badge-green">{{.DKIMSelector}} / {{.DKIMAlgo}}</span>
{{else}}<span class="badge badge-yellow">no key</span>{{end}}
</td>
<td class="text-gray-400">{{if .MaxUsers}}{{.MaxUsers}}{{else}}unlimited{{end}}</td>
<td class="text-gray-400">{{if .MaxQuotaBytes}}{{humanBytes .MaxQuotaBytes}}{{else}}unlimited{{end}}</td>
<td class="text-gray-400 text-xs">{{shortTime .CreatedAt}}</td>
<td><a href="/admin/domains/{{.ID}}" class="btn btn-primary btn-sm">Manage</a></td>
</tr>
{{end}}
</tbody>
</table>
{{else}}
<div class="p-8 text-center text-gray-500 text-sm">No domains configured yet.</div>
{{end}}
</div>
{{end}}