From d736505dd1a5d6ff92861a31ce263e1ddc168b9c Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Wed, 14 Mar 2018 16:33:42 +0100 Subject: [PATCH] Minor fixes --- pages/profile/profile.go | 2 +- pages/profile/tracks.go | 18 ++++++++++++++++-- pages/profile/tracks.pixy | 5 ++++- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/pages/profile/profile.go b/pages/profile/profile.go index 9dd40705..73304850 100644 --- a/pages/profile/profile.go +++ b/pages/profile/profile.go @@ -8,7 +8,7 @@ import ( ) const maxPosts = 5 -const maxTracks = 3 +const maxTracks = 12 // Get user profile page. func Get(ctx *aero.Context) string { diff --git a/pages/profile/tracks.go b/pages/profile/tracks.go index d27ee5d7..b7384cc6 100644 --- a/pages/profile/tracks.go +++ b/pages/profile/tracks.go @@ -23,7 +23,7 @@ func GetSoundTracksByUser(ctx *aero.Context) string { index, _ := ctx.GetInt("index") // Fetch all eligible tracks - allTracks := fetchAllByUser(viewUser.ID) + allTracks := fetchAllTracksByUser(viewUser.ID) // Sort the tracks by publication date arn.SortSoundTracksLatestFirst(allTracks) @@ -61,7 +61,7 @@ func GetSoundTracksLikedByUser(ctx *aero.Context) string { index, _ := ctx.GetInt("index") // Fetch all eligible tracks - allTracks := fetchAllLikedByUser(viewUser.ID) + allTracks := fetchAllTracksLikedByUser(viewUser.ID) // Sort the tracks by publication date arn.SortSoundTracksLatestFirst(allTracks) @@ -84,3 +84,17 @@ func GetSoundTracksLikedByUser(ctx *aero.Context) string { // Otherwise, send the full page return ctx.HTML(components.TrackList(tracks, viewUser, nextIndex, user, ctx.URI())) } + +// fetchAllTracksByUser returns all soundtracks that the user with userID published +func fetchAllTracksByUser(userID string) []*arn.SoundTrack { + return arn.FilterSoundTracks(func(track *arn.SoundTrack) bool { + return !track.IsDraft && len(track.Media) > 0 && track.CreatedBy == userID + }) +} + +// fetchAllTracksLikedByUser returns all soundtracks that the user with userID liked +func fetchAllTracksLikedByUser(userID string) []*arn.SoundTrack { + return arn.FilterSoundTracks(func(track *arn.SoundTrack) bool { + return !track.IsDraft && len(track.Media) > 0 && track.LikedBy(userID) + }) +} diff --git a/pages/profile/tracks.pixy b/pages/profile/tracks.pixy index 5ce54191..56055eaf 100644 --- a/pages/profile/tracks.pixy +++ b/pages/profile/tracks.pixy @@ -7,7 +7,10 @@ component TrackList(tracks []*arn.SoundTrack, viewUser *arn.User, nextIndex int, h1.page-title= "Tracks liked by " + viewUser.Nick if len(tracks) == 0 - p.no-data.mountable= viewUser.Nick + " hasn't added any tracks yet." + if strings.Contains(uri, "/added") + p.no-data.mountable= viewUser.Nick + " hasn't added any tracks yet." + else + p.no-data.mountable= viewUser.Nick + " hasn't liked any tracks yet." else #load-more-target.soundtracks SoundTracksScrollable(tracks, user)