edited formating of templates
This commit is contained in:
parent
ff0f06c0b9
commit
2a47aa90a3
8 changed files with 793 additions and 818 deletions
|
|
@ -3,51 +3,51 @@
|
|||
<html lang="de">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{.Title}}</title>
|
||||
<script src="https://unpkg.com/htmx.org@1.9.9"
|
||||
integrity="sha384-QFjmbokDn2DjBjq+fM+8LUIVrAgqcNW2s0PjAxHETgRn9l4fvX31ZxDxvwQnyMOX"
|
||||
crossorigin="anonymous"></script>
|
||||
<link id="customStylesheet" rel="stylesheet" href="/static/darkly_bulmawatch.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{.Title}}</title>
|
||||
<script src="https://unpkg.com/htmx.org@1.9.9"
|
||||
integrity="sha384-QFjmbokDn2DjBjq+fM+8LUIVrAgqcNW2s0PjAxHETgRn9l4fvX31ZxDxvwQnyMOX"
|
||||
crossorigin="anonymous"></script>
|
||||
<link id="customStylesheet" rel="stylesheet" href="/static/darkly_bulmawatch.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container is-widescreen">
|
||||
{{ template "header" . }}
|
||||
</div>
|
||||
<div class="container is-widescreen" id="main-content">
|
||||
{{ template "main" . }}
|
||||
</div>
|
||||
<div class="container is-widescreen">
|
||||
{{ template "header" . }}
|
||||
</div>
|
||||
<div class="container is-widescreen" id="main-content">
|
||||
{{ template "main" . }}
|
||||
</div>
|
||||
|
||||
<div class="container is-widescreen">
|
||||
{{ template "footer" . }}
|
||||
</div>
|
||||
<div class="container is-widescreen">
|
||||
{{ template "footer" . }}
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
// Get all "navbar-burger" elements
|
||||
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
|
||||
// Get all "navbar-burger" elements
|
||||
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
|
||||
|
||||
// Add a click event on each of them
|
||||
$navbarBurgers.forEach(el => {
|
||||
el.addEventListener('click', () => {
|
||||
// Add a click event on each of them
|
||||
$navbarBurgers.forEach(el => {
|
||||
el.addEventListener('click', () => {
|
||||
|
||||
// Get the target from the "data-target" attribute
|
||||
const target = el.dataset.target;
|
||||
const $target = document.getElementById(target);
|
||||
// Get the target from the "data-target" attribute
|
||||
const target = el.dataset.target;
|
||||
const $target = document.getElementById(target);
|
||||
|
||||
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
|
||||
el.classList.toggle('is-active');
|
||||
$target.classList.toggle('is-active');
|
||||
|
||||
});
|
||||
});
|
||||
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
|
||||
el.classList.toggle('is-active');
|
||||
$target.classList.toggle('is-active');
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
{{ define "footer" }}
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered is-widescreen">
|
||||
<p>
|
||||
© {{.Year}} Dungeons and Dragons Monster Generator. Alle Rechte vorbehalten.
|
||||
</p>
|
||||
</div>
|
||||
<div class="content has-text-centered is-widescreen">
|
||||
<p>
|
||||
© {{.Year}} Dungeons and Dragons Monster Generator. Alle Rechte vorbehalten.
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
@ -1,82 +1,81 @@
|
|||
{{ define "header" }}
|
||||
<header>
|
||||
<nav class="navbar" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false"
|
||||
data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
<div class="navbar-start">
|
||||
<a href="/" class="navbar-item" hx-get="/main" hx-target="#main-content" hx-boost="true">
|
||||
Dungeons & Dragons
|
||||
</a>
|
||||
|
||||
<a href="/about" class="navbar-item" hx-get="/about" hx-target="#main-content" hx-boost="true">
|
||||
About
|
||||
</a>
|
||||
|
||||
<a href="/contact" class="navbar-item" hx-get="/contact" hx-target="#main-content" hx-boost="true">
|
||||
Contact
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-end">
|
||||
<div class="navbar-item">
|
||||
<button id="switchButton" class="button is-light">
|
||||
<span id="stylesheetIcon" class="icon">
|
||||
<i class="fas fa-sun"></i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<section class="tile is-child hero box is-widescreen">
|
||||
<div class="hero-body is-flex is-justify-content-center is-align-items-center">
|
||||
<div class="container has-text-centered">
|
||||
<div class="hero-background">
|
||||
<img src="/images/images/banner.jpg" alt="Dungeons-and-Dragons-Banner">
|
||||
</div>
|
||||
<div class="hero-content is-overlay">
|
||||
<p class="title is-size-5-mobile is-size-1-desktop"
|
||||
style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
|
||||
Dungeons and Dragons Monster Generator
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<nav class="navbar" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const switchButton = document.getElementById("switchButton");
|
||||
const stylesheetIcon = document.getElementById("stylesheetIcon");
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchStylesheet);
|
||||
}
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
<div class="navbar-start">
|
||||
<a href="/" class="navbar-item" hx-get="/main" hx-target="#main-content" hx-boost="true">
|
||||
Dungeons & Dragons
|
||||
</a>
|
||||
|
||||
function switchStylesheet() {
|
||||
const link = document.getElementById("customStylesheet");
|
||||
<a href="/about" class="navbar-item" hx-get="/about" hx-target="#main-content" hx-boost="true">
|
||||
About
|
||||
</a>
|
||||
|
||||
// Ändere das Icon basierend auf dem aktuellen Stylesheet
|
||||
if (link.getAttribute("href") === "/static/darkly_bulmawatch.css") {
|
||||
link.setAttribute("href", "https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css");
|
||||
stylesheetIcon.innerHTML = '<i class="fas fa-moon"></i>'; // Zum Mond-Icon wechseln
|
||||
} else {
|
||||
link.setAttribute("href", "/static/darkly_bulmawatch.css");
|
||||
stylesheetIcon.innerHTML = '<i class="fas fa-sun"></i>'; // Zum Sonnen-Icon wechseln
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<a href="/contact" class="navbar-item" hx-get="/contact" hx-target="#main-content" hx-boost="true">
|
||||
Contact
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-end">
|
||||
<div class="navbar-item">
|
||||
<button id="switchButton" class="button is-light">
|
||||
<span id="stylesheetIcon" class="icon">
|
||||
<i class="fas fa-sun"></i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<section class="tile is-child hero box is-widescreen">
|
||||
<div class="hero-body is-flex is-justify-content-center is-align-items-center">
|
||||
<div class="container has-text-centered">
|
||||
<div class="hero-background">
|
||||
<img src="/images/images/banner.jpg" alt="Dungeons-and-Dragons-Banner">
|
||||
</div>
|
||||
<div class="hero-content is-overlay">
|
||||
<p class="title is-size-5-mobile is-size-1-desktop"
|
||||
style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
|
||||
Dungeons and Dragons Monster Generator
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const switchButton = document.getElementById("switchButton");
|
||||
const stylesheetIcon = document.getElementById("stylesheetIcon");
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchStylesheet);
|
||||
}
|
||||
|
||||
function switchStylesheet() {
|
||||
const link = document.getElementById("customStylesheet");
|
||||
|
||||
// Ändere das Icon basierend auf dem aktuellen Stylesheet
|
||||
if (link.getAttribute("href") === "/static/darkly_bulmawatch.css") {
|
||||
link.setAttribute("href", "https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css");
|
||||
stylesheetIcon.innerHTML = '<i class="fas fa-moon"></i>'; // Zum Mond-Icon wechseln
|
||||
} else {
|
||||
link.setAttribute("href", "/static/darkly_bulmawatch.css");
|
||||
stylesheetIcon.innerHTML = '<i class="fas fa-sun"></i>'; // Zum Sonnen-Icon wechseln
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</header>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
@ -1,131 +1,131 @@
|
|||
{{ define "main" }}
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child card ">
|
||||
<div class="card-content">
|
||||
<div class="media-content">
|
||||
<p class="title is-4">Monster Form</p>
|
||||
<div class="tile is-child card ">
|
||||
<div class="card-content">
|
||||
<div class="media-content">
|
||||
<p class="title is-4">Monster Form</p>
|
||||
</div>
|
||||
<div class="content">
|
||||
<form hx-post="/loadFile" hx-encoding="multipart/form-data"
|
||||
_='on htmx:xhr:progress(loaded, total) set #progress.value to (loaded/total)*100'>
|
||||
<div class="file">
|
||||
<label class="file-label">
|
||||
<input class="file-input" type="file" name="uploadFile">
|
||||
<span class="file-cta">
|
||||
<span class="file-icon">
|
||||
<i class="fas fa-upload"></i>
|
||||
</span>
|
||||
<span class="file-label">
|
||||
Choose a file…
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button class="button" type="button" hx-post="/loadFile" hx-trigger="click" hx-target="#monster-table"
|
||||
hx-swap="outerHTML">Press Me</button>
|
||||
</div>
|
||||
<div class="content">
|
||||
<form hx-post="/loadFile" hx-encoding="multipart/form-data"
|
||||
_='on htmx:xhr:progress(loaded, total) set #progress.value to (loaded/total)*100'>
|
||||
<div class="file">
|
||||
<label class="file-label">
|
||||
<input class="file-input" type="file" name="uploadFile">
|
||||
<span class="file-cta">
|
||||
<span class="file-icon">
|
||||
<i class="fas fa-upload"></i>
|
||||
</span>
|
||||
<span class="file-label">
|
||||
Choose a file…
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button class="button" type="button" hx-post="/loadFile" hx-trigger="click"
|
||||
hx-target="#monster-table" hx-swap="outerHTML">Press Me</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form action="/submit" method="post" class="">
|
||||
<div class="field">
|
||||
<td><label for="filename">Filename:</label></td>
|
||||
<div class="control"><input type="text" name="filename" required placeholder="Dateiname"
|
||||
class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
{{ template "monsterform" . }}
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button type="button" hx-post="/addMonster" hx-trigger="click" hx-target="#monster-table"
|
||||
hx-swap="outerHTML" class="button is-info" hx-boost="true">Add
|
||||
Monster</button>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="filename" value="{{.Filename}}">
|
||||
<input type="submit" value="Submit" class="button is-primary">
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<form action="/submit" method="post" class="">
|
||||
<div class="field">
|
||||
<td><label for="filename">Filename:</label></td>
|
||||
<div class="control"><input type="text" name="filename" required placeholder="Dateiname"
|
||||
class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ template "monsterform" . }}
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button type="button" hx-post="/addMonster" hx-trigger="click" hx-target="#monster-table"
|
||||
hx-swap="outerHTML" class="button is-info" hx-boost="true">Add
|
||||
Monster</button>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="filename" value="{{.Filename}}">
|
||||
<input type="submit" value="Submit" class="button is-primary">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child card">
|
||||
<div class="card-content">
|
||||
<div class="media-content">
|
||||
<p class="title is-4 is-centered">Existing Monsters</p>
|
||||
</div>
|
||||
<div class="table-container">
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col style="width: 100px;">
|
||||
<col style="width: 100px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Source</th>
|
||||
<th>Size</th>
|
||||
<th>Type</th>
|
||||
<th>Alignment</th>
|
||||
<th>AC</th>
|
||||
<th>AC Form</th>
|
||||
<th>HP Average</th>
|
||||
<th>HP Formula</th>
|
||||
<th>Walk</th>
|
||||
<th>Swim</th>
|
||||
<th>Burrow</th>
|
||||
<th>Climb</th>
|
||||
<th>Fly</th>
|
||||
<th>Str</th>
|
||||
<th>Dex</th>
|
||||
<th>Con</th>
|
||||
<th>Int</th>
|
||||
<th>Wis</th>
|
||||
<th>Cha</th>
|
||||
<th>Save Dex</th>
|
||||
<th>Save Con</th>
|
||||
<th>Save Wis</th>
|
||||
<th>Save Str</th>
|
||||
<th>Save Int</th>
|
||||
<th>Save Cha</th>
|
||||
<th>Perception</th>
|
||||
<th>Stealth</th>
|
||||
<th>Acrobatics</th>
|
||||
<th>AnimalHandling</th>
|
||||
<th>Arcana</th>
|
||||
<th>Athletics</th>
|
||||
<th>Deception</th>
|
||||
<th>History</th>
|
||||
<th>Insight</th>
|
||||
<th>Intimidation</th>
|
||||
<th>Investigation</th>
|
||||
<th>Medicine</th>
|
||||
<th>Nature</th>
|
||||
<th>Performance</th>
|
||||
<th>Persuasion</th>
|
||||
<th>SleightOfHand</th>
|
||||
<th>Survival</th>
|
||||
<th>Religion</th>
|
||||
<th>Damage Resistance</th>
|
||||
<th>Damage Immune</th>
|
||||
<th>Vulnerable</th>
|
||||
<th>Condition Immune</th>
|
||||
<th>Senses</th>
|
||||
<th>Languages</th>
|
||||
<th>CR</th>
|
||||
<th>Trait Name</th>
|
||||
<th>Trait Entry</th>
|
||||
<th>Action Name</th>
|
||||
<th>Action Entry</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{{ template "monsterTable" }}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-child card">
|
||||
<div class="card-content">
|
||||
<div class="media-content">
|
||||
<p class="title is-4 is-centered">Existing Monsters</p>
|
||||
</div>
|
||||
<div class="table-container">
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col style="width: 100px;">
|
||||
<col style="width: 100px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Source</th>
|
||||
<th>Size</th>
|
||||
<th>Type</th>
|
||||
<th>Alignment</th>
|
||||
<th>AC</th>
|
||||
<th>AC Form</th>
|
||||
<th>HP Average</th>
|
||||
<th>HP Formula</th>
|
||||
<th>Walk</th>
|
||||
<th>Swim</th>
|
||||
<th>Burrow</th>
|
||||
<th>Climb</th>
|
||||
<th>Fly</th>
|
||||
<th>Str</th>
|
||||
<th>Dex</th>
|
||||
<th>Con</th>
|
||||
<th>Int</th>
|
||||
<th>Wis</th>
|
||||
<th>Cha</th>
|
||||
<th>Save Dex</th>
|
||||
<th>Save Con</th>
|
||||
<th>Save Wis</th>
|
||||
<th>Save Str</th>
|
||||
<th>Save Int</th>
|
||||
<th>Save Cha</th>
|
||||
<th>Perception</th>
|
||||
<th>Stealth</th>
|
||||
<th>Acrobatics</th>
|
||||
<th>AnimalHandling</th>
|
||||
<th>Arcana</th>
|
||||
<th>Athletics</th>
|
||||
<th>Deception</th>
|
||||
<th>History</th>
|
||||
<th>Insight</th>
|
||||
<th>Intimidation</th>
|
||||
<th>Investigation</th>
|
||||
<th>Medicine</th>
|
||||
<th>Nature</th>
|
||||
<th>Performance</th>
|
||||
<th>Persuasion</th>
|
||||
<th>SleightOfHand</th>
|
||||
<th>Survival</th>
|
||||
<th>Religion</th>
|
||||
<th>Damage Resistance</th>
|
||||
<th>Damage Immune</th>
|
||||
<th>Vulnerable</th>
|
||||
<th>Condition Immune</th>
|
||||
<th>Senses</th>
|
||||
<th>Languages</th>
|
||||
<th>CR</th>
|
||||
<th>Trait Name</th>
|
||||
<th>Trait Entry</th>
|
||||
<th>Action Name</th>
|
||||
<th>Action Entry</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{{ template "monsterTable" }}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
@ -1,59 +1,59 @@
|
|||
{{ define "monster" }}
|
||||
<tr>
|
||||
<td>{{.Name}}</td>
|
||||
<td>{{.Source}}</td>
|
||||
<td>{{range .Size}}{{.}}{{end}}</td>
|
||||
<td>{{.Type}}</td>
|
||||
<td>{{range .Alignment}}{{.}}{{end}}</td>
|
||||
<td>{{range .AC}}{{.AC}}{{end}}</td>
|
||||
<td>{{range .AC}}{{.From}}{{end}}</td>
|
||||
<td>{{.HP.Average}}</td>
|
||||
<td>{{.HP.Formula}}</td>
|
||||
<td>{{.Speed.Walk}}</td>
|
||||
<td>{{.Speed.Swim}}</td>
|
||||
<td>{{.Speed.Burrow}}</td>
|
||||
<td>{{.Speed.Climb}}</td>
|
||||
<td>{{.Speed.Fly}}</td>
|
||||
<td>{{.Str}}</td>
|
||||
<td>{{.Dex}}</td>
|
||||
<td>{{.Con}}</td>
|
||||
<td>{{.Int}}</td>
|
||||
<td>{{.Wis}}</td>
|
||||
<td>{{.Cha}}</td>
|
||||
<td>{{.Save.Dex}}</td>
|
||||
<td>{{.Save.Con}}</td>
|
||||
<td>{{.Save.Wis}}</td>
|
||||
<td>{{.Save.Str}}</td>
|
||||
<td>{{.Save.Int}}</td>
|
||||
<td>{{.Save.Cha}}</td>
|
||||
<td>{{.Skill.Perception}}</td>
|
||||
<td>{{.Skill.Stealth}}</td>
|
||||
<td>{{.Skill.Acrobatics}}</td>
|
||||
<td>{{.Skill.AnimalHandling}}</td>
|
||||
<td>{{.Skill.Arcana}}</td>
|
||||
<td>{{.Skill.Athletics}}</td>
|
||||
<td>{{.Skill.Deception}}</td>
|
||||
<td>{{.Skill.History}}</td>
|
||||
<td>{{.Skill.Insight}}</td>
|
||||
<td>{{.Skill.Intimidation}}</td>
|
||||
<td>{{.Skill.Investigation}}</td>
|
||||
<td>{{.Skill.Medicine}}</td>
|
||||
<td>{{.Skill.Nature}}</td>
|
||||
<td>{{.Skill.Performance}}</td>
|
||||
<td>{{.Skill.Persuasion}}</td>
|
||||
<td>{{.Skill.SleightOfHand}}</td>
|
||||
<td>{{.Skill.Survival}}</td>
|
||||
<td>{{.Skill.Religion}}</td>
|
||||
<td>{{range .Resist}}{{.}}{{end}}</td>
|
||||
<td>{{range .Immune}}{{.}}{{end}}</td>
|
||||
<td>{{range .Vulnerable}}{{.}}{{end}}</td>
|
||||
<td>{{range .ConditionImmune}}{{.}}{{end}}</td>
|
||||
<td>{{range .Senses}}{{.}}{{end}}</td>
|
||||
<td>{{range .Languages}}{{.}}{{end}}</td>
|
||||
<td>{{.CR}}</td>
|
||||
<td>{{range .Traits}}{{.Name}}{{end}}</td>
|
||||
<td>{{range .Traits}}{{range .Entries}}{{.}}{{end}}{{end}}</td>
|
||||
<td>{{range .Actions}}{{.Name}}{{end}}</td>
|
||||
<td>{{range .Actions}}{{range .Entries}}{{.}}{{end}}{{end}}</td>
|
||||
<td>{{.Name}}</td>
|
||||
<td>{{.Source}}</td>
|
||||
<td>{{range .Size}}{{.}}{{end}}</td>
|
||||
<td>{{.Type}}</td>
|
||||
<td>{{range .Alignment}}{{.}}{{end}}</td>
|
||||
<td>{{range .AC}}{{.AC}}{{end}}</td>
|
||||
<td>{{range .AC}}{{.From}}{{end}}</td>
|
||||
<td>{{.HP.Average}}</td>
|
||||
<td>{{.HP.Formula}}</td>
|
||||
<td>{{.Speed.Walk}}</td>
|
||||
<td>{{.Speed.Swim}}</td>
|
||||
<td>{{.Speed.Burrow}}</td>
|
||||
<td>{{.Speed.Climb}}</td>
|
||||
<td>{{.Speed.Fly}}</td>
|
||||
<td>{{.Str}}</td>
|
||||
<td>{{.Dex}}</td>
|
||||
<td>{{.Con}}</td>
|
||||
<td>{{.Int}}</td>
|
||||
<td>{{.Wis}}</td>
|
||||
<td>{{.Cha}}</td>
|
||||
<td>{{.Save.Dex}}</td>
|
||||
<td>{{.Save.Con}}</td>
|
||||
<td>{{.Save.Wis}}</td>
|
||||
<td>{{.Save.Str}}</td>
|
||||
<td>{{.Save.Int}}</td>
|
||||
<td>{{.Save.Cha}}</td>
|
||||
<td>{{.Skill.Perception}}</td>
|
||||
<td>{{.Skill.Stealth}}</td>
|
||||
<td>{{.Skill.Acrobatics}}</td>
|
||||
<td>{{.Skill.AnimalHandling}}</td>
|
||||
<td>{{.Skill.Arcana}}</td>
|
||||
<td>{{.Skill.Athletics}}</td>
|
||||
<td>{{.Skill.Deception}}</td>
|
||||
<td>{{.Skill.History}}</td>
|
||||
<td>{{.Skill.Insight}}</td>
|
||||
<td>{{.Skill.Intimidation}}</td>
|
||||
<td>{{.Skill.Investigation}}</td>
|
||||
<td>{{.Skill.Medicine}}</td>
|
||||
<td>{{.Skill.Nature}}</td>
|
||||
<td>{{.Skill.Performance}}</td>
|
||||
<td>{{.Skill.Persuasion}}</td>
|
||||
<td>{{.Skill.SleightOfHand}}</td>
|
||||
<td>{{.Skill.Survival}}</td>
|
||||
<td>{{.Skill.Religion}}</td>
|
||||
<td>{{range .Resist}}{{.}}{{end}}</td>
|
||||
<td>{{range .Immune}}{{.}}{{end}}</td>
|
||||
<td>{{range .Vulnerable}}{{.}}{{end}}</td>
|
||||
<td>{{range .ConditionImmune}}{{.}}{{end}}</td>
|
||||
<td>{{range .Senses}}{{.}}{{end}}</td>
|
||||
<td>{{range .Languages}}{{.}}{{end}}</td>
|
||||
<td>{{.CR}}</td>
|
||||
<td>{{range .Traits}}{{.Name}}{{end}}</td>
|
||||
<td>{{range .Traits}}{{range .Entries}}{{.}}{{end}}{{end}}</td>
|
||||
<td>{{range .Actions}}{{.Name}}{{end}}</td>
|
||||
<td>{{range .Actions}}{{range .Entries}}{{.}}{{end}}{{end}}</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
@ -1,313 +1,306 @@
|
|||
{{ define "monsterform" }}
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="name">Monster Name:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="name" required placeholder="Type here"
|
||||
class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="name">Monster Name:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="name" required placeholder="Type here" class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="source">Monster Source:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="source" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="source">Monster Source:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="source" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="size">Size:</label>
|
||||
<div class="control">
|
||||
<div class="select">
|
||||
<select name="size">
|
||||
<option>H</option>
|
||||
<option>T</option>
|
||||
<option>S</option>
|
||||
<option>L</option>
|
||||
<option>G</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="size">Size:</label>
|
||||
<div class="control">
|
||||
<div class="select">
|
||||
<select name="size">
|
||||
<option>H</option>
|
||||
<option>T</option>
|
||||
<option>S</option>
|
||||
<option>L</option>
|
||||
<option>G</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="type">Type:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="type" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="type">Type:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="type" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-vertical is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="alignment">Alignment:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="alignment" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="alignment">Alignment:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="alignment" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="ac">AC:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="ac" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="ac">AC:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="ac" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="acFrom">AC From:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="acFrom" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="acFrom">AC From:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="acFrom" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="hpAverage">HP Average:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="hpAverage" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="hpAverage">HP Average:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="hpAverage" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="hpFormula">HP Formula:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="hpFormula" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="hpFormula">HP Formula:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="hpFormula" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="str">Str:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="str" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills"
|
||||
hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="str">Str:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="str" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills" hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="dex">Dex:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="dex" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills"
|
||||
hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="dex">Dex:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="dex" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills" hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="con">Con:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="con" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills"
|
||||
hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="con">Con:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="con" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills" hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="cr">CR:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="cr" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills"
|
||||
hx-swap="innerHTML" hx-target="#skills" hx-swap="outerHTML">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="cr">CR:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="cr" required class="input input-bordered w-full max-w-xs" hx-post="/calculate-skills"
|
||||
hx-trigger="keyup changed delay:100ms" hx-target="#skills" hx-swap="innerHTML" hx-target="#skills"
|
||||
hx-swap="outerHTML">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="int">Int:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="int" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills"
|
||||
hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="int">Int:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="int" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills" hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="wis">Wis:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="wis" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills"
|
||||
hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="wis">Wis:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="wis" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills" hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="cha">Cha:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="cha" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills"
|
||||
hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="cha">Cha:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="cha" required class="input input-bordered w-full max-w-xs"
|
||||
hx-post="/calculate-skills" hx-trigger="keyup changed delay:100ms" hx-target="#skills" hx-swap="innerHTML">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="skills" class="tile is-ancestor is-vertical">
|
||||
{{ template "skills" }}
|
||||
{{ template "skills" }}
|
||||
</div>
|
||||
<div class="card tile is-ancestor is-vertical">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
Speed
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="content">
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="walk">Walk:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="walk" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="burrow">Burrow:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="burrow" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="climb">Climb:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="climb" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="fly">Fly:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="fly" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="swim">Swim:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="swim" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
Speed
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="content">
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="walk">Walk:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="walk" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="burrow">Burrow:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="burrow" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="climb">Climb:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="climb" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="fly">Fly:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="fly" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label for="swim">Swim:</label>
|
||||
<div class="control">
|
||||
<input type="number" name="swim" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="resist">Damage Resistances:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="resist" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="resist">Damage Resistances:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="resist" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="immune">Damage Immunity:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="immune" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="immune">Damage Immunity:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="immune" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="vulnerable">Vulnerability:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="vulnerable" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="vulnerable">Vulnerability:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="vulnerable" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="conditionImmune">Condition Immunity:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="conditionImmune" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="conditionImmune">Condition Immunity:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="conditionImmune" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="senses">Senses:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="senses" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="senses">Senses:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="senses" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="languages">Languages:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="languages" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="languages">Languages:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="languages" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="traitName">Trait Name:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="traitName" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="traitName">Trait Name:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="traitName" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="traitEntry">Trait Entry:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="traitEntry" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="traitEntry">Trait Entry:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="traitEntry" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="actionName">Action Name:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="actionName" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="actionName">Action Name:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="actionName" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="actionEntry">Action Entry:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="actionEntry" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="actionEntry">Action Entry:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="actionEntry" required class="input input-bordered w-full max-w-xs">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{{ define "monsterTable" }}
|
||||
<tbody id="monster-table">
|
||||
{{ range .Monsters }}
|
||||
{{ template "monster" . }}
|
||||
{{ range .Monsters }}
|
||||
{{ template "monster" . }}
|
||||
</tbody>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
@ -1,282 +1,265 @@
|
|||
{{ define "skills" }}
|
||||
<div class="tile is-parent">
|
||||
<div class="card tile is-child is-ancestor is-vertical">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
Save
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="content">
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savedex"><input type="checkbox"
|
||||
name="checkSavedex">Dex:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savedex" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveDex}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savecon"><input type="checkbox"
|
||||
name="checkSavecon">Con:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savecon" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveCon}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savewis"><input type="checkbox"
|
||||
name="checkSavewis">Wis:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savewis" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveWis}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card tile is-child is-ancestor is-vertical">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
Save
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="content">
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savedex"><input type="checkbox" name="checkSavedex">Dex:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savedex" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveDex}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savecha"><input type="checkbox" name="checkSavecha">Cha:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savecha" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveCha}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="saveint"><input type="checkbox" name="checkSaveint">Int:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="saveint" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveInt}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savestr"><input type="checkbox" name="checkSavestr">Str:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savestr" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveStr}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savecon"><input type="checkbox" name="checkSavecon">Con:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savecon" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveCon}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savewis"><input type="checkbox" name="checkSavewis">Wis:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savewis" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveWis}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savecha"><input type="checkbox" name="checkSavecha">Cha:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savecha" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveCha}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="saveint"><input type="checkbox" name="checkSaveint">Int:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="saveint" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveInt}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent gap">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="savestr"><input type="checkbox" name="checkSavestr">Str:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="savestr" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.saveStr}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="card tile is-child is-ancestor is-vertical">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
Skill
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="content">
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="acrobatics"><input type="checkbox"
|
||||
name="checkAcrobatics">Acrobatics:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="acrobatics" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{
|
||||
<div class="card tile is-child is-ancestor is-vertical">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
Skill
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="content">
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label class="checkbox" for="acrobatics"><input type="checkbox" name="checkAcrobatics">Acrobatics:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="acrobatics" required class="input input-bordered w-full max-w-xs" value="{{
|
||||
.acrobatics }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="animalhandling" class="checkbox"><input type="checkbox"
|
||||
name="checkAnimalhandling">Animal Handling:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="animalhandling" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{ .animalHandling }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="arcana" class="ceckbox"><input type="checkbox"
|
||||
name="checkArcana">Arcana:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="arcana" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .arcana }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="athletics" class="checkbox"><input type="checkbox"
|
||||
name="checkAthletics">Athletics:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="athletics" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{ .athletics }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="deception" class="checkbox"><input type="checkbox"
|
||||
name="checkDeception">Deception:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="deception" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{ .deception }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="history" class="checkbox"><input type="checkbox"
|
||||
name="checkHistory">History:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="history" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .history }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="insight" class="checkbox"><input type="checkbox"
|
||||
name="checkInsight">Insight:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="insight" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .insight }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="intimidation" class="checkbox"><input type="checkbox"
|
||||
name="checkIntimidation">Intimidation:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="intimidation" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{ .intimidation }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="investigation" class="checkbox"><input type="checkbox"
|
||||
name="checkInvestigation">Investigation:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="investigation" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{ .investigation }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="medicine" class="checkbox"><input type="checkbox"
|
||||
name="checkMedicine">Medicine:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="medicine" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .medicine }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="nature" class="checkbox"><input type="checkbox"
|
||||
name="checkNature">Nature:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="nature" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .nature }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="performance" class="checkbox"><input type="checkbox"
|
||||
name="checkPerformance">Performance:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="performance" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{ .performance }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="perception" class="checkbox"><input type="checkbox"
|
||||
name="checkPerception">Perception:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="perception" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{ .perception }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="stealth" class="checkbox"><input type="checkbox"
|
||||
name="checkStealth">Stealth:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="stealth" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .stealth }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="persuasion" class="checkbox"><input type="checkbox"
|
||||
name="checkPersuasion">Persuasion:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="persuasion" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{ .persuasion }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="sleightofhand" class="checkbox"><input type="checkbox"
|
||||
name="checkSleightofhand">Sleight of Hand:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="sleightofhand" required
|
||||
class="input input-bordered w-full max-w-xs" value="{{.sleightOfHand }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="religion" class="checkbox"><input type="checkbox"
|
||||
name="checkReligion">Religion:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="religion" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .religion }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="survival" class="checkbox"><input type="checkbox"
|
||||
name="checkSurvival">Survival:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="survival" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .survival }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="animalhandling" class="checkbox"><input type="checkbox" name="checkAnimalhandling">Animal
|
||||
Handling:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="animalhandling" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .animalHandling }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="arcana" class="ceckbox"><input type="checkbox" name="checkArcana">Arcana:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="arcana" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .arcana }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="athletics" class="checkbox"><input type="checkbox" name="checkAthletics">Athletics:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="athletics" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .athletics }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="deception" class="checkbox"><input type="checkbox" name="checkDeception">Deception:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="deception" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .deception }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="history" class="checkbox"><input type="checkbox" name="checkHistory">History:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="history" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .history }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="insight" class="checkbox"><input type="checkbox" name="checkInsight">Insight:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="insight" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .insight }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="intimidation" class="checkbox"><input type="checkbox"
|
||||
name="checkIntimidation">Intimidation:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="intimidation" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .intimidation }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="investigation" class="checkbox"><input type="checkbox"
|
||||
name="checkInvestigation">Investigation:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="investigation" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .investigation }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="medicine" class="checkbox"><input type="checkbox" name="checkMedicine">Medicine:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="medicine" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .medicine }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="nature" class="checkbox"><input type="checkbox" name="checkNature">Nature:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="nature" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .nature }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="performance" class="checkbox"><input type="checkbox"
|
||||
name="checkPerformance">Performance:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="performance" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .performance }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="perception" class="checkbox"><input type="checkbox" name="checkPerception">Perception:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="perception" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .perception }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="stealth" class="checkbox"><input type="checkbox" name="checkStealth">Stealth:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="stealth" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .stealth }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="persuasion" class="checkbox"><input type="checkbox" name="checkPersuasion">Persuasion:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="persuasion" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .persuasion }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-ancestor">
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="sleightofhand" class="checkbox"><input type="checkbox" name="checkSleightofhand">Sleight of
|
||||
Hand:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="sleightofhand" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{.sleightOfHand }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="religion" class="checkbox"><input type="checkbox" name="checkReligion">Religion:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="religion" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .religion }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tile is-parent">
|
||||
<div class="tile is-child field">
|
||||
<label for="survival" class="checkbox"><input type="checkbox" name="checkSurvival">Survival:</label>
|
||||
<div class="control">
|
||||
<input type="text" name="survival" required class="input input-bordered w-full max-w-xs"
|
||||
value="{{ .survival }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
Loading…
Add table
Add a link
Reference in a new issue