mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[frontend] Profile pages upgrade (#640)
* fix css indentation * profile styling update * update status styling to match profile * empty header fix * generate random avatars for thread views * appease the linter gods * upgrade deps * turn profile accent into border + $bg background * upgrade deps * small accessibility tweaks Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
This commit is contained in:
@@ -23,6 +23,7 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
@@ -35,6 +36,21 @@ import (
|
||||
"github.com/superseriousbusiness/gotosocial/internal/oauth"
|
||||
)
|
||||
|
||||
var randAvatars = make(map[string]string)
|
||||
|
||||
func (m *Module) ensureAvatar(status apimodel.Status) {
|
||||
if status.Account.Avatar == "" && len(m.defaultAvatars) > 0 {
|
||||
avatar, ok := randAvatars[status.Account.ID]
|
||||
if !ok {
|
||||
//nolint:gosec
|
||||
randomIndex := rand.Intn(len(m.defaultAvatars))
|
||||
avatar = m.defaultAvatars[randomIndex]
|
||||
randAvatars[status.Account.ID] = avatar
|
||||
}
|
||||
status.Account.Avatar = avatar
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Module) threadGETHandler(c *gin.Context) {
|
||||
ctx := c.Request.Context()
|
||||
|
||||
@@ -104,6 +120,16 @@ func (m *Module) threadGETHandler(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
m.ensureAvatar(*status)
|
||||
|
||||
for _, status := range context.Descendants {
|
||||
m.ensureAvatar(status)
|
||||
}
|
||||
|
||||
for _, status := range context.Ancestors {
|
||||
m.ensureAvatar(status)
|
||||
}
|
||||
|
||||
c.HTML(http.StatusOK, "thread.tmpl", gin.H{
|
||||
"instance": instance,
|
||||
"status": status,
|
||||
|
Reference in New Issue
Block a user