Added liking for soundtracks
This commit is contained in:
parent
be4ea860d4
commit
6835cbe0d3
14
mixins/TabLike.pixy
Normal file
14
mixins/TabLike.pixy
Normal file
@ -0,0 +1,14 @@
|
||||
component TabLike(label string, icon string, track *arn.SoundTrack, user *arn.User)
|
||||
if user == nil
|
||||
a.tab.action(aria-label=label)
|
||||
Icon(icon)
|
||||
span.tab-text= label
|
||||
else
|
||||
if track.LikedBy(user.ID)
|
||||
a.tab.action(data-api="/api" + track.Link(), data-action="unlike", data-trigger="click", aria-label=label)
|
||||
Icon(icon)
|
||||
span.tab-text= label
|
||||
else
|
||||
a.tab.action(data-api="/api" + track.Link(), data-action="like", data-trigger="click", aria-label=label)
|
||||
Icon(icon)
|
||||
span.tab-text= label
|
@ -34,5 +34,5 @@ func Edit(ctx *aero.Context) string {
|
||||
ctx.Data.(*arn.OpenGraph).Tags["og:image"] = track.MainAnime().Image.Large
|
||||
}
|
||||
|
||||
return ctx.HTML(components.SoundTrackTabs(track) + editform.Render(track, "Edit soundtrack", user))
|
||||
return ctx.HTML(components.SoundTrackTabs(track, user) + editform.Render(track, "Edit soundtrack", user))
|
||||
}
|
||||
|
@ -6,12 +6,14 @@ import (
|
||||
"github.com/aerogo/aero"
|
||||
"github.com/animenotifier/arn"
|
||||
"github.com/animenotifier/notify.moe/components"
|
||||
"github.com/animenotifier/notify.moe/utils"
|
||||
)
|
||||
|
||||
// Get track.
|
||||
func Get(ctx *aero.Context) string {
|
||||
id := ctx.Get("id")
|
||||
track, err := arn.GetSoundTrack(id)
|
||||
user := utils.GetUser(ctx)
|
||||
|
||||
if err != nil {
|
||||
return ctx.Error(http.StatusNotFound, "Track not found", err)
|
||||
@ -39,5 +41,5 @@ func Get(ctx *aero.Context) string {
|
||||
|
||||
ctx.Data = openGraph
|
||||
|
||||
return ctx.HTML(components.Track(track))
|
||||
return ctx.HTML(components.Track(track, user))
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
component Track(track *arn.SoundTrack)
|
||||
SoundTrackTabs(track)
|
||||
component Track(track *arn.SoundTrack, user *arn.User)
|
||||
SoundTrackTabs(track, user)
|
||||
|
||||
.sound-track-full-page
|
||||
if track.Title == ""
|
||||
@ -29,13 +29,11 @@ component Track(track *arn.SoundTrack)
|
||||
for index, beatmap := range track.Beatmaps()
|
||||
li
|
||||
a.beatmap(href="https://osu.ppy.sh/s/" + beatmap, target="_blank")= "Beatmap #" + strconv.Itoa(index + 1)
|
||||
|
||||
.widget.mountable
|
||||
h3.widget-title Tags
|
||||
.tags
|
||||
each tag in track.Tags
|
||||
.tag= tag
|
||||
|
||||
.footer.text-center.mountable
|
||||
if track.EditedBy != ""
|
||||
span Edited
|
||||
@ -50,7 +48,8 @@ component Track(track *arn.SoundTrack)
|
||||
|
||||
span .
|
||||
|
||||
component SoundTrackTabs(track *arn.SoundTrack)
|
||||
component SoundTrackTabs(track *arn.SoundTrack, user *arn.User)
|
||||
.tabs
|
||||
Tab("Soundtrack", "music", track.Link())
|
||||
Tab("Edit", "pencil", track.Link() + "/edit")
|
||||
TabLike(strconv.Itoa(len(track.Likes)), "heart", track, user)
|
||||
|
Loading…
Reference in New Issue
Block a user