Show status numbers

This commit is contained in:
r 2020-06-05 06:27:59 +00:00
parent b5ca78a2e6
commit eb3bc15da9
4 changed files with 15 additions and 10 deletions

View file

@ -52,8 +52,8 @@ type Status struct {
// Custom fields
Pleroma StatusPleroma `json:"pleroma"`
ShowReplies bool `json:"show_replies"`
ReplyMap map[string][]ReplyInfo `json:"reply_map"`
ReplyNumber int `json:"reply_number"`
IDReplies map[string][]ReplyInfo `json:"id_replies"`
IDNumbers map[string]int `json:"id_numbers"`
RetweetedByID string `json:"retweeted_by_id"`
}

View file

@ -342,12 +342,16 @@ func (svc *service) ServeThreadPage(c *model.Client, id string, reply bool) (err
statuses := append(append(context.Ancestors, status), context.Descendants...)
replies := make(map[string][]mastodon.ReplyInfo)
idNumbers := make(map[string]int)
for i := range statuses {
statuses[i].ShowReplies = true
statuses[i].ReplyMap = replies
statuses[i].ReplyNumber = i
addToReplyMap(replies, statuses[i].InReplyToID, statuses[i].ID, i+1)
statuses[i].IDNumbers = idNumbers
idNumbers[statuses[i].ID] = i + 1
statuses[i].IDReplies = replies
addToReplyMap(replies, statuses[i].InReplyToID, statuses[i].ID, i + 1)
}
commonData := svc.getCommonData(c, "post by "+status.Account.DisplayName)

View file

@ -438,6 +438,7 @@ img.emoji {
background-color: #ffffff;
padding: 2px 4px;
border: 1px solid #aaaaaa;
right: 0;
}
.more-container:hover .more-content {

View file

@ -26,7 +26,7 @@
</a>
<div class="more-container">
<div class="remote-link">
{{.Visibility}}
{{if .IDNumbers}}#{{index .IDNumbers .ID}}{{end}} {{.Visibility}}
</div>
<div class="more-content">
<a class="more-link" href="{{.URL}}" target="_blank">
@ -56,14 +56,14 @@
{{if .InReplyToID}}
<div class="status-reply-to">
<a class="status-reply-to-link" href="{{if not .ShowReplies}}/thread/{{.InReplyToID}}{{end}}#status-{{.InReplyToID}}">
in reply to {{if .Pleroma.InReplyToAccountAcct}}{{.Pleroma.InReplyToAccountAcct}}{{else if .ReplyNumber}}#{{.ReplyNumber}}{{else}}{{.InReplyToID}}{{end}}
in reply to {{if .IDNumbers}}#{{index .IDNumbers .InReplyToID}}{{end}} {{if .Pleroma.InReplyToAccountAcct}}{{.Pleroma.InReplyToAccountAcct}}{{else if not .IDNumbers}}{{.InReplyToID}}{{end}}
</a>
</div>
{{if index .ReplyMap .ID}} <span class="status-reply-info-divider"> - </span> {{end}}
{{if index .IDReplies .ID}} <span class="status-reply-info-divider"> - </span> {{end}}
{{end}}
{{if .ShowReplies}}
{{if index .ReplyMap .ID}} <span class="status-reply-text"> replies: </span> {{end}}
{{range index .ReplyMap .ID}}
{{if index .IDReplies .ID}} <span class="status-reply-text"> replies: </span> {{end}}
{{range index .IDReplies .ID}}
<div class="status-reply">
<a class="status-reply-link" href="#status-{{.ID}}">#{{.Number}}</a>
</div>