diff --git a/cmd/pkgserver/api.go b/cmd/pkgserver/api.go index 914479c3..fb41f126 100644 --- a/cmd/pkgserver/api.go +++ b/cmd/pkgserver/api.go @@ -127,7 +127,7 @@ func (index *packageIndex) handleSearch(w http.ResponseWriter, r *http.Request) ) return } - search, err := url.PathUnescape(q.Get("search")) + search, err := url.QueryUnescape(q.Get("search")) if len(search) > 100 || err != nil { http.Error( w, "search must be a string between 0 and 100 characters long", @@ -141,8 +141,8 @@ func (index *packageIndex) handleSearch(w http.ResponseWriter, r *http.Request) http.Error(w, err.Error(), http.StatusInternalServerError) } writeAPIPayload(w, &struct { - Count int `json:"count"` - Results []searchResult `json:"results"` + Count int `json:"count"` + Values []searchResult `json:"values"` }{n, res}) } diff --git a/cmd/pkgserver/main.go b/cmd/pkgserver/main.go index af59ff2e..a811075d 100644 --- a/cmd/pkgserver/main.go +++ b/cmd/pkgserver/main.go @@ -10,8 +10,8 @@ import ( "syscall" "time" + "hakurei.app/check" "hakurei.app/command" - "hakurei.app/container/check" "hakurei.app/internal/pkg" "hakurei.app/internal/rosa" "hakurei.app/message" @@ -47,7 +47,7 @@ func main() { return err } - cache, err = pkg.Open(ctx, msg, 0, baseDir) + cache, err = pkg.Open(ctx, msg, 0, 0, baseDir) if err != nil { return err } diff --git a/cmd/pkgserver/search.go b/cmd/pkgserver/search.go index ba41628b..4ce1e256 100644 --- a/cmd/pkgserver/search.go +++ b/cmd/pkgserver/search.go @@ -22,9 +22,13 @@ type searchCacheEntry struct { } func (index *packageIndex) performSearchQuery(limit int, i int, search string, desc bool) (int, []searchResult, error) { - entry, ok := index.search[search] - if ok { - return len(entry.results), entry.results[i:min(i+limit, len(entry.results))], nil + query := search + if desc { + query += ";withDesc" + } + entry, ok := index.search[query] + if ok && len(entry.results) > 0 { + return len(entry.results), entry.results[min(i, len(entry.results)-1):min(i+limit, len(entry.results))], nil } regex, err := regexp.Compile(search) @@ -59,7 +63,7 @@ func (index *packageIndex) performSearchQuery(limit int, i int, search string, d results: res, expiry: expiry, } - index.search[search] = entry + index.search[query] = entry return len(res), res[i:min(i+limit, len(entry.results))], nil } diff --git a/cmd/pkgserver/ui.go b/cmd/pkgserver/ui.go index e4c42832..54ab2696 100644 --- a/cmd/pkgserver/ui.go +++ b/cmd/pkgserver/ui.go @@ -15,12 +15,7 @@ func serveWebUI(w http.ResponseWriter, r *http.Request) { func serveStaticContent(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case "/static/style.css": - darkTheme := r.CookiesNamed("dark_theme") - if len(darkTheme) > 0 && darkTheme[0].Value == "true" { - http.ServeFileFS(w, r, content, "ui/static/dark.css") - } else { - http.ServeFileFS(w, r, content, "ui/static/light.css") - } + http.ServeFileFS(w, r, content, "ui/static/style.css") case "/favicon.ico": http.ServeFileFS(w, r, content, "ui/static/favicon.ico") case "/static/index.js": diff --git a/cmd/pkgserver/ui/index.html b/cmd/pkgserver/ui/index.html index ec21a5f4..0be0ecc7 100644 --- a/cmd/pkgserver/ui/index.html +++ b/cmd/pkgserver/ui/index.html @@ -2,34 +2,56 @@
+Showing entries .
+ + + + + + + + + +Showing search results for query "".
+ + +Sorted by best match
+| Loading... |
Showing entries .
-« Previous 1 Next » - - - + + +