component Track(track *arn.SoundTrack)
	SoundTrackTabs(track)
	
	.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
						ExternalMedia(media)
			
			.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.Canonical)
							img.sound-track-anime-list-item-image.lazy(data-src=anime.Image.Tiny, alt=anime.Title.Canonical)
			
			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.text-center.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)
	.tabs
		Tab("Soundtrack", "music", track.Link())
		Tab("Edit", "pencil", track.Link() + "/edit")