${HeaderPasswordReset}
diff --git a/src/controllers/auth/forgotpasswordpin.js b/src/controllers/session/resetPassword/index.js
similarity index 100%
rename from src/controllers/auth/forgotpasswordpin.js
rename to src/controllers/session/resetPassword/index.js
diff --git a/src/controllers/session/selectServer/index.html b/src/controllers/session/selectServer/index.html
new file mode 100644
index 0000000000..0a14e7fa03
--- /dev/null
+++ b/src/controllers/session/selectServer/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
${HeaderSelectServer}
+
+
+
+
+
+
diff --git a/src/controllers/auth/selectserver.js b/src/controllers/session/selectServer/index.js
similarity index 100%
rename from src/controllers/auth/selectserver.js
rename to src/controllers/session/selectServer/index.js
diff --git a/src/mypreferencesdisplay.html b/src/controllers/user/display/index.html
similarity index 100%
rename from src/mypreferencesdisplay.html
rename to src/controllers/user/display/index.html
diff --git a/src/controllers/user/display.js b/src/controllers/user/display/index.js
similarity index 100%
rename from src/controllers/user/display.js
rename to src/controllers/user/display/index.js
diff --git a/src/mypreferenceshome.html b/src/controllers/user/home/index.html
similarity index 100%
rename from src/mypreferenceshome.html
rename to src/controllers/user/home/index.html
diff --git a/src/controllers/user/home.js b/src/controllers/user/home/index.js
similarity index 100%
rename from src/controllers/user/home.js
rename to src/controllers/user/home/index.js
diff --git a/src/mypreferencesmenu.html b/src/controllers/user/menu/index.html
similarity index 100%
rename from src/mypreferencesmenu.html
rename to src/controllers/user/menu/index.html
diff --git a/src/controllers/user/menu.js b/src/controllers/user/menu/index.js
similarity index 100%
rename from src/controllers/user/menu.js
rename to src/controllers/user/menu/index.js
diff --git a/src/mypreferencesplayback.html b/src/controllers/user/playback/index.html
similarity index 100%
rename from src/mypreferencesplayback.html
rename to src/controllers/user/playback/index.html
diff --git a/src/controllers/user/playback.js b/src/controllers/user/playback/index.js
similarity index 100%
rename from src/controllers/user/playback.js
rename to src/controllers/user/playback/index.js
diff --git a/src/myprofile.html b/src/controllers/user/profile/index.html
similarity index 100%
rename from src/myprofile.html
rename to src/controllers/user/profile/index.html
diff --git a/src/controllers/user/profile.js b/src/controllers/user/profile/index.js
similarity index 100%
rename from src/controllers/user/profile.js
rename to src/controllers/user/profile/index.js
diff --git a/src/mypreferencessubtitles.html b/src/controllers/user/subtitles/index.html
similarity index 100%
rename from src/mypreferencessubtitles.html
rename to src/controllers/user/subtitles/index.html
diff --git a/src/controllers/user/subtitles.js b/src/controllers/user/subtitles/index.js
similarity index 100%
rename from src/controllers/user/subtitles.js
rename to src/controllers/user/subtitles/index.js
diff --git a/src/wizardfinish.html b/src/controllers/wizard/finish/index.html
similarity index 100%
rename from src/wizardfinish.html
rename to src/controllers/wizard/finish/index.html
diff --git a/src/controllers/wizard/finish.js b/src/controllers/wizard/finish/index.js
similarity index 100%
rename from src/controllers/wizard/finish.js
rename to src/controllers/wizard/finish/index.js
diff --git a/src/wizardremoteaccess.html b/src/controllers/wizard/remote/index.html
similarity index 100%
rename from src/wizardremoteaccess.html
rename to src/controllers/wizard/remote/index.html
diff --git a/src/controllers/wizard/remoteaccess.js b/src/controllers/wizard/remote/index.js
similarity index 100%
rename from src/controllers/wizard/remoteaccess.js
rename to src/controllers/wizard/remote/index.js
diff --git a/src/wizardsettings.html b/src/controllers/wizard/settings/index.html
similarity index 100%
rename from src/wizardsettings.html
rename to src/controllers/wizard/settings/index.html
diff --git a/src/controllers/wizard/settings.js b/src/controllers/wizard/settings/index.js
similarity index 100%
rename from src/controllers/wizard/settings.js
rename to src/controllers/wizard/settings/index.js
diff --git a/src/wizardstart.html b/src/controllers/wizard/start/index.html
similarity index 100%
rename from src/wizardstart.html
rename to src/controllers/wizard/start/index.html
diff --git a/src/controllers/wizard/start.js b/src/controllers/wizard/start/index.js
similarity index 100%
rename from src/controllers/wizard/start.js
rename to src/controllers/wizard/start/index.js
diff --git a/src/wizarduser.html b/src/controllers/wizard/user/index.html
similarity index 100%
rename from src/wizarduser.html
rename to src/controllers/wizard/user/index.html
diff --git a/src/controllers/wizard/user.js b/src/controllers/wizard/user/index.js
similarity index 100%
rename from src/controllers/wizard/user.js
rename to src/controllers/wizard/user/index.js
diff --git a/src/scripts/routes.js b/src/scripts/routes.js
index ab12b53abf..d79819456a 100644
--- a/src/scripts/routes.js
+++ b/src/scripts/routes.js
@@ -24,77 +24,88 @@ define([
console.debug('defining core routes');
defineRoute({
- path: '/addserver.html',
+ alias: '/addserver.html',
+ path: '/controllers/session/addServer/index.html',
autoFocus: false,
anonymous: true,
startup: true,
- controller: 'auth/addserver'
+ controller: 'session/addServer/index'
});
defineRoute({
- path: '/selectserver.html',
+ alias: '/selectserver.html',
+ path: '/controllers/session/selectServer/index.html',
autoFocus: false,
anonymous: true,
startup: true,
- controller: 'auth/selectserver',
+ controller: 'session/selectServer/index',
type: 'selectserver'
});
defineRoute({
- path: '/login.html',
+ alias: '/login.html',
+ path: '/controllers/session/login/index.html',
autoFocus: false,
anonymous: true,
startup: true,
- controller: 'auth/login',
+ controller: 'session/login/index',
type: 'login'
});
defineRoute({
- path: '/forgotpassword.html',
+ alias: '/forgotpassword.html',
+ path: '/controllers/session/forgotPassword/index.html',
anonymous: true,
startup: true,
- controller: 'auth/forgotpassword'
+ controller: 'session/forgotPassword/index'
});
defineRoute({
- path: '/forgotpasswordpin.html',
+ alias: '/forgotpasswordpin.html',
+ path: '/controllers/session/redeemPassword/index.html',
autoFocus: false,
anonymous: true,
startup: true,
- controller: 'auth/forgotpasswordpin'
+ controller: 'session/redeemPassword/index'
});
defineRoute({
- path: '/mypreferencesmenu.html',
+ alias: '/mypreferencesmenu.html',
+ path: '/controllers/user/menu/index.html',
autoFocus: false,
transition: 'fade',
- controller: 'user/menu'
+ controller: 'user/menu/index'
});
defineRoute({
- path: '/myprofile.html',
+ alias: '/myprofile.html',
+ path: '/controllers/user/profile/index.html',
autoFocus: false,
transition: 'fade',
- controller: 'user/profile'
+ controller: 'user/profile/index'
});
defineRoute({
- path: '/mypreferencesdisplay.html',
+ alias: '/mypreferencesdisplay.html',
+ path: '/controllers/user/display/index.html',
autoFocus: false,
transition: 'fade',
- controller: 'user/display'
+ controller: 'user/display/index'
});
defineRoute({
- path: '/mypreferenceshome.html',
+ alias: '/mypreferenceshome.html',
+ path: '/controllers/user/home/index.html',
autoFocus: false,
transition: 'fade',
- controller: 'user/home'
+ controller: 'user/home/index'
});
defineRoute({
- path: '/mypreferencesplayback.html',
+ alias: '/mypreferencesplayback.html',
+ path: '/controllers/user/playback/index.html',
autoFocus: false,
transition: 'fade',
- controller: 'user/playback'
+ controller: 'user/playback/index'
});
defineRoute({
- path: '/mypreferencessubtitles.html',
+ alias: '/mypreferencessubtitles.html',
+ path: '/controllers/user/subtitles/index.html',
autoFocus: false,
transition: 'fade',
- controller: 'user/subtitles'
+ controller: 'user/subtitles/index'
});
defineRoute({
@@ -140,10 +151,11 @@ define([
controller: 'dashboard/dlna/profiles'
});
defineRoute({
- path: '/addplugin.html',
+ alias: '/addplugin.html',
+ path: '/controllers/dashboard/plugins/add/index.html',
autoFocus: false,
roles: 'admin',
- controller: 'dashboard/plugins/add'
+ controller: 'dashboard/plugins/add/index'
});
defineRoute({
path: '/library.html',
@@ -192,14 +204,16 @@ define([
controller: 'dashboard/metadatanfo'
});
defineRoute({
- path: '/notificationsetting.html',
+ alias: '/notificationsetting.html',
+ path: '/controllers/dashboard/notifications/notification/index.html',
autoFocus: false,
roles: 'admin',
- controller: 'dashboard/notifications/notification'
+ controller: 'dashboard/notifications/notification/index'
});
defineRoute({
- path: '/notificationsettings.html',
- controller: 'dashboard/notifications/notifications',
+ alias: '/notificationsettings.html',
+ path: '/controllers/dashboard/notifications/notifications/index.html',
+ controller: 'dashboard/notifications/notifications/index',
autoFocus: false,
roles: 'admin'
});
@@ -210,16 +224,18 @@ define([
controller: 'dashboard/playback'
});
defineRoute({
- path: '/availableplugins.html',
+ alias: '/availableplugins.html',
+ path: '/controllers/dashboard/plugins/available/index.html',
autoFocus: false,
roles: 'admin',
- controller: 'dashboard/plugins/available'
+ controller: 'dashboard/plugins/available/index'
});
defineRoute({
- path: '/repositories.html',
+ alias: '/repositories.html',
+ path: '/controllers/dashboard/plugins/repositories/index.html',
autoFocus: false,
roles: 'admin',
- controller: 'dashboard/plugins/repositories'
+ controller: 'dashboard/plugins/repositories/index'
});
defineRoute({
@@ -288,10 +304,11 @@ define([
transition: 'fade'
});
defineRoute({
- path: '/installedplugins.html',
+ alias: '/installedplugins.html',
+ path: '/controllers/dashboard/plugins/installed/index.html',
autoFocus: false,
roles: 'admin',
- controller: 'dashboard/plugins/installed'
+ controller: 'dashboard/plugins/installed/index'
});
defineRoute({
path: '/scheduledtask.html',
@@ -367,16 +384,18 @@ define([
});
defineRoute({
- path: '/wizardremoteaccess.html',
+ alias: '/wizardremoteaccess.html',
+ path: '/controllers/wizard/remote/index.html',
autoFocus: false,
anonymous: true,
- controller: 'wizard/remoteaccess'
+ controller: 'wizard/remote/index'
});
defineRoute({
- path: '/wizardfinish.html',
+ alias: '/wizardfinish.html',
+ path: '/controllers/wizard/finish/index.html',
autoFocus: false,
anonymous: true,
- controller: 'wizard/finish'
+ controller: 'wizard/finish/index'
});
defineRoute({
path: '/wizardlibrary.html',
@@ -385,28 +404,32 @@ define([
controller: 'dashboard/mediaLibrary'
});
defineRoute({
- path: '/wizardsettings.html',
+ alias: '/wizardsettings.html',
+ path: '/controllers/wizard/settings/index.html',
autoFocus: false,
anonymous: true,
- controller: 'wizard/settings'
+ controller: 'wizard/settings/index'
});
defineRoute({
- path: '/wizardstart.html',
+ alias: '/wizardstart.html',
+ path: '/controllers/wizard/start/index.html',
autoFocus: false,
anonymous: true,
- controller: 'wizard/start'
+ controller: 'wizard/start/index'
});
defineRoute({
- path: '/wizarduser.html',
- controller: 'wizard/user',
+ alias: '/wizarduser.html',
+ path: '/controllers/wizard/user/index.html',
+ controller: 'wizard/user/index',
autoFocus: false,
anonymous: true
});
defineRoute({
- path: '/videoosd.html',
+ alias: '/video',
+ path: '/controllers/playback/video/index.html',
transition: 'fade',
- controller: 'playback/videoosd',
+ controller: 'playback/video/index',
autoFocus: false,
type: 'video-osd',
supportsThemeMedia: true,
@@ -414,8 +437,9 @@ define([
enableMediaControl: false
});
defineRoute({
- path: '/nowplaying.html',
- controller: 'playback/nowplaying',
+ alias: '/queue',
+ path: '/controllers/playback/queue/index.html',
+ controller: 'playback/queue/index',
autoFocus: false,
transition: 'fade',
fullscreen: true,
diff --git a/src/scripts/site.js b/src/scripts/site.js
index 6e1af0c493..a3c72c35dd 100644
--- a/src/scripts/site.js
+++ b/src/scripts/site.js
@@ -890,7 +890,7 @@ var AppInfo = {};
};
appRouter.showVideoOsd = function () {
- return Dashboard.navigate('videoosd.html');
+ return Dashboard.navigate('video');
};
appRouter.showSelectServer = function () {
diff --git a/src/selectserver.html b/src/selectserver.html
deleted file mode 100644
index 3318a6b80e..0000000000
--- a/src/selectserver.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
${HeaderSelectServer}
-
-
-
-
-
diff --git a/yarn.lock b/yarn.lock
index f3672ee5a5..e7881d1608 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2968,24 +2968,24 @@ css-has-pseudo@^0.10.0:
postcss "^7.0.6"
postcss-selector-parser "^5.0.0-rc.4"
-css-loader@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645"
- integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==
+css-loader@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.0.0.tgz#814434d4e1e2d5f430c70e85e78268db7f3cced1"
+ integrity sha512-/7d5slKnmY2S39FNifJ7JQ8MhcMM/rDIjAZ2Sc/Z8lnOWOmc10hijg28ovBtljY364pQaF01O2nj5AIBDnJ9vQ==
dependencies:
- camelcase "^5.3.1"
+ camelcase "^6.0.0"
cssesc "^3.0.0"
icss-utils "^4.1.1"
- loader-utils "^1.2.3"
+ loader-utils "^2.0.0"
normalize-path "^3.0.0"
postcss "^7.0.32"
postcss-modules-extract-imports "^2.0.0"
- postcss-modules-local-by-default "^3.0.2"
+ postcss-modules-local-by-default "^3.0.3"
postcss-modules-scope "^2.2.0"
postcss-modules-values "^3.0.0"
postcss-value-parser "^4.1.0"
schema-utils "^2.7.0"
- semver "^6.3.0"
+ semver "^7.3.2"
css-prefers-color-scheme@^3.1.1:
version "3.1.1"
@@ -8640,15 +8640,15 @@ postcss-modules-extract-imports@^2.0.0:
dependencies:
postcss "^7.0.5"
-postcss-modules-local-by-default@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915"
- integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==
+postcss-modules-local-by-default@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0"
+ integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==
dependencies:
icss-utils "^4.1.1"
- postcss "^7.0.16"
+ postcss "^7.0.32"
postcss-selector-parser "^6.0.2"
- postcss-value-parser "^4.0.0"
+ postcss-value-parser "^4.1.0"
postcss-modules-scope@^2.2.0:
version "2.2.0"
@@ -9015,7 +9015,7 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
-postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
+postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
@@ -9039,7 +9039,7 @@ postcss@^5.0.0, postcss@^5.0.18:
source-map "^0.5.6"
supports-color "^3.2.3"
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6, postcss@^7.0.7:
+postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6, postcss@^7.0.7:
version "7.0.32"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d"
integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==
@@ -9968,7 +9968,7 @@ semver@7.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-semver@7.3.2:
+semver@7.3.2, semver@^7.3.2:
version "7.3.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==