@using System.Web
@using InnerTube
@using InnerTube.Models
@model LightTube.Contexts.PlayerContext

@{
	ViewBag.Metadata = new Dictionary<string, string>();
	ViewBag.Metadata["author"] = Model.Video.Channel.Name;
	ViewBag.Metadata["og:title"] = Model.Player.Title;
	ViewBag.Metadata["og:url"] = $"{Url.ActionContext.HttpContext.Request.Scheme}://{Url.ActionContext.HttpContext.Request.Host}{Url.ActionContext.HttpContext.Request.Path}{Url.ActionContext.HttpContext.Request.QueryString}";
	ViewBag.Metadata["og:image"] = $"{Url.ActionContext.HttpContext.Request.Scheme}://{Url.ActionContext.HttpContext.Request.Host}/proxy/image?url={HttpUtility.UrlEncode(Model.Player.Thumbnails.FirstOrDefault()?.Url?.ToString())}";
	ViewBag.Metadata["twitter:card"] = $"{Url.ActionContext.HttpContext.Request.Scheme}://{Url.ActionContext.HttpContext.Request.Host}/proxy/image?url={HttpUtility.UrlEncode(Model.Player.Thumbnails.LastOrDefault()?.Url?.ToString())}";
	ViewBag.Title = Model.Player.Title;
	Layout = "_Layout";	
}

<div class="playlist-page">
	<div class="playlist-info">
		<div class="thumbnail" style="background-image: url('@Model.Player.Thumbnails.Last().Url')">
			<a href="/watch?v=@Model.Player.Id">Watch</a>
		</div>
		<p class="title">@Model.Player.Title</p>
		<span class="info">@Model.Video.Views • @Model.Video.UploadDate</span>
		<div class="channel-info">
			<a href="/channel/@Model.Player.Channel.Id" class="avatar">
				<img src="@Model.Player.Channel.Avatars.LastOrDefault()?.Url">
			</a>
			<div class="name">
				<a class="name" href="/channel/@Model.Player.Channel.Id">@Model.Player.Channel.Name</a>
			</div>
		</div>
	</div>
	<div class="video-list download-list playlist-video-list">
		<div class="format-list">
			<h2>Muxed formats</h2>
			<p>These downloads have both video and audio in them</p>
			@foreach (Format format in Model.Player.Formats)
			{
				<div class="download-format">
					<div>
						@format.FormatNote
					</div>
					<a href="/proxy/download/@Model.Video.Id/@format.FormatId/@(HttpUtility.UrlEncode(Model.Video.Title)).@format.GetExtension()">
						<i class="bi bi-download"></i>
						Download through LightTube
					</a>
					<a href="@format.Url">
						<i class="bi bi-cloud-download"></i>
						Download through YouTube
					</a>
				</div>
			}
		</div>
		<div class="format-list">
			<h2>Audio only formats</h2>
			<p>These downloads have only have audio in them</p>
			@foreach (Format format in Model.Player.AdaptiveFormats.Where(x => x.VideoCodec == "none"))
			{
				<div class="download-format">
					<div>
						@format.FormatNote (Codec: @format.AudioCodec, Sample Rate: @format.AudioSampleRate)
					</div>
					<a href="/proxy/download/@Model.Video.Id/@format.FormatId/@(HttpUtility.UrlEncode(Model.Video.Title)).@format.GetExtension()">
						<i class="bi bi-download"></i>
						Download through LightTube
					</a>
					<a href="@format.Url">
						<i class="bi bi-cloud-download"></i>
						Download through YouTube
					</a>
				</div>
			}
		</div>
		<div class="format-list">
			<h2>Video only formats</h2>
			<p>These downloads have only have video in them</p>
			@foreach (Format format in Model.Player.AdaptiveFormats.Where(x => x.AudioCodec == "none"))
			{
				<div class="download-format">
					<div>
						@format.FormatNote (Codec: @format.VideoCodec)
					</div>
					<a href="/proxy/download/@Model.Video.Id/@format.FormatId/@(HttpUtility.UrlEncode(Model.Video.Title)).@format.GetExtension()">
						<i class="bi bi-download"></i>
						Download through LightTube
					</a>
					<a href="@format.Url">
						<i class="bi bi-cloud-download"></i>
						Download through YouTube
					</a>
				</div>
			}
		</div>
	</div>
</div>
