diff --git a/server/server.go b/server/server.go index 9a76abd..3bbbb2e 100755 --- a/server/server.go +++ b/server/server.go @@ -13,7 +13,6 @@ import ( "net/http" "net/url" "regexp" - "slices" "strconv" "strings" "text/template" @@ -293,14 +292,28 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { func (s *Server) Home(w http.ResponseWriter, r *http.Request) { keys := s.db.Keys(nsRouting) - routePrefixes := []string{} + routePrefixes := map[string]string{} for _, key := range keys { u, _ := s.lookup(key) if u != nil && u.String() != "" { - routePrefixes = append(routePrefixes, strings.Split(key, "/")[0]) + routePrefixes[strings.Split(key, "/")[0]] = "" + } + } + priority := map[string]string{ + "wyze0": "Home Camera 0", + "wyze1": "Home Camera 1", + "wyze2": "Home Camera 2", + "wyze3": "Home Camera 3", + "whereis": "Map of Belling", + "moolah": "Money", + "autobookshelf": "Ebooks", + "jackett": "The 7 Seas", + } + for k, v := range priority { + if _, ok := routePrefixes[k]; ok { + routePrefixes[k] = v } } - slices.Sort(routePrefixes) t := strings.ReplaceAll(` @@ -309,9 +322,17 @@ func (s *Server) Home(w http.ResponseWriter, r *http.Request) { {{- $baseDomain := .baseDomain }} {{- $scheme := .scheme }} - {{- range .routePrefixes }} - {{- $url := printf "%s://%s.%s" $scheme . $baseDomain }} - {{ . }}
+ {{- range $k, $v := .routePrefixes }} + {{- $url := printf "%s://%s.%s" $scheme $k $baseDomain }} + {{ if ne $v "" }} + {{ $k }} ({{ $v }})
+ {{ end }} + {{- end }} + {{- range $k, $v := .routePrefixes }} + {{- $url := printf "%s://%s.%s" $scheme $k $baseDomain }} + {{ if eq $v "" }} + {{ $k }}
+ {{ end }} {{- end }}