diff options
Diffstat (limited to 'web/skeleton/skeleton.go')
| -rw-r--r-- | web/skeleton/skeleton.go | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/web/skeleton/skeleton.go b/web/skeleton/skeleton.go new file mode 100644 index 0000000..a3ba73e --- /dev/null +++ b/web/skeleton/skeleton.go @@ -0,0 +1,58 @@ +package skeleton + +import ( + _ "embed" + + . "maragu.dev/gomponents" + . "maragu.dev/gomponents/components" + . "maragu.dev/gomponents/html" +) + +//go:embed style.css +var styles string + +func Page(title string, children ...Node) Node { + return HTML5(HTML5Props{ + Title: title, + Language: "en", + Head: []Node{ + StyleEl(Raw(styles)), + }, + Body: []Node{ + Div(Class("container"), + Group(children), + footer(), + ), + }, + }) +} + +func footer() Node { + return Footer( + Hr(), + Text("scrapbook"), + ) +} + +func NavButton(label string, dest string) Node { + return A( + Class("button"), + Href(dest), + Text(label), + ) +} + +func Alert(label string, class string) Node { + return Div( + Class("alert "+class), + Text(label), + ) +} + +func AlertError(label string) Node { + return Alert(label, "error") +} + +func AlertSuccess(label string) Node { + return Alert(label, "success") +} |
