diff --git a/go.mod b/go.mod index 508d0be..8eb42a7 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,7 @@ module bloat require ( + github.com/enescakir/emoji v1.0.0 // indirect github.com/gorilla/mux v1.7.3 github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 ) diff --git a/go.sum b/go.sum index 3942d07..d6c8a57 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +github.com/enescakir/emoji v1.0.0 h1:W+HsNql8swfCQFtioDGDHCHri8nudlK1n5p2rHCJoog= +github.com/enescakir/emoji v1.0.0/go.mod h1:Bt1EKuLnKDTYpLALApstIkAjdDrS/8IAgTkKp+WKFD0= github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 h1:nrZ3ySNYwJbSpD6ce9duiP+QkD3JuLCcWkdaehUS/3Y= diff --git a/model/settings.go b/model/settings.go index 1f83c75..d515ef1 100644 --- a/model/settings.go +++ b/model/settings.go @@ -12,6 +12,7 @@ type Settings struct { DarkMode bool `json:"dark_mode"` AntiDopamineMode bool `json:"anti_dopamine_mode"` HideUnsupportedNotifs bool `json:"hide_unsupported_notifs"` + AddReactionsFilter string `json:"add_reactions_filter"` CSS string `json:"css"` } @@ -28,6 +29,7 @@ func NewSettings() *Settings { DarkMode: false, AntiDopamineMode: false, HideUnsupportedNotifs: false, + AddReactionsFilter: "", CSS: "", } } diff --git a/renderer/model.go b/renderer/model.go index f2ca3b7..688319b 100644 --- a/renderer/model.go +++ b/renderer/model.go @@ -14,6 +14,7 @@ type Context struct { CSRFToken string UserID string AntiDopamineMode bool + AddReactionsFilter string UserCSS string Referrer string } diff --git a/renderer/renderer.go b/renderer/renderer.go index 6b3901b..a4b69f8 100644 --- a/renderer/renderer.go +++ b/renderer/renderer.go @@ -43,8 +43,9 @@ type TemplateData struct { } -func allowed_emoji_page(emoj string, codes ...string) bool { - for _, code := range codes { +func allowed_emoji_page(emoj string, codes string) bool { + s := strings.Split(codes, " ") + for _, code := range s { if strings.Contains(emoj, code) { return true } diff --git a/service/service.go b/service/service.go index 6186dca..09bdc1a 100644 --- a/service/service.go +++ b/service/service.go @@ -66,6 +66,7 @@ func (s *service) authenticate(c *client, sid string, csrf string, ref string, t UserID: c.s.UserID, AntiDopamineMode: sett.AntiDopamineMode, UserCSS: sett.CSS, + AddReactionsFilter: sett.AddReactionsFilter, Referrer: ref, } }() diff --git a/service/transport.go b/service/transport.go index 1b0a34a..3741587 100644 --- a/service/transport.go +++ b/service/transport.go @@ -519,6 +519,7 @@ func NewHandler(s *service, logger *log.Logger, staticDir string) http.Handler { darkMode := c.r.FormValue("dark_mode") == "true" antiDopamineMode := c.r.FormValue("anti_dopamine_mode") == "true" hideUnsupportedNotifs := c.r.FormValue("hide_unsupported_notifs") == "true" + addReactionsFilter := c.r.FormValue("pleroma-reactions-filter") css := c.r.FormValue("css") settings := &model.Settings{ @@ -533,6 +534,7 @@ func NewHandler(s *service, logger *log.Logger, staticDir string) http.Handler { DarkMode: darkMode, AntiDopamineMode: antiDopamineMode, HideUnsupportedNotifs: hideUnsupportedNotifs, + AddReactionsFilter: addReactionsFilter, CSS: css, } diff --git a/templates/emoji.tmpl b/templates/emoji.tmpl index 3f38557..a5e953a 100644 --- a/templates/emoji.tmpl +++ b/templates/emoji.tmpl @@ -4,7 +4,7 @@
{{range .Emojis}} - {{if Allowed_emoji_page .ShortCode "blobfox" "senko" "shiro" "cirno" "pleroma" "udongein"}} + {{if Allowed_emoji_page .ShortCode "blobfox senko shiro cirno pleroma udongein"}}
{{.ShortCode}} diff --git a/templates/reactionspage.tmpl b/templates/reactionspage.tmpl index 7d8ce51..7f70c4e 100644 --- a/templates/reactionspage.tmpl +++ b/templates/reactionspage.tmpl @@ -1,18 +1,24 @@ {{with .Data}} {{template "header.tmpl" (WithContext .CommonData $.Ctx)}} +
Reactions
{{$st_id := .ID}} -
-
+
Add reaction
+
+
+{{$emoji_filter := $.Ctx.AddReactionsFilter}} {{range $shortcode, $code := .ReactionEmojis}} + {{if Allowed_emoji_page $shortcode $emoji_filter}}
{{end}} + {{end}}
+
Who reacted
{{range .Reactions}}
{{.Name}}
{{template "userlist.tmpl" (WithContext .Accounts $.Ctx)}} diff --git a/templates/settings.tmpl b/templates/settings.tmpl index ebb0458..bb9785e 100644 --- a/templates/settings.tmpl +++ b/templates/settings.tmpl @@ -70,6 +70,12 @@
+
+ +
+
+ +
diff --git a/vendor/modules.txt b/vendor/modules.txt index bad11a0..ef38b76 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,3 +1,5 @@ +# github.com/enescakir/emoji v1.0.0 +github.com/enescakir/emoji # github.com/gorilla/mux v1.7.3 github.com/gorilla/mux # github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80