From 775edabdf8b1c5f53fc7c86458d2e7c2430306eb Mon Sep 17 00:00:00 2001 From: the-m-monk Date: Mon, 29 Dec 2025 22:18:30 +1000 Subject: [PATCH] Add .html suffix to html pages, updated webui.go to search for them correctly --- internal/httpserver/webui.go | 23 +++++++++++++++++++-- web/js/lib/search_params.js | 1 + web/js/pages/library_viewer.js | 3 ++- web/{libraries => libraries.html} | 0 web/{library_viewer => library_viewer.html} | 0 web/{login => login.html} | 0 6 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 web/js/lib/search_params.js rename web/{libraries => libraries.html} (100%) rename web/{library_viewer => library_viewer.html} (100%) rename web/{login => login.html} (100%) diff --git a/internal/httpserver/webui.go b/internal/httpserver/webui.go index 88a596e..735ff06 100644 --- a/internal/httpserver/webui.go +++ b/internal/httpserver/webui.go @@ -2,6 +2,7 @@ package httpserver import ( "net/http" + "path/filepath" ) func RegisterWebui() { @@ -13,6 +14,24 @@ func RegisterWebui() { http.NotFound(w, r) }) - fs := http.FileServer(http.Dir("web")) - http.Handle("/web/", http.StripPrefix("/web/", fs)) + fs := http.Dir("web") + + http.Handle("/web/", http.StripPrefix("/web/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + path := r.URL.Path + f, err := fs.Open(path) + if err != nil { + //file doesn't exist, try adding .html, probably a bad idea + htmlPath := path + ".html" + f, err = fs.Open(htmlPath) + if err != nil { + http.NotFound(w, r) + return + } + defer f.Close() + http.ServeFile(w, r, filepath.Join("web", htmlPath)) + return + } + defer f.Close() + http.ServeFile(w, r, filepath.Join("web", path)) + }))) } diff --git a/web/js/lib/search_params.js b/web/js/lib/search_params.js new file mode 100644 index 0000000..228c1ed --- /dev/null +++ b/web/js/lib/search_params.js @@ -0,0 +1 @@ +export const url_params = new URLSearchParams(window.location.search) diff --git a/web/js/pages/library_viewer.js b/web/js/pages/library_viewer.js index d71dc9c..b7f7a57 100644 --- a/web/js/pages/library_viewer.js +++ b/web/js/pages/library_viewer.js @@ -1,3 +1,4 @@ import * as lib from '/web/js/api/libraries.js'; +import { url_params } from '/web/js/lib/search_params.js' -console.log(await lib.ls("lib1", "/")) \ No newline at end of file +console.log(await lib.ls(url_params.get("lib"), url_params.get("path"))) \ No newline at end of file diff --git a/web/libraries b/web/libraries.html similarity index 100% rename from web/libraries rename to web/libraries.html diff --git a/web/library_viewer b/web/library_viewer.html similarity index 100% rename from web/library_viewer rename to web/library_viewer.html diff --git a/web/login b/web/login.html similarity index 100% rename from web/login rename to web/login.html