summaryrefslogtreecommitdiff
path: root/templ
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2024-02-11 23:45:56 +0100
committerRené 'Necoro' Neumann <necoro@necoro.eu>2024-02-11 23:45:56 +0100
commit934df3f098c33bcbb1493a420833817b80518020 (patch)
treef2fa5d6356bc32b84c6f19377ca106c627f4132b /templ
parent09cb0762553494f2e31f4a7dc60c0c4ba09e91a1 (diff)
downloadgosten-934df3f098c33bcbb1493a420833817b80518020.tar.gz
gosten-934df3f098c33bcbb1493a420833817b80518020.tar.bz2
gosten-934df3f098c33bcbb1493a420833817b80518020.zip
Include form handling
Diffstat (limited to '')
-rw-r--r--templ/form.tpl14
-rw-r--r--templ/login.tpl6
-rw-r--r--templ/login2.tpl4
-rw-r--r--templ/template.go7
4 files changed, 30 insertions, 1 deletions
diff --git a/templ/form.tpl b/templ/form.tpl
new file mode 100644
index 0000000..b17cb1d
--- /dev/null
+++ b/templ/form.tpl
@@ -0,0 +1,14 @@
+{{define "formItem"}}
+ <label {{with .ID}}for="{{.}}"{{end}}>{{.Label}}</label>
+ <input
+ {{with .ID}}id="{{.}}"{{end}}
+ type="{{.Type}}"
+ name="{{.Name}}"
+ placeholder="{{.Placeholder}}"
+ {{with .Value}}value="{{.}}"{{end}}
+ {{with .Class}}class="{{.}}"{{end}}
+ {{range .Options}} {{.}} {{end}}
+ >
+ {{with .Footer}}<p>{{.}}</p>{{end}}
+ <br />
+{{end}} \ No newline at end of file
diff --git a/templ/login.tpl b/templ/login.tpl
new file mode 100644
index 0000000..40d49c9
--- /dev/null
+++ b/templ/login.tpl
@@ -0,0 +1,6 @@
+{{define "body"}}
+ <form action="/login" method="post">
+ {{inputs_for .}}
+ <button type="submit">Log In!</button>
+ </form>
+{{end}} \ No newline at end of file
diff --git a/templ/login2.tpl b/templ/login2.tpl
new file mode 100644
index 0000000..89ba6a5
--- /dev/null
+++ b/templ/login2.tpl
@@ -0,0 +1,4 @@
+{{define "body"}}
+ Logged in with user: {{.Name}} <br>
+ You have chosen: {{.Password}}
+{{end}} \ No newline at end of file
diff --git a/templ/template.go b/templ/template.go
index 8fed965..20a4de7 100644
--- a/templ/template.go
+++ b/templ/template.go
@@ -4,6 +4,8 @@ import (
"embed"
"html/template"
"sync"
+
+ "github.com/Necoro/form"
)
//go:embed *.tpl
@@ -13,9 +15,12 @@ var templates = make(map[string]*template.Template)
var muTpl sync.RWMutex
var baseTpl *template.Template
+var formBuilder form.Builder
func init() {
- baseTpl = template.Must(template.ParseFS(fs, "base.tpl"))
+ baseTpl = template.Must(template.ParseFS(fs, "base.tpl", "form.tpl"))
+ formBuilder = form.Builder{InputTemplate: baseTpl.Lookup("formItem")}
+ baseTpl.Funcs(formBuilder.FuncMap())
}
func Lookup(name string) *template.Template {