aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorFelix Hanley <felix@userspace.com.au>2020-03-28 11:36:56 +0000
committerFelix Hanley <felix@userspace.com.au>2020-03-28 11:36:56 +0000
commite663818e06281bbc378f0010d37e42cb676df1cb (patch)
tree27d56e210101502efd5c91877c2e0649b34703b4 /cmd
parent8574e44710a400fb9d3e204173ae246a0da12bb3 (diff)
downloadsws-e663818e06281bbc378f0010d37e42cb676df1cb.tar.gz
sws-e663818e06281bbc378f0010d37e42cb676df1cb.tar.bz2
Add filter tags and remove sidemenu
Diffstat (limited to 'cmd')
-rw-r--r--cmd/server/handlers.go15
-rw-r--r--cmd/server/site.go6
2 files changed, 20 insertions, 1 deletions
diff --git a/cmd/server/handlers.go b/cmd/server/handlers.go
index 00de42b..5479a18 100644
--- a/cmd/server/handlers.go
+++ b/cmd/server/handlers.go
@@ -32,10 +32,23 @@ type templateData struct {
func (td templateData) QuerySetEncode(k, v string) template.URL {
qs, _ := url.ParseQuery(td.Query.Encode())
- qs.Set(k, v)
+ if v == "" {
+ qs.Del(k)
+ } else {
+ qs.Set(k, v)
+ }
return template.URL(qs.Encode())
}
+func (td templateData) QuerySetContains(s string) bool {
+ for k, _ := range td.Query {
+ if k == s {
+ return true
+ }
+ }
+ return false
+}
+
func newTemplateData(r *http.Request) *templateData {
out := &templateData{
Domain: domain,
diff --git a/cmd/server/site.go b/cmd/server/site.go
index 36f890f..c8b0d08 100644
--- a/cmd/server/site.go
+++ b/cmd/server/site.go
@@ -53,6 +53,12 @@ func handleSite(db sws.SiteStore, rndr Renderer) http.HandlerFunc {
payload.PageSet = ps
}
}
+ if _, ok := filter["referrer"]; !ok {
+ if rs := sws.NewReferrerSet(hitSet); rs != nil {
+ rs.SortByName()
+ payload.ReferrerSet = rs
+ }
+ }
if _, ok := filter["country"]; !ok {
if cs := sws.NewCountrySet(hitSet); cs != nil {
cs.SortByHits()