diff --git a/Autofac.Integration.Mvc/Autofac.Integration.Mvc.csproj b/Autofac.Integration.Mvc/Autofac.Integration.Mvc.csproj
index 14ed3a232..08f5d9494 100644
--- a/Autofac.Integration.Mvc/Autofac.Integration.Mvc.csproj
+++ b/Autofac.Integration.Mvc/Autofac.Integration.Mvc.csproj
@@ -56,30 +56,14 @@
-
- False
- ..\Libraries\MVC3\System.Web.Helpers.dll
-
False
..\Libraries\MVC3\System.Web.Mvc.dll
-
- False
- ..\Libraries\MVC3\System.Web.Razor.dll
-
False
..\Libraries\MVC3\System.Web.WebPages.dll
-
- False
- ..\Libraries\MVC3\System.Web.WebPages.Deployment.dll
-
-
- False
- ..\Libraries\MVC3\System.Web.WebPages.Razor.dll
-
diff --git a/NzbDrone.Api/Bootstrapper.cs b/NzbDrone.Api/Bootstrapper.cs
index 092f7d441..dc07f319e 100644
--- a/NzbDrone.Api/Bootstrapper.cs
+++ b/NzbDrone.Api/Bootstrapper.cs
@@ -5,6 +5,8 @@ using Autofac;
using NLog;
using Nancy.Bootstrapper;
using Nancy.Bootstrappers.Autofac;
+using Nancy.Conventions;
+using Nancy.Diagnostics;
using NzbDrone.Api.ErrorManagment;
using NzbDrone.Api.Extentions;
using NzbDrone.Api.QualityProfiles;
@@ -14,6 +16,7 @@ using NzbDrone.Api.Series;
using NzbDrone.Core;
using NzbDrone.Core.Helpers;
using NzbDrone.Core.Repository.Quality;
+using ErrorPipeline = NzbDrone.Api.ErrorManagment.ErrorPipeline;
namespace NzbDrone.Api
{
@@ -27,6 +30,14 @@ namespace NzbDrone.Api
_logger = LogManager.GetCurrentClassLogger();
}
+ protected override Nancy.IRootPathProvider RootPathProvider
+ {
+ get
+ {
+ return new RootPathProvider();
+ }
+ }
+
protected override void ApplicationStartup(ILifetimeScope container, IPipelines pipelines)
{
InitializeAutomapper();
@@ -100,5 +111,18 @@ namespace NzbDrone.Api
return internalConfig;
}
}
+
+
+ protected override DiagnosticsConfiguration DiagnosticsConfiguration
+ {
+ get { return new DiagnosticsConfiguration { Password = @"password" }; }
+ }
+
+
+ protected override void ConfigureConventions(Nancy.Conventions.NancyConventions nancyConventions)
+ {
+ base.ConfigureConventions(nancyConventions);
+ Conventions.StaticContentsConventions.Add(StaticContentConventionBuilder.AddDirectory("static", @"NzbDrone.Backbone",new string[]{".css",".js",".html",".htm",".jpg",".jpeg",".icon",".gif",".png",".woff",".ttf"}));
+ }
}
}
\ No newline at end of file
diff --git a/NzbDrone.Api/Extentions/RootPathProvider.cs b/NzbDrone.Api/Extentions/RootPathProvider.cs
new file mode 100644
index 000000000..9f5bda027
--- /dev/null
+++ b/NzbDrone.Api/Extentions/RootPathProvider.cs
@@ -0,0 +1,14 @@
+using System.IO;
+using System.Linq;
+using Nancy;
+
+namespace NzbDrone.Api.Extentions
+{
+ public class RootPathProvider : IRootPathProvider
+ {
+ public string GetRootPath()
+ {
+ return Directory.GetCurrentDirectory();
+ }
+ }
+}
\ No newline at end of file
diff --git a/NzbDrone.Api/Extentions/Serializer.cs b/NzbDrone.Api/Extentions/Serializer.cs
index 9210f0381..cd815d53a 100644
--- a/NzbDrone.Api/Extentions/Serializer.cs
+++ b/NzbDrone.Api/Extentions/Serializer.cs
@@ -1,4 +1,5 @@
-using System.Linq;
+using System.IO;
+using System.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
diff --git a/NzbDrone.Api/FrontendModule/BootstrapModule.cs b/NzbDrone.Api/FrontendModule/BootstrapModule.cs
new file mode 100644
index 000000000..3b0bd04a4
--- /dev/null
+++ b/NzbDrone.Api/FrontendModule/BootstrapModule.cs
@@ -0,0 +1,43 @@
+using System;
+using System.IO;
+using System.Linq;
+using Nancy;
+using Nancy.Responses;
+
+namespace NzbDrone.Api.FrontendModule
+{
+ public class BootstrapModule : NancyModule
+ {
+ private readonly ICompileLess _lessCompiler;
+
+ public BootstrapModule(ICompileLess lessCompiler)
+ {
+ _lessCompiler = lessCompiler;
+ Get[@"static/content/bootstrap/bootstrap.less"] = x => OnGet();
+ }
+
+ private Response OnGet()
+ {
+/* var urlParts = Request.Path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
+
+ if (urlParts.Length < 2)
+ {
+ return new NotFoundResponse();
+ }
+
+ urlParts[0] = "NzbDrone.Backbone";
+
+ var filePath = Path.Combine(urlParts);
+
+
+ if (!File.Exists(filePath))
+ {
+ return new NotFoundResponse();
+ }*/
+
+ var css = _lessCompiler.Compile(Path.Combine("NzbDrone.Backbone","Content","Bootstrap","bootstrap.less"));
+
+ return new TextResponse(HttpStatusCode.OK, css) { ContentType = "text/css" };
+ }
+ }
+}
\ No newline at end of file
diff --git a/NzbDrone.Api/FrontendModule/IndexModule.cs b/NzbDrone.Api/FrontendModule/IndexModule.cs
new file mode 100644
index 000000000..0ca2cae38
--- /dev/null
+++ b/NzbDrone.Api/FrontendModule/IndexModule.cs
@@ -0,0 +1,13 @@
+using System.Linq;
+using Nancy;
+
+namespace NzbDrone.Api.FrontendModule
+{
+ public class IndexModule : NancyModule
+ {
+ public IndexModule()
+ {
+ Get[@"/"] = x => View["NzbDrone.Backbone/index.html"];
+ }
+ }
+}
\ No newline at end of file
diff --git a/NzbDrone.Api/FrontendModule/LessService.cs b/NzbDrone.Api/FrontendModule/LessService.cs
new file mode 100644
index 000000000..b3bac4cbc
--- /dev/null
+++ b/NzbDrone.Api/FrontendModule/LessService.cs
@@ -0,0 +1,56 @@
+using System.IO;
+using System.Linq;
+using dotless.Core;
+using dotless.Core.Importers;
+using dotless.Core.Input;
+using dotless.Core.Parser;
+
+namespace NzbDrone.Api.FrontendModule
+{
+ public interface ICompileLess
+ {
+ string Compile(string filePath);
+ }
+
+ public class LessCompiler : ICompileLess
+ {
+
+ public string Compile(string filePath)
+ {
+ var parser = new Parser()
+ {
+ Importer = new Importer(new LessFileReader(filePath))
+ };
+
+ var lessEngine = new LessEngine(parser, null, false, true);
+ var lessContent = File.ReadAllText(filePath);
+ return lessEngine.TransformToCss(lessContent, filePath);
+ }
+
+
+ class LessFileReader : IFileReader
+ {
+ private readonly string _rootFolders;
+
+ public LessFileReader(string masterFile)
+ {
+ _rootFolders = new FileInfo(masterFile).Directory.FullName;
+ }
+
+ public byte[] GetBinaryFileContents(string fileName)
+ {
+ return File.ReadAllBytes(Path.Combine(_rootFolders, fileName));
+ }
+
+ public string GetFileContents(string fileName)
+ {
+ return File.ReadAllText(Path.Combine(_rootFolders, fileName));
+ }
+
+ public bool DoesFileExist(string fileName)
+ {
+ return File.Exists(Path.Combine(_rootFolders, fileName));
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/NzbDrone.Api/NzbDrone.Api.csproj b/NzbDrone.Api/NzbDrone.Api.csproj
index 93102a6d2..b162f2c23 100644
--- a/NzbDrone.Api/NzbDrone.Api.csproj
+++ b/NzbDrone.Api/NzbDrone.Api.csproj
@@ -82,6 +82,9 @@
..\packages\AutoMapper.2.2.0\lib\net40\AutoMapper.dll
+
+ ..\packages\DotlessClientOnly.1.3.1.0\lib\dotless.ClientOnly.dll
+
..\packages\FluentValidation.3.4.6.0\lib\Net40\FluentValidation.dll
@@ -89,13 +92,9 @@
False
..\packages\Nancy.0.16.1\lib\net40\Nancy.dll
-
- False
- ..\NzbDrone.Services.Api\bin\Nancy.Bootstrappers.Autofac.dll
-
-
+
False
- ..\packages\Nancy.Hosting.Aspnet.0.16.1\lib\net40\Nancy.Hosting.Aspnet.dll
+ ..\packages\Nancy.Bootstrappers.Autofac.0.16.1\lib\net40\Nancy.Bootstrappers.Autofac.dll
False
@@ -121,9 +120,13 @@
+
+
+
+
diff --git a/NzbDrone.Api/packages.config b/NzbDrone.Api/packages.config
index bd2cd274e..a3fc7c270 100644
--- a/NzbDrone.Api/packages.config
+++ b/NzbDrone.Api/packages.config
@@ -2,9 +2,10 @@
+
-
+
\ No newline at end of file
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/AddSeriesLayout.js b/NzbDrone.Backbone/AddSeries/AddSeriesLayout.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/AddSeriesLayout.js
rename to NzbDrone.Backbone/AddSeries/AddSeriesLayout.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/Existing/FolderMatchResultViewTemplatate.html b/NzbDrone.Backbone/AddSeries/Existing/FolderMatchResultViewTemplatate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/Existing/FolderMatchResultViewTemplatate.html
rename to NzbDrone.Backbone/AddSeries/Existing/FolderMatchResultViewTemplatate.html
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/Existing/ImportSeriesView.js b/NzbDrone.Backbone/AddSeries/Existing/ImportSeriesView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/Existing/ImportSeriesView.js
rename to NzbDrone.Backbone/AddSeries/Existing/ImportSeriesView.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/Existing/RootFolderCompositeViewTemplate.html b/NzbDrone.Backbone/AddSeries/Existing/RootFolderCompositeViewTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/Existing/RootFolderCompositeViewTemplate.html
rename to NzbDrone.Backbone/AddSeries/Existing/RootFolderCompositeViewTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/Existing/UnmappedFolderCompositeViewTemplatate.html b/NzbDrone.Backbone/AddSeries/Existing/UnmappedFolderCompositeViewTemplatate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/Existing/UnmappedFolderCompositeViewTemplatate.html
rename to NzbDrone.Backbone/AddSeries/Existing/UnmappedFolderCompositeViewTemplatate.html
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/Existing/UnmappedFolderModel.js b/NzbDrone.Backbone/AddSeries/Existing/UnmappedFolderModel.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/Existing/UnmappedFolderModel.js
rename to NzbDrone.Backbone/AddSeries/Existing/UnmappedFolderModel.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/New/AddNewSeriesTemplate.html b/NzbDrone.Backbone/AddSeries/New/AddNewSeriesTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/New/AddNewSeriesTemplate.html
rename to NzbDrone.Backbone/AddSeries/New/AddNewSeriesTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/New/AddNewSeriesView.js b/NzbDrone.Backbone/AddSeries/New/AddNewSeriesView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/New/AddNewSeriesView.js
rename to NzbDrone.Backbone/AddSeries/New/AddNewSeriesView.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/New/SearchResultTemplate.html b/NzbDrone.Backbone/AddSeries/New/SearchResultTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/New/SearchResultTemplate.html
rename to NzbDrone.Backbone/AddSeries/New/SearchResultTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/New/SearchResultView.js b/NzbDrone.Backbone/AddSeries/New/SearchResultView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/New/SearchResultView.js
rename to NzbDrone.Backbone/AddSeries/New/SearchResultView.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderCollection.js b/NzbDrone.Backbone/AddSeries/RootFolders/RootFolderCollection.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderCollection.js
rename to NzbDrone.Backbone/AddSeries/RootFolders/RootFolderCollection.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderItemTemplate.html b/NzbDrone.Backbone/AddSeries/RootFolders/RootFolderItemTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderItemTemplate.html
rename to NzbDrone.Backbone/AddSeries/RootFolders/RootFolderItemTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderModel.js b/NzbDrone.Backbone/AddSeries/RootFolders/RootFolderModel.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderModel.js
rename to NzbDrone.Backbone/AddSeries/RootFolders/RootFolderModel.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderTemplate.html b/NzbDrone.Backbone/AddSeries/RootFolders/RootFolderTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderTemplate.html
rename to NzbDrone.Backbone/AddSeries/RootFolders/RootFolderTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderView.js b/NzbDrone.Backbone/AddSeries/RootFolders/RootFolderView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/RootFolders/RootFolderView.js
rename to NzbDrone.Backbone/AddSeries/RootFolders/RootFolderView.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/SearchResultCollection.js b/NzbDrone.Backbone/AddSeries/SearchResultCollection.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/SearchResultCollection.js
rename to NzbDrone.Backbone/AddSeries/SearchResultCollection.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/SearchResultModel.js b/NzbDrone.Backbone/AddSeries/SearchResultModel.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/SearchResultModel.js
rename to NzbDrone.Backbone/AddSeries/SearchResultModel.js
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/addSeries.css b/NzbDrone.Backbone/AddSeries/addSeries.css
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/addSeries.css
rename to NzbDrone.Backbone/AddSeries/addSeries.css
diff --git a/NzbDrone.Web/_backboneApp/AddSeries/addSeriesLayoutTemplate.html b/NzbDrone.Backbone/AddSeries/addSeriesLayoutTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/AddSeries/addSeriesLayoutTemplate.html
rename to NzbDrone.Backbone/AddSeries/addSeriesLayoutTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/accordion.less b/NzbDrone.Backbone/Content/Bootstrap/accordion.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/accordion.less
rename to NzbDrone.Backbone/Content/Bootstrap/accordion.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/alerts.less b/NzbDrone.Backbone/Content/Bootstrap/alerts.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/alerts.less
rename to NzbDrone.Backbone/Content/Bootstrap/alerts.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/bootstrap.less b/NzbDrone.Backbone/Content/Bootstrap/bootstrap.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/bootstrap.less
rename to NzbDrone.Backbone/Content/Bootstrap/bootstrap.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/breadcrumbs.less b/NzbDrone.Backbone/Content/Bootstrap/breadcrumbs.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/breadcrumbs.less
rename to NzbDrone.Backbone/Content/Bootstrap/breadcrumbs.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/bundle.txt b/NzbDrone.Backbone/Content/Bootstrap/bundle.txt
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/bundle.txt
rename to NzbDrone.Backbone/Content/Bootstrap/bundle.txt
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/button-groups.less b/NzbDrone.Backbone/Content/Bootstrap/button-groups.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/button-groups.less
rename to NzbDrone.Backbone/Content/Bootstrap/button-groups.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/buttons.less b/NzbDrone.Backbone/Content/Bootstrap/buttons.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/buttons.less
rename to NzbDrone.Backbone/Content/Bootstrap/buttons.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/carousel.less b/NzbDrone.Backbone/Content/Bootstrap/carousel.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/carousel.less
rename to NzbDrone.Backbone/Content/Bootstrap/carousel.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/close.less b/NzbDrone.Backbone/Content/Bootstrap/close.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/close.less
rename to NzbDrone.Backbone/Content/Bootstrap/close.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/code.less b/NzbDrone.Backbone/Content/Bootstrap/code.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/code.less
rename to NzbDrone.Backbone/Content/Bootstrap/code.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/component-animations.less b/NzbDrone.Backbone/Content/Bootstrap/component-animations.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/component-animations.less
rename to NzbDrone.Backbone/Content/Bootstrap/component-animations.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/dropdowns.less b/NzbDrone.Backbone/Content/Bootstrap/dropdowns.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/dropdowns.less
rename to NzbDrone.Backbone/Content/Bootstrap/dropdowns.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/font-awesome-ie7.less b/NzbDrone.Backbone/Content/Bootstrap/font-awesome-ie7.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/font-awesome-ie7.less
rename to NzbDrone.Backbone/Content/Bootstrap/font-awesome-ie7.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/font-awesome.less b/NzbDrone.Backbone/Content/Bootstrap/font-awesome.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/font-awesome.less
rename to NzbDrone.Backbone/Content/Bootstrap/font-awesome.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/forms.less b/NzbDrone.Backbone/Content/Bootstrap/forms.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/forms.less
rename to NzbDrone.Backbone/Content/Bootstrap/forms.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/grid.less b/NzbDrone.Backbone/Content/Bootstrap/grid.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/grid.less
rename to NzbDrone.Backbone/Content/Bootstrap/grid.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/hero-unit.less b/NzbDrone.Backbone/Content/Bootstrap/hero-unit.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/hero-unit.less
rename to NzbDrone.Backbone/Content/Bootstrap/hero-unit.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/labels-badges.less b/NzbDrone.Backbone/Content/Bootstrap/labels-badges.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/labels-badges.less
rename to NzbDrone.Backbone/Content/Bootstrap/labels-badges.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/layouts.less b/NzbDrone.Backbone/Content/Bootstrap/layouts.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/layouts.less
rename to NzbDrone.Backbone/Content/Bootstrap/layouts.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/media.less b/NzbDrone.Backbone/Content/Bootstrap/media.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/media.less
rename to NzbDrone.Backbone/Content/Bootstrap/media.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/mixins.less b/NzbDrone.Backbone/Content/Bootstrap/mixins.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/mixins.less
rename to NzbDrone.Backbone/Content/Bootstrap/mixins.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/modals.less b/NzbDrone.Backbone/Content/Bootstrap/modals.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/modals.less
rename to NzbDrone.Backbone/Content/Bootstrap/modals.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/navbar.less b/NzbDrone.Backbone/Content/Bootstrap/navbar.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/navbar.less
rename to NzbDrone.Backbone/Content/Bootstrap/navbar.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/navs.less b/NzbDrone.Backbone/Content/Bootstrap/navs.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/navs.less
rename to NzbDrone.Backbone/Content/Bootstrap/navs.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/pager.less b/NzbDrone.Backbone/Content/Bootstrap/pager.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/pager.less
rename to NzbDrone.Backbone/Content/Bootstrap/pager.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/pagination.less b/NzbDrone.Backbone/Content/Bootstrap/pagination.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/pagination.less
rename to NzbDrone.Backbone/Content/Bootstrap/pagination.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/popovers.less b/NzbDrone.Backbone/Content/Bootstrap/popovers.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/popovers.less
rename to NzbDrone.Backbone/Content/Bootstrap/popovers.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/progress-bars.less b/NzbDrone.Backbone/Content/Bootstrap/progress-bars.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/progress-bars.less
rename to NzbDrone.Backbone/Content/Bootstrap/progress-bars.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/reset.less b/NzbDrone.Backbone/Content/Bootstrap/reset.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/reset.less
rename to NzbDrone.Backbone/Content/Bootstrap/reset.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/scaffolding.less b/NzbDrone.Backbone/Content/Bootstrap/scaffolding.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/scaffolding.less
rename to NzbDrone.Backbone/Content/Bootstrap/scaffolding.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/sprites.less b/NzbDrone.Backbone/Content/Bootstrap/sprites.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/sprites.less
rename to NzbDrone.Backbone/Content/Bootstrap/sprites.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/tables.less b/NzbDrone.Backbone/Content/Bootstrap/tables.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/tables.less
rename to NzbDrone.Backbone/Content/Bootstrap/tables.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/thumbnails.less b/NzbDrone.Backbone/Content/Bootstrap/thumbnails.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/thumbnails.less
rename to NzbDrone.Backbone/Content/Bootstrap/thumbnails.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/tooltip.less b/NzbDrone.Backbone/Content/Bootstrap/tooltip.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/tooltip.less
rename to NzbDrone.Backbone/Content/Bootstrap/tooltip.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/type.less b/NzbDrone.Backbone/Content/Bootstrap/type.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/type.less
rename to NzbDrone.Backbone/Content/Bootstrap/type.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/utilities.less b/NzbDrone.Backbone/Content/Bootstrap/utilities.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/utilities.less
rename to NzbDrone.Backbone/Content/Bootstrap/utilities.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/variables.less b/NzbDrone.Backbone/Content/Bootstrap/variables.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/variables.less
rename to NzbDrone.Backbone/Content/Bootstrap/variables.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Bootstrap/wells.less b/NzbDrone.Backbone/Content/Bootstrap/wells.less
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Bootstrap/wells.less
rename to NzbDrone.Backbone/Content/Bootstrap/wells.less
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/FileSharingTalk.png b/NzbDrone.Backbone/Content/Images/Indexers/FileSharingTalk.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/FileSharingTalk.png
rename to NzbDrone.Backbone/Content/Images/Indexers/FileSharingTalk.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/Newznab.png b/NzbDrone.Backbone/Content/Images/Indexers/Newznab.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/Newznab.png
rename to NzbDrone.Backbone/Content/Images/Indexers/Newznab.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/Newznab_Nzbs.org.png b/NzbDrone.Backbone/Content/Images/Indexers/Newznab_Nzbs.org.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/Newznab_Nzbs.org.png
rename to NzbDrone.Backbone/Content/Images/Indexers/Newznab_Nzbs.org.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/Newznab_dognzb.cr.png b/NzbDrone.Backbone/Content/Images/Indexers/Newznab_dognzb.cr.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/Newznab_dognzb.cr.png
rename to NzbDrone.Backbone/Content/Images/Indexers/Newznab_dognzb.cr.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/Newznab_nzb.su.png b/NzbDrone.Backbone/Content/Images/Indexers/Newznab_nzb.su.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/Newznab_nzb.su.png
rename to NzbDrone.Backbone/Content/Images/Indexers/Newznab_nzb.su.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/NzbClub.png b/NzbDrone.Backbone/Content/Images/Indexers/NzbClub.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/NzbClub.png
rename to NzbDrone.Backbone/Content/Images/Indexers/NzbClub.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/NzbIndex.png b/NzbDrone.Backbone/Content/Images/Indexers/NzbIndex.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/NzbIndex.png
rename to NzbDrone.Backbone/Content/Images/Indexers/NzbIndex.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/NzbsRus.png b/NzbDrone.Backbone/Content/Images/Indexers/NzbsRus.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/NzbsRus.png
rename to NzbDrone.Backbone/Content/Images/Indexers/NzbsRus.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/Unknown.png b/NzbDrone.Backbone/Content/Images/Indexers/Unknown.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/Unknown.png
rename to NzbDrone.Backbone/Content/Images/Indexers/Unknown.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/WomblesIndex.png b/NzbDrone.Backbone/Content/Images/Indexers/WomblesIndex.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/WomblesIndex.png
rename to NzbDrone.Backbone/Content/Images/Indexers/WomblesIndex.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/nzbx.png b/NzbDrone.Backbone/Content/Images/Indexers/nzbx.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/nzbx.png
rename to NzbDrone.Backbone/Content/Images/Indexers/nzbx.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/Indexers/omgwtfnzbs.png b/NzbDrone.Backbone/Content/Images/Indexers/omgwtfnzbs.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/Indexers/omgwtfnzbs.png
rename to NzbDrone.Backbone/Content/Images/Indexers/omgwtfnzbs.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/ajax-loader.gif b/NzbDrone.Backbone/Content/Images/ajax-loader.gif
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/ajax-loader.gif
rename to NzbDrone.Backbone/Content/Images/ajax-loader.gif
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/apple-touch-icon-114.png b/NzbDrone.Backbone/Content/Images/apple-touch-icon-114.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/apple-touch-icon-114.png
rename to NzbDrone.Backbone/Content/Images/apple-touch-icon-114.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/apple-touch-icon-144.png b/NzbDrone.Backbone/Content/Images/apple-touch-icon-144.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/apple-touch-icon-144.png
rename to NzbDrone.Backbone/Content/Images/apple-touch-icon-144.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/azure.gif b/NzbDrone.Backbone/Content/Images/azure.gif
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/azure.gif
rename to NzbDrone.Backbone/Content/Images/azure.gif
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/background.jpg b/NzbDrone.Backbone/Content/Images/background.jpg
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/background.jpg
rename to NzbDrone.Backbone/Content/Images/background.jpg
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/gritter.png b/NzbDrone.Backbone/Content/Images/gritter.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/gritter.png
rename to NzbDrone.Backbone/Content/Images/gritter.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/icon_source.url b/NzbDrone.Backbone/Content/Images/icon_source.url
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/icon_source.url
rename to NzbDrone.Backbone/Content/Images/icon_source.url
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/icons.png b/NzbDrone.Backbone/Content/Images/icons.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/icons.png
rename to NzbDrone.Backbone/Content/Images/icons.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/logo.png b/NzbDrone.Backbone/Content/Images/logo.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/logo.png
rename to NzbDrone.Backbone/Content/Images/logo.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/logo_small.png b/NzbDrone.Backbone/Content/Images/logo_small.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/logo_small.png
rename to NzbDrone.Backbone/Content/Images/logo_small.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/sort_asc.png b/NzbDrone.Backbone/Content/Images/sort_asc.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/sort_asc.png
rename to NzbDrone.Backbone/Content/Images/sort_asc.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/sort_asc_disabled.png b/NzbDrone.Backbone/Content/Images/sort_asc_disabled.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/sort_asc_disabled.png
rename to NzbDrone.Backbone/Content/Images/sort_asc_disabled.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/sort_both.png b/NzbDrone.Backbone/Content/Images/sort_both.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/sort_both.png
rename to NzbDrone.Backbone/Content/Images/sort_both.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/sort_desc.png b/NzbDrone.Backbone/Content/Images/sort_desc.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/sort_desc.png
rename to NzbDrone.Backbone/Content/Images/sort_desc.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/sort_desc_disabled.png b/NzbDrone.Backbone/Content/Images/sort_desc_disabled.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/sort_desc_disabled.png
rename to NzbDrone.Backbone/Content/Images/sort_desc_disabled.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/spinner.gif b/NzbDrone.Backbone/Content/Images/spinner.gif
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/spinner.gif
rename to NzbDrone.Backbone/Content/Images/spinner.gif
diff --git a/NzbDrone.Web/_backboneApp/Content/Images/thetvdb.png b/NzbDrone.Backbone/Content/Images/thetvdb.png
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Images/thetvdb.png
rename to NzbDrone.Backbone/Content/Images/thetvdb.png
diff --git a/NzbDrone.Web/_backboneApp/Content/Intelisense/bootstrap.css b/NzbDrone.Backbone/Content/Intelisense/bootstrap.css
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Intelisense/bootstrap.css
rename to NzbDrone.Backbone/Content/Intelisense/bootstrap.css
diff --git a/NzbDrone.Web/_backboneApp/Content/Menu.css b/NzbDrone.Backbone/Content/Menu.css
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/Menu.css
rename to NzbDrone.Backbone/Content/Menu.css
diff --git a/NzbDrone.Web/_backboneApp/Content/base.css b/NzbDrone.Backbone/Content/base.css
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/base.css
rename to NzbDrone.Backbone/Content/base.css
diff --git a/NzbDrone.Web/_backboneApp/Content/font/FontAwesome.otf b/NzbDrone.Backbone/Content/font/FontAwesome.otf
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/font/FontAwesome.otf
rename to NzbDrone.Backbone/Content/font/FontAwesome.otf
diff --git a/NzbDrone.Web/_backboneApp/Content/font/fontawesome-webfont.eot b/NzbDrone.Backbone/Content/font/fontawesome-webfont.eot
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/font/fontawesome-webfont.eot
rename to NzbDrone.Backbone/Content/font/fontawesome-webfont.eot
diff --git a/NzbDrone.Web/_backboneApp/Content/font/fontawesome-webfont.svg b/NzbDrone.Backbone/Content/font/fontawesome-webfont.svg
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/font/fontawesome-webfont.svg
rename to NzbDrone.Backbone/Content/font/fontawesome-webfont.svg
diff --git a/NzbDrone.Web/_backboneApp/Content/font/fontawesome-webfont.ttf b/NzbDrone.Backbone/Content/font/fontawesome-webfont.ttf
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/font/fontawesome-webfont.ttf
rename to NzbDrone.Backbone/Content/font/fontawesome-webfont.ttf
diff --git a/NzbDrone.Web/_backboneApp/Content/font/fontawesome-webfont.woff b/NzbDrone.Backbone/Content/font/fontawesome-webfont.woff
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/font/fontawesome-webfont.woff
rename to NzbDrone.Backbone/Content/font/fontawesome-webfont.woff
diff --git a/NzbDrone.Web/_backboneApp/Content/jquery.dataTables.bootstrap.css b/NzbDrone.Backbone/Content/jquery.dataTables.bootstrap.css
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/jquery.dataTables.bootstrap.css
rename to NzbDrone.Backbone/Content/jquery.dataTables.bootstrap.css
diff --git a/NzbDrone.Web/_backboneApp/Content/tablesorter.bootstrap.css b/NzbDrone.Backbone/Content/tablesorter.bootstrap.css
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Content/tablesorter.bootstrap.css
rename to NzbDrone.Backbone/Content/tablesorter.bootstrap.css
diff --git a/NzbDrone.Web/_backboneApp/Controller.js b/NzbDrone.Backbone/Controller.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Controller.js
rename to NzbDrone.Backbone/Controller.js
diff --git a/NzbDrone.Backbone/Index.html b/NzbDrone.Backbone/Index.html
new file mode 100644
index 000000000..f5e6ac95e
--- /dev/null
+++ b/NzbDrone.Backbone/Index.html
@@ -0,0 +1,85 @@
+
+
+
+ NzbDrone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @*
+
+ *@
+
+
+
+
+
+
+
+
+
+
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/backbone.collectionbinder.js b/NzbDrone.Backbone/JsLibraries/backbone.collectionbinder.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/backbone.collectionbinder.js
rename to NzbDrone.Backbone/JsLibraries/backbone.collectionbinder.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/backbone.debug.js b/NzbDrone.Backbone/JsLibraries/backbone.debug.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/backbone.debug.js
rename to NzbDrone.Backbone/JsLibraries/backbone.debug.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/backbone.js b/NzbDrone.Backbone/JsLibraries/backbone.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/backbone.js
rename to NzbDrone.Backbone/JsLibraries/backbone.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/backbone.marionette.js b/NzbDrone.Backbone/JsLibraries/backbone.marionette.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/backbone.marionette.js
rename to NzbDrone.Backbone/JsLibraries/backbone.marionette.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/backbone.marionette.viewswapper.js b/NzbDrone.Backbone/JsLibraries/backbone.marionette.viewswapper.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/backbone.marionette.viewswapper.js
rename to NzbDrone.Backbone/JsLibraries/backbone.marionette.viewswapper.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/backbone.modelbinder.js b/NzbDrone.Backbone/JsLibraries/backbone.modelbinder.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/backbone.modelbinder.js
rename to NzbDrone.Backbone/JsLibraries/backbone.modelbinder.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/backbone.mutators.js b/NzbDrone.Backbone/JsLibraries/backbone.mutators.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/backbone.mutators.js
rename to NzbDrone.Backbone/JsLibraries/backbone.mutators.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/backbone.shortcuts.js b/NzbDrone.Backbone/JsLibraries/backbone.shortcuts.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/backbone.shortcuts.js
rename to NzbDrone.Backbone/JsLibraries/backbone.shortcuts.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/bootstrap.js b/NzbDrone.Backbone/JsLibraries/bootstrap.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/bootstrap.js
rename to NzbDrone.Backbone/JsLibraries/bootstrap.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/handlebars.js b/NzbDrone.Backbone/JsLibraries/handlebars.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/handlebars.js
rename to NzbDrone.Backbone/JsLibraries/handlebars.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/jquery.dataTables.bootstrap.pagination.js b/NzbDrone.Backbone/JsLibraries/jquery.dataTables.bootstrap.pagination.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/jquery.dataTables.bootstrap.pagination.js
rename to NzbDrone.Backbone/JsLibraries/jquery.dataTables.bootstrap.pagination.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/jquery.dataTables.extensions.js b/NzbDrone.Backbone/JsLibraries/jquery.dataTables.extensions.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/jquery.dataTables.extensions.js
rename to NzbDrone.Backbone/JsLibraries/jquery.dataTables.extensions.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/jquery.dataTables.js b/NzbDrone.Backbone/JsLibraries/jquery.dataTables.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/jquery.dataTables.js
rename to NzbDrone.Backbone/JsLibraries/jquery.dataTables.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/jquery.js b/NzbDrone.Backbone/JsLibraries/jquery.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/jquery.js
rename to NzbDrone.Backbone/JsLibraries/jquery.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/jquery.tablesorter.bootstrap.js b/NzbDrone.Backbone/JsLibraries/jquery.tablesorter.bootstrap.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/jquery.tablesorter.bootstrap.js
rename to NzbDrone.Backbone/JsLibraries/jquery.tablesorter.bootstrap.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/jquery.tablesorter.js b/NzbDrone.Backbone/JsLibraries/jquery.tablesorter.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/jquery.tablesorter.js
rename to NzbDrone.Backbone/JsLibraries/jquery.tablesorter.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/require.js b/NzbDrone.Backbone/JsLibraries/require.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/require.js
rename to NzbDrone.Backbone/JsLibraries/require.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/sugar.js b/NzbDrone.Backbone/JsLibraries/sugar.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/sugar.js
rename to NzbDrone.Backbone/JsLibraries/sugar.js
diff --git a/NzbDrone.Web/_backboneApp/JsLibraries/underscore.js b/NzbDrone.Backbone/JsLibraries/underscore.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/JsLibraries/underscore.js
rename to NzbDrone.Backbone/JsLibraries/underscore.js
diff --git a/NzbDrone.Web/_backboneApp/Mixins/backbone.ajax.js b/NzbDrone.Backbone/Mixins/backbone.ajax.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Mixins/backbone.ajax.js
rename to NzbDrone.Backbone/Mixins/backbone.ajax.js
diff --git a/NzbDrone.Web/_backboneApp/Mixins/backbone.marionette.templates.js b/NzbDrone.Backbone/Mixins/backbone.marionette.templates.js
similarity index 93%
rename from NzbDrone.Web/_backboneApp/Mixins/backbone.marionette.templates.js
rename to NzbDrone.Backbone/Mixins/backbone.marionette.templates.js
index 2fe3ce7fb..d2253a0d4 100644
--- a/NzbDrone.Web/_backboneApp/Mixins/backbone.marionette.templates.js
+++ b/NzbDrone.Backbone/Mixins/backbone.marionette.templates.js
@@ -8,7 +8,7 @@
console.log("Loading template '" + templateId + "'");
$.ajax({
- url:'_backboneApp//' + templateId + '.html',
+ url:'static//' + templateId + '.html',
cache:false,
async:false
diff --git a/NzbDrone.Web/_backboneApp/Mixins/tablesorter.extensions.js b/NzbDrone.Backbone/Mixins/tablesorter.extensions.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Mixins/tablesorter.extensions.js
rename to NzbDrone.Backbone/Mixins/tablesorter.extensions.js
diff --git a/NzbDrone.Backbone/NzbDrone.Backbone.csproj b/NzbDrone.Backbone/NzbDrone.Backbone.csproj
index 664c89bc2..6a1f1070f 100644
--- a/NzbDrone.Backbone/NzbDrone.Backbone.csproj
+++ b/NzbDrone.Backbone/NzbDrone.Backbone.csproj
@@ -38,26 +38,223 @@
4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
10.0
@@ -72,7 +269,9 @@
False
True
+ 0
55352
+ 14256
/
http://localhost:55352/
False
@@ -91,4 +290,4 @@
-->
-
\ No newline at end of file
+
diff --git a/NzbDrone.Backbone/Properties/AssemblyInfo.cs b/NzbDrone.Backbone/Properties/AssemblyInfo.cs
deleted file mode 100644
index 2a8603592..000000000
--- a/NzbDrone.Backbone/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("NzbDrone.Backbone")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("NzbDrone.Backbone")]
-[assembly: AssemblyCopyright("Copyright © 2013")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("ed73d928-3270-4c84-8d9c-ee9e08dfcbd0")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/NzbDrone.Web/_backboneApp/Quality/qualityProfileCollection.js b/NzbDrone.Backbone/Quality/qualityProfileCollection.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Quality/qualityProfileCollection.js
rename to NzbDrone.Backbone/Quality/qualityProfileCollection.js
diff --git a/NzbDrone.Web/_backboneApp/Quality/qualityProfileModel.js b/NzbDrone.Backbone/Quality/qualityProfileModel.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Quality/qualityProfileModel.js
rename to NzbDrone.Backbone/Quality/qualityProfileModel.js
diff --git a/NzbDrone.Web/_backboneApp/Quality/qualityTypeCollection.js b/NzbDrone.Backbone/Quality/qualityTypeCollection.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Quality/qualityTypeCollection.js
rename to NzbDrone.Backbone/Quality/qualityTypeCollection.js
diff --git a/NzbDrone.Web/_backboneApp/Quality/qualityTypeModel.js b/NzbDrone.Backbone/Quality/qualityTypeModel.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Quality/qualityTypeModel.js
rename to NzbDrone.Backbone/Quality/qualityTypeModel.js
diff --git a/NzbDrone.Web/_backboneApp/Routing.js b/NzbDrone.Backbone/Routing.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Routing.js
rename to NzbDrone.Backbone/Routing.js
diff --git a/NzbDrone.Web/_backboneApp/Series/Delete/DeleteSeriesTemplate.html b/NzbDrone.Backbone/Series/Delete/DeleteSeriesTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/Delete/DeleteSeriesTemplate.html
rename to NzbDrone.Backbone/Series/Delete/DeleteSeriesTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/Series/Delete/DeleteSeriesView.js b/NzbDrone.Backbone/Series/Delete/DeleteSeriesView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/Delete/DeleteSeriesView.js
rename to NzbDrone.Backbone/Series/Delete/DeleteSeriesView.js
diff --git a/NzbDrone.Web/_backboneApp/Series/Edit/EditSeriesTemplate.html b/NzbDrone.Backbone/Series/Edit/EditSeriesTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/Edit/EditSeriesTemplate.html
rename to NzbDrone.Backbone/Series/Edit/EditSeriesTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/Series/Edit/EditSeriesView.js b/NzbDrone.Backbone/Series/Edit/EditSeriesView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/Edit/EditSeriesView.js
rename to NzbDrone.Backbone/Series/Edit/EditSeriesView.js
diff --git a/NzbDrone.Web/_backboneApp/Series/SeriesCollection.js b/NzbDrone.Backbone/Series/SeriesCollection.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/SeriesCollection.js
rename to NzbDrone.Backbone/Series/SeriesCollection.js
diff --git a/NzbDrone.Web/_backboneApp/Series/SeriesCollectionTemplate.html b/NzbDrone.Backbone/Series/SeriesCollectionTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/SeriesCollectionTemplate.html
rename to NzbDrone.Backbone/Series/SeriesCollectionTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/Series/SeriesCollectionView.js b/NzbDrone.Backbone/Series/SeriesCollectionView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/SeriesCollectionView.js
rename to NzbDrone.Backbone/Series/SeriesCollectionView.js
diff --git a/NzbDrone.Web/_backboneApp/Series/SeriesItemTemplate.html b/NzbDrone.Backbone/Series/SeriesItemTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/SeriesItemTemplate.html
rename to NzbDrone.Backbone/Series/SeriesItemTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/Series/SeriesItemView.js b/NzbDrone.Backbone/Series/SeriesItemView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/SeriesItemView.js
rename to NzbDrone.Backbone/Series/SeriesItemView.js
diff --git a/NzbDrone.Web/_backboneApp/Series/SeriesModel.js b/NzbDrone.Backbone/Series/SeriesModel.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Series/SeriesModel.js
rename to NzbDrone.Backbone/Series/SeriesModel.js
diff --git a/NzbDrone.Web/_backboneApp/Shared/AutoComplete.js b/NzbDrone.Backbone/Shared/AutoComplete.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Shared/AutoComplete.js
rename to NzbDrone.Backbone/Shared/AutoComplete.js
diff --git a/NzbDrone.Web/_backboneApp/Shared/ModalRegion.js b/NzbDrone.Backbone/Shared/ModalRegion.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Shared/ModalRegion.js
rename to NzbDrone.Backbone/Shared/ModalRegion.js
diff --git a/NzbDrone.Web/_backboneApp/Shared/NotificationCollection.js b/NzbDrone.Backbone/Shared/NotificationCollection.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Shared/NotificationCollection.js
rename to NzbDrone.Backbone/Shared/NotificationCollection.js
diff --git a/NzbDrone.Web/_backboneApp/Shared/NotificationModel.js b/NzbDrone.Backbone/Shared/NotificationModel.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Shared/NotificationModel.js
rename to NzbDrone.Backbone/Shared/NotificationModel.js
diff --git a/NzbDrone.Web/_backboneApp/Shared/NotificationTemplate.html b/NzbDrone.Backbone/Shared/NotificationTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Shared/NotificationTemplate.html
rename to NzbDrone.Backbone/Shared/NotificationTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/Shared/NotificationView.js b/NzbDrone.Backbone/Shared/NotificationView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Shared/NotificationView.js
rename to NzbDrone.Backbone/Shared/NotificationView.js
diff --git a/NzbDrone.Web/_backboneApp/Shared/SpinnerTemplate.html b/NzbDrone.Backbone/Shared/SpinnerTemplate.html
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Shared/SpinnerTemplate.html
rename to NzbDrone.Backbone/Shared/SpinnerTemplate.html
diff --git a/NzbDrone.Web/_backboneApp/Shared/SpinnerView.js b/NzbDrone.Backbone/Shared/SpinnerView.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/Shared/SpinnerView.js
rename to NzbDrone.Backbone/Shared/SpinnerView.js
diff --git a/NzbDrone.Web/_backboneApp/app.js b/NzbDrone.Backbone/app.js
similarity index 100%
rename from NzbDrone.Web/_backboneApp/app.js
rename to NzbDrone.Backbone/app.js
diff --git a/NzbDrone.Services.Api/NzbDrone.Services.Api.csproj b/NzbDrone.Services.Api/NzbDrone.Services.Api.csproj
index f94557bd7..3502d25e9 100644
--- a/NzbDrone.Services.Api/NzbDrone.Services.Api.csproj
+++ b/NzbDrone.Services.Api/NzbDrone.Services.Api.csproj
@@ -66,10 +66,6 @@
False
..\packages\Nancy.Bootstrappers.Autofac.0.16.1\lib\net40\Nancy.Bootstrappers.Autofac.dll
-
- False
- ..\packages\Nancy.Hosting.Aspnet.0.16.1\lib\net40\Nancy.Hosting.Aspnet.dll
-
..\packages\Newtonsoft.Json.4.5.11\lib\net40\Newtonsoft.Json.dll
diff --git a/NzbDrone.Services.Api/Web.config b/NzbDrone.Services.Api/Web.config
index ca7cae855..354a90c2c 100644
--- a/NzbDrone.Services.Api/Web.config
+++ b/NzbDrone.Services.Api/Web.config
@@ -9,16 +9,7 @@
-
-
-
-
-
-
-
-
-
diff --git a/NzbDrone.Services.Api/packages.config b/NzbDrone.Services.Api/packages.config
index 5412b7ed6..b05d773bc 100644
--- a/NzbDrone.Services.Api/packages.config
+++ b/NzbDrone.Services.Api/packages.config
@@ -5,7 +5,6 @@
-
\ No newline at end of file
diff --git a/NzbDrone.Web/Controllers/V2Controller.cs b/NzbDrone.Web/Controllers/V2Controller.cs
deleted file mode 100644
index 70f9a8c9d..000000000
--- a/NzbDrone.Web/Controllers/V2Controller.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Web;
-using System.Web.Mvc;
-
-namespace NzbDrone.Web.Controllers
-{
- public class V2Controller : Controller
- {
- //
- // GET: /V2/
-
- public ActionResult Index()
- {
- return View();
- }
-
- }
-}
diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj
index 12d40dae2..ac1423242 100644
--- a/NzbDrone.Web/NzbDrone.Web.csproj
+++ b/NzbDrone.Web/NzbDrone.Web.csproj
@@ -58,9 +58,6 @@
x86
-
- ..\packages\AjaxMin.4.60.4609.17023\lib\net20\AjaxMin.dll
-
False
..\packages\Autofac.3.0.1\lib\net40\Autofac.dll
@@ -69,25 +66,10 @@
False
..\packages\Autofac.3.0.1\lib\net40\Autofac.Configuration.dll
-
- ..\packages\Cassette.2.0.0\lib\net40-client\Cassette.dll
-
-
- ..\packages\Cassette.Aspnet.2.0.0\lib\net40\Cassette.Aspnet.dll
-
-
- ..\packages\Cassette.Less.2.0.0\lib\net40-client\Cassette.Less.dll
-
-
- ..\packages\Cassette.Views.2.0.0\lib\net40\Cassette.Views.dll
-
False
..\packages\DataTables.Mvc.Core.0.1.0.85\lib\DataTables.Mvc.Core.dll
-
- ..\packages\DotlessClientOnly.1.3.1.0\lib\dotless.ClientOnly.dll
-
..\packages\DynamicQuery.1.0\lib\35\Dynamic.dll
@@ -104,14 +86,6 @@
False
..\packages\MiniProfiler.2.0.2\lib\net40\MiniProfiler.dll
-
- False
- ..\packages\Nancy.0.16.1\lib\net40\Nancy.dll
-
-
- False
- ..\packages\Nancy.Hosting.Aspnet.0.16.1\lib\net40\Nancy.Hosting.Aspnet.dll
-
False
..\packages\Newtonsoft.Json.4.5.11\lib\net40\Newtonsoft.Json.dll
@@ -183,120 +157,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -407,6 +273,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -427,16 +314,9 @@
-
-
-
-
-
-
-
@@ -840,4 +720,4 @@
xcopy /s /y "$(SolutionDir)\SqlCe\*.*" "$(TargetDir)"
-
\ No newline at end of file
+
diff --git a/NzbDrone.Web/Views/V2/Index.cshtml b/NzbDrone.Web/Views/V2/Index.cshtml
deleted file mode 100644
index 8c555d5a2..000000000
--- a/NzbDrone.Web/Views/V2/Index.cshtml
+++ /dev/null
@@ -1,91 +0,0 @@
-@{
- Layout = null;
-}
-
-@using Cassette.Scripts
-@using Cassette.Stylesheets
-@using NzbDrone.Web.Backbone.NzbDrone
-@using NzbDrone.Web.Helpers
-@{
- Bundles.Reference(CassetteBundleConfiguration.BASE_STYLE);
-}
-
-
-
-
- NzbDrone
-
-
-
-
-
-
-
- @Bundles.RenderStylesheets()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@*
-
-*@
-
-
-
-
-
-
-
-
-
-
diff --git a/NzbDrone.Web/Views/Web.config b/NzbDrone.Web/Views/Web.config
index 1715d8546..a2c0c87cf 100644
--- a/NzbDrone.Web/Views/Web.config
+++ b/NzbDrone.Web/Views/Web.config
@@ -14,7 +14,6 @@
-
diff --git a/NzbDrone.Web/Web.config b/NzbDrone.Web/Web.config
index 1b6045423..b3eb527ca 100644
--- a/NzbDrone.Web/Web.config
+++ b/NzbDrone.Web/Web.config
@@ -1,25 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -38,20 +26,16 @@
-
-
-
-
+
-