update production
release-tag / release-image (push) Failing after 1m40s

This commit is contained in:
2026-05-27 03:08:44 +02:00
parent 782f62a66b
commit b747039ec6
13 changed files with 518 additions and 131 deletions
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="de"><head><meta charset="utf-8"><title>Quest-Portal</title><style>body{font-family:system-ui;margin:0;background:#0f1115;color:#e8e8e8}header{background:#171a21;border-bottom:1px solid #2c3140;padding:1rem 2rem;display:flex;gap:1rem}main{padding:2rem}a{color:#9ecbff;text-decoration:none}.btn,button{background:#26364d;color:#fff;border:1px solid #49617f;border-radius:.5rem;padding:.45rem .7rem;display:inline-block;cursor:pointer}.card{background:#171a21;border:1px solid #2c3140;border-radius:1rem;padding:1rem;margin:1rem 0}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #2c3140;padding:.55rem;text-align:left;vertical-align:top}select,textarea{background:#0f1115;color:#eee;border:1px solid #394150;border-radius:.45rem;padding:.45rem}textarea{width:22rem;height:4rem}.status{border:1px solid #48556a;border-radius:999px;padding:.15rem .5rem;background:#202838}.muted{color:#9ca3af}</style></head><body><header><strong>Trading Tool</strong><a href="/">Dashboard</a><a href="/departments">Abteilungen</a><a href="/admin">Admin</a><a href="/logout">Logout</a></header><main><h1>Quest-Portal: {{.DepartmentName}}</h1><p><a class="btn" href="/departments">Zurück zu Abteilungen</a></p><section class="card"><table><tr><th>ID</th><th>Request</th><th>Typ</th><th>Titel</th><th>Status</th><th>Rückmeldung</th><th>Aktion</th></tr>{{range .Quests}}<tr><td>#{{.ID}}</td><td>#{{.RequestID}} {{.Item}}</td><td>{{.Type}}</td><td>{{.Title}}</td><td><span class="status">{{.Status}}</span></td><td>{{.Note}}{{if .Block}}<br><span class="muted">Blocker: {{.Block}}</span>{{end}}</td><td>{{if eq .Status "waiting"}}<span class="muted">Wartet auf vorherige Quest</span>{{else}}<form method="post" action="/quests/update"><input type="hidden" name="id" value="{{.ID}}"><select name="status"><option value="open">offen</option><option value="accepted">angenommen</option><option value="in_progress">in Arbeit</option><option value="blocked">blockiert</option><option value="change_requested">Änderung angefragt</option><option value="done">erledigt</option><option value="cancelled">abgebrochen</option></select><br><textarea name="note" placeholder="Rückmeldung, Blocker, Gegenvorschlag …">{{.Note}}</textarea><br><button>Aktualisieren</button></form>{{end}}</td></tr>{{end}}</table></section></main></body></html>
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="de"><head><meta charset="utf-8"><title>Abteilungen</title><style>body{font-family:system-ui;margin:0;background:#0f1115;color:#e8e8e8}header{background:#171a21;border-bottom:1px solid #2c3140;padding:1rem 2rem;display:flex;gap:1rem}main{padding:2rem}a{color:#9ecbff;text-decoration:none}.card{background:#171a21;border:1px solid #2c3140;border-radius:1rem;padding:1rem;margin:1rem 0;display:block}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.muted{color:#9ca3af}</style></head><body><header><strong>Trading Tool</strong><a href="/">Dashboard</a><a href="/departments">Abteilungen</a><a href="/admin">Admin</a><a href="/logout">Logout</a></header><main><h1>Abteilungsportale</h1><p class="muted">Jede Abteilung sieht hier ihre eigenen Quests und kann diese annehmen, blockieren, kommentieren oder abschließen.</p><div class="grid">{{range .Departments}}<a class="card" href="/departments/{{.ID}}/quests"><h2>{{.Name}}</h2><p>Quests anzeigen und bearbeiten</p></a>{{end}}</div></main></body></html>
+5 -1
View File
@@ -1 +1,5 @@
<!doctype html><html lang="de"><head><meta charset="utf-8"><title>Trading Tool</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:.5rem;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:.4rem;border-radius:.35rem}textarea{width:18rem;height:3rem}</style></head><body><p><a href="/requests/new">Neue Anfrage</a> · <a href="/admin">Admin-Konfiguration</a> · <a href="/logout">Logout</a></p><h1>Trading Dashboard</h1><div class="card"><h2>Anfragen</h2><table><tr><th>ID</th><th>Typ</th><th>Item</th><th>Menge</th><th>Preis</th><th>Status</th></tr>{{range .Requests}}<tr><td>{{.ID}}</td><td>{{.Kind}}</td><td>{{.Item}}</td><td>{{.Qty}}</td><td>{{printf "%.2f" .Price}}</td><td>{{.Status}}</td></tr>{{end}}</table></div><div class="card"><h2>Quests / Auftragnehmer-Workflow</h2><table><tr><th>ID</th><th>Typ</th><th>Titel</th><th>Abteilung</th><th>Status</th><th>Notiz</th><th>Aktion</th></tr>{{range .Quests}}<tr><td>{{.ID}}</td><td>{{.Type}}</td><td>{{.Title}}</td><td>{{.Dept}}</td><td>{{.Status}}</td><td>{{.Note}}</td><td><form method="post" action="/quests/update"><input type="hidden" name="id" value="{{.ID}}"><select name="status"><option>open</option><option>accepted</option><option>in_progress</option><option>done</option><option>blocked</option><option>change_requested</option><option>cancelled</option></select><br><textarea name="note" placeholder="Rückmeldung, Gegenvorschlag, Material fehlt …">{{.Note}}</textarea><br><button>Workflow aktualisieren</button></form></td></tr>{{end}}</table></div></body></html>
<!doctype html><html lang="de"><head><meta charset="utf-8"><title>Trading Tool</title><style>body{font-family:system-ui;margin:0;background:#0f1115;color:#e8e8e8}header{background:#171a21;border-bottom:1px solid #2c3140;padding:1rem 2rem;display:flex;gap:1rem}main{padding:2rem}a{color:#9ecbff;text-decoration:none}.btn,button{background:#26364d;color:#fff;border:1px solid #49617f;border-radius:.5rem;padding:.45rem .7rem;display:inline-block;cursor:pointer}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.card{background:#171a21;border:1px solid #2c3140;border-radius:1rem;padding:1rem;margin:1rem 0}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #2c3140;padding:.55rem;text-align:left;vertical-align:top}input,select,textarea{background:#0f1115;color:#eee;border:1px solid #394150;border-radius:.45rem;padding:.45rem}textarea{width:22rem;height:4rem}.status{border:1px solid #48556a;border-radius:999px;padding:.15rem .5rem;background:#202838}.muted{color:#9ca3af}</style></head><body><header><strong>Trading Tool</strong><a href="/">Dashboard</a><a href="/departments">Abteilungen</a><a href="/admin">Admin</a><a href="/logout">Logout</a></header><main>
<h1>Trading Dashboard</h1><div class="actions"><a class="btn" href="/requests/new">Neue Anfrage</a><a class="btn" href="/departments">Abteilungsportale</a><a class="btn" href="/admin">Admin-Konfiguration</a></div>
<section class="card"><h2>Anfragen</h2><table><tr><th>ID</th><th>Typ</th><th>Item</th><th>Menge</th><th>Preis</th><th>Status</th><th>Notiz</th></tr>{{range .Requests}}<tr><td>#{{.ID}}</td><td>{{.Kind}}</td><td>{{.Item}}</td><td>{{.Qty}}</td><td>{{printf "%.2f" .Price}}</td><td><span class="status">{{.Status}}</span></td><td>{{.Note}}</td></tr>{{end}}</table></section>
<section class="card"><h2>Alle Quests</h2><table><tr><th>ID</th><th>Request</th><th>Typ</th><th>Titel</th><th>Abteilung</th><th>Status</th><th>Rückmeldung</th><th>Aktion</th></tr>{{range .Quests}}<tr><td>#{{.ID}}</td><td>#{{.RequestID}} {{.Item}}</td><td>{{.Type}}</td><td>{{.Title}}</td><td>{{.Dept}}</td><td><span class="status">{{.Status}}</span></td><td>{{.Note}}{{if .Block}}<br><span class="muted">Blocker: {{.Block}}</span>{{end}}</td><td>{{if eq .Status "waiting"}}<span class="muted">Wartet auf vorherige Quest</span>{{else}}<form method="post" action="/quests/update"><input type="hidden" name="id" value="{{.ID}}"><select name="status"><option value="open">offen</option><option value="accepted">angenommen</option><option value="in_progress">in Arbeit</option><option value="blocked">blockiert</option><option value="change_requested">Änderung angefragt</option><option value="done">erledigt</option><option value="cancelled">abgebrochen</option></select><br><textarea name="note" placeholder="Rückmeldung, Blocker, Gegenvorschlag …">{{.Note}}</textarea><br><button>Aktualisieren</button></form>{{end}}</td></tr>{{end}}</table></section>
</main></body></html>
+1 -1
View File
@@ -1 +1 @@
<!doctype html><html lang="de"><head><meta charset="utf-8"><title>Neue Anfrage</title><style>body{font-family:system-ui;margin:2rem;background:#111;color:#eee}label{display:block;margin:.8rem 0}input,select,button{padding:.5rem;border-radius:.4rem}</style></head><body><p><a href="/">Zurück</a></p><h1>Neue Trading-Anfrage</h1><form method="post"><label>Typ <select name="kind"><option value="buy">Ankauf</option><option value="sell">Verkauf</option></select></label><label>Item <select name="item_id">{{range .Items}}<option value="{{.ID}}">{{.Name}}</option>{{end}}</select></label><label>Menge <input name="quantity" type="number" value="1" min="1"></label><label>Preisvorstellung <input name="price_limit" type="number" step="0.01" value="1000"></label><button>Anfrage erstellen und Quests generieren</button></form></body></html>
<!doctype html><html lang="de"><head><meta charset="utf-8"><title>Neue Anfrage</title><style>body{font-family:system-ui;margin:2rem;background:#111;color:#eee}a{color:#9ad}.card{background:#1b1b1b;border:1px solid #333;border-radius:.7rem;padding:1rem;max-width:760px}label{display:block;margin:.8rem 0}input,select,textarea,button{padding:.5rem;border-radius:.4rem}textarea{width:100%;height:5rem}</style></head><body><p><a href="/">← Dashboard</a></p><div class="card"><h1>Neue Trading-Anfrage</h1><form method="post"><label>Typ <select name="kind"><option value="buy">Ankauf/Beschaffung</option><option value="sell">Verkauf/Lieferung</option></select></label><label>Item/Ressource <select name="item_id">{{range .Items}}<option value="{{.ID}}">{{.Name}} ({{.Category}})</option>{{end}}</select></label><label>Menge <input name="quantity" type="number" min="1" value="1"></label><label>Preisvorstellung / Limit <input name="price_limit" type="number" step="0.01" value="0"></label><label>Quelle <select name="source_department_id"><option value="">keine</option>{{range .Departments}}<option value="{{.ID}}">{{.Name}}</option>{{end}}</select></label><label>Zielabteilung <select name="target_department_id"><option value="">keine</option>{{range .Departments}}<option value="{{.ID}}">{{.Name}}</option>{{end}}</select></label><label>Notizen <textarea name="notes" placeholder="Lieferort, Deadline, spezielle Bedingungen …"></textarea></label><button>Anfrage erstellen und Workflow starten</button></form></div></body></html>