Files
startrading/web/templates/admin.html
jbergner 309e94d362
All checks were successful
release-tag / release-image (push) Successful in 2m40s
init
2026-05-27 02:34:11 +02:00

11 lines
6.4 KiB
HTML

<!doctype html><html lang="de"><head><meta charset="utf-8"><title>Admin</title><style>body{font-family:system-ui;margin:2rem;background:#111;color:#eee}a{color:#9ad}table{border-collapse:collapse;width:100%;margin:1rem 0}td,th{border-bottom:1px solid #333;padding:.45rem;text-align:left;vertical-align:top}.card{background:#1b1b1b;border:1px solid #333;border-radius:.7rem;padding:1rem;margin:1rem 0}button,input,select,textarea{padding:.35rem;border-radius:.35rem;margin:.1rem}textarea{width:24rem;height:3.8rem}.small{width:5rem}.wide{width:20rem}</style></head><body>
<p><a href="/">Dashboard</a> · <a href="/requests/new">Neue Anfrage</a> · <a href="/logout">Logout</a></p>
<h1>Admin-Konfiguration</h1>
<div class="card"><h2>Globale Einstellungen</h2><table><tr><th>Key</th><th>Wert</th><th>Beschreibung</th><th></th></tr>{{range .Settings}}<tr><form method="post" action="/admin/settings"><td><input name="setting_key" value="{{.Key}}" readonly></td><td><input class="wide" name="setting_value" value="{{.Value}}"></td><td><input class="wide" name="description" value="{{.Description}}"></td><td><button>Speichern</button></td></form></tr>{{end}}<tr><form method="post" action="/admin/settings"><td><input name="setting_key" placeholder="neuer_key"></td><td><input name="setting_value"></td><td><input class="wide" name="description"></td><td><button>Anlegen</button></td></form></tr></table></div>
<div class="card"><h2>Abteilungen</h2><table><tr><th>ID</th><th>Name</th><th></th></tr>{{range .Departments}}<tr><form method="post" action="/admin/departments"><td>{{.ID}}<input type="hidden" name="id" value="{{.ID}}"></td><td><input name="name" value="{{.Name}}"></td><td><button>Speichern</button><button name="action" value="delete">Löschen</button></td></form></tr>{{end}}<tr><form method="post" action="/admin/departments"><td>neu</td><td><input name="name" placeholder="z.B. Salvage"></td><td><button>Anlegen</button></td></form></tr></table></div>
<div class="card"><h2>Items & Ressourcen</h2><table><tr><th>ID</th><th>SKU</th><th>Name</th><th>Kategorie</th><th></th></tr>{{range .Items}}<tr><form method="post" action="/admin/items"><td>{{.ID}}<input type="hidden" name="id" value="{{.ID}}"></td><td><input name="sku" value="{{.SKU}}"></td><td><input name="name" value="{{.Name}}"></td><td><input name="category" value="{{.Category}}"></td><td><button>Speichern</button><button name="action" value="delete">Löschen</button></td></form></tr>{{end}}<tr><form method="post" action="/admin/items"><td>neu</td><td><input name="sku"></td><td><input name="name"></td><td><input name="category" value="item"></td><td><button>Anlegen</button></td></form></tr></table></div>
<div class="card"><h2>Statuswerte</h2><table><tr><th>Scope</th><th>Wert</th><th>Label</th><th>Sortierung</th><th>Final</th><th></th></tr>{{range .Statuses}}<tr><form method="post" action="/admin/statuses"><input type="hidden" name="id" value="{{.ID}}"><td><select name="scope"><option {{if eq .Scope "request"}}selected{{end}}>request</option><option {{if eq .Scope "quest"}}selected{{end}}>quest</option></select></td><td><input name="value" value="{{.Value}}"></td><td><input name="label" value="{{.Label}}"></td><td><input class="small" name="sort_order" value="{{.Sort}}"></td><td><input type="checkbox" name="is_terminal" {{if .Terminal}}checked{{end}}></td><td><button>Speichern</button><button name="action" value="delete">Löschen</button></td></form></tr>{{end}}<tr><form method="post" action="/admin/statuses"><td><select name="scope"><option>request</option><option>quest</option></select></td><td><input name="value"></td><td><input name="label"></td><td><input class="small" name="sort_order" value="100"></td><td><input type="checkbox" name="is_terminal"></td><td><button>Anlegen</button></td></form></tr></table></div>
<div class="card"><h2>Quest-Templates</h2><p>Titel unterstützt Platzhalter <code>{{"{{item}}"}}</code> und <code>{{"{{quantity}}"}}</code>. reward_percent ist z.B. 0.25 für 25% des Anfragepreises.</p><table><tr><th>Typ</th><th>Titel</th><th>Abteilung</th><th>Reward%</th><th>Aktiv</th><th>Sort</th><th></th></tr>{{range .QuestTemplates}}<tr><form method="post" action="/admin/quest-templates"><input type="hidden" name="id" value="{{.ID}}"><td><input name="type" value="{{.Type}}"></td><td><input class="wide" name="title_template" value="{{.Title}}"></td><td><select name="department_id"><option value="0">-</option>{{$dept := .DeptID}}{{range $.Departments}}<option value="{{.ID}}" {{if eq .ID $dept}}selected{{end}}>{{.Name}}</option>{{end}}</select></td><td><input class="small" name="reward_percent" value="{{printf "%.4f" .Reward}}"></td><td><input type="checkbox" name="enabled" {{if .Enabled}}checked{{end}}></td><td><input class="small" name="sort_order" value="{{.Sort}}"></td><td><button>Speichern</button><button name="action" value="delete">Löschen</button></td></form></tr>{{end}}<tr><form method="post" action="/admin/quest-templates"><td><input name="type"></td><td><input class="wide" name="title_template"></td><td><select name="department_id"><option value="0">-</option>{{range .Departments}}<option value="{{.ID}}">{{.Name}}</option>{{end}}</select></td><td><input class="small" name="reward_percent" value="0.0000"></td><td><input type="checkbox" name="enabled" checked></td><td><input class="small" name="sort_order" value="100"></td><td><button>Anlegen</button></td></form></tr></table></div>
<div class="card"><h2>Workflow-Regeln</h2><table><tr><th>Name</th><th>Trigger</th><th>Condition JSON</th><th>Actions JSON</th><th>Aktiv</th><th></th></tr>{{range .WorkflowRules}}<tr><form method="post" action="/admin/workflow-rules"><input type="hidden" name="id" value="{{.ID}}"><td><input name="name" value="{{.Name}}"></td><td><input name="trigger_name" value="{{.Trigger}}"></td><td><textarea name="condition_json">{{.Condition}}</textarea></td><td><textarea name="actions_json">{{.Actions}}</textarea></td><td><input type="checkbox" name="enabled" {{if .Enabled}}checked{{end}}></td><td><button>Speichern</button><button name="action" value="delete">Löschen</button></td></form></tr>{{end}}<tr><form method="post" action="/admin/workflow-rules"><td><input name="name"></td><td><input name="trigger_name" value="request.created"></td><td><textarea name="condition_json">{}</textarea></td><td><textarea name="actions_json">[]</textarea></td><td><input type="checkbox" name="enabled" checked></td><td><button>Anlegen</button></td></form></tr></table></div>
</body></html>