added a basic function to add multiple Monsters

This commit is contained in:
Patryk Hegenberg 2023-11-29 22:36:00 +01:00
parent bf021090ab
commit 4dd9c18832
4 changed files with 207 additions and 122 deletions

View file

@ -9,6 +9,9 @@
<!-- Hier könnten weitere Meta-Tags, Stylesheets, JavaScript-Dateien usw. eingefügt werden -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css">
<link href="https://cdn.jsdelivr.net/npm/daisyui@2.31.0/dist/full.css" rel="stylesheet" type="text/css">
<script src="https://unpkg.com/htmx.org@1.9.9"
integrity="sha384-QFjmbokDn2DjBjq+fM+8LUIVrAgqcNW2s0PjAxHETgRn9l4fvX31ZxDxvwQnyMOX"
crossorigin="anonymous"></script>
<style>
body {
display: flex;

View file

@ -7,7 +7,18 @@
<input type="text" name="filename" required placeholder="Dateiname"
class="input input-bordered w-full max-w-xs"><br>
</div>
{{ template "monsterform" . }}
<div class="grid grid-cols-1">
<button type="button" hx-post="/addMonster" class="btn">Add Monster</button>
</div>
<div class="collapse bg-base-200">
<input type="checkbox" />
<div class="collapse-title text-xl font-medium">
Monster
</div>
<div class="collapse-content">
{{ template "monsterform" . }}
</div>
</div>
<input type="hidden" name="filename" value="{{.Filename}}">
<div class="card-actions justify-end">
<input type="submit" value="Submit" class="btn">

View file

@ -1,118 +1,118 @@
{{ define "monsterform" }}
<div class="grid grid-cols-2">
<label for="name">Monster Name:</label>
<input type="text" name="name" required placeholder="Type here" class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="source">Monster Source:</label>
<input type="text" name="source" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="size">Size:</label>
<input type="text" name="size" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="type">Type:</label>
<input type="text" name="type" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="alignment">Alignment:</label>
<input type="text" name="alignment" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="ac">AC:</label>
<input type="number" name="ac" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="acFrom">AC From:</label>
<input type="text" name="acFrom" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="hpAverage">HP Average:</label>
<input type="number" name="hpAverage" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="hpFormula">HP Formula:</label>
<input type="text" name="hpFormula" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="speed">Speed:</label>
<input type="number" name="speed" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="str">Str:</label>
<input type="number" name="str" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="dex">Dex:</label>
<input type="number" name="dex" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="con">Con:</label>
<input type="number" name="con" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="int">Int:</label>
<input type="number" name="int" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="wis">Wis:</label>
<input type="number" name="wis" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="cha">Cha:</label>
<input type="number" name="cha" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="saveDex">Save Dex:</label>
<input type="text" name="saveDex" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="saveCon">Save Con:</label>
<input type="text" name="saveCon" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="saveWis">Save Wis:</label>
<input type="text" name="saveWis" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="perception">Perception:</label>
<input type="text" name="perception" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="stealth">Stealth:</label>
<input type="text" name="stealth" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="damageRes">Damage Resistances:</label>
<input type="text" name="damageRes" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="senses">Senses:</label>
<input type="text" name="senses" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="languages">Languages:</label>
<input type="text" name="languages" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="cr">CR:</label>
<input type="text" name="cr" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="traitName">Trait Name:</label>
<input type="text" name="traitName" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="traitEntry">Trait Entry:</label>
<input type="text" name="traitEntry" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="actionName">Action Name:</label>
<input type="text" name="actionName" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="actionEntry">Action Entry:</label>
<input type="text" name="actionEntry" required class="input input-bordered w-full max-w-xs"><br>
</div>
{{end}}
<div class="grid grid-cols-2">
<label for="name">Monster Name:</label>
<input type="text" name="name" required placeholder="Type here" class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="source">Monster Source:</label>
<input type="text" name="source" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="size">Size:</label>
<input type="text" name="size" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="type">Type:</label>
<input type="text" name="type" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="alignment">Alignment:</label>
<input type="text" name="alignment" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="ac">AC:</label>
<input type="number" name="ac" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="acFrom">AC From:</label>
<input type="text" name="acFrom" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="hpAverage">HP Average:</label>
<input type="number" name="hpAverage" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="hpFormula">HP Formula:</label>
<input type="text" name="hpFormula" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="speed">Speed:</label>
<input type="number" name="speed" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="str">Str:</label>
<input type="number" name="str" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="dex">Dex:</label>
<input type="number" name="dex" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="con">Con:</label>
<input type="number" name="con" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="int">Int:</label>
<input type="number" name="int" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="wis">Wis:</label>
<input type="number" name="wis" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="cha">Cha:</label>
<input type="number" name="cha" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="saveDex">Save Dex:</label>
<input type="text" name="saveDex" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="saveCon">Save Con:</label>
<input type="text" name="saveCon" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="saveWis">Save Wis:</label>
<input type="text" name="saveWis" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="perception">Perception:</label>
<input type="text" name="perception" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="stealth">Stealth:</label>
<input type="text" name="stealth" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="damageRes">Damage Resistances:</label>
<input type="text" name="damageRes" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="senses">Senses:</label>
<input type="text" name="senses" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="languages">Languages:</label>
<input type="text" name="languages" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="cr">CR:</label>
<input type="text" name="cr" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="traitName">Trait Name:</label>
<input type="text" name="traitName" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="traitEntry">Trait Entry:</label>
<input type="text" name="traitEntry" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="actionName">Action Name:</label>
<input type="text" name="actionName" required class="input input-bordered w-full max-w-xs"><br>
</div>
<div class="grid grid-cols-2">
<label for="actionEntry">Action Entry:</label>
<input type="text" name="actionEntry" required class="input input-bordered w-full max-w-xs"><br>
</div>
{{end}}