aboutsummaryrefslogtreecommitdiffstats
path: root/web/command/html/delete.go
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.net>2025-07-14 01:55:10 +0100
committerLeonardo Bishop <me@leonardobishop.net>2025-07-14 01:55:10 +0100
commit4c3e5c256930249798768b0195c42efca1428586 (patch)
tree0492551ddbfdfbaa192804b95d0ce11e6cbdb406 /web/command/html/delete.go
parent08a3fb8a2b0281c3c329b33215ec7f8866add606 (diff)
Add site deletion
Diffstat (limited to 'web/command/html/delete.go')
-rw-r--r--web/command/html/delete.go58
1 files changed, 58 insertions, 0 deletions
diff --git a/web/command/html/delete.go b/web/command/html/delete.go
new file mode 100644
index 0000000..a2059f5
--- /dev/null
+++ b/web/command/html/delete.go
@@ -0,0 +1,58 @@
+package html
+
+import (
+ "fmt"
+
+ . "maragu.dev/gomponents"
+ . "maragu.dev/gomponents/html"
+)
+
+func DeletePage(success, err string, siteName string) Node {
+ return page("Delete "+siteName,
+ H1(Text("Delete "+siteName)),
+
+ If(success != "", Group{
+ alertSuccess(success),
+ Div(
+ Class("control-group group-right"),
+ navButton("OK", "/"),
+ ),
+ }),
+
+ If(success == "", Group{
+ If(err != "", alertError(err)),
+
+ Form(
+ Method("post"),
+
+ FieldSet(
+ Legend(Text("Delete")),
+ Span(
+ Input(
+ ID("delete"),
+ Name("delete"),
+ Type("checkbox"),
+ ),
+ Label(
+ For("delete"),
+ Text(fmt.Sprintf("Really delete site %s?", siteName)),
+ ),
+ ),
+ Span(
+ Class("form-help"),
+ Text("Check the box to confirm deletion. Data on disk (including all site versions) will be deleted. This action is irreversible."),
+ ),
+ ),
+
+ Div(
+ Class("control-group group-right"),
+ navButton("Go back", fmt.Sprintf("/site/%s/", siteName)),
+ Input(
+ Type("submit"),
+ Value("Submit"),
+ ),
+ ),
+ ),
+ }),
+ )
+}