From f85962769a83dee79969fd4f75965fc08de80ebe Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Thu, 11 Apr 2024 00:16:03 +0200 Subject: [PATCH] Move views --- example/webui/main.go | 20 ++++++++++++++------ example/webui/{ => views}/agents.html | 20 ++++++++++---------- example/webui/{ => views}/chat.html | 4 +--- example/webui/{ => views}/create.html | 3 +-- example/webui/{ => views}/index.html | 3 +-- example/webui/{ => views}/knowledgebase.html | 3 +-- example/webui/views/partials/header.html | 9 +++++++++ go.mod | 3 +++ go.sum | 6 ++++++ 9 files changed, 46 insertions(+), 25 deletions(-) rename example/webui/{ => views}/agents.html (82%) rename example/webui/{ => views}/chat.html (95%) rename example/webui/{ => views}/create.html (98%) rename example/webui/{ => views}/index.html (85%) rename example/webui/{ => views}/knowledgebase.html (92%) create mode 100644 example/webui/views/partials/header.html diff --git a/example/webui/main.go b/example/webui/main.go index 540bbb3..efdf2aa 100644 --- a/example/webui/main.go +++ b/example/webui/main.go @@ -1,6 +1,7 @@ package main import ( + "embed" "fmt" "log" "math/rand" @@ -10,6 +11,7 @@ import ( "github.com/donseba/go-htmx" fiber "github.com/gofiber/fiber/v2" + "github.com/gofiber/template/html/v2" . "github.com/mudler/local-agent-framework/agent" "github.com/mudler/local-agent-framework/llm" @@ -46,6 +48,9 @@ func htmlIfy(s string) string { return s } +//go:embed views/* +var viewsfs embed.FS + func main() { // current dir cwd, err := os.Getwd() @@ -96,27 +101,30 @@ func main() { if err := pool.StartAll(); err != nil { panic(err) } - + engine := html.NewFileSystem(http.FS(viewsfs), ".html") // Initialize a new Fiber app - webapp := fiber.New() + // Pass the engine to the Views + webapp := fiber.New(fiber.Config{ + Views: engine, + }) // Serve static files webapp.Static("/", "./public") webapp.Get("/", func(c *fiber.Ctx) error { - return c.Render("index.html", fiber.Map{ + return c.Render("views/index", fiber.Map{ "Agents": pool.List(), }) }) webapp.Get("/agents", func(c *fiber.Ctx) error { - return c.Render("agents.html", fiber.Map{ + return c.Render("views/agents", fiber.Map{ "Agents": pool.List(), }) }) webapp.Get("/create", func(c *fiber.Ctx) error { - return c.Render("create.html", fiber.Map{ + return c.Render("views/create", fiber.Map{ "Title": "Hello, World!", "Actions": AvailableActions, "Connectors": AvailableConnectors, @@ -124,7 +132,7 @@ func main() { }) webapp.Get("/knowledgebase", func(c *fiber.Ctx) error { - return c.Render("knowledgebase.html", fiber.Map{ + return c.Render("views/knowledgebase", fiber.Map{ "Title": "Hello, World!", "KnowledgebaseItemsCount": len(db.Database), }) diff --git a/example/webui/agents.html b/example/webui/views/agents.html similarity index 82% rename from example/webui/agents.html rename to example/webui/views/agents.html index a1ee34d..c825a5c 100644 --- a/example/webui/agents.html +++ b/example/webui/views/agents.html @@ -2,19 +2,19 @@ + Agent List - - + {{template "views/partials/header"}}
-

Smart Agent List

+

Smart Agent List

-
-
-
+
+
+
@@ -39,10 +39,10 @@ {{ end }} @@ -53,8 +53,8 @@ -
- + diff --git a/example/webui/chat.html b/example/webui/views/chat.html similarity index 95% rename from example/webui/chat.html rename to example/webui/views/chat.html index b2fa760..c8ab894 100644 --- a/example/webui/chat.html +++ b/example/webui/views/chat.html @@ -1,10 +1,8 @@ - Smart Agent Interface - - + {{template "views/partials/header"}} diff --git a/example/webui/create.html b/example/webui/views/create.html similarity index 98% rename from example/webui/create.html rename to example/webui/views/create.html index a748aeb..67df528 100644 --- a/example/webui/create.html +++ b/example/webui/views/create.html @@ -1,9 +1,8 @@ - Create New Agent - + {{template "views/partials/header"}} diff --git a/example/webui/index.html b/example/webui/views/index.html similarity index 85% rename from example/webui/index.html rename to example/webui/views/index.html index c0eabd1..0a75e81 100644 --- a/example/webui/index.html +++ b/example/webui/views/index.html @@ -1,9 +1,8 @@ - Smart Assistant Dashboard - + {{template "views/partials/header"}}
diff --git a/example/webui/knowledgebase.html b/example/webui/views/knowledgebase.html similarity index 92% rename from example/webui/knowledgebase.html rename to example/webui/views/knowledgebase.html index ec8f5a8..2c4b949 100644 --- a/example/webui/knowledgebase.html +++ b/example/webui/views/knowledgebase.html @@ -1,9 +1,8 @@ - KnowledgeBase - + {{template "views/partials/header"}} diff --git a/example/webui/views/partials/header.html b/example/webui/views/partials/header.html new file mode 100644 index 0000000..31fde73 --- /dev/null +++ b/example/webui/views/partials/header.html @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/go.mod b/go.mod index 9aeb6ab..29725f6 100644 --- a/go.mod +++ b/go.mod @@ -24,6 +24,9 @@ require ( github.com/andybalholm/cascadia v1.1.0 // indirect github.com/go-logr/logr v1.3.0 // indirect github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect + github.com/gofiber/template v1.8.3 // indirect + github.com/gofiber/template/html/v2 v2.1.1 // indirect + github.com/gofiber/utils v1.1.0 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect diff --git a/go.sum b/go.sum index b1deafb..e4a0570 100644 --- a/go.sum +++ b/go.sum @@ -24,6 +24,12 @@ github.com/go-test/deep v1.0.4 h1:u2CU3YKy9I2pmu9pX0eq50wCgjfGIt539SqR7FbHiho= github.com/go-test/deep v1.0.4/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/gofiber/fiber/v2 v2.52.4 h1:P+T+4iK7VaqUsq2PALYEfBBo6bJZ4q3FP8cZ84EggTM= github.com/gofiber/fiber/v2 v2.52.4/go.mod h1:KEOE+cXMhXG0zHc9d8+E38hoX+ZN7bhOtgeF2oT6jrQ= +github.com/gofiber/template v1.8.3 h1:hzHdvMwMo/T2kouz2pPCA0zGiLCeMnoGsQZBTSYgZxc= +github.com/gofiber/template v1.8.3/go.mod h1:bs/2n0pSNPOkRa5VJ8zTIvedcI/lEYxzV3+YPXdBvq8= +github.com/gofiber/template/html/v2 v2.1.1 h1:QEy3O3EBkvwDthy5bXVGUseOyO6ldJoiDxlF4+MJiV8= +github.com/gofiber/template/html/v2 v2.1.1/go.mod h1:2G0GHHOUx70C1LDncoBpe4T6maQbNa4x1CVNFW0wju0= +github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM= +github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
{{.}} Online - Talk + Talk - Delete + Delete