munin/templates/project-edit.html
2026-10-19 10:13:56 +02:00

90 lines
3.9 KiB
HTML

{{template "header" .}}
<div class="page-header">
<div class="page-header-title">
<h1>{{.Data.Item.Project.Name}}</h1>
<span class="help"><code>{{.Data.Item.Project.Slug}}</code> · {{.Data.Item.Entries}} Einträge</span>
</div>
<div class="page-header-actions">
<a class="button secondary" href="/p/{{.Data.Item.Project.Slug}}/">Zum Projekt</a>
<a class="button secondary" href="/p/{{.Data.Item.Project.Slug}}/keys">Zugänge</a>
</div>
</div>
<div class="card">
<form method="POST" action="/admin/projects/{{.Data.Item.Project.Slug}}/edit" class="form">
<input type="hidden" name="csrf_token" value="{{.CSRFToken}}">
<div class="field medium">
<label for="name">Name</label>
<input type="text" id="name" name="name" value="{{.Data.Item.Project.Name}}" required autofocus>
</div>
<div class="field long">
<label for="description">Beschreibung</label>
<input type="text" id="description" name="description"
value="{{.Data.Item.Project.Description}}" placeholder="optional">
</div>
<div class="field short">
<label for="slug">Bezeichner</label>
<span class="help">Steht fest — er steckt in der MCP-Konfiguration jedes Clients.</span>
<input type="text" id="slug" value="{{.Data.Item.Project.Slug}}" disabled>
</div>
{{/* Das Schreibbudget ändert nur der Plattform-Admin. Der Server
ignoriert das Feld für alle anderen ohnehin (handleProjectEditSave)
— hier wird es nur deshalb nicht angeboten. */}}
{{if .Session.CanEditWriteBudget}}
<div class="field short">
<label for="write_limit_hourly">Schreibbudget je Stunde</label>
<span class="help">
0 = Standardwert des Servers{{if .Data.Item.Limit}} ({{.Data.Item.Limit}}){{end}}.
{{if .Data.Item.Limit}}Im laufenden Fenster noch frei: {{.Data.Item.Free}}.{{end}}
</span>
<input type="number" id="write_limit_hourly" name="write_limit_hourly"
min="0" step="1" value="{{.Data.Item.OwnLimit}}">
</div>
{{else}}
<div class="field short">
<label>Schreibbudget je Stunde</label>
<span class="help">
{{if .Data.Item.Limit}}{{.Data.Item.Limit}}, im laufenden Fenster noch frei: {{.Data.Item.Free}}.{{else}}unbegrenzt.{{end}}
Ändern kann es nur der Plattform-Admin.
</span>
</div>
{{end}}
<div class="form-actions">
<button type="submit">Speichern</button>
<a class="button secondary" href="/admin/projects">Abbrechen</a>
</div>
</form>
</div>
<section class="section">
<h2>Gefahrenzone</h2>
<span class="help">Das Löschen entfernt alle {{.Data.Item.Entries}} Einträge und sämtliche
Zugänge dieses Projekts unwiederbringlich. Der Markdown-Export bleibt erhalten,
sofern einer eingerichtet ist.</span>
<div class="card danger-zone">
<form method="POST" action="/admin/projects/delete" class="form"
data-confirm="Projekt wirklich löschen? Alle Einträge und Zugänge gehen unwiederbringlich verloren.">
<input type="hidden" name="csrf_token" value="{{.CSRFToken}}">
<input type="hidden" name="id" value="{{.Data.Item.Project.ID}}">
<div class="field short">
<label for="confirm">Bezeichner zur Bestätigung</label>
<span class="help">Zum Löschen <code>{{.Data.Item.Project.Slug}}</code> eintippen.</span>
<input type="text" id="confirm" name="confirm" autocomplete="off">
</div>
<div class="form-actions">
<button type="submit" class="warning">Projekt löschen</button>
</div>
</form>
</div>
</section>
{{template "footer" .}}