From c653538b31948243fb1e3fef5104d97f63b43084 Mon Sep 17 00:00:00 2001 From: 2mal3 <56305732+2mal3@users.noreply.github.com> Date: Sat, 15 Nov 2025 11:16:22 +0100 Subject: [PATCH] chore(display): directly bundle htmx for more independence and offline support --- display/web/embed.go | 12 ++++++++++++ display/web/main.go | 6 ++++++ display/web/main.templ | 4 ++-- display/web/static/htmx-ext-sse.min.js | 1 + display/web/static/htmx.min.js | 1 + 5 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 display/web/embed.go create mode 100644 display/web/static/htmx-ext-sse.min.js create mode 100644 display/web/static/htmx.min.js diff --git a/display/web/embed.go b/display/web/embed.go new file mode 100644 index 0000000..2a15322 --- /dev/null +++ b/display/web/embed.go @@ -0,0 +1,12 @@ +package web + +import ( + "embed" + "io/fs" +) + +//go:embed all:static +var staticDir embed.FS + +// BuildDirFS contains the embedded dist directory files (without the "build" prefix) +var StaticDirFS, _ = fs.Sub(staticDir, "static") diff --git a/display/web/main.go b/display/web/main.go index b85a06b..02f88db 100644 --- a/display/web/main.go +++ b/display/web/main.go @@ -48,6 +48,12 @@ func StartWebServer(v string, port string) { return ctx.HTML(http.StatusOK, shared.SplashScreenTemplate) }) + staticGroup := e.Group("/static") + staticGroup.Use(middleware.StaticWithConfig(middleware.StaticConfig{ + Filesystem: http.FS(StaticDirFS), + HTML5: true, + })) + apiGroup := e.Group("/api") apiGroup.Use(middleware.CORS()) apiGroup.GET("/ping", pingRoute) diff --git a/display/web/main.templ b/display/web/main.templ index 9e82e3e..1885c95 100644 --- a/display/web/main.templ +++ b/display/web/main.templ @@ -7,8 +7,8 @@ templ indexTemplate() {