@using System.Web
@using LightTube.Contexts
@model LightTube.Contexts.BaseContext
@{
	bool compatibility = false;
	if (Context.Request.Cookies.TryGetValue("compatibility", out string compatibilityString))
		bool.TryParse(compatibilityString, out compatibility);
	
	bool minMode = false;
	if (Context.Request.Cookies.TryGetValue("minMode", out string minModeString))
		bool.TryParse(minModeString, out minMode);
}
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
	<meta property="og:site_name" content="lighttube" />
	<meta property="og:type" content="website" />
	@if (ViewBag.Metadata is not null)
	{
		@foreach (KeyValuePair<string, string> metaTag in ViewBag.Metadata)
		{
			if (metaTag.Key.StartsWith("og:"))
			{
				<meta property="@metaTag.Key" content="@metaTag.Value"/>
			}
			else
			{
				<meta name="@metaTag.Key" content="@metaTag.Value"/>
			}
		}
	}
	<meta property="theme-color" content="#AA0000" />
	<title>@ViewData["Title"] - lighttube</title>
	@if ((ViewData["HideGuide"] ?? false).Equals(true))
	{
		<style> .guide { display: none !important; } </style>
	}
	@{
		Context.Request.Cookies.TryGetValue("theme", out string theme);
		if (!new[] { "light", "dark" }.Contains(theme)) theme = "light";
	}
	<link rel="stylesheet" href="@($"~/css/colors-{theme}.css")" asp-append-version="true"/>
	@if (Model.MobileLayout)
	{
		<link rel="stylesheet" href="~/css/mobile.css" asp-append-version="true"/>
		<link rel="stylesheet" href="~/css/lt-video/player-mobile.css" asp-append-version="true"/>
	}
	else
	{
		<link rel="stylesheet" href="~/css/desktop.css" asp-append-version="true"/>
		<link rel="stylesheet" href="~/css/lt-video/player-desktop.css" asp-append-version="true"/>
	}
	<link rel="stylesheet" href="~/css/bootstrap-icons/bootstrap-icons.css" asp-append-version="true"/>
	<link rel="icon" href="~/favicon.ico">
</head>
<body>

<div class="top-bar @(ViewData["UseFullSizeSearchBar"]?.Equals(true) ?? false ? "full-size-search" : "")">
	<a class="logo" href="/">light<b>tube</b></a>
	<div class="divider"></div>
	<form action="/results">
		<input type="text" placeholder="Search" name="search_query" value="@(Model is SearchContext ctx ? ctx.Query : Context.Request.Cookies.TryGetValue("search_query", out string s) ? s : "")">
		<input type="submit" value="Search">
	</form>
	<div class="divider"></div>
	<div class="search-button">
		<a class="icon-link" href="/results">
			<i class="bi bi-search"></i>
		</a>
	</div>
	<div class="account" tabindex="-1">
		<a class="icon-link" href="/Account">
			<i class="bi bi-person-circle"></i>
		</a>
		<div class="account-menu">
			@Html.Partial("_LoginLogoutPartial")
			<div class="guide-item"><a href="/toggles/theme?redirectUrl=@(HttpUtility.UrlEncode($"{Context.Request.Path}{Context.Request.QueryString}"))">Toggle Theme</a></div>
		</div>
	</div>
</div>

<div class="guide @(minMode ? "minmode" : "")">
	<div class="guide-item @(ViewData["SelectedGuideItem"] as string == "home" ? "active" : "")">
		<a href="/">
			<i class="icon bi bi-house-door"></i>
			Home
		</a>
	</div>
	<div class="guide-item @(ViewData["SelectedGuideItem"] as string == "explore" ? "active" : "")">
		<a href="/feed/explore">
			<i class="icon bi bi-compass"></i>
			Explore
		</a>
	</div>
	<div class="guide-item @(ViewData["SelectedGuideItem"] as string == "subs" ? "active" : "")">
		<a href="/feed/subscriptions">
			<i class="icon bi bi-inboxes"></i>
			Subscriptions
		</a>
	</div>
	<div class="guide-item @(ViewData["SelectedGuideItem"] as string == "library" ? "active" : "")">
		<a href="/feed/library">
			<i class="icon bi bi-list-ul"></i>
			Library
		</a>
	</div>
	<div class="hide-on-minmode guide-item">
		<a href="/toggles/collapse_guide?redirectUrl=@(HttpUtility.UrlEncode($"{Context.Request.Path}{Context.Request.QueryString}"))">
			<i class="icon"><i class="bi bi-arrow-left-square"></i></i>
			Collapse Guide
		</a>
	</div>
	<div class="show-on-minmode guide-item">
		<a href="/toggles/collapse_guide?redirectUrl=@(HttpUtility.UrlEncode($"{Context.Request.Path}{Context.Request.QueryString}"))">
			<i class="icon"><i class="bi bi-arrow-right-square"></i></i>
			Expand
		</a>
	</div>
	<hr class="hide-on-minmode">
	<p class="hide-on-minmode">
		<a href="https://gitlab.com/kuylar/lighttube/-/blob/master/README.md">About</a><br>
		<a href="https://gitlab.com/kuylar/lighttube/-/blob/master/OTHERLIBS.md">How LightTube works</a><br>
		<a href="https://gitlab.com/kuylar/lighttube">Source code</a>
		<a href="https://gitlab.com/kuylar/lighttube/-/wikis/XML-API">API</a>
		<a href="https://gitlab.com/kuylar/lighttube/-/blob/master/LICENSE">License</a><br>
		<span style="font-weight: normal">Running on LightTube v@(Utils.GetVersion())</span>
	</p>
</div>

<div class="app">
	@RenderBody()
</div>

<script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>
