option to mention all in replies
This commit is contained in:
parent
4b89e0a43a
commit
aea6401d75
|
@ -2,6 +2,8 @@ changelog
|
||||||
|
|
||||||
=== next
|
=== next
|
||||||
|
|
||||||
|
+ Option to mention all in replies.
|
||||||
|
|
||||||
+ Reduce interference between various text substitution rules.
|
+ Reduce interference between various text substitution rules.
|
||||||
|
|
||||||
+ Fix crash in search with extra space.
|
+ Fix crash in search with extra space.
|
||||||
|
|
20
fun.go
20
fun.go
|
@ -52,6 +52,8 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func reverbolate(userid int64, honks []*Honk) {
|
func reverbolate(userid int64, honks []*Honk) {
|
||||||
|
var user *WhatAbout
|
||||||
|
somenumberedusers.Get(userid, &user)
|
||||||
for _, h := range honks {
|
for _, h := range honks {
|
||||||
h.What += "ed"
|
h.What += "ed"
|
||||||
if h.What == "tonked" {
|
if h.What == "tonked" {
|
||||||
|
@ -81,6 +83,22 @@ func reverbolate(userid int64, honks []*Honk) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if user.Options.MentionAll {
|
||||||
|
hset := []string{"@" + h.Handle}
|
||||||
|
for _, a := range h.Audience {
|
||||||
|
if a == h.Honker {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
_, hand := handles(a)
|
||||||
|
if hand != "" {
|
||||||
|
hand = "@" + hand
|
||||||
|
hset = append(hset, hand)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
h.Handles = strings.Join(hset, " ")
|
||||||
|
} else {
|
||||||
|
h.Handles = "@" + h.Handle
|
||||||
|
}
|
||||||
if h.URL == "" {
|
if h.URL == "" {
|
||||||
h.URL = h.XID
|
h.URL = h.XID
|
||||||
}
|
}
|
||||||
|
@ -527,7 +545,7 @@ var allhandles = cache.New(cache.Options{Filler: func(xid string) (string, bool)
|
||||||
|
|
||||||
// handle, handle@host
|
// handle, handle@host
|
||||||
func handles(xid string) (string, string) {
|
func handles(xid string) (string, string) {
|
||||||
if xid == "" {
|
if xid == "" || xid == thewholeworld || strings.HasSuffix(xid, "/followers") {
|
||||||
return "", ""
|
return "", ""
|
||||||
}
|
}
|
||||||
var handle string
|
var handle string
|
||||||
|
|
2
honk.go
2
honk.go
|
@ -52,6 +52,7 @@ type UserOptions struct {
|
||||||
Avatar string `json:",omitempty"`
|
Avatar string `json:",omitempty"`
|
||||||
MapLink string `json:",omitempty"`
|
MapLink string `json:",omitempty"`
|
||||||
Reaction string `json:",omitempty"`
|
Reaction string `json:",omitempty"`
|
||||||
|
MentionAll bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type KeyInfo struct {
|
type KeyInfo struct {
|
||||||
|
@ -68,6 +69,7 @@ type Honk struct {
|
||||||
What string
|
What string
|
||||||
Honker string
|
Honker string
|
||||||
Handle string
|
Handle string
|
||||||
|
Handles string
|
||||||
Oonker string
|
Oonker string
|
||||||
Oondle string
|
Oondle string
|
||||||
XID string
|
XID string
|
||||||
|
|
|
@ -12,6 +12,9 @@
|
||||||
<input tabindex=1 type="checkbox" id="skinny" name="skinny" value="skinny" {{ if .User.Options.SkinnyCSS }}checked{{ end }}><span></span>
|
<input tabindex=1 type="checkbox" id="skinny" name="skinny" value="skinny" {{ if .User.Options.SkinnyCSS }}checked{{ end }}><span></span>
|
||||||
<p><label class="button" for="omitimages">omit images:</label>
|
<p><label class="button" for="omitimages">omit images:</label>
|
||||||
<input tabindex=1 type="checkbox" id="omitimages" name="omitimages" value="omitimages" {{ if .User.Options.OmitImages }}checked{{ end }}><span></span>
|
<input tabindex=1 type="checkbox" id="omitimages" name="omitimages" value="omitimages" {{ if .User.Options.OmitImages }}checked{{ end }}><span></span>
|
||||||
|
<p><label class="button" for="mentionall">mention all:</label>
|
||||||
|
<input tabindex=1 type="checkbox" id="mentionall" name="mentionall" value="mentionall" {{ if .User.Options.MentionAll }}checked{{ end }}><span></span>
|
||||||
|
|
||||||
<p><label class="button" for="maps">apple map links:</label>
|
<p><label class="button" for="maps">apple map links:</label>
|
||||||
<input tabindex=1 type="checkbox" id="maps" name="maps" value="apple" {{ if eq "apple" .User.Options.MapLink }}checked{{ end }}><span></span>
|
<input tabindex=1 type="checkbox" id="maps" name="maps" value="apple" {{ if eq "apple" .User.Options.MapLink }}checked{{ end }}><span></span>
|
||||||
<p><label class="button" for="reaction">reaction:</label>
|
<p><label class="button" for="reaction">reaction:</label>
|
||||||
|
|
|
@ -106,7 +106,7 @@ in reply to: <a href="{{ .RID }}" rel=noreferrer>{{ .RID }}</a>
|
||||||
{{ else }}
|
{{ else }}
|
||||||
<button disabled>nope</button>
|
<button disabled>nope</button>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<button onclick="return showhonkform(this, '{{ .Honk.XID }}', '{{ .Honk.Handle }}');"><a href="/newhonk?rid={{ .Honk.XID }}">honk back</a></button>
|
<button onclick="return showhonkform(this, '{{ .Honk.XID }}', '{{ .Honk.Handles }}');"><a href="/newhonk?rid={{ .Honk.XID }}">honk back</a></button>
|
||||||
<button onclick="return muteit(this, '{{ .Honk.Convoy }}');">mute</button>
|
<button onclick="return muteit(this, '{{ .Honk.Convoy }}');">mute</button>
|
||||||
<button onclick="return showelement('evenmore{{ .Honk.ID }}')">even more</button>
|
<button onclick="return showelement('evenmore{{ .Honk.ID }}')">even more</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -261,7 +261,7 @@ function showhonkform(elem, rid, hname) {
|
||||||
var ridinput = document.getElementById("ridinput")
|
var ridinput = document.getElementById("ridinput")
|
||||||
if (rid) {
|
if (rid) {
|
||||||
ridinput.value = rid
|
ridinput.value = rid
|
||||||
honknoise.value = "@" + hname + " "
|
honknoise.value = hname + " "
|
||||||
} else {
|
} else {
|
||||||
ridinput.value = ""
|
ridinput.value = ""
|
||||||
honknoise.value = ""
|
honknoise.value = ""
|
||||||
|
|
5
web.go
5
web.go
|
@ -1133,6 +1133,11 @@ func saveuser(w http.ResponseWriter, r *http.Request) {
|
||||||
} else {
|
} else {
|
||||||
options.OmitImages = false
|
options.OmitImages = false
|
||||||
}
|
}
|
||||||
|
if r.FormValue("mentionall") == "mentionall" {
|
||||||
|
options.MentionAll = true
|
||||||
|
} else {
|
||||||
|
options.MentionAll = false
|
||||||
|
}
|
||||||
if r.FormValue("maps") == "apple" {
|
if r.FormValue("maps") == "apple" {
|
||||||
options.MapLink = "apple"
|
options.MapLink = "apple"
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue