Improved groups

This commit is contained in:
Eduard Urbach 2017-10-18 18:18:15 +02:00
parent 217e35f752
commit 6a92dc23bb
8 changed files with 62 additions and 17 deletions

View File

@ -12,11 +12,17 @@ func main() {
ticker := time.NewTicker(500 * time.Millisecond)
for user := range arn.MustStreamUsers() {
allUsers, _ := arn.AllUsers()
for _, user := range allUsers {
// Get osu info
if user.RefreshOsuInfo() == nil {
arn.PrettyPrint(user.Accounts.Osu)
user.Save()
// Fetch user again to prevent writing old data
updatedUser, _ := arn.GetUser(user.ID)
updatedUser.Accounts.Osu = user.Accounts.Osu
updatedUser.Save()
}
// Wait for rate limiter

View File

@ -27,7 +27,7 @@ component SoundTrackFooter(track *arn.SoundTrack)
span posted
span.utc-date(data-date=track.Created)
span by
a.ajax(href=track.CreatedByUser().Link())= track.CreatedByUser().Nick + " "
a.ajax(href=track.Creator().Link())= track.Creator().Nick + " "
component ExternalMedia(media *arn.ExternalMedia)
iframe.lazy(data-src=media.EmbedLink(), allowfullscreen="allowfullscreen")

View File

@ -2,6 +2,7 @@ package groups
import (
"net/http"
"sort"
"github.com/aerogo/aero"
"github.com/animenotifier/arn"
@ -9,6 +10,8 @@ import (
"github.com/animenotifier/notify.moe/utils"
)
const groupsPerPage = 12
// Get ...
func Get(ctx *aero.Context) string {
user := utils.GetUser(ctx)
@ -17,9 +20,21 @@ func Get(ctx *aero.Context) string {
return !group.IsDraft
})
sort.Slice(groups, func(i, j int) bool {
if len(groups[i].Members) == len(groups[j].Members) {
return groups[i].Created > groups[j].Created
}
return len(groups[i].Members) > len(groups[j].Members)
})
if len(groups) > groupsPerPage {
groups = groups[:groupsPerPage]
}
if err != nil {
return ctx.Error(http.StatusInternalServerError, "Error fetching groups", err)
}
return ctx.HTML(components.Groups(groups, user))
return ctx.HTML(components.Groups(groups, groupsPerPage, user))
}

View File

@ -1,4 +1,4 @@
component Groups(groups []*arn.Group, user *arn.User)
component Groups(groups []*arn.Group, groupsPerPage int, user *arn.User)
.tabs
Tab("Groups", "users", "/groups")
@ -15,11 +15,17 @@ component Groups(groups []*arn.Group, user *arn.User)
Icon("pencil")
span Edit draft
.groups
#load-more-target.groups
each group in groups
.group
h3.group-name= group.Name
.group-tagline= group.Tagline
.group-member-count
Icon("user")
span= len(group.Members)
a.group.mountable.ajax(href=group.Link())
img.group-image.lazy(data-src=group.ImageURL(), alt=group.Name)
.group-info
h3.group-name= group.Name
.group-tagline= group.Tagline
.group-member-count
Icon("user")
span= len(group.Members)
if len(groups) == groupsPerPage
.buttons
LoadMore(groupsPerPage)

View File

@ -1,15 +1,32 @@
group-padding-y = 0.75rem
group-padding-x = 0.75rem
.groups
horizontal-wrap
justify-content space-around
.group
vertical
horizontal
ui-element
position relative
width 100%
max-width 500px
padding 0.5rem 1rem
max-width 520px
padding group-padding-y group-padding-x
margin calc(content-padding / 2)
color text-color
:hover
color white
background-color rgb(60, 60, 60)
.group-image
width 70px
height 70px
margin-right 1rem
border-radius ui-element-border-radius
.group-info
vertical
.group-name
horizontal

View File

@ -38,7 +38,7 @@ component Track(track *arn.SoundTrack)
span Posted
span.utc-date(data-date=track.Created)
span by
span= track.CreatedByUser().Nick
span= track.Creator().Nick
span .

View File

@ -17,6 +17,7 @@ ui-background = rgb(254, 254, 254)
// ui-background = linear-gradient(to bottom, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.037) 100%)
// ui-hover-background = linear-gradient(to bottom, rgba(0, 0, 0, 0.01) 0%, rgba(0, 0, 0, 0.027) 100%)
ui-disabled-color = rgb(224, 224, 224)
ui-element-border-radius = 3px
// Input
input-focus-border-color = rgb(248, 165, 130)

View File

@ -26,7 +26,7 @@ mixin noise-strong
mixin ui-element
border 1px solid ui-border-color
background ui-background
border-radius 3px
border-radius ui-element-border-radius
default-transition
:hover
border-color ui-hover-border-color