From fa7f886a59a1e0c421899e2b0442a9f94ecbe9fc Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Tue, 15 Jul 2025 01:36:24 -0400 Subject: [PATCH] Now have a simple table list index and a table view, but the templates aren't good enough to easily use the Go reflect data. Will find one tomorrow that's better. --- admin/handlers.go | 26 +++++++++++++++++++++++++- views/admin/index.html | 14 +++++++++++++- views/admin/table/index.html | 17 +++++++++++++++++ 3 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 views/admin/table/index.html diff --git a/admin/handlers.go b/admin/handlers.go index 2898b64..6ef5b08 100644 --- a/admin/handlers.go +++ b/admin/handlers.go @@ -1,13 +1,37 @@ package admin import ( + "maps" + "fmt" "github.com/gofiber/fiber/v2" + "zedshaw.games/webapp/data" + "zedshaw.games/webapp/api" ) func GetPageIndex(c *fiber.Ctx) error { - return c.Render("admin/index", fiber.Map{}) + var tables []string + + for k := range maps.Keys(data.Models()) { + tables = append(tables, k) + } + + return c.Render("admin/index", fiber.Map{"Tables": tables}) +} + +func GetPageTableIndex(c *fiber.Ctx) error { + table := c.Params("table") + if table == "" { return c.Redirect("/admin/") } + + fmt.Println("table: ", table) + type_is := data.Models()[table] + + result, err := SelectTable(table, type_is, 20, 0); + if err != nil { return api.IfErrNil(err, c) } + + return c.Render("admin/table/index", fiber.Map{"Table": result}) } func Setup(app *fiber.App) { app.Get("/admin/", GetPageIndex); + app.Get("/admin/table/:table/", GetPageTableIndex); } diff --git a/views/admin/index.html b/views/admin/index.html index 5490645..55b97ce 100644 --- a/views/admin/index.html +++ b/views/admin/index.html @@ -1 +1,13 @@ -

Admin!

+ + +

Admin Tables

+ + + {{range $index, $element := .Tables}} + + {{ end }} + + +
diff --git a/views/admin/table/index.html b/views/admin/table/index.html new file mode 100644 index 0000000..71f4983 --- /dev/null +++ b/views/admin/table/index.html @@ -0,0 +1,17 @@ + + +

{{ .TableName }}

+ + + + + + {{ range $index, $row := .Table }} + + + + {{ end }} +
ID
{{ $row }}
+
+ +