Files
farmcal/templates/crops.html

129 lines
5.7 KiB
HTML

<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>FarmCal - Feldfruechte</title>
<link rel="icon" type="image/svg+xml" href="/static/farmcal-icon.svg">
<link rel="stylesheet" href="/static/styles.css">
</head>
<body>
<header class="top"><h1><img src="/static/farmcal-icon.svg" alt="" class="brand-icon">FarmCal</h1><p>Feldfruechte verwalten</p></header>
<nav class="tabs">
<a href="/" class="{{if eq .ActivePath "/"}}active{{end}}">Dashboard</a>
<a href="/planning" class="{{if eq .ActivePath "/planning"}}active{{end}}">Anbau planen</a>
<a href="/crops" class="{{if eq .ActivePath "/crops"}}active{{end}}">Feldfruechte</a>
<a href="/fields" class="{{if eq .ActivePath "/fields"}}active{{end}}">Felder & Gruppen</a>
<a href="/general" class="{{if eq .ActivePath "/general"}}active{{end}}">Allgemein</a>
</nav>
<main class="layout">
<section class="card">
<h2>Neue Feldfrucht</h2>
<form method="post" action="/crops/create" class="grid">
<label>Name<input type="text" name="name" maxlength="80" required></label>
<label>Aussaat von Monat<input type="number" name="sow_start_month" min="1" max="12" required></label>
<label>Aussaat bis Monat<input type="number" name="sow_end_month" min="1" max="12" required></label>
<label>Wachstum (Monate)<input type="number" name="grow_months" min="1" max="24" required></label>
<label class="check"><input type="checkbox" name="regrow_enabled"> Waechst nach Ernte erneut</label>
<label>Zusatz-Ernten (0 = unendlich)
<input type="number" name="regrow_cycles" min="0" max="120" value="0">
</label>
<button type="submit">Anlegen</button>
</form>
</section>
<section class="card full-width">
<h2>Bestehende Feldfruechte</h2>
<div class="table-wrap">
<table>
<thead><tr><th>Name</th><th>Aussaat</th><th>Wachstum</th><th>Aktionen</th></tr></thead>
<tbody>
{{if .Crops}}
{{range .Crops}}
<tr>
<form method="post" action="/crops/update">
<td><input type="hidden" name="id" value="{{.ID}}"><input type="text" name="name" value="{{.Name}}" maxlength="80" required></td>
<td class="inline-inputs">
<input type="number" name="sow_start_month" min="1" max="12" value="{{.SowStartMonth}}" required>
<span>bis</span>
<input type="number" name="sow_end_month" min="1" max="12" value="{{.SowEndMonth}}" required>
</td>
<td>
<input type="number" name="grow_months" min="1" max="24" value="{{.GrowMonths}}" required>
<label class="check mt-xs"><input type="checkbox" name="regrow_enabled" {{if .RegrowEnabled}}checked{{end}}> Regrow</label>
<input type="number" name="regrow_cycles" min="0" max="120" value="{{.RegrowCycles}}" title="0 = unendlich">
</td>
<td class="actions">
<button type="submit" class="btn-small">Speichern</button>
<button type="submit" formaction="/crops/delete" formnovalidate class="btn-small danger" onclick="return confirm('Feldfrucht wirklich loeschen?')">Loeschen</button>
</td>
</form>
</tr>
{{end}}
{{else}}
<tr><td colspan="4">Keine Feldfruechte vorhanden.</td></tr>
{{end}}
</tbody>
</table>
</div>
</section>
<section class="card full-width">
<h2>Vor- und Nachbereitung je Feldfrucht</h2>
<form method="post" action="/crop-steps/create" class="grid">
<label>Feldfrucht
<select name="crop_id" required>
<option value="">Bitte waehlen</option>
{{range .Crops}}
<option value="{{.ID}}">{{.Name}}</option>
{{end}}
</select>
</label>
<label>Phase
<select name="phase" required>
<option value="pre">Vorbereitung (vor Aussaat)</option>
<option value="post">Nachbereitung (nach Ernte)</option>
</select>
</label>
<label>Monats-Offset
<input type="number" name="month_offset" min="0" max="24" value="0" required>
</label>
<label class="full">Aufgabe
<input type="text" name="title" maxlength="140" required placeholder="z.B. Kalken oder Mulchen">
</label>
<button type="submit">Schritt speichern</button>
</form>
<div class="table-wrap mt">
<table>
<thead><tr><th>Feldfrucht</th><th>Phase</th><th>Offset</th><th>Aufgabe</th><th>Aktion</th></tr></thead>
<tbody>
{{if .CropSteps}}
{{range .CropSteps}}
<tr>
<td>{{.CropName}}</td>
<td>{{if eq .Phase "pre"}}Vorbereitung{{else}}Nachbereitung{{end}}</td>
<td>{{.MonthOffset}}</td>
<td>{{.Title}}</td>
<td>
<form method="post" action="/crop-steps/delete">
<input type="hidden" name="id" value="{{.ID}}">
<button type="submit" class="btn-small danger" onclick="return confirm('Schritt loeschen?')">Loeschen</button>
</form>
</td>
</tr>
{{end}}
{{else}}
<tr><td colspan="5">Keine Schritte vorhanden.</td></tr>
{{end}}
</tbody>
</table>
</div>
</section>
</main>
{{if .Error}}<div class="toast error">{{.Error}}</div>{{end}}
{{if .Info}}<div class="toast info">{{.Info}}</div>{{end}}
</body>
</html>