344 lines
16 KiB
Plaintext
344 lines
16 KiB
Plaintext
@using System.Globalization
|
|
@using BuildFeed.Code.Options
|
|
@using BuildFeed.Controllers
|
|
@{
|
|
bool isRtl = CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft;
|
|
|
|
Response.PushPromise("/res/css/default.css?20170517");
|
|
Response.PushPromise(VirtualPathUtility.ToAbsolute(((Theme)ViewBag.Theme).CssPath) + "?20170517");
|
|
if (isRtl)
|
|
{
|
|
Response.PushPromise("/res/css/rtl.css");
|
|
}
|
|
|
|
Response.PushPromise("/res/ts/bfs.js");
|
|
}<!DOCTYPE html>
|
|
<html dir="@(isRtl
|
|
? "rtl"
|
|
: "ltr")" lang="@CultureInfo.CurrentUICulture.IetfLanguageTag">
|
|
<head prefix="og: http://ogp.me/ns#">
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="format-detection" content="telephone=no" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<title>@ViewBag.Title</title>
|
|
<link href="/res/css/default.css?180211" rel="stylesheet" type="text/css" />
|
|
<link href="@(VirtualPathUtility.ToAbsolute(((Theme)ViewBag.Theme).CssPath))" rel="stylesheet" type="text/css" />
|
|
@if (isRtl)
|
|
{
|
|
<link href="/res/css/rtl.css" rel="stylesheet" type="text/css" />
|
|
}
|
|
@switch (CultureInfo.CurrentUICulture.TwoLetterISOLanguageName)
|
|
{
|
|
case "ru":
|
|
case "uk":
|
|
<link href="https://fonts.googleapis.com/css?family=Fira+Sans:300,400,700&subset=cyrillic" rel="stylesheet" type="text/css" />
|
|
break;
|
|
case "el":
|
|
<link href="https://fonts.googleapis.com/css?family=Fira+Sans:300,400,700&subset=greek" rel="stylesheet" type="text/css" />
|
|
break;
|
|
case "vi":
|
|
<link href="https://fonts.googleapis.com/css?family=Fira+Sans:300,400,700&subset=vietnamese" rel="stylesheet" type="text/css" />
|
|
break;
|
|
default:
|
|
<link href="https://fonts.googleapis.com/css?family=Fira+Sans:300,400,700" rel="stylesheet" type="text/css" />
|
|
break;
|
|
}
|
|
<link href="~/res/ext/css/font-awesome.min.css" rel="stylesheet" type="text/css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous" />
|
|
<link rel="manifest" href="~/manifest.json" />
|
|
<link rel="shortcut icon" href="~/favicon.ico" />
|
|
<link rel="icon" href="~/favicon.ico" />
|
|
<link rel="canonical" href="@ViewBag.CanonicalBase@Url.Action()" />
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:site_name" content="@InvariantTerms.SiteName" />
|
|
<meta property="og:url" content="@ViewBag.CanonicalBase@Url.Action()" />
|
|
<meta name="theme-color" content="#3B4252" />
|
|
<meta name="application-name" content="@InvariantTerms.SiteName" />
|
|
<meta name="twitter:site" content="@("@")buildfeed" />
|
|
@RenderSection("head", false)
|
|
|
|
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async="async"></script>
|
|
<script>
|
|
var OneSignal = window.OneSignal || [];
|
|
OneSignal.push([
|
|
"init", {
|
|
appId: "94384f83-dced-4d66-a88c-c2b6e3cdfbaa",
|
|
safari_web_id: "web.onesignal.auto.4cc30974-98f9-47ba-8e02-4635d2d477f2",
|
|
persistNotification: false,
|
|
allowLocalhostAsSecureOrigin: true,
|
|
autoRegister: true,
|
|
notifyButton: {
|
|
enable: false
|
|
}
|
|
}
|
|
]);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
(function (i, s, o, g, r, a, m) {
|
|
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
|
|
(i[r].q = i[r].q || []).push(arguments);
|
|
}, i[r].l = 1 * new Date(); a = s.createElement(o),
|
|
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m);
|
|
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
|
|
|
ga('create', 'UA-55417692-1', 'auto');
|
|
ga('require', 'displayfeatures');
|
|
ga('require', 'linkid', 'linkid.js');
|
|
ga('send', 'pageview');
|
|
</script>
|
|
<header id="page-header">
|
|
<div class="container">
|
|
<h1>
|
|
@Html.ActionLink(InvariantTerms.SiteName, nameof(FrontController.Index), new
|
|
{
|
|
controller = "Front",
|
|
area = ""
|
|
})
|
|
</h1>
|
|
</div>
|
|
</header>
|
|
<nav id="page-navigation" role="navigation">
|
|
<div class="container">
|
|
<button id="page-navigation-toggle">
|
|
<i class="fa fa-bars"></i> @VariantTerms.Common_ToggleNavigation
|
|
</button>
|
|
<ul id="page-navigation-links">
|
|
<li>
|
|
<a href="#" id="page-navigation-search" title="@VariantTerms.Search_Title">
|
|
<i class="fa fa-fw fa-search"></i> @VariantTerms.Search_Title
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="@Url.Action(nameof(SupportController.Rss), new
|
|
{
|
|
controller = "Support",
|
|
area = ""
|
|
})" title="@VariantTerms.Common_RssFeeds">
|
|
<i class="fa fa-fw fa-rss"></i> @VariantTerms.Common_RssFeeds
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="https://blog.buildfeed.net/" title="@VariantTerms.Common_Blog" target="_blank" rel="noopener">
|
|
<i class="fa fa-fw fa-book"></i> @VariantTerms.Common_Blog
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="https://twitter.com/buildfeed" title="@VariantTerms.Common_Twitter" target="_blank" rel="noopener">
|
|
<i class="fa fa-fw fa-twitter"></i> @VariantTerms.Common_Twitter
|
|
</a>
|
|
</li>
|
|
<li class="dropdown-parent">
|
|
<a href="#" title="@VariantTerms.Support_Login">
|
|
<i class="fa fa-fw fa-user"></i>
|
|
</a>
|
|
<ul class="dropdown-menu">
|
|
<li id="user-action-menu" class="dropdown-menu-block">
|
|
<ul>
|
|
@if (!User.Identity.IsAuthenticated)
|
|
{
|
|
<li>
|
|
<a href="@Url.Action(nameof(AccountController.Login), new
|
|
{
|
|
controller = "Account",
|
|
area = ""
|
|
})" title="@VariantTerms.Common_LogIn">
|
|
<i class="fa fa-fw fa-user"></i> @VariantTerms.Common_LogIn
|
|
</a>
|
|
</li>
|
|
}
|
|
else
|
|
{
|
|
if (Roles.IsUserInRole("Administrators"))
|
|
{
|
|
<li>
|
|
<a href="@Url.Action("Index", new
|
|
{
|
|
controller = "Root",
|
|
area = "admin"
|
|
})" title="@VariantTerms.Common_Admin">
|
|
<i class="fa fa-fw fa-cogs"></i> @VariantTerms.Common_Admin
|
|
</a>
|
|
</li>
|
|
}
|
|
if (Roles.IsUserInRole("Administrators") || Roles.IsUserInRole("Editors"))
|
|
{
|
|
<li>
|
|
<a href="@Url.Action(nameof(FrontController.AddBuild), new
|
|
{
|
|
controller = "Front",
|
|
area = ""
|
|
})" title="@VariantTerms.Common_AddBuild">
|
|
<i class="fa fa-fw fa-plus-square"></i> @VariantTerms.Common_AddBuild
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="@Url.Action(nameof(FrontController.AddBulk), new
|
|
{
|
|
controller = "Front",
|
|
area = ""
|
|
})" title="@VariantTerms.Common_AddBulk">
|
|
<i class="fa fa-fw fa-database"></i> @VariantTerms.Common_AddBulk
|
|
</a>
|
|
</li>
|
|
}
|
|
<li>
|
|
<a href="@Url.Action(nameof(AccountController.Logout), new
|
|
{
|
|
controller = "Account",
|
|
area = ""
|
|
})" title="@VariantTerms.Common_LogOut">
|
|
<i class="fa fa-fw fa-user"></i> @VariantTerms.Common_LogOut
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="@Url.Action(nameof(AccountController.Password), new
|
|
{
|
|
controller = "Account",
|
|
area = ""
|
|
})" title="@VariantTerms.Common_ChangePassword">
|
|
<i class="fa fa-fw fa-key"></i> @VariantTerms.Common_ChangePassword
|
|
</a>
|
|
</li>
|
|
}
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="dropdown-parent">
|
|
<a href="#" title="@VariantTerms.Common_NavigationTheme / @VariantTerms.Common_NavigationLanguage">
|
|
<i class="fa fa-gear fa-fw"></i>
|
|
</a>
|
|
<ul class="dropdown-menu">
|
|
<li id="settings-theme-menu" class="dropdown-menu-block">
|
|
<h4>@VariantTerms.Common_NavigationTheme</h4>
|
|
<ul>
|
|
@foreach (Theme item in Theme.AvailableThemes)
|
|
{
|
|
<li>
|
|
<a href="#" data-theme="@item.CookieValue">@item.DisplayName</a>
|
|
</li>
|
|
}
|
|
</ul>
|
|
</li>
|
|
<li id="settings-lang-menu" class="dropdown-menu-block">
|
|
<h4>@VariantTerms.Common_NavigationLanguage</h4>
|
|
<ul>
|
|
@foreach (Locale locale in Locale.AvailableLocales)
|
|
{
|
|
<li>
|
|
<a href="#" data-lang="@locale.LocaleId" dir="@(locale.Info.TextInfo.IsRightToLeft
|
|
? "rtl"
|
|
: "ltr")">
|
|
@locale.DisplayName
|
|
</a>
|
|
</li>
|
|
}
|
|
<li></li>
|
|
<li></li>
|
|
<li></li>
|
|
<li></li>
|
|
<li></li>
|
|
<li></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
<article id="page-content">
|
|
<div class="container">
|
|
@RenderBody()
|
|
</div>
|
|
</article>
|
|
<footer id="page-footer">
|
|
<div class="container">
|
|
<div class="footer-flex">
|
|
<div class="footer-flex-item">
|
|
<p>
|
|
<a href="@Url.Action(nameof(SupportController.Sitemap), new
|
|
{
|
|
controller = "Support",
|
|
area = ""
|
|
})">
|
|
@VariantTerms.Common_Sitemap
|
|
</a>
|
|
</p>
|
|
<p>
|
|
<a href="@Url.Action(nameof(SupportController.Credits), new
|
|
{
|
|
controller = "Support",
|
|
area = ""
|
|
})">
|
|
@VariantTerms.Common_Credits
|
|
</a>
|
|
</p>
|
|
<p>
|
|
<i class="fa fa-language"></i> 
|
|
@CultureInfo.CurrentUICulture.NativeName
|
|
</p>
|
|
</div>
|
|
<div class="footer-flex-item">
|
|
<p>
|
|
<span dir="ltr">@InvariantTerms.SiteName @($"v{ViewBag.Version}")</span>
|
|
</p>
|
|
<p>
|
|
© 2013 - @DateTime.Now.Year.ToString(), @Html.Raw(string.Format(VariantTerms.Common_DevelopedBy, $"<a href=\"https://twitter.com/buildfeed\" target=\"_blank\" dir=\"ltr\" rel=\"noopener\">{InvariantTerms.DeveloperName}</a>"))
|
|
</p>
|
|
<p>
|
|
@Html.Raw(string.Format(VariantTerms.Common_ContributeOn, "<a href=\"https://gitlab.com/buildfeed/BuildFeed\" target=\"_blank\" dir=\"ltr\" rel=\"noopener\"><i class=\"fa fa-gitlab\"></i> GitLab</a>"))
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
<div id="modal-search-overlay">
|
|
<div id="modal-search">
|
|
<h3>@VariantTerms.Search_BuildFeed</h3>
|
|
<div id="modal-search-box">
|
|
<input id="modal-search-input" type="text" placeholder="@VariantTerms.Search_TypePlaceholder" />
|
|
<button id="modal-search-button">
|
|
<i class="fa fa-search"></i>
|
|
</button>
|
|
</div>
|
|
<div id="modal-search-result"></div>
|
|
</div>
|
|
</div>
|
|
<div id="menu-open-overlay"></div>
|
|
|
|
<script type="text/javascript" src="~/res/ext/jsrender.min.js" integrity="sha256-21dXJfiOXB1D/8kEXbDI0NB5qcUVUnkS3qgyOya/M6k=" crossorigin="anonymous"></script>
|
|
<script type="text/javascript" src="~/res/ts/bfs.js" async="async"></script>
|
|
@if (((Theme)ViewBag.Theme).Value == SiteTheme.Winter)
|
|
{
|
|
<script type="text/javascript" src="~/res/ts/christmas.js" async="async"></script>
|
|
}
|
|
@RenderSection("scripts", false)
|
|
<script id="result-template" type="text/x-jsrender">
|
|
<a href="{{:Url}}" class="search-result-item" title="{{:Title}}">
|
|
<h4 class="search-result-heading no-wrapping">{{:Label}}</h4>
|
|
<p class="search-result-text">{{:Group}}</p>
|
|
</a>
|
|
</script>
|
|
<script type="text/javascript" src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5431719a661cbfd0" async="async"></script>
|
|
<script type="text/javascript">
|
|
if (navigator.serviceWorker.controller)
|
|
{
|
|
console.log('[PWA Builder] active service worker found, no need to register');
|
|
}
|
|
else
|
|
{
|
|
navigator.serviceWorker.register('pwabuilder-sw.js',
|
|
{
|
|
scope: "/"
|
|
})
|
|
.then(function(reg)
|
|
{
|
|
console.log("Service worker has been registered for scope: " + reg.scope);
|
|
});
|
|
}
|
|
</script>
|
|
</body>
|
|
</html> |