Improved AMV UI

This commit is contained in:
2018-04-15 10:36:51 +02:00
parent 1ecc3e3fa4
commit b6321de60b
13 changed files with 190 additions and 67 deletions

View File

@ -1,17 +0,0 @@
.amvs
vertical
margin-top 1rem
.amv
width 100%
margin calc(content-padding / 2)
box-shadow shadow-medium
> 500px
.amvs
horizontal-wrap
justify-content flex-start
margin-top 0
.amv
max-width 380px

View File

@ -67,7 +67,24 @@ func Get(ctx *aero.Context) string {
})
sort.Slice(tracks, func(i, j int) bool {
return tracks[i].Title.ByUser(user) < tracks[j].Title.ByUser(user)
if len(tracks[i].Likes) == len(tracks[j].Likes) {
return tracks[i].Title.ByUser(user) < tracks[j].Title.ByUser(user)
}
return len(tracks[i].Likes) > len(tracks[j].Likes)
})
// AMVs
amvs := arn.FilterAMVs(func(track *arn.AMV) bool {
return !track.IsDraft && track.MainAnimeID == anime.ID
})
sort.Slice(amvs, func(i, j int) bool {
if len(amvs[i].Likes) == len(amvs[j].Likes) {
return amvs[i].Title.ByUser(user) < amvs[j].Title.ByUser(user)
}
return len(amvs[i].Likes) > len(amvs[j].Likes)
})
// Anime list item
@ -107,5 +124,5 @@ func Get(ctx *aero.Context) string {
ctx.Data = openGraph
return ctx.HTML(components.Anime(anime, animeListItem, tracks, episodes, friends, friendsAnimeListItems, user))
return ctx.HTML(components.Anime(anime, animeListItem, tracks, amvs, episodes, friends, friendsAnimeListItems, user))
}

View File

@ -1,11 +1,11 @@
component Anime(anime *arn.Anime, listItem *arn.AnimeListItem, tracks []*arn.SoundTrack, episodes []*arn.AnimeEpisode, friends []*arn.User, listItems map[*arn.User]*arn.AnimeListItem, user *arn.User)
component Anime(anime *arn.Anime, listItem *arn.AnimeListItem, tracks []*arn.SoundTrack, amvs []*arn.AMV, episodes []*arn.AnimeEpisode, friends []*arn.User, listItems map[*arn.User]*arn.AnimeListItem, user *arn.User)
.anime
.anime-main-column
AnimeMainColumn(anime, listItem, tracks, episodes, user)
AnimeMainColumn(anime, listItem, tracks, amvs, episodes, user)
.anime-side-column
AnimeSideColumn(anime, friends, listItems, user)
component AnimeMainColumn(anime *arn.Anime, listItem *arn.AnimeListItem, tracks []*arn.SoundTrack, episodes []*arn.AnimeEpisode, user *arn.User)
component AnimeMainColumn(anime *arn.Anime, listItem *arn.AnimeListItem, tracks []*arn.SoundTrack, amvs []*arn.AMV, episodes []*arn.AnimeEpisode, user *arn.User)
.anime-header(data-id=anime.ID)
a.anime-image-container.mountable(href=anime.ImageLink("original"), target="_blank")
img.anime-cover-image.lazy(data-src=anime.ImageLink("large"), data-webp="true", data-color=anime.AverageColor(), alt=anime.Title.ByUser(user))
@ -28,29 +28,18 @@ component AnimeMainColumn(anime *arn.Anime, listItem *arn.AnimeListItem, tracks
AnimeCharacters(anime, user, false)
AnimeRelations(anime, user, false)
AnimeTracks(anime, tracks, user, false)
if anime.ID == "LbbCcKiig"
section.anime-section.mountable
h3.anime-section-name AMVs
.amvs
.amv.mountable
.video-container
video.video(controls="controls", controlsList="nodownload")
source(src="/videos/unchained.webm", type="video/webm")
if anime.ID == "7VjCpFiiR"
section.anime-section.mountable
h3.anime-section-name AMVs
.amvs
.amv.mountable
.video-container
video.video(controls="controls", controlsList="nodownload")
source(src="/videos/sunlight.webm", type="video/webm")
AnimeAMVs(anime, amvs, user)
AnimeEpisodes(anime, episodes, user, false)
component AnimeAMVs(anime *arn.Anime, amvs []*arn.AMV, user *arn.User)
if len(amvs) > 0
section.anime-section.mountable
h3.anime-section-name AMVs
.amvs
each amv in amvs
AMV(amv, user)
component AnimeSideColumn(anime *arn.Anime, friends []*arn.User, listItems map[*arn.User]*arn.AnimeListItem, user *arn.User)
AnimeTrailer(anime)
AnimeInformation(anime)