mirror of
https://gitlab.com/buildfeed/BuildFeed.git
synced 2024-03-22 21:10:34 +08:00
Bug fixes; Code style
This commit is contained in:
parent
24e12c8741
commit
7583968109
|
@ -1,11 +1,11 @@
|
|||
// ReSharper disable InconsistentNaming
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace BuildFeed.Local
|
||||
{
|
||||
public class InvariantTerms
|
||||
{
|
||||
public const string SiteName = "BuildFeed";
|
||||
public const string DeveloperName = "Thomas Hounsell";
|
||||
public const string ProductName = "Windows NT";
|
||||
public const string SiteName = "BuildFeed";
|
||||
}
|
||||
}
|
|
@ -11,10 +11,12 @@
|
|||
|
||||
namespace BuildFeed.Model
|
||||
{
|
||||
[DataObject, BsonIgnoreExtraElements]
|
||||
[DataObject]
|
||||
[BsonIgnoreExtraElements]
|
||||
public class Build
|
||||
{
|
||||
[Key, BsonId]
|
||||
[Key]
|
||||
[BsonId]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public long? LegacyId { get; set; }
|
||||
|
@ -66,7 +68,7 @@ public class Build
|
|||
|
||||
public string LabUrl { get; set; }
|
||||
|
||||
public bool IsLeaked => SourceType == TypeOfSource.PublicRelease || SourceType == TypeOfSource.InternalLeak || SourceType == TypeOfSource.UpdateGDR || SourceType == TypeOfSource.UpdateLDR;
|
||||
public bool IsLeaked => (SourceType == TypeOfSource.PublicRelease) || (SourceType == TypeOfSource.InternalLeak) || (SourceType == TypeOfSource.UpdateGDR) || (SourceType == TypeOfSource.UpdateLDR);
|
||||
|
||||
public string FullBuildString
|
||||
{
|
||||
|
@ -154,8 +156,8 @@ public ProjectFamily Family
|
|||
{
|
||||
return ProjectFamily.Windows7;
|
||||
}
|
||||
if (MajorVersion == 6
|
||||
&& Number >= 5000)
|
||||
if ((MajorVersion == 6)
|
||||
&& (Number >= 5000))
|
||||
{
|
||||
return ProjectFamily.WindowsVista;
|
||||
}
|
||||
|
@ -163,18 +165,18 @@ public ProjectFamily Family
|
|||
{
|
||||
return ProjectFamily.Longhorn;
|
||||
}
|
||||
if (MajorVersion == 5
|
||||
&& Number >= 3000)
|
||||
if ((MajorVersion == 5)
|
||||
&& (Number >= 3000))
|
||||
{
|
||||
return ProjectFamily.Server2003;
|
||||
}
|
||||
if (MajorVersion == 5
|
||||
&& Number >= 2205)
|
||||
if ((MajorVersion == 5)
|
||||
&& (Number >= 2205))
|
||||
{
|
||||
return ProjectFamily.WindowsXP;
|
||||
}
|
||||
if (MajorVersion == 5
|
||||
&& MinorVersion == 50)
|
||||
if ((MajorVersion == 5)
|
||||
&& (MinorVersion == 50))
|
||||
{
|
||||
return ProjectFamily.Neptune;
|
||||
}
|
||||
|
|
|
@ -16,10 +16,10 @@ public async Task<BuildVersion[]> SelectAllVersions(int limit = -1, int skip = 0
|
|||
new BsonElement(nameof(BuildVersion.Major), $"${nameof(Build.MajorVersion)}"),
|
||||
new BsonElement(nameof(BuildVersion.Minor), $"${nameof(Build.MinorVersion)}")
|
||||
})).Sort(new BsonDocument
|
||||
{
|
||||
new BsonElement($"_id.{nameof(BuildVersion.Major)}", -1),
|
||||
new BsonElement($"_id.{nameof(BuildVersion.Minor)}", -1)
|
||||
}).Skip(skip);
|
||||
{
|
||||
new BsonElement($"_id.{nameof(BuildVersion.Major)}", -1),
|
||||
new BsonElement($"_id.{nameof(BuildVersion.Minor)}", -1)
|
||||
}).Skip(skip);
|
||||
|
||||
if (limit > 0)
|
||||
{
|
||||
|
|
|
@ -53,8 +53,8 @@ public async Task<List<Build>> SelectYear(int year, int limit = -1, int skip = 0
|
|||
|
||||
public async Task<long> SelectYearCount(int year)
|
||||
=>
|
||||
await
|
||||
_buildCollection.CountAsync(Builders<Build>.Filter.And(Builders<Build>.Filter.Gte(b => b.BuildTime, new DateTime(year, 1, 1, 0, 0, 0, DateTimeKind.Utc)),
|
||||
Builders<Build>.Filter.Lte(b => b.BuildTime, new DateTime(year, 12, 31, 23, 59, 59, DateTimeKind.Utc))));
|
||||
await
|
||||
_buildCollection.CountAsync(Builders<Build>.Filter.And(Builders<Build>.Filter.Gte(b => b.BuildTime, new DateTime(year, 1, 1, 0, 0, 0, DateTimeKind.Utc)),
|
||||
Builders<Build>.Filter.Lte(b => b.BuildTime, new DateTime(year, 12, 31, 23, 59, 59, DateTimeKind.Utc))));
|
||||
}
|
||||
}
|
|
@ -232,7 +232,7 @@ public async Task Insert(Build item)
|
|||
[DataObjectMethod(DataObjectMethodType.Insert, false)]
|
||||
public async Task InsertAll(IEnumerable<Build> items)
|
||||
{
|
||||
List<Build> generatedItems = new List<Build>();
|
||||
var generatedItems = new List<Build>();
|
||||
foreach (Build item in items)
|
||||
{
|
||||
item.Id = Guid.NewGuid();
|
||||
|
|
|
@ -31,9 +31,9 @@ public class MetaItemModel
|
|||
public class MetaItem
|
||||
{
|
||||
private const string META_COLLECTION_NAME = "metaitem";
|
||||
private readonly BuildRepository _bModel;
|
||||
|
||||
private readonly IMongoCollection<MetaItemModel> _metaCollection;
|
||||
private readonly BuildRepository _bModel;
|
||||
|
||||
public MetaItem()
|
||||
{
|
||||
|
@ -57,13 +57,22 @@ public MetaItem()
|
|||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select, false)]
|
||||
public async Task<IEnumerable<MetaItemModel>> Select() { return await _metaCollection.Find(new BsonDocument()).ToListAsync(); }
|
||||
public async Task<IEnumerable<MetaItemModel>> Select()
|
||||
{
|
||||
return await _metaCollection.Find(new BsonDocument()).ToListAsync();
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select, true)]
|
||||
public async Task<IEnumerable<MetaItemModel>> SelectByType(MetaType type) { return await _metaCollection.Find(f => f.Id.Type == type).ToListAsync(); }
|
||||
public async Task<IEnumerable<MetaItemModel>> SelectByType(MetaType type)
|
||||
{
|
||||
return await _metaCollection.Find(f => f.Id.Type == type).ToListAsync();
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select, false)]
|
||||
public async Task<MetaItemModel> SelectById(MetaItemKey id) { return await _metaCollection.Find(f => f.Id.Type == id.Type && f.Id.Value == id.Value).SingleOrDefaultAsync(); }
|
||||
public async Task<MetaItemModel> SelectById(MetaItemKey id)
|
||||
{
|
||||
return await _metaCollection.Find(f => (f.Id.Type == id.Type) && (f.Id.Value == id.Value)).SingleOrDefaultAsync();
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select, false)]
|
||||
public async Task<IEnumerable<string>> SelectUnusedLabs()
|
||||
|
@ -102,16 +111,28 @@ where usedYears.All(ul => ul.Id.Value != y.ToString())
|
|||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Insert, true)]
|
||||
public async Task Insert(MetaItemModel item) { await _metaCollection.InsertOneAsync(item); }
|
||||
public async Task Insert(MetaItemModel item)
|
||||
{
|
||||
await _metaCollection.InsertOneAsync(item);
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Update, true)]
|
||||
public async Task Update(MetaItemModel item) { await _metaCollection.ReplaceOneAsync(f => f.Id.Type == item.Id.Type && f.Id.Value == item.Id.Value, item); }
|
||||
public async Task Update(MetaItemModel item)
|
||||
{
|
||||
await _metaCollection.ReplaceOneAsync(f => (f.Id.Type == item.Id.Type) && (f.Id.Value == item.Id.Value), item);
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Insert, false)]
|
||||
public async Task InsertAll(IEnumerable<MetaItemModel> items) { await _metaCollection.InsertManyAsync(items); }
|
||||
public async Task InsertAll(IEnumerable<MetaItemModel> items)
|
||||
{
|
||||
await _metaCollection.InsertManyAsync(items);
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Delete, true)]
|
||||
public async Task DeleteById(MetaItemKey id) { await _metaCollection.DeleteOneAsync(f => f.Id.Type == id.Type && f.Id.Value == id.Value); }
|
||||
public async Task DeleteById(MetaItemKey id)
|
||||
{
|
||||
await _metaCollection.DeleteOneAsync(f => (f.Id.Type == id.Type) && (f.Id.Value == id.Value));
|
||||
}
|
||||
}
|
||||
|
||||
public class MetaItemKey
|
||||
|
@ -119,7 +140,9 @@ public class MetaItemKey
|
|||
public MetaType Type { get; set; }
|
||||
public string Value { get; set; }
|
||||
|
||||
public MetaItemKey() { }
|
||||
public MetaItemKey()
|
||||
{
|
||||
}
|
||||
|
||||
public MetaItemKey(string id)
|
||||
{
|
||||
|
@ -128,7 +151,10 @@ public MetaItemKey(string id)
|
|||
Value = items[1];
|
||||
}
|
||||
|
||||
public override string ToString() { return $"{Type}:{Value}"; }
|
||||
public override string ToString()
|
||||
{
|
||||
return $"{Type}:{Value}";
|
||||
}
|
||||
}
|
||||
|
||||
public enum MetaType
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
@using BuildFeed.Code
|
||||
@helper PaginationBlock(int currentPage, int totalPages, string view, RouteValueDictionary rd)
|
||||
{
|
||||
string multiView = view + "Page";
|
||||
string multiView = view + "Page";
|
||||
|
||||
if (totalPages > 1)
|
||||
{
|
||||
if (totalPages > 1)
|
||||
{
|
||||
<div class="text-center">
|
||||
<ul class="pagination">
|
||||
@if (currentPage == 2)
|
||||
|
@ -69,7 +69,10 @@ if (totalPages > 1)
|
|||
["page"] = i
|
||||
};
|
||||
|
||||
<li @(i == currentPage ? "class=active" : "")>@MvcIntrinsics.Html.ActionLink(i.ToString(), multiView, rvd)</li>
|
||||
<li @(i == currentPage
|
||||
? "class=active"
|
||||
: "")>
|
||||
@MvcIntrinsics.Html.ActionLink(i.ToString(), multiView, rvd)</li>
|
||||
}
|
||||
|
||||
|
||||
|
@ -99,5 +102,5 @@ if (totalPages > 1)
|
|||
}
|
||||
</ul>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,6 +4,9 @@ namespace BuildFeed
|
|||
{
|
||||
public class FilterConfig
|
||||
{
|
||||
public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); }
|
||||
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
|
||||
{
|
||||
filters.Add(new HandleErrorAttribute());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,7 +9,10 @@ public class baseController : BaseController
|
|||
{
|
||||
[Authorize(Roles = "Administrators")]
|
||||
// GET: admin/base
|
||||
public ActionResult index() { return View(); }
|
||||
public ActionResult index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
[Authorize(Users = "hounsell")]
|
||||
public ActionResult setup()
|
||||
|
@ -27,6 +30,9 @@ public ActionResult setup()
|
|||
}
|
||||
|
||||
[Authorize(Users = "hounsell")]
|
||||
public ActionResult exception() { throw new Exception("This is a test exception"); }
|
||||
public ActionResult exception()
|
||||
{
|
||||
throw new Exception("This is a test exception");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -12,7 +12,10 @@ public class metaController : BaseController
|
|||
{
|
||||
private readonly MetaItem _mModel;
|
||||
|
||||
public metaController() { _mModel = new MetaItem(); }
|
||||
public metaController()
|
||||
{
|
||||
_mModel = new MetaItem();
|
||||
}
|
||||
|
||||
// GET: admin/meta
|
||||
public async Task<ActionResult> index()
|
||||
|
|
|
@ -84,7 +84,8 @@
|
|||
}
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$(function()
|
||||
{
|
||||
var btnsGrps = $.trumbowyg.btnsGrps;
|
||||
|
||||
$("#@Html.IdFor(model => model.PageContent)")
|
||||
|
@ -101,7 +102,8 @@
|
|||
});
|
||||
|
||||
$("#@Html.IdFor(model => model.MetaDescription)")
|
||||
.keyup(function() {
|
||||
.keyup(function()
|
||||
{
|
||||
updateMetaCount();
|
||||
});
|
||||
|
||||
|
|
|
@ -61,46 +61,42 @@
|
|||
: mu.LastLockoutDate.Humanize())
|
||||
</td>
|
||||
<td class="text-right">
|
||||
@(
|
||||
mu.IsApproved
|
||||
? Html.ActionLink("Unapprove", "unapprove", new
|
||||
{
|
||||
id = mu.ProviderUserKey
|
||||
}, new
|
||||
{
|
||||
@class = "button delete-button",
|
||||
style = "width:70px;"
|
||||
})
|
||||
: Html.ActionLink("Approve", "approve", new
|
||||
{
|
||||
id = mu.ProviderUserKey
|
||||
}, new
|
||||
{
|
||||
@class = "button add-button",
|
||||
style = "width:70px;"
|
||||
})
|
||||
)
|
||||
@(mu.IsApproved
|
||||
? Html.ActionLink("Unapprove", "unapprove", new
|
||||
{
|
||||
id = mu.ProviderUserKey
|
||||
}, new
|
||||
{
|
||||
@class = "button delete-button",
|
||||
style = "width:70px;"
|
||||
})
|
||||
: Html.ActionLink("Approve", "approve", new
|
||||
{
|
||||
id = mu.ProviderUserKey
|
||||
}, new
|
||||
{
|
||||
@class = "button add-button",
|
||||
style = "width:70px;"
|
||||
}))
|
||||
</td>
|
||||
<td class="text-right">
|
||||
@(
|
||||
!mu.IsLockedOut
|
||||
? Html.ActionLink("Lock", "lock", new
|
||||
{
|
||||
id = mu.ProviderUserKey
|
||||
}, new
|
||||
{
|
||||
@class = "button delete-button",
|
||||
style = "width:70px;"
|
||||
})
|
||||
: Html.ActionLink("Unlock", "unlock", new
|
||||
{
|
||||
id = mu.ProviderUserKey
|
||||
}, new
|
||||
{
|
||||
@class = "button add-button",
|
||||
style = "width:70px;"
|
||||
})
|
||||
)
|
||||
@(!mu.IsLockedOut
|
||||
? Html.ActionLink("Lock", "lock", new
|
||||
{
|
||||
id = mu.ProviderUserKey
|
||||
}, new
|
||||
{
|
||||
@class = "button delete-button",
|
||||
style = "width:70px;"
|
||||
})
|
||||
: Html.ActionLink("Unlock", "unlock", new
|
||||
{
|
||||
id = mu.ProviderUserKey
|
||||
}, new
|
||||
{
|
||||
@class = "button add-button",
|
||||
style = "width:70px;"
|
||||
}))
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<remove name="BlockViewHandler" />
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<users>
|
||||
<user>77FAD24B9B2579631630796D246267C3</user>
|
||||
<user>77FAD24B9B2579631630796D246267C3</user>
|
||||
</users>
|
|
@ -46,6 +46,19 @@
|
|||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<TypeScriptTarget>ES6</TypeScriptTarget>
|
||||
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
|
||||
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
|
||||
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
|
||||
<TypeScriptModuleKind>ES6</TypeScriptModuleKind>
|
||||
<TypeScriptRemoveComments>False</TypeScriptRemoveComments>
|
||||
<TypeScriptOutFile />
|
||||
<TypeScriptOutDir />
|
||||
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
|
||||
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
|
||||
<TypeScriptSourceMap>True</TypeScriptSourceMap>
|
||||
<TypeScriptMapRoot />
|
||||
<TypeScriptSourceRoot />
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.4.9.5, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
|
@ -206,6 +219,7 @@
|
|||
<ItemGroup>
|
||||
<Content Include="BingSiteAuth.xml" />
|
||||
<Content Include="browserconfig.xml" />
|
||||
<Content Include="gulpfile.js" />
|
||||
<Content Include="res\card\Longhorn.png" />
|
||||
<Content Include="res\card\Redstone2.png" />
|
||||
<Content Include="res\card\Redstone.png" />
|
||||
|
@ -213,32 +227,8 @@
|
|||
<Content Include="res\card\Threshold.png" />
|
||||
<Content Include="res\card\Windows7.png" />
|
||||
<Content Include="res\card\WindowsVista.png" />
|
||||
<Content Include="res\css\dark.css">
|
||||
<DependentUpon>dark.scss</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\dark.min.css">
|
||||
<DependentUpon>dark.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\default.css">
|
||||
<DependentUpon>default.scss</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\default.min.css">
|
||||
<DependentUpon>default.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="content\icons-2x.png" />
|
||||
<Content Include="content\icons.png" />
|
||||
<Content Include="res\css\light.css">
|
||||
<DependentUpon>light.scss</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\light.min.css">
|
||||
<DependentUpon>light.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\rtl.css">
|
||||
<DependentUpon>rtl.scss</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\rtl.min.css">
|
||||
<DependentUpon>rtl.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="content\tile\wide.png" />
|
||||
<Content Include="content\tile\large.png" />
|
||||
<Content Include="content\tile\square.png" />
|
||||
|
@ -257,16 +247,37 @@
|
|||
<Content Include="Areas\admin\Views\users\admins.cshtml" />
|
||||
<Content Include="Areas\admin\Views\meta\index.cshtml" />
|
||||
<Content Include="Areas\admin\Views\meta\create.cshtml" />
|
||||
<Content Include="res\css\dark.css">
|
||||
<DependentUpon>dark.scss</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\dark.css.map">
|
||||
<DependentUpon>dark.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\default.css">
|
||||
<DependentUpon>default.scss</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\default.css.map">
|
||||
<DependentUpon>default.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\light.css">
|
||||
<DependentUpon>light.scss</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\light.css.map">
|
||||
<DependentUpon>light.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\rtl.css">
|
||||
<DependentUpon>rtl.scss</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="res\css\rtl.css.map">
|
||||
<DependentUpon>rtl.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="robots.txt" />
|
||||
<Content Include="App_Code\PaginationHelpers.cshtml" />
|
||||
<Content Include="res\css\default.scss" />
|
||||
<None Include="bundleconfig.json" />
|
||||
<None Include="compilerconfig.json" />
|
||||
<None Include="compilerconfig.json.defaults">
|
||||
<DependentUpon>compilerconfig.json</DependentUpon>
|
||||
</None>
|
||||
<Content Include="res\css\rtl.scss" />
|
||||
<Content Include="res\css\dark.scss" />
|
||||
<Content Include="package.json" />
|
||||
<None Include="Properties\PublishProfiles\Milestone 1 [DEV].pubxml" />
|
||||
<Content Include="res\ts\bfs.js">
|
||||
<DependentUpon>bfs.ts</DependentUpon>
|
||||
|
@ -445,12 +456,11 @@
|
|||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
||||
<TypeScriptTarget>ES5</TypeScriptTarget>
|
||||
<TypeScriptTarget>ES6</TypeScriptTarget>
|
||||
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
|
||||
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
|
||||
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
|
||||
<TypeScriptModuleKind>
|
||||
</TypeScriptModuleKind>
|
||||
<TypeScriptModuleKind>ES6</TypeScriptModuleKind>
|
||||
<TypeScriptRemoveComments>True</TypeScriptRemoveComments>
|
||||
<TypeScriptOutFile />
|
||||
<TypeScriptOutDir />
|
||||
|
|
|
@ -7,6 +7,9 @@ public class CustomContentTypeAttribute : ActionFilterAttribute
|
|||
{
|
||||
public string ContentType { get; set; }
|
||||
|
||||
public override void OnResultExecuted(ResultExecutedContext filterContext) { filterContext.HttpContext.Response.ContentType = ContentType; }
|
||||
public override void OnResultExecuted(ResultExecutedContext filterContext)
|
||||
{
|
||||
filterContext.HttpContext.Response.ContentType = ContentType;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,7 +6,10 @@ namespace BuildFeed.Code.Options
|
|||
{
|
||||
public class Locale
|
||||
{
|
||||
public static readonly Locale[] AvailableLocales = {
|
||||
private const string LANG_COOKIE_NAME = "bf_lang";
|
||||
|
||||
public static readonly Locale[] AvailableLocales =
|
||||
{
|
||||
new Locale("ar"),
|
||||
//new Locale("bn"),
|
||||
new Locale("cs"),
|
||||
|
@ -41,8 +44,6 @@ public class Locale
|
|||
new Locale("zh-hant")
|
||||
};
|
||||
|
||||
private const string LANG_COOKIE_NAME = "bf_lang";
|
||||
|
||||
public string DisplayName => Info.NativeName;
|
||||
|
||||
public CultureInfo Info { get; set; }
|
||||
|
@ -65,7 +66,7 @@ public static CultureInfo DetectCulture(HttpContextBase context)
|
|||
CultureInfo ci = (CultureInfo)CultureInfo.GetCultureInfo(langCookie).Clone();
|
||||
|
||||
// Get Gregorian Calendar in locale if available
|
||||
Calendar gc = ci.OptionalCalendars.FirstOrDefault(c => c is GregorianCalendar && ((GregorianCalendar)c).CalendarType == GregorianCalendarTypes.Localized);
|
||||
Calendar gc = ci.OptionalCalendars.FirstOrDefault(c => c is GregorianCalendar && (((GregorianCalendar)c).CalendarType == GregorianCalendarTypes.Localized));
|
||||
if (gc != null)
|
||||
{
|
||||
ci.DateTimeFormat.Calendar = gc;
|
||||
|
@ -74,7 +75,9 @@ public static CultureInfo DetectCulture(HttpContextBase context)
|
|||
return ci;
|
||||
}
|
||||
|
||||
catch (CultureNotFoundException) { }
|
||||
catch (CultureNotFoundException)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
return CultureInfo.CurrentCulture;
|
||||
|
|
|
@ -16,10 +16,13 @@ public class Theme
|
|||
private readonly SiteTheme _siteTheme;
|
||||
|
||||
public string CookieValue => _siteTheme.ToString();
|
||||
public string CssPath => $"~/res/css/{_siteTheme.ToString().ToLower()}.min.css";
|
||||
public string CssPath => $"~/res/css/{_siteTheme.ToString().ToLower()}.css";
|
||||
public string DisplayName => MvcExtensions.GetDisplayTextForEnum(_siteTheme);
|
||||
|
||||
public Theme(SiteTheme st) { _siteTheme = st; }
|
||||
public Theme(SiteTheme st)
|
||||
{
|
||||
_siteTheme = st;
|
||||
}
|
||||
|
||||
public static SiteTheme DetectTheme(HttpContextBase context)
|
||||
{
|
||||
|
|
|
@ -15,11 +15,11 @@ public override void OnResultExecuted(ResultExecutedContext filterContext)
|
|||
bool isRtl = CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft;
|
||||
Theme theme = new Theme(Theme.DetectTheme(filterContext.HttpContext));
|
||||
|
||||
filterContext.HttpContext.Response.PushPromise("/res/css/default.min.css");
|
||||
filterContext.HttpContext.Response.PushPromise("/res/css/default.css");
|
||||
filterContext.HttpContext.Response.PushPromise(VirtualPathUtility.ToAbsolute(theme.CssPath));
|
||||
if (isRtl)
|
||||
{
|
||||
filterContext.HttpContext.Response.PushPromise("/res/css/rtl.min.css");
|
||||
filterContext.HttpContext.Response.PushPromise("/res/css/rtl.css");
|
||||
}
|
||||
filterContext.HttpContext.Response.PushPromise("/res/ts/bfs.min.js");
|
||||
}
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
using System;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Globalization;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
using BuildFeed.Code.Options;
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
using System.Web.Security;
|
||||
using BuildFeed.Code;
|
||||
using BuildFeed.Local;
|
||||
using BuildFeed.Model.Api;
|
||||
using BuildFeed.Model;
|
||||
using BuildFeed.Model.Api;
|
||||
using BuildFeed.Model.View;
|
||||
|
||||
namespace BuildFeed.Controllers
|
||||
|
@ -16,7 +16,10 @@ public class ApiController : System.Web.Http.ApiController
|
|||
{
|
||||
private readonly BuildRepository _bModel;
|
||||
|
||||
public ApiController() { _bModel = new BuildRepository(); }
|
||||
public ApiController()
|
||||
{
|
||||
_bModel = new BuildRepository();
|
||||
}
|
||||
|
||||
public async Task<Build[]> GetBuilds(int limit = 20, int skip = 0)
|
||||
{
|
||||
|
@ -51,7 +54,7 @@ public async Task<Build[]> GetBuildsByLab(string lab, int limit = 20, int skip =
|
|||
|
||||
public async Task<IEnumerable<string>> GetWin10Labs()
|
||||
{
|
||||
List<string> labs = new List<string>();
|
||||
var labs = new List<string>();
|
||||
labs.AddRange(await _bModel.SelectLabsForVersion(6, 4));
|
||||
labs.AddRange(await _bModel.SelectLabsForVersion(10, 0));
|
||||
|
||||
|
@ -94,7 +97,7 @@ public async Task<IEnumerable<SearchResult>> GetSearchResult(string id)
|
|||
}
|
||||
|
||||
const int maxResults = 16;
|
||||
List<SearchResult> results = new List<SearchResult>();
|
||||
var results = new List<SearchResult>();
|
||||
|
||||
results.AddRange(from s in (from c in Enum.GetValues(typeof(TypeOfSource)).Cast<TypeOfSource>()
|
||||
select new
|
||||
|
@ -118,7 +121,10 @@ orderby s.Text.ToLower().IndexOf(id.ToLower(), StringComparison.Ordinal) ascendi
|
|||
Group = VariantTerms.Search_Source
|
||||
});
|
||||
|
||||
if (results.Count >= maxResults) return results.Take(maxResults);
|
||||
if (results.Count >= maxResults)
|
||||
{
|
||||
return results.Take(maxResults);
|
||||
}
|
||||
|
||||
results.AddRange(from v in await _bModel.SelectAllVersions()
|
||||
where $"{v.Major}.{v.Minor}".StartsWith(id)
|
||||
|
@ -138,7 +144,10 @@ orderby s.Text.ToLower().IndexOf(id.ToLower(), StringComparison.Ordinal) ascendi
|
|||
Group = VariantTerms.Search_Version
|
||||
});
|
||||
|
||||
if (results.Count >= maxResults) return results.Take(maxResults);
|
||||
if (results.Count >= maxResults)
|
||||
{
|
||||
return results.Take(maxResults);
|
||||
}
|
||||
|
||||
results.AddRange(from y in await _bModel.SelectAllYears()
|
||||
where y.ToString().Contains(id)
|
||||
|
@ -157,7 +166,10 @@ orderby y descending
|
|||
Group = VariantTerms.Search_Year
|
||||
});
|
||||
|
||||
if (results.Count >= maxResults) return results.Take(maxResults);
|
||||
if (results.Count >= maxResults)
|
||||
{
|
||||
return results.Take(maxResults);
|
||||
}
|
||||
|
||||
results.AddRange(from l in await _bModel.SearchLabs(id)
|
||||
select new SearchResult
|
||||
|
@ -174,7 +186,10 @@ orderby y descending
|
|||
Group = VariantTerms.Search_Lab
|
||||
});
|
||||
|
||||
if (results.Count >= maxResults) return results.Take(maxResults);
|
||||
if (results.Count >= maxResults)
|
||||
{
|
||||
return results.Take(maxResults);
|
||||
}
|
||||
|
||||
results.AddRange(from b in await _bModel.Select()
|
||||
where b.FullBuildString.ToLower().Contains(id.ToLower())
|
||||
|
|
|
@ -29,7 +29,8 @@ public FrontController()
|
|||
|
||||
[Route("", Order = 1)]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> Index()
|
||||
{
|
||||
|
@ -39,7 +40,8 @@ public async Task<ActionResult> Index()
|
|||
|
||||
[Route("page-{page:int:min(1)}/", Order = 0)]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "page", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "page", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> IndexPage(int page)
|
||||
{
|
||||
|
@ -48,15 +50,20 @@ public async Task<ActionResult> IndexPage(int page)
|
|||
ViewBag.PageNumber = page;
|
||||
ViewBag.PageCount = Math.Ceiling(Convert.ToDouble(await _bModel.SelectAllGroupsCount()) / Convert.ToDouble(PAGE_SIZE));
|
||||
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount) return new HttpNotFoundResult();
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount)
|
||||
{
|
||||
return new HttpNotFoundResult();
|
||||
}
|
||||
|
||||
return View("Pages", buildGroups);
|
||||
}
|
||||
|
||||
[Route("group/{major}.{minor}.{number}.{revision}/", Order = 1), Route("group/{major}.{minor}.{number}/", Order = 5)]
|
||||
[Route("group/{major}.{minor}.{number}.{revision}/", Order = 1)]
|
||||
[Route("group/{major}.{minor}.{number}/", Order = 5)]
|
||||
// for when there is no revision
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewGroup(uint major, uint minor, uint number, uint? revision = null)
|
||||
{
|
||||
|
@ -81,12 +88,17 @@ public async Task<ActionResult> ViewGroup(uint major, uint minor, uint number, u
|
|||
|
||||
[Route("build/{id:guid}/", Name = "Build")]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewBuild(Guid id)
|
||||
{
|
||||
Build b = await _bModel.SelectById(id);
|
||||
if (b == null) return new HttpNotFoundResult();
|
||||
if (b == null)
|
||||
{
|
||||
return new HttpNotFoundResult();
|
||||
}
|
||||
|
||||
return View(b);
|
||||
}
|
||||
|
||||
|
@ -94,7 +106,11 @@ public async Task<ActionResult> ViewBuild(Guid id)
|
|||
public async Task<ActionResult> ViewBuild(long id)
|
||||
{
|
||||
Build b = await _bModel.SelectByLegacyId(id);
|
||||
if (b == null) return new HttpNotFoundResult();
|
||||
if (b == null)
|
||||
{
|
||||
return new HttpNotFoundResult();
|
||||
}
|
||||
|
||||
return RedirectToAction(nameof(ViewBuild),
|
||||
new
|
||||
{
|
||||
|
@ -104,13 +120,16 @@ public async Task<ActionResult> ViewBuild(long id)
|
|||
|
||||
[Route("twitter/{id:guid}/", Name = "Twitter")]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "none")]
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
[CustomContentType(ContentType = "image/png", Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> TwitterCard(Guid id)
|
||||
{
|
||||
Build b = await _bModel.SelectById(id);
|
||||
if (b == null) return new HttpNotFoundResult();
|
||||
if (b == null)
|
||||
{
|
||||
return new HttpNotFoundResult();
|
||||
}
|
||||
|
||||
string path = Path.Combine(Server.MapPath("~/res/card/"), $"{b.Family}.png");
|
||||
bool backExists = System.IO.File.Exists(path);
|
||||
|
@ -128,7 +147,10 @@ public async Task<ActionResult> TwitterCard(Guid id)
|
|||
gr.SmoothingMode = SmoothingMode.HighQuality;
|
||||
gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
|
||||
|
||||
if (!backExists) gr.FillRectangle(new SolidBrush(Color.FromArgb(0x24, 0x24, 0x23)), 0, 0, 1120, 600);
|
||||
if (!backExists)
|
||||
{
|
||||
gr.FillRectangle(new SolidBrush(Color.FromArgb(0x24, 0x24, 0x23)), 0, 0, 1120, 600);
|
||||
}
|
||||
|
||||
int left = 40;
|
||||
using (GraphicsPath gp = new GraphicsPath())
|
||||
|
@ -153,7 +175,10 @@ public async Task<ActionResult> TwitterCard(Guid id)
|
|||
left = Convert.ToInt32(bounds.Width);
|
||||
left += 44;
|
||||
|
||||
if (b.Revision.HasValue) gp.AddString($".{b.Revision}", new FontFamily("Segoe UI Light"), 0, 160, new Point(left, 220), StringFormat.GenericTypographic);
|
||||
if (b.Revision.HasValue)
|
||||
{
|
||||
gp.AddString($".{b.Revision}", new FontFamily("Segoe UI Light"), 0, 160, new Point(left, 220), StringFormat.GenericTypographic);
|
||||
}
|
||||
|
||||
gr.DrawPath(new Pen(new SolidBrush(Color.FromArgb(0x24, 0x24, 0x23)), 4), gp);
|
||||
gr.FillPath(Brushes.White, gp);
|
||||
|
@ -187,7 +212,11 @@ public async Task<ActionResult> TwitterCard(Guid id)
|
|||
public async Task<ActionResult> TwitterCard(long id)
|
||||
{
|
||||
Build b = await _bModel.SelectByLegacyId(id);
|
||||
if (b == null) return new HttpNotFoundResult();
|
||||
if (b == null)
|
||||
{
|
||||
return new HttpNotFoundResult();
|
||||
}
|
||||
|
||||
return RedirectToAction(nameof(TwitterCard),
|
||||
new
|
||||
{
|
||||
|
@ -197,7 +226,8 @@ public async Task<ActionResult> TwitterCard(long id)
|
|||
|
||||
[Route("lab/{lab}/", Order = 1, Name = "Lab Root")]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewLab(string lab)
|
||||
{
|
||||
|
@ -206,7 +236,8 @@ public async Task<ActionResult> ViewLab(string lab)
|
|||
|
||||
[Route("lab/{lab}/page-{page:int:min(2)}/", Order = 0)]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "page", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "page", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewLabPage(string lab, int page)
|
||||
{
|
||||
|
@ -222,14 +253,18 @@ public async Task<ActionResult> ViewLabPage(string lab, int page)
|
|||
ViewBag.PageNumber = page;
|
||||
ViewBag.PageCount = Math.Ceiling(Convert.ToDouble(await _bModel.SelectLabCount(lab)) / Convert.ToDouble(PAGE_SIZE));
|
||||
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount) return new HttpNotFoundResult();
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount)
|
||||
{
|
||||
return new HttpNotFoundResult();
|
||||
}
|
||||
|
||||
return View("viewLab", builds);
|
||||
}
|
||||
|
||||
[Route("source/{source}/", Order = 1, Name = "Source Root")]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewSource(TypeOfSource source)
|
||||
{
|
||||
|
@ -238,7 +273,8 @@ public async Task<ActionResult> ViewSource(TypeOfSource source)
|
|||
|
||||
[Route("source/{source}/page-{page:int:min(2)}/", Order = 0)]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "page", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "page", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewSourcePage(TypeOfSource source, int page)
|
||||
{
|
||||
|
@ -254,14 +290,18 @@ public async Task<ActionResult> ViewSourcePage(TypeOfSource source, int page)
|
|||
ViewBag.PageNumber = page;
|
||||
ViewBag.PageCount = Math.Ceiling(Convert.ToDouble(await _bModel.SelectSourceCount(source)) / Convert.ToDouble(PAGE_SIZE));
|
||||
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount) return new HttpNotFoundResult();
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount)
|
||||
{
|
||||
return new HttpNotFoundResult();
|
||||
}
|
||||
|
||||
return View("viewSource", builds);
|
||||
}
|
||||
|
||||
[Route("year/{year}/", Order = 1, Name = "Year Root")]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewYear(int year)
|
||||
{
|
||||
|
@ -270,7 +310,8 @@ public async Task<ActionResult> ViewYear(int year)
|
|||
|
||||
[Route("year/{year}/page-{page:int:min(2)}/", Order = 0)]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "page", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "page", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewYearPage(int year, int page)
|
||||
{
|
||||
|
@ -286,14 +327,18 @@ public async Task<ActionResult> ViewYearPage(int year, int page)
|
|||
ViewBag.PageNumber = page;
|
||||
ViewBag.PageCount = Math.Ceiling(await _bModel.SelectYearCount(year) / Convert.ToDouble(PAGE_SIZE));
|
||||
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount) return new HttpNotFoundResult();
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount)
|
||||
{
|
||||
return new HttpNotFoundResult();
|
||||
}
|
||||
|
||||
return View("viewYear", builds);
|
||||
}
|
||||
|
||||
[Route("version/{major}.{minor}/", Order = 1, Name = "Version Root")]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewVersion(uint major, uint minor)
|
||||
{
|
||||
|
@ -302,7 +347,8 @@ public async Task<ActionResult> ViewVersion(uint major, uint minor)
|
|||
|
||||
[Route("version/{major}.{minor}/page-{page:int:min(2)}/", Order = 0)]
|
||||
#if !DEBUG
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme"), OutputCachePush(Order = 2)]
|
||||
[OutputCache(Duration = 600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
[OutputCachePush(Order = 2)]
|
||||
#endif
|
||||
public async Task<ActionResult> ViewVersionPage(uint major, uint minor, int page)
|
||||
{
|
||||
|
@ -319,12 +365,16 @@ public async Task<ActionResult> ViewVersionPage(uint major, uint minor, int page
|
|||
ViewBag.PageNumber = page;
|
||||
ViewBag.PageCount = Math.Ceiling(Convert.ToDouble(await _bModel.SelectVersionCount(major, minor)) / Convert.ToDouble(PAGE_SIZE));
|
||||
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount) return new HttpNotFoundResult();
|
||||
if (ViewBag.PageNumber > ViewBag.PageCount)
|
||||
{
|
||||
return new HttpNotFoundResult();
|
||||
}
|
||||
|
||||
return View("viewVersion", builds);
|
||||
}
|
||||
|
||||
[Route("add/"), Authorize]
|
||||
[Route("add/")]
|
||||
[Authorize]
|
||||
public ActionResult AddBuild()
|
||||
{
|
||||
Build b = new Build
|
||||
|
@ -334,7 +384,9 @@ public ActionResult AddBuild()
|
|||
return View("EditBuild", b);
|
||||
}
|
||||
|
||||
[Route("add/"), Authorize, HttpPost]
|
||||
[Route("add/")]
|
||||
[Authorize]
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> AddBuild(Build build)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
|
@ -343,8 +395,16 @@ public async Task<ActionResult> AddBuild(Build build)
|
|||
{
|
||||
build.Added = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
|
||||
build.Modified = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
|
||||
if (build.BuildTime.HasValue) build.BuildTime = DateTime.SpecifyKind(build.BuildTime.Value, DateTimeKind.Utc);
|
||||
if (build.LeakDate.HasValue) build.LeakDate = DateTime.SpecifyKind(build.LeakDate.Value, DateTimeKind.Utc);
|
||||
if (build.BuildTime.HasValue)
|
||||
{
|
||||
build.BuildTime = DateTime.SpecifyKind(build.BuildTime.Value, DateTimeKind.Utc);
|
||||
}
|
||||
|
||||
if (build.LeakDate.HasValue)
|
||||
{
|
||||
build.LeakDate = DateTime.SpecifyKind(build.LeakDate.Value, DateTimeKind.Utc);
|
||||
}
|
||||
|
||||
await _bModel.Insert(build);
|
||||
}
|
||||
catch
|
||||
|
@ -360,22 +420,33 @@ public async Task<ActionResult> AddBuild(Build build)
|
|||
return View("EditBuild", build);
|
||||
}
|
||||
|
||||
[Route("edit/{id}/"), Authorize]
|
||||
[Route("edit/{id}/")]
|
||||
[Authorize]
|
||||
public async Task<ActionResult> EditBuild(Guid id)
|
||||
{
|
||||
Build b = await _bModel.SelectById(id);
|
||||
return View(b);
|
||||
}
|
||||
|
||||
[Route("edit/{id}/"), Authorize, HttpPost]
|
||||
[Route("edit/{id}/")]
|
||||
[Authorize]
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> EditBuild(Guid id, Build build)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (build.BuildTime.HasValue) build.BuildTime = DateTime.SpecifyKind(build.BuildTime.Value, DateTimeKind.Utc);
|
||||
if (build.LeakDate.HasValue) build.LeakDate = DateTime.SpecifyKind(build.LeakDate.Value, DateTimeKind.Utc);
|
||||
if (build.BuildTime.HasValue)
|
||||
{
|
||||
build.BuildTime = DateTime.SpecifyKind(build.BuildTime.Value, DateTimeKind.Utc);
|
||||
}
|
||||
|
||||
if (build.LeakDate.HasValue)
|
||||
{
|
||||
build.LeakDate = DateTime.SpecifyKind(build.LeakDate.Value, DateTimeKind.Utc);
|
||||
}
|
||||
|
||||
await _bModel.Update(build);
|
||||
}
|
||||
catch
|
||||
|
@ -392,7 +463,8 @@ public async Task<ActionResult> EditBuild(Guid id, Build build)
|
|||
return View(build);
|
||||
}
|
||||
|
||||
[Route("delete/{id}/"), Authorize(Roles = "Administrators")]
|
||||
[Route("delete/{id}/")]
|
||||
[Authorize(Roles = "Administrators")]
|
||||
public async Task<ActionResult> DeleteBuild(Guid id)
|
||||
{
|
||||
await _bModel.DeleteById(id);
|
||||
|
|
|
@ -14,7 +14,10 @@ public class RssController : BaseController
|
|||
private const int RSS_SIZE = 25;
|
||||
private readonly BuildRepository _bModel;
|
||||
|
||||
public RssController() { _bModel = new BuildRepository(); }
|
||||
public RssController()
|
||||
{
|
||||
_bModel = new BuildRepository();
|
||||
}
|
||||
|
||||
[Route("rss/compiled")]
|
||||
public async Task<ActionResult> Index()
|
||||
|
@ -31,7 +34,8 @@ public async Task<ActionResult> Index()
|
|||
Title = build.AlternateBuildString,
|
||||
Link = new Uri($"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}"),
|
||||
Permalink = $"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}",
|
||||
Categories = {
|
||||
Categories =
|
||||
{
|
||||
build.Family.ToString()
|
||||
},
|
||||
PublishDate = DateTime.SpecifyKind(build.BuildTime.GetValueOrDefault(), DateTimeKind.Utc)
|
||||
|
@ -61,7 +65,8 @@ public async Task<ActionResult> Added()
|
|||
Title = build.AlternateBuildString,
|
||||
Link = new Uri($"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}"),
|
||||
Permalink = $"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}",
|
||||
Categories = {
|
||||
Categories =
|
||||
{
|
||||
build.Family.ToString()
|
||||
},
|
||||
PublishDate = DateTime.SpecifyKind(build.Added, DateTimeKind.Utc)
|
||||
|
@ -91,7 +96,8 @@ public async Task<ActionResult> Leaked()
|
|||
Title = build.AlternateBuildString,
|
||||
Link = new Uri($"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}"),
|
||||
Permalink = $"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}",
|
||||
Categories = {
|
||||
Categories =
|
||||
{
|
||||
build.Family.ToString()
|
||||
},
|
||||
PublishDate = DateTime.SpecifyKind(build.LeakDate.GetValueOrDefault(), DateTimeKind.Utc)
|
||||
|
@ -121,7 +127,8 @@ public async Task<ActionResult> Version()
|
|||
Title = build.AlternateBuildString,
|
||||
Link = new Uri($"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}"),
|
||||
Permalink = $"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}",
|
||||
Categories = {
|
||||
Categories =
|
||||
{
|
||||
build.Family.ToString()
|
||||
}
|
||||
}).ToList()
|
||||
|
@ -150,7 +157,8 @@ public async Task<ActionResult> Lab(string lab)
|
|||
Title = build.AlternateBuildString,
|
||||
Link = new Uri($"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}"),
|
||||
Permalink = $"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Action(nameof(FrontController.ViewBuild), new { controller = "Front", id = build.Id })}",
|
||||
Categories = {
|
||||
Categories =
|
||||
{
|
||||
build.Family.ToString()
|
||||
}
|
||||
}).ToList()
|
||||
|
|
|
@ -18,12 +18,16 @@ public class SupportController : BaseController
|
|||
{
|
||||
private readonly BuildRepository _bModel;
|
||||
|
||||
public SupportController() { _bModel = new BuildRepository(); }
|
||||
public SupportController()
|
||||
{
|
||||
_bModel = new BuildRepository();
|
||||
}
|
||||
|
||||
[Route("login/")]
|
||||
public ActionResult Login() => View();
|
||||
|
||||
[HttpPost, Route("login/")]
|
||||
[HttpPost]
|
||||
[Route("login/")]
|
||||
public ActionResult Login(LoginUser ru)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
|
@ -57,10 +61,13 @@ public ActionResult Login(LoginUser ru)
|
|||
return View(ru);
|
||||
}
|
||||
|
||||
[Authorize, Route("password/")]
|
||||
[Authorize]
|
||||
[Route("password/")]
|
||||
public ActionResult Password() => View();
|
||||
|
||||
[HttpPost, Authorize, Route("password/")]
|
||||
[HttpPost]
|
||||
[Authorize]
|
||||
[Route("password/")]
|
||||
public ActionResult Password(ChangePassword cp)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
|
@ -92,7 +99,8 @@ public ActionResult Logout()
|
|||
[Route("register/")]
|
||||
public ActionResult Register() => View();
|
||||
|
||||
[HttpPost, Route("register/")]
|
||||
[HttpPost]
|
||||
[Route("register/")]
|
||||
public ActionResult Register(RegistrationUser ru)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
|
@ -134,12 +142,12 @@ public async Task<ActionResult> Rss()
|
|||
|
||||
[Route("sitemap/")]
|
||||
#if !DEBUG
|
||||
// [OutputCache(Duration = 3600, VaryByParam = "none", VaryByCustom = "userName")]
|
||||
[OutputCache(Duration = 3600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
#endif
|
||||
public async Task<ActionResult> Sitemap()
|
||||
{
|
||||
List<Build> builds = await _bModel.SelectBuildsByOrder();
|
||||
Dictionary<string, SitemapPagedAction[]> actions = new Dictionary<string, SitemapPagedAction[]>
|
||||
var actions = new Dictionary<string, SitemapPagedAction[]>
|
||||
{
|
||||
{
|
||||
"Pages", new[]
|
||||
|
@ -278,12 +286,12 @@ into lab
|
|||
|
||||
[Route("xml-sitemap/")]
|
||||
#if !DEBUG
|
||||
// [OutputCache(Duration = 3600, VaryByParam = "none", VaryByCustom = "userName")]
|
||||
[OutputCache(Duration = 3600, VaryByParam = "none", VaryByCustom = "userName;lang;theme")]
|
||||
#endif
|
||||
public async Task<ActionResult> XmlSitemap()
|
||||
{
|
||||
XNamespace xn = XNamespace.Get("http://www.sitemaps.org/schemas/sitemap/0.9");
|
||||
List<XElement> xlist = new List<XElement>();
|
||||
var xlist = new List<XElement>();
|
||||
|
||||
// home page
|
||||
XElement home = new XElement(xn + "url");
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
</appSettings>
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<remove name="BlockViewHandler" />
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
</configuration>
|
|
@ -1,3 +1,3 @@
|
|||
@{
|
||||
Layout = "~/Views/shared/_default.cshtml";
|
||||
}
|
||||
}
|
|
@ -4,11 +4,11 @@
|
|||
@{
|
||||
bool isRtl = CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft;
|
||||
|
||||
Response.PushPromise("/res/css/default.min.css");
|
||||
Response.PushPromise("/res/css/default.css");
|
||||
Response.PushPromise(VirtualPathUtility.ToAbsolute(((Theme)ViewBag.Theme).CssPath));
|
||||
if (isRtl)
|
||||
{
|
||||
Response.PushPromise("/res/css/rtl.min.css");
|
||||
Response.PushPromise("/res/css/rtl.css");
|
||||
}
|
||||
|
||||
Response.PushPromise("/res/ts/bfs.min.js");
|
||||
|
@ -29,11 +29,11 @@
|
|||
<link rel="canonical" href="@Url.Action()" />
|
||||
<meta name="application-name" content="@InvariantTerms.SiteName" />
|
||||
|
||||
<link href="/res/css/default.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/res/css/default.css" 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.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/res/css/rtl.css" rel="stylesheet" type="text/css" />
|
||||
}
|
||||
<title>@ViewBag.Title</title>
|
||||
@RenderSection("head", false)
|
||||
|
|
|
@ -20,11 +20,11 @@
|
|||
<link rel="icon" href="~/favicon.ico" />
|
||||
<meta name="application-name" content="@InvariantTerms.SiteName" />
|
||||
|
||||
<link href="/res/css/default.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/res/css/default.css" 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.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/res/css/rtl.css" rel="stylesheet" type="text/css" />
|
||||
}
|
||||
<title>@VariantTerms.Common_Error | @InvariantTerms.SiteName</title>
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -5,4 +5,4 @@
|
|||
</system.web>
|
||||
<system.webServer>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
</configuration>
|
|
@ -31,4 +31,4 @@
|
|||
</customHeaders>
|
||||
</httpProtocol>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
</configuration>
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<configuration>
|
||||
<appSettings file="settings.config">
|
||||
<add key="webpages:Version" value="3.0.0.0" />
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square70x70logo src="content/tile/tiny.png"/>
|
||||
<square150x150logo src="content/tile/square.png"/>
|
||||
<wide310x150logo src="content/tile/wide.png"/>
|
||||
<square310x310logo src="content/tile/large.png"/>
|
||||
<TileColor>#272b30</TileColor>
|
||||
</tile>
|
||||
<notification>
|
||||
<polling-uri src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=1"/>
|
||||
<polling-uri2 src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=2"/>
|
||||
<polling-uri3 src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=3"/>
|
||||
<polling-uri4 src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=4"/>
|
||||
<polling-uri5 src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=5"/>
|
||||
<frequency>30</frequency>
|
||||
<cycle>1</cycle>
|
||||
</notification>
|
||||
</msapplication>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square70x70logo src="content/tile/tiny.png" />
|
||||
<square150x150logo src="content/tile/square.png" />
|
||||
<wide310x150logo src="content/tile/wide.png" />
|
||||
<square310x310logo src="content/tile/large.png" />
|
||||
<TileColor>#272b30</TileColor>
|
||||
</tile>
|
||||
<notification>
|
||||
<polling-uri src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=1" />
|
||||
<polling-uri2 src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=2" />
|
||||
<polling-uri3 src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=3" />
|
||||
<polling-uri4 src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=4" />
|
||||
<polling-uri5 src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&id=5" />
|
||||
<frequency>30</frequency>
|
||||
<cycle>1</cycle>
|
||||
</notification>
|
||||
</msapplication>
|
||||
</browserconfig>
|
|
@ -1,32 +1,8 @@
|
|||
[
|
||||
{
|
||||
"outputFileName": "res/css/dark.min.css",
|
||||
"inputFiles": [
|
||||
"res/css/dark.css"
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputFileName": "res/css/default.min.css",
|
||||
"inputFiles": [
|
||||
"res/css/default.css"
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputFileName": "res/css/rtl.min.css",
|
||||
"inputFiles": [
|
||||
"res/css/rtl.css"
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputFileName": "res/ts/bfs.min.js",
|
||||
"inputFiles": [
|
||||
"res/ts/bfs.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputFileName": "res/css/light.min.css",
|
||||
"inputFiles": [
|
||||
"res/css/light.css"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
[
|
||||
{
|
||||
"outputFile": "res/css/default.css",
|
||||
"inputFile": "res/css/default.scss"
|
||||
},
|
||||
{
|
||||
"outputFile": "res/css/dark.css",
|
||||
"inputFile": "res/css/dark.scss"
|
||||
},
|
||||
{
|
||||
"outputFile": "res/css/rtl.css",
|
||||
"inputFile": "res/css/rtl.scss"
|
||||
},
|
||||
{
|
||||
"outputFile": "res/css/light.css",
|
||||
"inputFile": "res/css/light.scss"
|
||||
}
|
||||
]
|
|
@ -1,49 +0,0 @@
|
|||
{
|
||||
"compilers": {
|
||||
"less": {
|
||||
"autoPrefix": "",
|
||||
"cssComb": "none",
|
||||
"ieCompat": true,
|
||||
"strictMath": false,
|
||||
"strictUnits": false,
|
||||
"relativeUrls": true,
|
||||
"rootPath": "",
|
||||
"sourceMapRoot": "",
|
||||
"sourceMapBasePath": "",
|
||||
"sourceMap": false
|
||||
},
|
||||
"sass": {
|
||||
"includePath": "",
|
||||
"indentType": "space",
|
||||
"indentWidth": 2,
|
||||
"outputStyle": "nested",
|
||||
"Precision": 5,
|
||||
"relativeUrls": true,
|
||||
"sourceMapRoot": "",
|
||||
"sourceMap": true
|
||||
},
|
||||
"stylus": {
|
||||
"sourceMap": false
|
||||
},
|
||||
"babel": {
|
||||
"sourceMap": false
|
||||
},
|
||||
"coffeescript": {
|
||||
"bare": false,
|
||||
"runtimeMode": "node",
|
||||
"sourceMap": false
|
||||
}
|
||||
},
|
||||
"minifiers": {
|
||||
"css": {
|
||||
"enabled": true,
|
||||
"termSemicolons": true,
|
||||
"gzip": false
|
||||
},
|
||||
"javascript": {
|
||||
"enabled": true,
|
||||
"termSemicolons": true,
|
||||
"gzip": false
|
||||
}
|
||||
}
|
||||
}
|
22
BuildFeed/gulpfile.js
Normal file
22
BuildFeed/gulpfile.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
/// <binding BeforeBuild='sass-compile' ProjectOpened='watch-sass' />
|
||||
var gulp = require("gulp");
|
||||
var sass = require("gulp-sass");
|
||||
var cleanCss = require("gulp-clean-css");
|
||||
var sourceMaps = require("gulp-sourcemaps");
|
||||
|
||||
gulp.task("sass-compile",
|
||||
function ()
|
||||
{
|
||||
gulp.src("./res/css/*.scss")
|
||||
.pipe(sourceMaps.init())
|
||||
.pipe(sass())
|
||||
.pipe(cleanCss())
|
||||
.pipe(sourceMaps.write("./"))
|
||||
.pipe(gulp.dest("./res/css/"));
|
||||
});
|
||||
|
||||
gulp.task("watch-sass",
|
||||
function ()
|
||||
{
|
||||
gulp.watch("./res/scss/*.scss", ["sass-compile"]);
|
||||
});
|
12
BuildFeed/package.json
Normal file
12
BuildFeed/package.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"version": "1.0.0",
|
||||
"name": "buildfeed",
|
||||
"private": true,
|
||||
|
||||
"devDependencies": {
|
||||
"gulp": "3.9.1",
|
||||
"gulp-sass": "2.3.2",
|
||||
"gulp-clean-css": "2.0.13",
|
||||
"gulp-sourcemaps": "2.1.1"
|
||||
}
|
||||
}
|
|
@ -1,79 +1,80 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<packages>
|
||||
<package id="google.analytics.TypeScript.DefinitelyTyped" version="0.3.8" targetFramework="net462" />
|
||||
<package id="HtmlAgilityPack" version="1.4.9.5" targetFramework="net462" />
|
||||
<package id="Humanizer" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.af" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.ar" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.bg" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.bn-BD" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.cs" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.da" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.de" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.el" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.es" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.fa" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.fi-FI" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.fr" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.fr-BE" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.he" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.hr" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.hu" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.id" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.it" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.ja" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.nb" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.nb-NO" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.nl" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.pl" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.pt" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.ro" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.ru" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sk" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sl" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sr" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sr-Latn" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sv" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.tr" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.uk" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.uz-Cyrl-UZ" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.uz-Latn-UZ" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.vi" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.zh-CN" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.zh-Hans" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.zh-Hant" version="2.1.0" targetFramework="net462" />
|
||||
<package id="jQuery" version="2.2.4" targetFramework="net462" />
|
||||
<package id="jquery.TypeScript.DefinitelyTyped" version="3.1.0" targetFramework="net462" />
|
||||
<package id="jQuery.Validation" version="1.15.1" targetFramework="net462" />
|
||||
<package id="jsrender.TypeScript.DefinitelyTyped" version="0.1.8" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.Agent.Intercept" version="2.0.1" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.Web" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.WindowsServer" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.1" targetFramework="net462" />
|
||||
<package id="Microsoft.CSharp" version="4.0.1" targetFramework="net462" />
|
||||
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.Net.Compilers" version="1.3.2" targetFramework="net462" developmentDependency="true" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Bson" version="2.2.4" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver" version="2.2.4" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver.Core" version="2.2.4" targetFramework="net462" />
|
||||
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net462" />
|
||||
<package id="System.Collections" version="4.0.11" targetFramework="net462" />
|
||||
<package id="System.Linq" version="4.1.0" targetFramework="net462" />
|
||||
<package id="System.Runtime" version="4.1.0" targetFramework="net462" />
|
||||
<package id="System.Threading" version="4.0.11" targetFramework="net462" />
|
||||
<package id="System.Xml.XDocument" version="4.0.11" targetFramework="net462" />
|
||||
<package id="WilderMinds.RssSyndication" version="1.0.4" targetFramework="net462" />
|
||||
<package id="google.analytics.TypeScript.DefinitelyTyped" version="0.3.8" targetFramework="net462" />
|
||||
<package id="HtmlAgilityPack" version="1.4.9.5" targetFramework="net462" />
|
||||
<package id="Humanizer" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.af" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.ar" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.bg" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.bn-BD" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.cs" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.da" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.de" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.el" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.es" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.fa" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.fi-FI" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.fr" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.fr-BE" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.he" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.hr" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.hu" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.id" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.it" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.ja" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.nb" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.nb-NO" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.nl" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.pl" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.pt" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.ro" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.ru" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sk" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sl" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sr" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sr-Latn" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.sv" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.tr" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.uk" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.uz-Cyrl-UZ" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.uz-Latn-UZ" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.vi" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.zh-CN" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.zh-Hans" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Humanizer.Core.zh-Hant" version="2.1.0" targetFramework="net462" />
|
||||
<package id="jQuery" version="2.2.4" targetFramework="net462" />
|
||||
<package id="jquery.TypeScript.DefinitelyTyped" version="3.1.0" targetFramework="net462" />
|
||||
<package id="jQuery.Validation" version="1.15.1" targetFramework="net462" />
|
||||
<package id="jsrender.TypeScript.DefinitelyTyped" version="0.1.8" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.Agent.Intercept" version="2.0.1" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.Web" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.WindowsServer" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.1.0" targetFramework="net461" />
|
||||
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.1" targetFramework="net462" />
|
||||
<package id="Microsoft.CSharp" version="4.0.1" targetFramework="net462" />
|
||||
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net462" />
|
||||
<package id="Microsoft.Net.Compilers" version="1.3.2" targetFramework="net462" developmentDependency="true" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Bson" version="2.2.4" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver" version="2.2.4" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver.Core" version="2.2.4" targetFramework="net462" />
|
||||
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net462" />
|
||||
<package id="System.Collections" version="4.0.11" targetFramework="net462" />
|
||||
<package id="System.Linq" version="4.1.0" targetFramework="net462" />
|
||||
<package id="System.Runtime" version="4.1.0" targetFramework="net462" />
|
||||
<package id="System.Threading" version="4.0.11" targetFramework="net462" />
|
||||
<package id="System.Xml.XDocument" version="4.0.11" targetFramework="net462" />
|
||||
<package id="WilderMinds.RssSyndication" version="1.0.4" targetFramework="net462" />
|
||||
</packages>
|
|
@ -1,73 +1,2 @@
|
|||
body {
|
||||
background-color: #f6f5f3;
|
||||
color: #373736; }
|
||||
|
||||
a {
|
||||
color: #fff; }
|
||||
|
||||
h1 > a,
|
||||
#page-footer a {
|
||||
color: #373736; }
|
||||
|
||||
table thead th {
|
||||
border-bottom-color: #f6f5f3; }
|
||||
|
||||
#page-content {
|
||||
background-color: #373736;
|
||||
color: #f6f5f3; }
|
||||
#page-content h3 {
|
||||
border-bottom-color: #ccc; }
|
||||
|
||||
#page-navigation {
|
||||
background-color: #242423;
|
||||
color: #f6f5f3; }
|
||||
#page-navigation button {
|
||||
color: #f6f5f3; }
|
||||
#page-navigation #page-navigation-links > li a {
|
||||
color: #f6f5f3; }
|
||||
#page-navigation #page-navigation-links > li.open > a,
|
||||
#page-navigation #page-navigation-links > li > a:hover {
|
||||
background-color: #373736; }
|
||||
|
||||
.dropdown-menu {
|
||||
background-color: #242423;
|
||||
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
|
||||
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
|
||||
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15); }
|
||||
.dropdown-menu a:hover,
|
||||
.dropdown-menu a:focus,
|
||||
.dropdown-menu a:active {
|
||||
background-color: #373736; }
|
||||
|
||||
article {
|
||||
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15) inset;
|
||||
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15) inset;
|
||||
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15) inset; }
|
||||
article h1, article h3 {
|
||||
color: #d6d5d3; }
|
||||
article .build-group > h3 > a,
|
||||
article a.more-link,
|
||||
article .build-details-comments a {
|
||||
color: #d6d5d3; }
|
||||
|
||||
ul.pagination > li.active > a {
|
||||
background: #f6f5f3;
|
||||
color: #242423 !important; }
|
||||
|
||||
ul.pagination > li:hover:not(.disabled) > a,
|
||||
ul.pagination > li:focus:not(.disabled) > a,
|
||||
ul.pagination > li:active:not(.disabled) > a {
|
||||
background: #d6d5d3;
|
||||
color: #373736 !important; }
|
||||
|
||||
#modal-search-overlay #modal-search {
|
||||
background-color: #242423; }
|
||||
#modal-search-overlay #modal-search h3 {
|
||||
color: #f6f5f3; }
|
||||
#modal-search-overlay #modal-search > #modal-search-box > #modal-search-input,
|
||||
#modal-search-overlay #modal-search > #modal-search-box > #modal-search-button {
|
||||
background-color: #373736;
|
||||
color: #f6f5f3;
|
||||
border-color: #d6d5d3; }
|
||||
|
||||
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiLi4vcmVzL2Nzcy9kYXJrLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vcmVzL2Nzcy9kYXJrLnNjc3MiCgldLAoJIm1hcHBpbmdzIjogIkFBQUEsQUFBQSxJQUFJLENBQ0o7RUFDRyxnQkFBZ0IsRUFBRSxPQUFRO0VBQzFCLEtBQUssRUFBRSxPQUFRLEdBQ2pCOztBQUVELEFBQUEsQ0FBQyxDQUNEO0VBQ0csS0FBSyxFQUFFLElBQUssR0FDZDs7QUFFRCxBQUFLLEVBQUgsR0FBRyxDQUFDO0FBQ04sQUFBYSxZQUFELENBQUMsQ0FBQyxDQUNkO0VBQ0csS0FBSyxFQUFFLE9BQVEsR0FDakI7O0FBRUQsQUFBWSxLQUFQLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDZDtFQUNHLG1CQUFtQixFQUFFLE9BQVEsR0FDL0I7O0FBRUQsQUFBQSxhQUFhLENBQ2I7RUFDRyxnQkFBZ0IsRUFBRSxPQUFRO0VBQzFCLEtBQUssRUFBRSxPQUFRLEdBTWpCO0VBVEQsQUFLRyxhQUxVLENBS1YsRUFBRSxDQUNGO0lBQ0csbUJBQW1CLEVBQUUsSUFBSyxHQUM1Qjs7QUFHSixBQUFBLGdCQUFnQixDQUNoQjtFQUNHLGdCQUFnQixFQUFFLE9BQVE7RUFDMUIsS0FBSyxFQUFFLE9BQVEsR0F1QmpCO0VBMUJELEFBS0csZ0JBTGEsQ0FLYixNQUFNLENBQ047SUFDRyxLQUFLLEVBQUUsT0FBUSxHQUNqQjtFQVJKLEFBY1MsZ0JBZE8sQ0FVYixzQkFBc0IsR0FFakIsRUFBRSxDQUVELENBQUMsQ0FDRDtJQUNHLEtBQUssRUFBRSxPQUFRLEdBQ2pCO0VBakJWLEFBbUJrQixnQkFuQkYsQ0FVYixzQkFBc0IsR0FFakIsRUFBRSxBQU9BLEtBQUssR0FBRyxDQUFDO0VBbkJuQixBQW9CWSxnQkFwQkksQ0FVYixzQkFBc0IsR0FFakIsRUFBRSxHQVFDLENBQUMsQUFBQSxNQUFNLENBQ1Q7SUFDRyxnQkFBZ0IsRUFBRSxPQUFRLEdBQzVCOztBQUtWLEFBQUEsY0FBYyxDQUNkO0VBQ0csZ0JBQWdCLEVBQUUsT0FBUTtFQUMxQixlQUFlLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQUk7RUFDaEMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQUk7RUFDbkMsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFJLEdBUTdCO0VBYkQsQUFPSSxjQVBVLENBT1gsQ0FBQyxBQUFBLE1BQU07RUFQVixBQVFJLGNBUlUsQ0FRWCxDQUFDLEFBQUEsTUFBTTtFQVJWLEFBU0ksY0FUVSxDQVNYLENBQUMsQUFBQSxPQUFPLENBQ1I7SUFDRyxnQkFBZ0IsRUFBRSxPQUFRLEdBQzVCOztBQUdKLEFBQUEsT0FBTyxDQUNQO0VBQ0csZUFBZSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFJLENBQWEsS0FBSztFQUNsRCxrQkFBa0IsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBSSxDQUFhLEtBQUs7RUFDckQsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFJLENBQWEsS0FBSyxHQWEvQztFQWpCRCxBQU1HLE9BTkksQ0FNSixFQUFFLEVBTkwsQUFNTyxPQU5BLENBTUEsRUFBRSxDQUNOO0lBQ0csS0FBSyxFQUFFLE9BQVEsR0FDakI7RUFUSixBQVd1QixPQVhoQixDQVdKLFlBQVksR0FBRyxFQUFFLEdBQUcsQ0FBQztFQVh4QixBQVlJLE9BWkcsQ0FZSixDQUFDLEFBQUEsVUFBVTtFQVpkLEFBYTJCLE9BYnBCLENBYUosdUJBQXVCLENBQUMsQ0FBQyxDQUN6QjtJQUNHLEtBQUssRUFBRSxPQUFRLEdBQ2pCOztBQUdKLEFBRWlCLEVBRmYsQUFBQSxXQUFXLEdBRVIsRUFBRSxBQUFBLE9BQU8sR0FBRyxDQUFDLENBQ2Y7RUFDRyxVQUFVLEVBQUUsT0FBUTtFQUNwQixLQUFLLEVBQUUsa0JBQW1CLEdBQzVCOztBQU5KLEFBUStCLEVBUjdCLEFBQUEsV0FBVyxHQVFSLEVBQUUsQUFBQSxNQUFNLEFBQUEsSUFBSyxDQUFBLEFBQUEsU0FBUyxJQUFJLENBQUM7QUFSaEMsQUFTK0IsRUFUN0IsQUFBQSxXQUFXLEdBU1IsRUFBRSxBQUFBLE1BQU0sQUFBQSxJQUFLLENBQUEsQUFBQSxTQUFTLElBQUksQ0FBQztBQVRoQyxBQVVnQyxFQVY5QixBQUFBLFdBQVcsR0FVUixFQUFFLEFBQUEsT0FBTyxBQUFBLElBQUssQ0FBQSxBQUFBLFNBQVMsSUFBSSxDQUFDLENBQzlCO0VBQ0csVUFBVSxFQUFFLE9BQVE7RUFDcEIsS0FBSyxFQUFFLGtCQUFtQixHQUM1Qjs7QUFHSixBQUFzQixxQkFBRCxDQUFDLGFBQWEsQ0FDbkM7RUFDRyxnQkFBZ0IsRUFBRSxPQUFRLEdBYzVCO0VBaEJELEFBSUcscUJBSmtCLENBQUMsYUFBYSxDQUloQyxFQUFFLENBQ0Y7SUFDRyxLQUFLLEVBQUUsT0FBUSxHQUNqQjtFQVBKLEFBU3lCLHFCQVRKLENBQUMsYUFBYSxHQVM5QixpQkFBaUIsR0FBRyxtQkFBbUI7RUFUNUMsQUFVeUIscUJBVkosQ0FBQyxhQUFhLEdBVTlCLGlCQUFpQixHQUFHLG9CQUFvQixDQUMxQztJQUNHLGdCQUFnQixFQUFFLE9BQVE7SUFDMUIsS0FBSyxFQUFFLE9BQVE7SUFDZixZQUFZLEVBQUUsT0FBUSxHQUN4QiIsCgkibmFtZXMiOiBbXQp9 */
|
||||
body{background-color:#f6f5f3;color:#373736}a{color:#fff}#page-footer a,h1>a{color:#373736}#page-content,#page-navigation #page-navigation-links>li a,#page-navigation button{color:#f6f5f3}table thead th{border-bottom-color:#f6f5f3}#page-content{background-color:#373736}#page-content h3{border-bottom-color:#ccc}#page-navigation{background-color:#242423;color:#f6f5f3}#page-navigation #page-navigation-links>li.open>a,#page-navigation #page-navigation-links>li>a:hover{background-color:#373736}.dropdown-menu{background-color:#242423;-moz-box-shadow:0 5px 10px rgba(0,0,0,.15);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.15);box-shadow:0 5px 10px rgba(0,0,0,.15)}.dropdown-menu a:active,.dropdown-menu a:focus,.dropdown-menu a:hover{background-color:#373736}article{-moz-box-shadow:0 5px 10px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.15) inset;box-shadow:0 5px 10px rgba(0,0,0,.15) inset}article .build-details-comments a,article .build-group>h3>a,article a.more-link,article h1,article h3{color:#d6d5d3}ul.pagination>li.active>a{background:#f6f5f3;color:#242423!important}ul.pagination>li:active:not(.disabled)>a,ul.pagination>li:focus:not(.disabled)>a,ul.pagination>li:hover:not(.disabled)>a{background:#d6d5d3;color:#373736!important}#modal-search-overlay #modal-search{background-color:#242423}#modal-search-overlay #modal-search h3{color:#f6f5f3}#modal-search-overlay #modal-search>#modal-search-box>#modal-search-button,#modal-search-overlay #modal-search>#modal-search-box>#modal-search-input{background-color:#373736;color:#f6f5f3;border-color:#d6d5d3}
|
||||
/*# sourceMappingURL=dark.css.map */
|
||||
|
|
1
BuildFeed/res/css/dark.css.map
Normal file
1
BuildFeed/res/css/dark.css.map
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["dark.scss"],"names":[],"mappings":"AAAA,KAEG,iBAAkB,QAClB,MAAO,QAGV,EAEG,MAAO,KAIV,eADA,KAGG,MAAO,QAQV,cAWA,6CAAA,wBAOM,MAAO,QAvBb,eAEG,oBAAqB,QAGxB,cAEG,iBAAkB,QAFrB,iBAOM,oBAAqB,KAI3B,iBAEG,iBAAkB,QAClB,MAAO,QAHV,kDAAA,mDAsBY,iBAAkB,QAM9B,eAEG,iBAAkB,QAClB,gBAAiB,EAAE,IAAI,KAAK,gBAC5B,mBAAoB,EAAE,IAAI,KAAK,gBAC/B,WAAY,EAAE,IAAI,KAAK,gBAL1B,wBAAA,uBAAA,uBAWM,iBAAkB,QAIxB,QAEG,gBAAiB,EAAE,IAAI,KAAK,gBAAiB,MAC7C,mBAAoB,EAAE,IAAI,KAAK,gBAAiB,MAChD,WAAY,EAAE,IAAI,KAAK,gBAAiB,MAJ3C,kCAAA,0BAAA,oBAAA,WAAA,WAQM,MAAO,QAWb,0BAIM,WAAY,QACZ,MAAO,kBALb,yCAAA,wCAAA,wCAYM,WAAY,QACZ,MAAO,kBAIb,oCAEG,iBAAkB,QAFrB,uCAMM,MAAO,QANb,2EAAA,0EAYM,iBAAkB,QAClB,MAAO,QACP,aAAc","file":"dark.css","sourcesContent":["body\r\n{\r\n background-color: #f6f5f3;\r\n color: #373736;\r\n}\r\n\r\na\r\n{\r\n color: #fff;\r\n}\r\n\r\nh1 > a,\r\n#page-footer a\r\n{\r\n color: #373736;\r\n}\r\n\r\ntable thead th\r\n{\r\n border-bottom-color: #f6f5f3;\r\n}\r\n\r\n#page-content\r\n{\r\n background-color: #373736;\r\n color: #f6f5f3;\r\n\r\n h3\r\n {\r\n border-bottom-color: #ccc;\r\n }\r\n}\r\n\r\n#page-navigation\r\n{\r\n background-color: #242423;\r\n color: #f6f5f3;\r\n\r\n button\r\n {\r\n color: #f6f5f3;\r\n }\r\n\r\n #page-navigation-links\r\n {\r\n > li\r\n {\r\n a\r\n {\r\n color: #f6f5f3;\r\n }\r\n\r\n &.open > a,\r\n > a:hover\r\n {\r\n background-color: #373736;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dropdown-menu\r\n{\r\n background-color: #242423;\r\n -moz-box-shadow: 0 5px 10px rgba(0,0,0,0.15);\r\n -webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.15);\r\n box-shadow: 0 5px 10px rgba(0,0,0,0.15);\r\n\r\n a:hover,\r\n a:focus,\r\n a:active\r\n {\r\n background-color: #373736;\r\n }\r\n}\r\n\r\narticle\r\n{\r\n -moz-box-shadow: 0 5px 10px rgba(0,0,0,0.15) inset;\r\n -webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.15) inset;\r\n box-shadow: 0 5px 10px rgba(0,0,0,0.15) inset;\r\n\r\n h1, h3\r\n {\r\n color: #d6d5d3;\r\n }\r\n\r\n .build-group > h3 > a,\r\n a.more-link,\r\n .build-details-comments a\r\n {\r\n color: #d6d5d3;\r\n }\r\n}\r\n\r\nul.pagination\r\n{\r\n > li.active > a\r\n {\r\n background: #f6f5f3;\r\n color: #242423 !important;\r\n }\r\n\r\n > li:hover:not(.disabled) > a,\r\n > li:focus:not(.disabled) > a,\r\n > li:active:not(.disabled) > a\r\n {\r\n background: #d6d5d3;\r\n color: #373736 !important;\r\n }\r\n}\r\n\r\n#modal-search-overlay #modal-search\r\n{\r\n background-color: #242423;\r\n\r\n h3\r\n {\r\n color: #f6f5f3;\r\n }\r\n\r\n > #modal-search-box > #modal-search-input,\r\n > #modal-search-box > #modal-search-button\r\n {\r\n background-color: #373736;\r\n color: #f6f5f3;\r\n border-color: #d6d5d3;\r\n }\r\n}\r\n"]}
|
1
BuildFeed/res/css/dark.min.css
vendored
1
BuildFeed/res/css/dark.min.css
vendored
|
@ -1 +0,0 @@
|
|||
body{background-color:#f6f5f3;color:#373736}a{color:#fff}h1>a,#page-footer a{color:#373736}table thead th{border-bottom-color:#f6f5f3}#page-content{background-color:#373736;color:#f6f5f3}#page-content h3{border-bottom-color:#ccc}#page-navigation{background-color:#242423;color:#f6f5f3}#page-navigation button{color:#f6f5f3}#page-navigation #page-navigation-links>li a{color:#f6f5f3}#page-navigation #page-navigation-links>li.open>a,#page-navigation #page-navigation-links>li>a:hover{background-color:#373736}.dropdown-menu{background-color:#242423;-moz-box-shadow:0 5px 10px rgba(0,0,0,.15);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.15);box-shadow:0 5px 10px rgba(0,0,0,.15)}.dropdown-menu a:hover,.dropdown-menu a:focus,.dropdown-menu a:active{background-color:#373736}article{-moz-box-shadow:0 5px 10px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.15) inset;box-shadow:0 5px 10px rgba(0,0,0,.15) inset}article h1,article h3{color:#d6d5d3}article .build-group>h3>a,article a.more-link,article .build-details-comments a{color:#d6d5d3}ul.pagination>li.active>a{background:#f6f5f3;color:#242423 !important}ul.pagination>li:hover:not(.disabled)>a,ul.pagination>li:focus:not(.disabled)>a,ul.pagination>li:active:not(.disabled)>a{background:#d6d5d3;color:#373736 !important}#modal-search-overlay #modal-search{background-color:#242423}#modal-search-overlay #modal-search h3{color:#f6f5f3}#modal-search-overlay #modal-search>#modal-search-box>#modal-search-input,#modal-search-overlay #modal-search>#modal-search-box>#modal-search-button{background-color:#373736;color:#f6f5f3;border-color:#d6d5d3}
|
File diff suppressed because one or more lines are too long
1
BuildFeed/res/css/default.css.map
Normal file
1
BuildFeed/res/css/default.css.map
Normal file
File diff suppressed because one or more lines are too long
1
BuildFeed/res/css/default.min.css
vendored
1
BuildFeed/res/css/default.min.css
vendored
File diff suppressed because one or more lines are too long
|
@ -1,73 +1,2 @@
|
|||
body {
|
||||
background-color: #373736;
|
||||
color: #f6f5f3; }
|
||||
|
||||
a {
|
||||
color: #000; }
|
||||
|
||||
h1 > a,
|
||||
#page-footer a {
|
||||
color: #f6f5f3; }
|
||||
|
||||
table thead th {
|
||||
border-bottom-color: #373736; }
|
||||
|
||||
#page-content {
|
||||
background-color: #f6f5f3;
|
||||
color: #373736; }
|
||||
#page-content h3 {
|
||||
border-bottom-color: #ccc; }
|
||||
|
||||
#page-navigation {
|
||||
background-color: #e6e5e3;
|
||||
color: #373736; }
|
||||
#page-navigation button {
|
||||
color: #373736; }
|
||||
#page-navigation #page-navigation-links > li a {
|
||||
color: #373736; }
|
||||
#page-navigation #page-navigation-links > li.open > a,
|
||||
#page-navigation #page-navigation-links > li > a:hover {
|
||||
background-color: #f6f5f3; }
|
||||
|
||||
.dropdown-menu {
|
||||
background-color: #e6e5e3;
|
||||
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
|
||||
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
|
||||
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15); }
|
||||
.dropdown-menu a:hover,
|
||||
.dropdown-menu a:focus,
|
||||
.dropdown-menu a:active {
|
||||
background-color: #f6f5f3; }
|
||||
|
||||
article {
|
||||
-moz-box-shadow: none;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none; }
|
||||
article h1, article h3 {
|
||||
color: #242423; }
|
||||
article .build-group > h3 > a,
|
||||
article a.more-link,
|
||||
article .build-details-comments a {
|
||||
color: #242423; }
|
||||
|
||||
ul.pagination > li.active > a {
|
||||
background: #373736;
|
||||
color: #e6e5e3 !important; }
|
||||
|
||||
ul.pagination > li:hover:not(.disabled) > a,
|
||||
ul.pagination > li:focus:not(.disabled) > a,
|
||||
ul.pagination > li:active:not(.disabled) > a {
|
||||
background: #242423;
|
||||
color: #f6f5f3 !important; }
|
||||
|
||||
#modal-search-overlay #modal-search {
|
||||
background-color: #f6f5f3; }
|
||||
#modal-search-overlay #modal-search h3 {
|
||||
color: #373736; }
|
||||
#modal-search-overlay #modal-search > #modal-search-box > #modal-search-input,
|
||||
#modal-search-overlay #modal-search > #modal-search-box > #modal-search-button {
|
||||
background-color: #fff;
|
||||
color: #373736;
|
||||
border-color: #242423; }
|
||||
|
||||
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiLi4vcmVzL2Nzcy9saWdodC5jc3MiLAoJInNvdXJjZXMiOiBbCgkJIi4uL3Jlcy9jc3MvbGlnaHQuc2NzcyIKCV0sCgkibWFwcGluZ3MiOiAiQUFBQSxBQUFBLElBQUksQ0FDSjtFQUNHLGdCQUFnQixFQUFFLE9BQVE7RUFDMUIsS0FBSyxFQUFFLE9BQVEsR0FDakI7O0FBRUQsQUFBQSxDQUFDLENBQ0Q7RUFDRyxLQUFLLEVBQUUsSUFBSyxHQUNkOztBQUVELEFBQUssRUFBSCxHQUFHLENBQUM7QUFDTixBQUFhLFlBQUQsQ0FBQyxDQUFDLENBQ2Q7RUFDRyxLQUFLLEVBQUUsT0FBUSxHQUNqQjs7QUFFRCxBQUFZLEtBQVAsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNkO0VBQ0csbUJBQW1CLEVBQUUsT0FBUSxHQUMvQjs7QUFFRCxBQUFBLGFBQWEsQ0FDYjtFQUNHLGdCQUFnQixFQUFFLE9BQVE7RUFDMUIsS0FBSyxFQUFFLE9BQVEsR0FNakI7RUFURCxBQUtHLGFBTFUsQ0FLVixFQUFFLENBQ0Y7SUFDRyxtQkFBbUIsRUFBRSxJQUFLLEdBQzVCOztBQUdKLEFBQUEsZ0JBQWdCLENBQ2hCO0VBQ0csZ0JBQWdCLEVBQUUsT0FBUTtFQUMxQixLQUFLLEVBQUUsT0FBUSxHQXVCakI7RUExQkQsQUFLRyxnQkFMYSxDQUtiLE1BQU0sQ0FDTjtJQUNHLEtBQUssRUFBRSxPQUFRLEdBQ2pCO0VBUkosQUFjUyxnQkFkTyxDQVViLHNCQUFzQixHQUVqQixFQUFFLENBRUQsQ0FBQyxDQUNEO0lBQ0csS0FBSyxFQUFFLE9BQVEsR0FDakI7RUFqQlYsQUFtQmtCLGdCQW5CRixDQVViLHNCQUFzQixHQUVqQixFQUFFLEFBT0EsS0FBSyxHQUFHLENBQUM7RUFuQm5CLEFBb0JZLGdCQXBCSSxDQVViLHNCQUFzQixHQUVqQixFQUFFLEdBUUMsQ0FBQyxBQUFBLE1BQU0sQ0FDVDtJQUNHLGdCQUFnQixFQUFFLE9BQVEsR0FDNUI7O0FBS1YsQUFBQSxjQUFjLENBQ2Q7RUFDRyxnQkFBZ0IsRUFBRSxPQUFRO0VBQzFCLGVBQWUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBSTtFQUNoQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBSTtFQUNuQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQUksR0FRN0I7RUFiRCxBQU9JLGNBUFUsQ0FPWCxDQUFDLEFBQUEsTUFBTTtFQVBWLEFBUUksY0FSVSxDQVFYLENBQUMsQUFBQSxNQUFNO0VBUlYsQUFTSSxjQVRVLENBU1gsQ0FBQyxBQUFBLE9BQU8sQ0FDUjtJQUNHLGdCQUFnQixFQUFFLE9BQVEsR0FDNUI7O0FBR0osQUFBQSxPQUFPLENBQ1A7RUFDRyxlQUFlLEVBQUUsSUFBSztFQUN0QixrQkFBa0IsRUFBRSxJQUFLO0VBQ3pCLFVBQVUsRUFBRSxJQUFLLEdBYW5CO0VBakJELEFBTUcsT0FOSSxDQU1KLEVBQUUsRUFOTCxBQU1PLE9BTkEsQ0FNQSxFQUFFLENBQ047SUFDRyxLQUFLLEVBQUUsT0FBUSxHQUNqQjtFQVRKLEFBV3VCLE9BWGhCLENBV0osWUFBWSxHQUFHLEVBQUUsR0FBRyxDQUFDO0VBWHhCLEFBWUksT0FaRyxDQVlKLENBQUMsQUFBQSxVQUFVO0VBWmQsQUFhMkIsT0FicEIsQ0FhSix1QkFBdUIsQ0FBQyxDQUFDLENBQ3pCO0lBQ0csS0FBSyxFQUFFLE9BQVEsR0FDakI7O0FBR0osQUFFaUIsRUFGZixBQUFBLFdBQVcsR0FFUixFQUFFLEFBQUEsT0FBTyxHQUFHLENBQUMsQ0FDZjtFQUNHLFVBQVUsRUFBRSxPQUFRO0VBQ3BCLEtBQUssRUFBRSxrQkFBbUIsR0FDNUI7O0FBTkosQUFRK0IsRUFSN0IsQUFBQSxXQUFXLEdBUVIsRUFBRSxBQUFBLE1BQU0sQUFBQSxJQUFLLENBQUEsQUFBQSxTQUFTLElBQUksQ0FBQztBQVJoQyxBQVMrQixFQVQ3QixBQUFBLFdBQVcsR0FTUixFQUFFLEFBQUEsTUFBTSxBQUFBLElBQUssQ0FBQSxBQUFBLFNBQVMsSUFBSSxDQUFDO0FBVGhDLEFBVWdDLEVBVjlCLEFBQUEsV0FBVyxHQVVSLEVBQUUsQUFBQSxPQUFPLEFBQUEsSUFBSyxDQUFBLEFBQUEsU0FBUyxJQUFJLENBQUMsQ0FDOUI7RUFDRyxVQUFVLEVBQUUsT0FBUTtFQUNwQixLQUFLLEVBQUUsa0JBQW1CLEdBQzVCOztBQUdKLEFBQXNCLHFCQUFELENBQUMsYUFBYSxDQUNuQztFQUNHLGdCQUFnQixFQUFFLE9BQVEsR0FjNUI7RUFoQkQsQUFJRyxxQkFKa0IsQ0FBQyxhQUFhLENBSWhDLEVBQUUsQ0FDRjtJQUNHLEtBQUssRUFBRSxPQUFRLEdBQ2pCO0VBUEosQUFTeUIscUJBVEosQ0FBQyxhQUFhLEdBUzlCLGlCQUFpQixHQUFHLG1CQUFtQjtFQVQ1QyxBQVV5QixxQkFWSixDQUFDLGFBQWEsR0FVOUIsaUJBQWlCLEdBQUcsb0JBQW9CLENBQzFDO0lBQ0csZ0JBQWdCLEVBQUUsSUFBSztJQUN2QixLQUFLLEVBQUUsT0FBUTtJQUNmLFlBQVksRUFBRSxPQUFRLEdBQ3hCIiwKCSJuYW1lcyI6IFtdCn0= */
|
||||
body{background-color:#373736;color:#f6f5f3}a{color:#000}#page-footer a,h1>a{color:#f6f5f3}#page-content,#page-navigation #page-navigation-links>li a,#page-navigation button{color:#373736}table thead th{border-bottom-color:#373736}#page-content{background-color:#f6f5f3}#page-content h3{border-bottom-color:#ccc}#page-navigation{background-color:#e6e5e3;color:#373736}#page-navigation #page-navigation-links>li.open>a,#page-navigation #page-navigation-links>li>a:hover{background-color:#f6f5f3}.dropdown-menu{background-color:#e6e5e3;-moz-box-shadow:0 5px 10px rgba(0,0,0,.15);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.15);box-shadow:0 5px 10px rgba(0,0,0,.15)}.dropdown-menu a:active,.dropdown-menu a:focus,.dropdown-menu a:hover{background-color:#f6f5f3}article{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}article .build-details-comments a,article .build-group>h3>a,article a.more-link,article h1,article h3{color:#242423}ul.pagination>li.active>a{background:#373736;color:#e6e5e3!important}ul.pagination>li:active:not(.disabled)>a,ul.pagination>li:focus:not(.disabled)>a,ul.pagination>li:hover:not(.disabled)>a{background:#242423;color:#f6f5f3!important}#modal-search-overlay #modal-search{background-color:#f6f5f3}#modal-search-overlay #modal-search h3{color:#373736}#modal-search-overlay #modal-search>#modal-search-box>#modal-search-button,#modal-search-overlay #modal-search>#modal-search-box>#modal-search-input{background-color:#fff;color:#373736;border-color:#242423}
|
||||
/*# sourceMappingURL=light.css.map */
|
||||
|
|
1
BuildFeed/res/css/light.css.map
Normal file
1
BuildFeed/res/css/light.css.map
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["light.scss"],"names":[],"mappings":"AAAA,KAEG,iBAAkB,QAClB,MAAO,QAGV,EAEG,MAAO,KAIV,eADA,KAGG,MAAO,QAQV,cAWA,6CAAA,wBAOM,MAAO,QAvBb,eAEG,oBAAqB,QAGxB,cAEG,iBAAkB,QAFrB,iBAOM,oBAAqB,KAI3B,iBAEG,iBAAkB,QAClB,MAAO,QAHV,kDAAA,mDAsBY,iBAAkB,QAM9B,eAEG,iBAAkB,QAClB,gBAAiB,EAAE,IAAI,KAAK,gBAC5B,mBAAoB,EAAE,IAAI,KAAK,gBAC/B,WAAY,EAAE,IAAI,KAAK,gBAL1B,wBAAA,uBAAA,uBAWM,iBAAkB,QAIxB,QAEG,gBAAiB,KACjB,mBAAoB,KACpB,WAAY,KAJf,kCAAA,0BAAA,oBAAA,WAAA,WAQM,MAAO,QAWb,0BAIM,WAAY,QACZ,MAAO,kBALb,yCAAA,wCAAA,wCAYM,WAAY,QACZ,MAAO,kBAIb,oCAEG,iBAAkB,QAFrB,uCAMM,MAAO,QANb,2EAAA,0EAYM,iBAAkB,KAClB,MAAO,QACP,aAAc","file":"light.css","sourcesContent":["body\r\n{\r\n background-color: #373736;\r\n color: #f6f5f3;\r\n}\r\n\r\na\r\n{\r\n color: #000;\r\n}\r\n\r\nh1 > a,\r\n#page-footer a\r\n{\r\n color: #f6f5f3;\r\n}\r\n\r\ntable thead th\r\n{\r\n border-bottom-color: #373736;\r\n}\r\n\r\n#page-content\r\n{\r\n background-color: #f6f5f3;\r\n color: #373736;\r\n\r\n h3\r\n {\r\n border-bottom-color: #ccc;\r\n }\r\n}\r\n\r\n#page-navigation\r\n{\r\n background-color: #e6e5e3;\r\n color: #373736;\r\n\r\n button\r\n {\r\n color: #373736;\r\n }\r\n\r\n #page-navigation-links\r\n {\r\n > li\r\n {\r\n a\r\n {\r\n color: #373736;\r\n }\r\n\r\n &.open > a,\r\n > a:hover\r\n {\r\n background-color: #f6f5f3;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dropdown-menu\r\n{\r\n background-color: #e6e5e3;\r\n -moz-box-shadow: 0 5px 10px rgba(0,0,0,0.15);\r\n -webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.15);\r\n box-shadow: 0 5px 10px rgba(0,0,0,0.15);\r\n\r\n a:hover,\r\n a:focus,\r\n a:active\r\n {\r\n background-color: #f6f5f3;\r\n }\r\n}\r\n\r\narticle\r\n{\r\n -moz-box-shadow: none;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n\r\n h1, h3\r\n {\r\n color: #242423;\r\n }\r\n\r\n .build-group > h3 > a,\r\n a.more-link,\r\n .build-details-comments a\r\n {\r\n color: #242423;\r\n }\r\n}\r\n\r\nul.pagination\r\n{\r\n > li.active > a\r\n {\r\n background: #373736;\r\n color: #e6e5e3 !important;\r\n }\r\n\r\n > li:hover:not(.disabled) > a,\r\n > li:focus:not(.disabled) > a,\r\n > li:active:not(.disabled) > a\r\n {\r\n background: #242423;\r\n color: #f6f5f3 !important;\r\n }\r\n}\r\n\r\n#modal-search-overlay #modal-search\r\n{\r\n background-color: #f6f5f3;\r\n\r\n h3\r\n {\r\n color: #373736;\r\n }\r\n\r\n > #modal-search-box > #modal-search-input,\r\n > #modal-search-box > #modal-search-button\r\n {\r\n background-color: #fff;\r\n color: #373736;\r\n border-color: #242423;\r\n }\r\n}\r\n"]}
|
1
BuildFeed/res/css/light.min.css
vendored
1
BuildFeed/res/css/light.min.css
vendored
|
@ -1 +0,0 @@
|
|||
body{background-color:#373736;color:#f6f5f3}a{color:#000}h1>a,#page-footer a{color:#f6f5f3}table thead th{border-bottom-color:#373736}#page-content{background-color:#f6f5f3;color:#373736}#page-content h3{border-bottom-color:#ccc}#page-navigation{background-color:#e6e5e3;color:#373736}#page-navigation button{color:#373736}#page-navigation #page-navigation-links>li a{color:#373736}#page-navigation #page-navigation-links>li.open>a,#page-navigation #page-navigation-links>li>a:hover{background-color:#f6f5f3}.dropdown-menu{background-color:#e6e5e3;-moz-box-shadow:0 5px 10px rgba(0,0,0,.15);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.15);box-shadow:0 5px 10px rgba(0,0,0,.15)}.dropdown-menu a:hover,.dropdown-menu a:focus,.dropdown-menu a:active{background-color:#f6f5f3}article{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}article h1,article h3{color:#242423}article .build-group>h3>a,article a.more-link,article .build-details-comments a{color:#242423}ul.pagination>li.active>a{background:#373736;color:#e6e5e3 !important}ul.pagination>li:hover:not(.disabled)>a,ul.pagination>li:focus:not(.disabled)>a,ul.pagination>li:active:not(.disabled)>a{background:#242423;color:#f6f5f3 !important}#modal-search-overlay #modal-search{background-color:#f6f5f3}#modal-search-overlay #modal-search h3{color:#373736}#modal-search-overlay #modal-search>#modal-search-box>#modal-search-input,#modal-search-overlay #modal-search>#modal-search-box>#modal-search-button{background-color:#fff;color:#373736;border-color:#242423}
|
|
@ -1,31 +1,2 @@
|
|||
nav#page-navigation #page-navigation-links {
|
||||
text-align: left; }
|
||||
nav#page-navigation #page-navigation-links > li > a {
|
||||
text-align: right; }
|
||||
|
||||
.dropdown-parent .dropdown-menu {
|
||||
text-align: right; }
|
||||
.dropdown-parent .dropdown-menu .dropdown-menu-block {
|
||||
float: right; }
|
||||
.dropdown-parent .dropdown-menu .dropdown-menu-block li {
|
||||
float: right; }
|
||||
|
||||
.form-group label {
|
||||
text-align: left; }
|
||||
|
||||
article .build-group-listing .build-group h3 {
|
||||
text-align: right; }
|
||||
|
||||
footer#page-footer .footer-flex .footer-flex-item:last-child {
|
||||
text-align: left; }
|
||||
|
||||
footer#page-footer .footer-flex .footer-flex-item:first-child {
|
||||
text-align: right; }
|
||||
|
||||
@media (max-width: 640px) {
|
||||
footer#page-footer .footer-flex .footer-flex-item:first-child {
|
||||
text-align: center; }
|
||||
footer#page-footer .footer-flex .footer-flex-item:last-child {
|
||||
text-align: center; } }
|
||||
|
||||
/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiLi4vcmVzL2Nzcy9ydGwuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi9yZXMvY3NzL3J0bC5zY3NzIgoJXSwKCSJtYXBwaW5ncyI6ICJBQUFBLEFBQW9CLEdBQWpCLEFBQUEsZ0JBQWdCLENBQUMsc0JBQXNCLENBQzFDO0VBQ0csVUFBVSxFQUFFLElBQUssR0FNbkI7RUFSRCxBQUlVLEdBSlAsQUFBQSxnQkFBZ0IsQ0FBQyxzQkFBc0IsR0FJckMsRUFBRSxHQUFHLENBQUMsQ0FDUjtJQUNHLFVBQVUsRUFBRSxLQUFNLEdBQ3BCOztBQUdKLEFBQWlCLGdCQUFELENBQUMsY0FBYyxDQUMvQjtFQUNHLFVBQVUsRUFBRSxLQUFNLEdBV3BCO0VBYkQsQUFJRyxnQkFKYSxDQUFDLGNBQWMsQ0FJNUIsb0JBQW9CLENBQ3BCO0lBQ0csS0FBSyxFQUFFLEtBQU0sR0FNZjtJQVpKLEFBUU0sZ0JBUlUsQ0FBQyxjQUFjLENBSTVCLG9CQUFvQixDQUlqQixFQUFFLENBQ0Y7TUFDRyxLQUFLLEVBQUUsS0FBTSxHQUNmOztBQUlQLEFBQVksV0FBRCxDQUFDLEtBQUssQ0FDakI7RUFDRyxVQUFVLEVBQUUsSUFBSyxHQUNuQjs7QUFFRCxBQUEwQyxPQUFuQyxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQzVDO0VBQ0csVUFBVSxFQUFFLEtBQU0sR0FDcEI7O0FBRUQsQUFBZ0MsTUFBMUIsQUFBQSxZQUFZLENBQUMsWUFBWSxDQUFDLGlCQUFpQixBQUc3QyxXQUFXLENBQ1o7RUFDRyxVQUFVLEVBQUUsSUFBSyxHQUNuQjs7QUFOSixBQUFnQyxNQUExQixBQUFBLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEFBUTdDLFlBQVksQ0FDYjtFQUNHLFVBQVUsRUFBRSxLQUFNLEdBQ3BCOztBQUdKLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztFQUVkLEFBQWdDLE1BQTFCLEFBQUEsWUFBWSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQUFFN0MsWUFBWSxDQUNiO0lBQ0csVUFBVSxFQUFFLE1BQU8sR0FDckI7RUFMSixBQUFnQyxNQUExQixBQUFBLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEFBTzdDLFdBQVcsQ0FDWjtJQUNHLFVBQVUsRUFBRSxNQUFPLEdBQ3JCIiwKCSJuYW1lcyI6IFtdCn0= */
|
||||
nav#page-navigation #page-navigation-links{text-align:left}.dropdown-parent .dropdown-menu,nav#page-navigation #page-navigation-links>li>a{text-align:right}.dropdown-parent .dropdown-menu .dropdown-menu-block,.dropdown-parent .dropdown-menu .dropdown-menu-block li{float:right}.form-group label{text-align:left}article .build-group-listing .build-group h3{text-align:right}footer#page-footer .footer-flex .footer-flex-item:last-child{text-align:left}footer#page-footer .footer-flex .footer-flex-item:first-child{text-align:right}@media (max-width:640px){footer#page-footer .footer-flex .footer-flex-item:first-child,footer#page-footer .footer-flex .footer-flex-item:last-child{text-align:center}}
|
||||
/*# sourceMappingURL=rtl.css.map */
|
||||
|
|
1
BuildFeed/res/css/rtl.css.map
Normal file
1
BuildFeed/res/css/rtl.css.map
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["rtl.scss"],"names":[],"mappings":"AAAA,2CAEG,WAAY,KAQf,gCAVA,gDAMM,WAAY,MAIlB,qDAAA,wDAMM,MAAO,MASb,kBAEG,WAAY,KAGf,6CAEG,WAAY,MAGf,6DAKM,WAAY,KALlB,8DAUM,WAAY,MAIlB,yBAEG,8DAAA,6DAIM,WAAY","file":"rtl.css","sourcesContent":["nav#page-navigation #page-navigation-links\r\n{\r\n text-align: left;\r\n\r\n > li > a\r\n {\r\n text-align: right;\r\n }\r\n}\r\n\r\n.dropdown-parent .dropdown-menu\r\n{\r\n text-align: right;\r\n\r\n .dropdown-menu-block\r\n {\r\n float: right;\r\n\r\n li\r\n {\r\n float: right;\r\n }\r\n }\r\n}\r\n\r\n.form-group label\r\n{\r\n text-align: left;\r\n}\r\n\r\narticle .build-group-listing .build-group h3\r\n{\r\n text-align: right;\r\n}\r\n\r\nfooter#page-footer .footer-flex .footer-flex-item\r\n{\r\n\r\n &:last-child\r\n {\r\n text-align: left;\r\n }\r\n\r\n &:first-child\r\n {\r\n text-align: right;\r\n }\r\n}\r\n\r\n@media (max-width: 640px)\r\n{\r\n footer#page-footer .footer-flex .footer-flex-item\r\n {\r\n &:first-child\r\n {\r\n text-align: center;\r\n }\r\n\r\n &:last-child\r\n {\r\n text-align: center;\r\n }\r\n }\r\n}\r\n"]}
|
1
BuildFeed/res/css/rtl.min.css
vendored
1
BuildFeed/res/css/rtl.min.css
vendored
|
@ -1 +0,0 @@
|
|||
nav#page-navigation #page-navigation-links{text-align:left;}nav#page-navigation #page-navigation-links>li>a{text-align:right;}.dropdown-parent .dropdown-menu{text-align:right;}.dropdown-parent .dropdown-menu .dropdown-menu-block{float:right;}.dropdown-parent .dropdown-menu .dropdown-menu-block li{float:right;}.form-group label{text-align:left;}article .build-group-listing .build-group h3{text-align:right;}footer#page-footer .footer-flex .footer-flex-item:last-child{text-align:left;}footer#page-footer .footer-flex .footer-flex-item:first-child{text-align:right;}@media(max-width:640px){footer#page-footer .footer-flex .footer-flex-item:first-child{text-align:center;}footer#page-footer .footer-flex .footer-flex-item:last-child{text-align:center;}}
|
|
@ -1,44 +1,42 @@
|
|||
/// <reference path="../../scripts/typings/google.analytics/ga.d.ts" />
|
||||
/// <reference path="../../scripts/typings/jsrender/jsrender.d.ts" />
|
||||
var BuildFeed;
|
||||
(function (BuildFeed) {
|
||||
var ajax;
|
||||
var timeout;
|
||||
let ajax;
|
||||
let timeout;
|
||||
function MobileMenuToggle(ev) {
|
||||
ev.preventDefault();
|
||||
var button = this;
|
||||
const button = this;
|
||||
button.nextElementSibling.classList.toggle("open");
|
||||
}
|
||||
BuildFeed.MobileMenuToggle = MobileMenuToggle;
|
||||
function DropdownClick(ev) {
|
||||
ev.preventDefault();
|
||||
var link = this;
|
||||
const link = this;
|
||||
link.parentElement.classList.toggle("open");
|
||||
}
|
||||
BuildFeed.DropdownClick = DropdownClick;
|
||||
function SwitchTheme(ev) {
|
||||
ev.preventDefault();
|
||||
var link = this;
|
||||
document.cookie = "bf_theme=" + link.dataset["theme"] + "; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
|
||||
const link = this;
|
||||
document.cookie = `bf_theme=${link.dataset["theme"]}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`;
|
||||
location.reload(true);
|
||||
}
|
||||
BuildFeed.SwitchTheme = SwitchTheme;
|
||||
function SwitchLanguage(ev) {
|
||||
ev.preventDefault();
|
||||
var link = this;
|
||||
document.cookie = "bf_lang=" + link.dataset["lang"] + "; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
|
||||
const link = this;
|
||||
document.cookie = `bf_lang=${link.dataset["lang"]}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`;
|
||||
location.reload(true);
|
||||
}
|
||||
BuildFeed.SwitchLanguage = SwitchLanguage;
|
||||
function OpenSearch(ev) {
|
||||
ev.preventDefault();
|
||||
var modal = document.getElementById("modal-search-overlay");
|
||||
const modal = document.getElementById("modal-search-overlay");
|
||||
modal.classList.add("open");
|
||||
}
|
||||
BuildFeed.OpenSearch = OpenSearch;
|
||||
function CloseSearch(ev) {
|
||||
ev.preventDefault();
|
||||
var modal = document.getElementById("modal-search-overlay");
|
||||
const modal = document.getElementById("modal-search-overlay");
|
||||
modal.classList.remove("open");
|
||||
}
|
||||
BuildFeed.CloseSearch = CloseSearch;
|
||||
|
@ -48,7 +46,7 @@ var BuildFeed;
|
|||
}
|
||||
BuildFeed.StopClick = StopClick;
|
||||
function InitiateSearch(ev) {
|
||||
var resultPane = document.getElementById("modal-search-result");
|
||||
const resultPane = document.getElementById("modal-search-result");
|
||||
resultPane.innerHTML = "";
|
||||
if (typeof (timeout) !== "undefined") {
|
||||
clearTimeout(timeout);
|
||||
|
@ -63,10 +61,10 @@ var BuildFeed;
|
|||
if (typeof (timeout) !== "undefined") {
|
||||
clearTimeout(timeout);
|
||||
}
|
||||
var modalInput = document.getElementById("modal-search-input");
|
||||
const modalInput = document.getElementById("modal-search-input");
|
||||
ajax = new XMLHttpRequest();
|
||||
ajax.onreadystatechange = CompleteSearch;
|
||||
ajax.open("GET", "/api/GetSearchResult/" + modalInput.value + "/", true);
|
||||
ajax.open("GET", `/api/GetSearchResult/${modalInput.value}/`, true);
|
||||
ajax.setRequestHeader("accept", "application/json");
|
||||
ajax.send(null);
|
||||
}
|
||||
|
@ -75,49 +73,49 @@ var BuildFeed;
|
|||
if (ajax.readyState !== XMLHttpRequest.DONE || ajax.status !== 200) {
|
||||
return;
|
||||
}
|
||||
var resultPane = document.getElementById("modal-search-result");
|
||||
var templateContent = document.getElementById("result-template");
|
||||
var template = jsrender.templates(templateContent.innerHTML);
|
||||
var content = template.render(JSON.parse(ajax.responseText));
|
||||
const resultPane = document.getElementById("modal-search-result");
|
||||
const templateContent = document.getElementById("result-template");
|
||||
const template = jsrender.templates(templateContent.innerHTML);
|
||||
const content = template.render(JSON.parse(ajax.responseText));
|
||||
resultPane.innerHTML = content;
|
||||
var resultLinks = resultPane.getElementsByTagName("a");
|
||||
for (var i = 0; i < resultLinks.length; i++) {
|
||||
resultLinks[i].addEventListener("click", function (mev) {
|
||||
const resultLinks = resultPane.getElementsByTagName("a");
|
||||
for (let i = 0; i < resultLinks.length; i++) {
|
||||
resultLinks[i].addEventListener("click", (mev) => {
|
||||
mev.preventDefault();
|
||||
var modalInput = document.getElementById("modal-search-input");
|
||||
ga("send", "pageview", "/api/GetSearchResult/" + modalInput.value + "/");
|
||||
const modalInput = document.getElementById("modal-search-input");
|
||||
ga("send", "pageview", `/api/GetSearchResult/${modalInput.value}/`);
|
||||
location.assign(mev.currentTarget.href);
|
||||
});
|
||||
}
|
||||
}
|
||||
BuildFeed.CompleteSearch = CompleteSearch;
|
||||
function BuildFeedSetup(ev) {
|
||||
var ddParents = document.getElementsByClassName("dropdown-parent");
|
||||
for (var i = 0; i < ddParents.length; i++) {
|
||||
for (var j = 0; j < ddParents[i].childNodes.length; j++) {
|
||||
var el = ddParents[i].childNodes[j];
|
||||
const ddParents = document.getElementsByClassName("dropdown-parent");
|
||||
for (let i = 0; i < ddParents.length; i++) {
|
||||
for (let j = 0; j < ddParents[i].childNodes.length; j++) {
|
||||
const el = ddParents[i].childNodes[j];
|
||||
if (el.nodeName === "A") {
|
||||
el.addEventListener("click", DropdownClick);
|
||||
}
|
||||
}
|
||||
}
|
||||
var ddThemes = document.getElementById("settings-theme-menu").getElementsByTagName("a");
|
||||
for (var i = 0; i < ddThemes.length; i++) {
|
||||
const ddThemes = document.getElementById("settings-theme-menu").getElementsByTagName("a");
|
||||
for (let i = 0; i < ddThemes.length; i++) {
|
||||
ddThemes[i].addEventListener("click", SwitchTheme);
|
||||
}
|
||||
var ddLangs = document.getElementById("settings-lang-menu").getElementsByTagName("a");
|
||||
for (var i = 0; i < ddLangs.length; i++) {
|
||||
const ddLangs = document.getElementById("settings-lang-menu").getElementsByTagName("a");
|
||||
for (let i = 0; i < ddLangs.length; i++) {
|
||||
ddLangs[i].addEventListener("click", SwitchLanguage);
|
||||
}
|
||||
var btnNav = document.getElementById("page-navigation-toggle");
|
||||
const btnNav = document.getElementById("page-navigation-toggle");
|
||||
btnNav.addEventListener("click", MobileMenuToggle);
|
||||
var btnSearch = document.getElementById("page-navigation-search");
|
||||
const btnSearch = document.getElementById("page-navigation-search");
|
||||
btnSearch.addEventListener("click", OpenSearch);
|
||||
var modalOverlay = document.getElementById("modal-search-overlay");
|
||||
const modalOverlay = document.getElementById("modal-search-overlay");
|
||||
modalOverlay.addEventListener("click", CloseSearch);
|
||||
var modalDialog = document.getElementById("modal-search");
|
||||
const modalDialog = document.getElementById("modal-search");
|
||||
modalDialog.addEventListener("click", StopClick);
|
||||
var modalInput = document.getElementById("modal-search-input");
|
||||
const modalInput = document.getElementById("modal-search-input");
|
||||
modalInput.addEventListener("keyup", InitiateSearch);
|
||||
}
|
||||
BuildFeed.BuildFeedSetup = BuildFeedSetup;
|
||||
|
|
File diff suppressed because one or more lines are too long
2
BuildFeed/res/ts/bfs.min.js
vendored
2
BuildFeed/res/ts/bfs.min.js
vendored
|
@ -1 +1 @@
|
|||
var BuildFeed;(function(n){function r(n){n.preventDefault();var t=this;t.nextElementSibling.classList.toggle("open")}function u(n){n.preventDefault();var t=this;t.parentElement.classList.toggle("open")}function f(n){n.preventDefault();var t=this;document.cookie="bf_theme="+t.dataset.theme+"; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";location.reload(!0)}function e(n){n.preventDefault();var t=this;document.cookie="bf_lang="+t.dataset.lang+"; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";location.reload(!0)}function o(n){n.preventDefault();var t=document.getElementById("modal-search-overlay");t.classList.add("open")}function s(n){n.preventDefault();var t=document.getElementById("modal-search-overlay");t.classList.remove("open")}function h(n){n.preventDefault();n.stopPropagation()}function c(){var n=document.getElementById("modal-search-result");n.innerHTML="";typeof i!="undefined"&&clearTimeout(i);typeof t!="undefined"&&t.readyState!==XMLHttpRequest.DONE&&t.abort();i=setInterval(l,200)}function l(){typeof i!="undefined"&&clearTimeout(i);var n=document.getElementById("modal-search-input");t=new XMLHttpRequest;t.onreadystatechange=a;t.open("GET","/api/GetSearchResult/"+n.value+"/",!0);t.setRequestHeader("accept","application/json");t.send(null)}function a(){var i,n;if(t.readyState===XMLHttpRequest.DONE&&t.status===200){var r=document.getElementById("modal-search-result"),u=document.getElementById("result-template"),f=jsrender.templates(u.innerHTML),e=f.render(JSON.parse(t.responseText));for(r.innerHTML=e,i=r.getElementsByTagName("a"),n=0;n<i.length;n++)i[n].addEventListener("click",function(n){n.preventDefault();var t=document.getElementById("modal-search-input");ga("send","pageview","/api/GetSearchResult/"+t.value+"/");location.assign(n.currentTarget.href)})}}function v(){for(var t,l,a,v,y,p,w,b,k,i=document.getElementsByClassName("dropdown-parent"),n=0;n<i.length;n++)for(t=0;t<i[n].childNodes.length;t++)l=i[n].childNodes[t],l.nodeName==="A"&&l.addEventListener("click",u);for(a=document.getElementById("settings-theme-menu").getElementsByTagName("a"),n=0;n<a.length;n++)a[n].addEventListener("click",f);for(v=document.getElementById("settings-lang-menu").getElementsByTagName("a"),n=0;n<v.length;n++)v[n].addEventListener("click",e);y=document.getElementById("page-navigation-toggle");y.addEventListener("click",r);p=document.getElementById("page-navigation-search");p.addEventListener("click",o);w=document.getElementById("modal-search-overlay");w.addEventListener("click",s);b=document.getElementById("modal-search");b.addEventListener("click",h);k=document.getElementById("modal-search-input");k.addEventListener("keyup",c)}var t,i;n.MobileMenuToggle=r;n.DropdownClick=u;n.SwitchTheme=f;n.SwitchLanguage=e;n.OpenSearch=o;n.CloseSearch=s;n.StopClick=h;n.InitiateSearch=c;n.SendSearch=l;n.CompleteSearch=a;n.BuildFeedSetup=v})(BuildFeed||(BuildFeed={}));window.addEventListener("load",BuildFeed.BuildFeedSetup);
|
||||
var BuildFeed;(function(n){function r(n){n.preventDefault();const t=this;t.nextElementSibling.classList.toggle("open")}function u(n){n.preventDefault();const t=this;t.parentElement.classList.toggle("open")}function f(n){n.preventDefault();const t=this;document.cookie=`bf_theme=${t.dataset.theme}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`;location.reload(!0)}function e(n){n.preventDefault();const t=this;document.cookie=`bf_lang=${t.dataset.lang}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`;location.reload(!0)}function o(n){n.preventDefault();const t=document.getElementById("modal-search-overlay");t.classList.add("open")}function s(n){n.preventDefault();const t=document.getElementById("modal-search-overlay");t.classList.remove("open")}function h(n){n.preventDefault();n.stopPropagation()}function c(){const n=document.getElementById("modal-search-result");n.innerHTML="";typeof i!="undefined"&&clearTimeout(i);typeof t!="undefined"&&t.readyState!==XMLHttpRequest.DONE&&t.abort();i=setInterval(l,200)}function l(){typeof i!="undefined"&&clearTimeout(i);const n=document.getElementById("modal-search-input");t=new XMLHttpRequest;t.onreadystatechange=a;t.open("GET",`/api/GetSearchResult/${n.value}/`,!0);t.setRequestHeader("accept","application/json");t.send(null)}function a(){if(t.readyState===XMLHttpRequest.DONE&&t.status===200){const n=document.getElementById("modal-search-result"),r=document.getElementById("result-template"),u=jsrender.templates(r.innerHTML),f=u.render(JSON.parse(t.responseText));n.innerHTML=f;const i=n.getElementsByTagName("a");for(let n=0;n<i.length;n++)i[n].addEventListener("click",n=>{n.preventDefault();const t=document.getElementById("modal-search-input");ga("send","pageview",`/api/GetSearchResult/${t.value}/`);location.assign(n.currentTarget.href)})}}function v(){const n=document.getElementsByClassName("dropdown-parent");for(let t=0;t<n.length;t++)for(let i=0;i<n[t].childNodes.length;i++){const r=n[t].childNodes[i];r.nodeName==="A"&&r.addEventListener("click",u)}const t=document.getElementById("settings-theme-menu").getElementsByTagName("a");for(let n=0;n<t.length;n++)t[n].addEventListener("click",f);const i=document.getElementById("settings-lang-menu").getElementsByTagName("a");for(let n=0;n<i.length;n++)i[n].addEventListener("click",e);const l=document.getElementById("page-navigation-toggle");l.addEventListener("click",r);const a=document.getElementById("page-navigation-search");a.addEventListener("click",o);const v=document.getElementById("modal-search-overlay");v.addEventListener("click",s);const y=document.getElementById("modal-search");y.addEventListener("click",h);const p=document.getElementById("modal-search-input");p.addEventListener("keyup",c)}let t,i;n.MobileMenuToggle=r;n.DropdownClick=u;n.SwitchTheme=f;n.SwitchLanguage=e;n.OpenSearch=o;n.CloseSearch=s;n.StopClick=h;n.InitiateSearch=c;n.SendSearch=l;n.CompleteSearch=a;n.BuildFeedSetup=v})(BuildFeed||(BuildFeed={}));window.addEventListener("load",BuildFeed.BuildFeedSetup);
|
|
@ -22,7 +22,8 @@ module BuildFeed
|
|||
link.parentElement.classList.toggle("open");
|
||||
}
|
||||
|
||||
export function SwitchTheme(ev: MouseEvent) {
|
||||
export function SwitchTheme(ev: MouseEvent)
|
||||
{
|
||||
ev.preventDefault();
|
||||
|
||||
const link = this as HTMLAnchorElement;
|
||||
|
@ -138,7 +139,8 @@ module BuildFeed
|
|||
}
|
||||
|
||||
const ddThemes = document.getElementById("settings-theme-menu").getElementsByTagName("a");
|
||||
for (let i = 0; i < ddThemes.length; i++) {
|
||||
for (let i = 0; i < ddThemes.length; i++)
|
||||
{
|
||||
ddThemes[i].addEventListener("click", SwitchTheme);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user