package handlers import ( "net/http" "git.leonardobishop.net/stash/pkg/entries" "git.leonardobishop.net/stash/pkg/html" "git.leonardobishop.net/stash/pkg/kinds" ) const style = `` func GetEntriesHtml(entriesService entries.Service, kindsService kinds.Service, htmlService html.Service) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var entries []entries.EntryRow kinds, err := kindsService.GetKinds() kind := r.URL.Query().Get("kind") if kind != "" { entries, err = entriesService.GetEntriesByKind(kind) } else { entries, err = entriesService.GetEntries() } if err != nil { w.WriteHeader(http.StatusInternalServerError) return } var html string page, err := htmlService.GenerateHtml(entries) if err != nil { w.WriteHeader(http.StatusInternalServerError) return } if r.URL.Query().Get("css") == "no" { html = page goto send } html = ` Stash ` + style + ` ` // gross html += "

Show: " if kind == "" { html += `` } html += `all ` if kind == "" { html += `` } for _, k := range kinds { if kind == k.Name { html += `` } html += `` + k.Emoji + " " + k.Name + " " if kind == k.Name { html += `` } } html += "

" + page + "" send: w.Header().Set("Content-Type", "text/html;charset=UTF-8") w.Write([]byte(html)) } }