Implemented music page
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package music
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"sort"
|
||||
|
||||
"github.com/aerogo/aero"
|
||||
@ -12,105 +13,19 @@ const maxTracks = 10
|
||||
|
||||
// Get renders the music page.
|
||||
func Get(ctx *aero.Context) string {
|
||||
tracks := []*arn.SoundTrack{}
|
||||
tracks, err := arn.AllSoundTracks()
|
||||
|
||||
tracks = append(tracks, &arn.SoundTrack{
|
||||
ID: arn.GenerateID("SoundTrack"),
|
||||
Media: []arn.ExternalMedia{
|
||||
arn.ExternalMedia{
|
||||
Service: "Soundcloud",
|
||||
ServiceID: "145918628",
|
||||
},
|
||||
},
|
||||
Tags: []string{
|
||||
"anime:2357",
|
||||
},
|
||||
Created: arn.DateTimeUTC(),
|
||||
CreatedBy: "4J6qpK1ve",
|
||||
})
|
||||
|
||||
tracks = append(tracks, &arn.SoundTrack{
|
||||
ID: arn.GenerateID("SoundTrack"),
|
||||
Media: []arn.ExternalMedia{
|
||||
arn.ExternalMedia{
|
||||
Service: "Soundcloud",
|
||||
ServiceID: "127672476",
|
||||
},
|
||||
},
|
||||
Tags: []string{
|
||||
"anime:7622",
|
||||
},
|
||||
Created: arn.DateTimeUTC(),
|
||||
CreatedBy: "4J6qpK1ve",
|
||||
})
|
||||
|
||||
tracks = append(tracks, &arn.SoundTrack{
|
||||
ID: arn.GenerateID("SoundTrack"),
|
||||
Media: []arn.ExternalMedia{
|
||||
arn.ExternalMedia{
|
||||
Service: "Soundcloud",
|
||||
ServiceID: "270777538",
|
||||
},
|
||||
},
|
||||
Tags: []string{
|
||||
"anime:11469",
|
||||
},
|
||||
Created: arn.DateTimeUTC(),
|
||||
CreatedBy: "4J6qpK1ve",
|
||||
})
|
||||
|
||||
tracks = append(tracks, &arn.SoundTrack{
|
||||
ID: arn.GenerateID("SoundTrack"),
|
||||
Media: []arn.ExternalMedia{
|
||||
arn.ExternalMedia{
|
||||
Service: "Soundcloud",
|
||||
ServiceID: "243839100",
|
||||
},
|
||||
},
|
||||
Tags: []string{
|
||||
"anime:9962",
|
||||
},
|
||||
Created: arn.DateTimeUTC(),
|
||||
CreatedBy: "4J6qpK1ve",
|
||||
})
|
||||
|
||||
tracks = append(tracks, &arn.SoundTrack{
|
||||
ID: arn.GenerateID("SoundTrack"),
|
||||
Media: []arn.ExternalMedia{
|
||||
arn.ExternalMedia{
|
||||
Service: "Soundcloud",
|
||||
ServiceID: "207355237",
|
||||
},
|
||||
},
|
||||
Tags: []string{
|
||||
"anime:6589",
|
||||
},
|
||||
Created: arn.DateTimeUTC(),
|
||||
CreatedBy: "4J6qpK1ve",
|
||||
})
|
||||
|
||||
tracks = append(tracks, &arn.SoundTrack{
|
||||
ID: arn.GenerateID("SoundTrack"),
|
||||
Media: []arn.ExternalMedia{
|
||||
arn.ExternalMedia{
|
||||
Service: "Soundcloud",
|
||||
ServiceID: "242172944",
|
||||
},
|
||||
},
|
||||
Tags: []string{
|
||||
"anime:10740",
|
||||
},
|
||||
Created: arn.DateTimeUTC(),
|
||||
CreatedBy: "4J6qpK1ve",
|
||||
})
|
||||
|
||||
if len(tracks) > maxTracks {
|
||||
tracks = tracks[:maxTracks]
|
||||
if err != nil {
|
||||
return ctx.Error(http.StatusInternalServerError, "Error fetching soundtracks", err)
|
||||
}
|
||||
|
||||
sort.Slice(tracks, func(i, j int) bool {
|
||||
return tracks[i].Created > tracks[j].Created
|
||||
})
|
||||
|
||||
if len(tracks) > maxTracks {
|
||||
tracks = tracks[:maxTracks]
|
||||
}
|
||||
|
||||
return ctx.HTML(components.Music(tracks))
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
component NewSoundTrack(user *arn.User)
|
||||
.widgets
|
||||
.widget
|
||||
input#soundcloud-link.widget-element(type="text", placeholder="Soundcloud link or ID")
|
||||
input#anime-link.widget-element(type="text", placeholder="Anime link or ID")
|
||||
input#soundcloud-link.widget-element(type="text", placeholder="Soundcloud link")
|
||||
input#anime-link.widget-element(type="text", placeholder="Anime link")
|
||||
input#osu-link.widget-element(type="text", placeholder="Osu beatmap link (optional)")
|
||||
|
||||
button.action(data-action="createSoundTrack", data-trigger="click")
|
||||
|
Reference in New Issue
Block a user