diff --git a/mixins/SoundTrack.pixy b/mixins/SoundTrack.pixy new file mode 100644 index 00000000..301e853c --- /dev/null +++ b/mixins/SoundTrack.pixy @@ -0,0 +1,10 @@ +component SoundTrack(track *arn.SoundTrack) + .sound-track.mountable(id=track.ID) + .sound-track-content + a.sound-track-anime-link.ajax(href="/anime/" + track.MainAnime().ID) + img.sound-track-anime-image.lazy(data-src=track.MainAnime().Image.Small, alt=track.MainAnime().Title.Canonical, title=track.MainAnime().Title.Canonical) + + iframe.lazy(data-src=track.Media[0].EmbedLink()) + .sound-track-footer + span posted by + a.ajax(href=track.CreatedByUser().Link())= track.CreatedByUser().Nick \ No newline at end of file diff --git a/pages/music/music.pixy b/pages/music/music.pixy index 074280c2..bbda7e6e 100644 --- a/pages/music/music.pixy +++ b/pages/music/music.pixy @@ -8,16 +8,4 @@ component Music(tracks []*arn.SoundTrack) .sound-tracks each track in tracks - SoundTrack(track) - -component SoundTrack(track *arn.SoundTrack) - .sound-track.mountable(id=track.ID) - .sound-track-content - a.sound-track-anime-link.ajax(href="/anime/" + track.MainAnime().ID) - img.sound-track-anime-image.lazy(data-src=track.MainAnime().Image.Small, alt=track.MainAnime().Title.Canonical, title=track.MainAnime().Title.Canonical) - - iframe.lazy(data-src="https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/" + track.Media[0].ServiceID + "?auto_play=false&hide_related=true&show_comments=false&show_user=false&show_reposts=false&visual=true") - - .sound-track-footer - span posted by - a.ajax(href=track.CreatedByUser().Link())= track.CreatedByUser().Nick \ No newline at end of file + SoundTrack(track) \ No newline at end of file diff --git a/pages/newsoundtrack/newsoundtrack.pixy b/pages/newsoundtrack/newsoundtrack.pixy index 4c57b373..2237f08a 100644 --- a/pages/newsoundtrack/newsoundtrack.pixy +++ b/pages/newsoundtrack/newsoundtrack.pixy @@ -1,10 +1,20 @@ component NewSoundTrack(user *arn.User) .widgets .widget - 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)") + h3 New soundtrack + label(for="soundcloud-link") Soundcloud link: + input#soundcloud-link.widget-element(type="text", placeholder="https://soundcloud.com/abc/123") + + label(for="youtube-link") Youtube link: + input#youtube-link.widget-element(type="text", placeholder="https://www.youtube.com/watch?v=123") + + label(for="anime-link") Anime link: + input#anime-link.widget-element(type="text", placeholder="https://notify.moe/anime/123") + + label(for="osu-link") Osu beatmap (optional): + input#osu-link.widget-element(type="text", placeholder="https://osu.ppy.sh/s/123") - button.action(data-action="createSoundTrack", data-trigger="click") - Icon("check") - span Add soundtrack \ No newline at end of file + .buttons + button.action(data-action="createSoundTrack", data-trigger="click") + Icon("check") + span Add soundtrack \ No newline at end of file diff --git a/scripts/actions.ts b/scripts/actions.ts index 14b80412..28c7d0b6 100644 --- a/scripts/actions.ts +++ b/scripts/actions.ts @@ -106,11 +106,13 @@ export function createThread(arn: AnimeNotifier) { // Create soundtrack export function createSoundTrack(arn: AnimeNotifier, button: HTMLButtonElement) { let soundcloud = arn.app.find("soundcloud-link") as HTMLInputElement + let youtube = arn.app.find("youtube-link") as HTMLInputElement let anime = arn.app.find("anime-link") as HTMLInputElement let osu = arn.app.find("osu-link") as HTMLInputElement let soundtrack = { soundcloud: soundcloud.value, + youtube: youtube.value, tags: [anime.value, osu.value], } diff --git a/tests.go b/tests.go index f1f1f0ac..80a35633 100644 --- a/tests.go +++ b/tests.go @@ -121,6 +121,7 @@ var tests = map[string][]string{ "/auth/google": nil, "/auth/google/callback": nil, "/new/thread": nil, + "/new/soundtrack": nil, "/user": nil, "/settings": nil, "/extension/embed": nil,