component Track(track *arn.SoundTrack, user *arn.User)
	SoundTrackTabs(track, user)

	.sound-track-full-page
		if track.Title == ""
			h1.mountable untitled
		else
			h1.mountable= track.Title

		.widget-form.sound-track-media-list
			each media in track.Media
				.widget.mountable
					h3.widget-title= media.Service
					.sound-track-media.video-container
						iframe.lazy.video(data-src=media.EmbedLink(), allowfullscreen="allowfullscreen")

			.widget.mountable
				h3.widget-title Anime

				.sound-track-anime-list
					each anime in track.Anime()
						a.sound-track-anime-list-item.ajax(href=anime.Link(), title=anime.Title.ByUser(user))
							img.sound-track-anime-list-item-image.lazy(data-src=anime.Image("small"), data-webp="true", alt=anime.Title.ByUser(user))

			if len(track.Beatmaps()) > 0
				.widget.mountable
					h3.widget-title Beatmaps
					ul.beatmaps
						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.mountable
			if track.EditedBy != ""
				span Edited 
				span.utc-date(data-date=track.Edited)
				span  by 
				span= track.EditedByUser().Nick
			else
				span Posted 
				span.utc-date(data-date=track.Created)
				span  by 
				span= track.Creator().Nick

			span .

component SoundTrackTabs(track *arn.SoundTrack, user *arn.User)
	.tabs
		TabLike(strconv.Itoa(len(track.Likes)), "heart", "track", track, user)
		Tab("Soundtrack", "music", track.Link())
		Tab("Edit", "pencil", track.Link() + "/edit")