diff --git a/src/controllers/edititemmetadata.html b/src/apps/legacy/controllers/edititemmetadata.html
similarity index 100%
rename from src/controllers/edititemmetadata.html
rename to src/apps/legacy/controllers/edititemmetadata.html
diff --git a/src/controllers/edititemmetadata.js b/src/apps/legacy/controllers/edititemmetadata.js
similarity index 89%
rename from src/controllers/edititemmetadata.js
rename to src/apps/legacy/controllers/edititemmetadata.js
index 5502772db9..3e22581d27 100644
--- a/src/controllers/edititemmetadata.js
+++ b/src/apps/legacy/controllers/edititemmetadata.js
@@ -5,7 +5,7 @@ function reload(context, itemId) {
loading.show();
if (itemId) {
- import('../components/metadataEditor/metadataEditor').then(({ default: metadataEditor }) => {
+ import('components/metadataEditor/metadataEditor').then(({ default: metadataEditor }) => {
metadataEditor.embed(context.querySelector('.editPageInnerContent'), itemId, ApiClient.serverInfo().Id);
});
} else {
diff --git a/src/controllers/favorites.js b/src/apps/legacy/controllers/favorites.js
similarity index 100%
rename from src/controllers/favorites.js
rename to src/apps/legacy/controllers/favorites.js
diff --git a/src/controllers/home.html b/src/apps/legacy/controllers/home.html
similarity index 100%
rename from src/controllers/home.html
rename to src/apps/legacy/controllers/home.html
diff --git a/src/controllers/home.js b/src/apps/legacy/controllers/home.js
similarity index 83%
rename from src/controllers/home.js
rename to src/apps/legacy/controllers/home.js
index 010a23977c..5bb591acf3 100644
--- a/src/controllers/home.js
+++ b/src/apps/legacy/controllers/home.js
@@ -1,9 +1,9 @@
-import TabbedView from '../components/tabbedview/tabbedview';
-import globalize from '../lib/globalize';
-import '../elements/emby-tabs/emby-tabs';
-import '../elements/emby-button/emby-button';
-import '../elements/emby-scroller/emby-scroller';
-import LibraryMenu from '../scripts/libraryMenu';
+import TabbedView from 'components/tabbedview/tabbedview';
+import globalize from 'lib/globalize';
+import 'elements/emby-tabs/emby-tabs';
+import 'elements/emby-button/emby-button';
+import 'elements/emby-scroller/emby-scroller';
+import LibraryMenu from 'scripts/libraryMenu';
class HomeView extends TabbedView {
setTitle() {
diff --git a/src/controllers/hometab.js b/src/apps/legacy/controllers/hometab.js
similarity index 88%
rename from src/controllers/hometab.js
rename to src/apps/legacy/controllers/hometab.js
index a88b2fa034..4f73a82d29 100644
--- a/src/controllers/hometab.js
+++ b/src/apps/legacy/controllers/hometab.js
@@ -1,9 +1,9 @@
-import * as userSettings from '../scripts/settings/userSettings';
-import focusManager from '../components/focusManager';
-import homeSections from '../components/homesections/homesections';
+import * as userSettings from 'scripts/settings/userSettings';
+import focusManager from 'components/focusManager';
+import homeSections from 'components/homesections/homesections';
import { ServerConnections } from 'lib/jellyfin-apiclient';
-import '../elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
class HomeTab {
constructor(view, params) {
diff --git a/src/controllers/itemDetails/index.html b/src/apps/legacy/controllers/itemDetails/index.html
similarity index 100%
rename from src/controllers/itemDetails/index.html
rename to src/apps/legacy/controllers/itemDetails/index.html
diff --git a/src/controllers/itemDetails/index.js b/src/apps/legacy/controllers/itemDetails/index.js
similarity index 98%
rename from src/controllers/itemDetails/index.js
rename to src/apps/legacy/controllers/itemDetails/index.js
index b221dc65c1..55f486e1b9 100755
--- a/src/controllers/itemDetails/index.js
+++ b/src/apps/legacy/controllers/itemDetails/index.js
@@ -61,7 +61,7 @@ const LIST_VIEW_TYPES = [
];
function autoFocus(container) {
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(container);
});
}
@@ -178,7 +178,7 @@ function renderSeriesTimerEditor(page, item, apiClient, user) {
}
if (user.Policy.EnableLiveTvManagement) {
- import('../../components/recordingcreator/seriesrecordingeditor').then(({ default: seriesRecordingEditor }) => {
+ import('components/recordingcreator/seriesrecordingeditor').then(({ default: seriesRecordingEditor }) => {
seriesRecordingEditor.embed(item, apiClient.serverId(), {
context: page.querySelector('.seriesRecordingEditor')
});
@@ -708,7 +708,7 @@ function showRecordingFields(instance, page, item, user) {
const recordingFieldsElement = page.querySelector('.recordingFields');
if (item.Type == 'Program' && user.Policy.EnableLiveTvManagement) {
- import('../../components/recordingcreator/recordingfields').then(({ default: RecordingFields }) => {
+ import('components/recordingcreator/recordingfields').then(({ default: RecordingFields }) => {
instance.currentRecordingFields = new RecordingFields({
parent: recordingFieldsElement,
programId: item.Id,
@@ -1457,13 +1457,13 @@ function renderChildren(page, item) {
}
function renderItemsByName(page, item, user) {
- import('../../scripts/itemsByName').then(({ default: ItemsByName }) => {
+ import('scripts/itemsByName').then(({ default: ItemsByName }) => {
ItemsByName.renderItems(page, item, user);
});
}
function renderPlaylistItems(page, item) {
- import('../../scripts/playlistViewer').then(({ default: PlaylistViewer }) => {
+ import('scripts/playlistViewer').then(({ default: PlaylistViewer }) => {
PlaylistViewer.render(page, item);
});
}
@@ -1740,7 +1740,7 @@ function renderScenes(page, item) {
page.querySelector('#scenesCollapsible').classList.remove('hide');
const scenesContent = page.querySelector('#scenesContent');
- import('../../components/cardbuilder/chaptercardbuilder').then(({ default: chaptercardbuilder }) => {
+ import('components/cardbuilder/chaptercardbuilder').then(({ default: chaptercardbuilder }) => {
chaptercardbuilder.buildChapterCards(item, chapters, {
itemsContainer: scenesContent,
backdropShape: 'overflowBackdrop',
@@ -1782,7 +1782,7 @@ function renderCast(page, item, people) {
page.querySelector('#castCollapsible').classList.remove('hide');
const castContent = page.querySelector('#castContent');
- import('../../components/cardbuilder/peoplecardbuilder').then(({ default: peoplecardbuilder }) => {
+ import('components/cardbuilder/peoplecardbuilder').then(({ default: peoplecardbuilder }) => {
peoplecardbuilder.buildPeopleCards(people, {
itemsContainer: castContent,
coverImage: true,
@@ -1802,7 +1802,7 @@ function renderGuestCast(page, item, people) {
page.querySelector('#guestCastCollapsible').classList.remove('hide');
const guestCastContent = page.querySelector('#guestCastContent');
- import('../../components/cardbuilder/peoplecardbuilder').then(({ default: peoplecardbuilder }) => {
+ import('components/cardbuilder/peoplecardbuilder').then(({ default: peoplecardbuilder }) => {
peoplecardbuilder.buildPeopleCards(people, {
itemsContainer: guestCastContent,
coverImage: true,
@@ -1937,7 +1937,7 @@ export default function (view, params) {
}
function onCancelSeriesTimerClick() {
- import('../../components/recordingcreator/recordinghelper').then(({ default: recordingHelper }) => {
+ import('components/recordingcreator/recordinghelper').then(({ default: recordingHelper }) => {
recordingHelper.cancelSeriesTimerWithConfirmation(currentItem.Id, currentItem.ServerId).then(function () {
Dashboard.navigate('livetv');
});
@@ -1945,7 +1945,7 @@ export default function (view, params) {
}
function onCancelTimerClick() {
- import('../../components/recordingcreator/recordinghelper').then(({ default: recordingHelper }) => {
+ import('components/recordingcreator/recordinghelper').then(({ default: recordingHelper }) => {
recordingHelper.cancelTimer(ServerConnections.getApiClient(currentItem.ServerId), currentItem.TimerId).then(function () {
reload(self, view, params);
});
diff --git a/src/controllers/list.html b/src/apps/legacy/controllers/list.html
similarity index 100%
rename from src/controllers/list.html
rename to src/apps/legacy/controllers/list.html
diff --git a/src/controllers/list.js b/src/apps/legacy/controllers/list.js
similarity index 97%
rename from src/controllers/list.js
rename to src/apps/legacy/controllers/list.js
index 34c28d8f6c..a0c992b754 100644
--- a/src/controllers/list.js
+++ b/src/apps/legacy/controllers/list.js
@@ -1,17 +1,17 @@
-import globalize from '../lib/globalize';
-import listView from '../components/listview/listview';
-import * as userSettings from '../scripts/settings/userSettings';
-import focusManager from '../components/focusManager';
-import cardBuilder from '../components/cardbuilder/cardBuilder';
-import loading from '../components/loading/loading';
-import AlphaNumericShortcuts from '../scripts/alphanumericshortcuts';
-import libraryBrowser from '../scripts/libraryBrowser';
-import { playbackManager } from '../components/playback/playbackmanager';
-import AlphaPicker from '../components/alphaPicker/alphaPicker';
+import globalize from 'lib/globalize';
+import listView from 'components/listview/listview';
+import * as userSettings from 'scripts/settings/userSettings';
+import focusManager from 'components/focusManager';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import loading from 'components/loading/loading';
+import AlphaNumericShortcuts from 'scripts/alphanumericshortcuts';
+import libraryBrowser from 'scripts/libraryBrowser';
+import { playbackManager } from 'components/playback/playbackmanager';
+import AlphaPicker from 'components/alphaPicker/alphaPicker';
import { ServerConnections } from 'lib/jellyfin-apiclient';
-import '../elements/emby-itemscontainer/emby-itemscontainer';
-import '../elements/emby-scroller/emby-scroller';
-import LibraryMenu from '../scripts/libraryMenu';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-scroller/emby-scroller';
+import LibraryMenu from 'scripts/libraryMenu';
import { CollectionType } from '@jellyfin/sdk/lib/generated-client/models/collection-type';
import { ItemSortBy } from '@jellyfin/sdk/lib/generated-client/models/item-sort-by';
import { stopMultiSelect } from 'components/multiSelect/multiSelect';
@@ -363,7 +363,7 @@ function getItem(params) {
function showViewSettingsMenu() {
const instance = this;
- import('../components/viewSettings/viewSettings').then(({ default: ViewSettings }) => {
+ import('components/viewSettings/viewSettings').then(({ default: ViewSettings }) => {
new ViewSettings().show({
settingsKey: instance.getSettingsKey(),
settings: instance.getViewSettings(),
@@ -378,7 +378,7 @@ function showViewSettingsMenu() {
function showFilterMenu() {
const instance = this;
- import('../components/filtermenu/filtermenu').then(({ default: FilterMenu }) => {
+ import('components/filtermenu/filtermenu').then(({ default: FilterMenu }) => {
new FilterMenu().show({
settingsKey: instance.getSettingsKey(),
settings: instance.getFilters(),
@@ -397,7 +397,7 @@ function showFilterMenu() {
function showSortMenu() {
const instance = this;
- import('../components/sortmenu/sortmenu').then(({ default: SortMenu }) => {
+ import('components/sortmenu/sortmenu').then(({ default: SortMenu }) => {
new SortMenu().show({
settingsKey: instance.getSettingsKey(),
settings: instance.getSortValues(),
@@ -415,7 +415,7 @@ function showSortMenu() {
function onNewItemClick() {
const instance = this;
- import('../components/playlisteditor/playlisteditor').then(({ default: PlaylistEditor }) => {
+ import('components/playlisteditor/playlisteditor').then(({ default: PlaylistEditor }) => {
const playlistEditor = new PlaylistEditor();
playlistEditor.show({
items: [],
@@ -800,7 +800,7 @@ class ItemsView {
}
function autoFocus() {
- import('../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(view);
});
}
diff --git a/src/controllers/livetv.html b/src/apps/legacy/controllers/livetv.html
similarity index 100%
rename from src/controllers/livetv.html
rename to src/apps/legacy/controllers/livetv.html
diff --git a/src/controllers/livetv/livetvchannels.js b/src/apps/legacy/controllers/livetv/livetvchannels.js
similarity index 86%
rename from src/controllers/livetv/livetvchannels.js
rename to src/apps/legacy/controllers/livetv/livetvchannels.js
index f0df9b8f05..036e69c121 100644
--- a/src/controllers/livetv/livetvchannels.js
+++ b/src/apps/legacy/controllers/livetv/livetvchannels.js
@@ -1,12 +1,12 @@
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import imageLoader from '../../components/images/imageLoader';
-import libraryBrowser from '../../scripts/libraryBrowser';
-import loading from '../../components/loading/loading';
-import * as userSettings from '../../scripts/settings/userSettings';
-import Events from '../../utils/events.ts';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import imageLoader from 'components/images/imageLoader';
+import libraryBrowser from 'scripts/libraryBrowser';
+import loading from 'components/loading/loading';
+import * as userSettings from 'scripts/settings/userSettings';
+import Events from 'utils/events';
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
-import '../../elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
export default function (view, params, tabContent) {
function getPageData() {
@@ -101,7 +101,7 @@ export default function (view, params, tabContent) {
}
function showFilterMenu(context) {
- import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
+ import('components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
const filterDialog = new FilterDialog({
query: getQuery(),
mode: 'livetvchannels',
@@ -127,7 +127,7 @@ export default function (view, params, tabContent) {
loading.hide();
isLoading = false;
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(context);
});
});
diff --git a/src/controllers/livetv/livetvguide.js b/src/apps/legacy/controllers/livetv/livetvguide.js
similarity index 91%
rename from src/controllers/livetv/livetvguide.js
rename to src/apps/legacy/controllers/livetv/livetvguide.js
index 2d109b6bef..14a860e989 100644
--- a/src/controllers/livetv/livetvguide.js
+++ b/src/apps/legacy/controllers/livetv/livetvguide.js
@@ -1,4 +1,4 @@
-import Guide from '../../components/guide/guide';
+import Guide from 'components/guide/guide';
export default function (view, params, tabContent) {
let guideInstance;
diff --git a/src/controllers/livetv/livetvrecordings.js b/src/apps/legacy/controllers/livetv/livetvrecordings.js
similarity index 100%
rename from src/controllers/livetv/livetvrecordings.js
rename to src/apps/legacy/controllers/livetv/livetvrecordings.js
diff --git a/src/controllers/livetv/livetvschedule.js b/src/apps/legacy/controllers/livetv/livetvschedule.js
similarity index 100%
rename from src/controllers/livetv/livetvschedule.js
rename to src/apps/legacy/controllers/livetv/livetvschedule.js
diff --git a/src/controllers/livetv/livetvseriestimers.js b/src/apps/legacy/controllers/livetv/livetvseriestimers.js
similarity index 78%
rename from src/controllers/livetv/livetvseriestimers.js
rename to src/apps/legacy/controllers/livetv/livetvseriestimers.js
index 3029fca5a6..59b7cfbdda 100644
--- a/src/controllers/livetv/livetvseriestimers.js
+++ b/src/apps/legacy/controllers/livetv/livetvseriestimers.js
@@ -1,8 +1,8 @@
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import imageLoader from '../../components/images/imageLoader';
-import loading from '../../components/loading/loading';
-import '../../elements/emby-button/paper-icon-button-light';
-import '../../elements/emby-button/emby-button';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import imageLoader from 'components/images/imageLoader';
+import loading from 'components/loading/loading';
+import 'elements/emby-button/paper-icon-button-light';
+import 'elements/emby-button/emby-button';
function renderTimers(context, timers) {
const html = cardBuilder.getCardsHtml({
diff --git a/src/controllers/livetv/livetvsuggested.js b/src/apps/legacy/controllers/livetv/livetvsuggested.js
similarity index 99%
rename from src/controllers/livetv/livetvsuggested.js
rename to src/apps/legacy/controllers/livetv/livetvsuggested.js
index d686d72c80..49699fd4f2 100644
--- a/src/controllers/livetv/livetvsuggested.js
+++ b/src/apps/legacy/controllers/livetv/livetvsuggested.js
@@ -51,7 +51,7 @@ function loadRecommendedPrograms(page) {
});
loading.hide();
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(page);
});
});
diff --git a/src/controllers/lyrics.html b/src/apps/legacy/controllers/lyrics.html
similarity index 100%
rename from src/controllers/lyrics.html
rename to src/apps/legacy/controllers/lyrics.html
diff --git a/src/controllers/lyrics.js b/src/apps/legacy/controllers/lyrics.js
similarity index 99%
rename from src/controllers/lyrics.js
rename to src/apps/legacy/controllers/lyrics.js
index a4bf18935f..c35a35ef55 100644
--- a/src/controllers/lyrics.js
+++ b/src/apps/legacy/controllers/lyrics.js
@@ -14,7 +14,7 @@ import keyboardNavigation from 'scripts/keyboardNavigation';
import LibraryMenu from 'scripts/libraryMenu';
import Events from 'utils/events';
-import '../styles/lyrics.scss';
+import 'styles/lyrics.scss';
let currentPlayer;
let currentItem;
diff --git a/src/controllers/movies/moviecollections.js b/src/apps/legacy/controllers/movies/moviecollections.js
similarity index 92%
rename from src/controllers/movies/moviecollections.js
rename to src/apps/legacy/controllers/movies/moviecollections.js
index 5b51b5e61b..b5fcdce873 100644
--- a/src/controllers/movies/moviecollections.js
+++ b/src/apps/legacy/controllers/movies/moviecollections.js
@@ -1,12 +1,12 @@
-import loading from '../../components/loading/loading';
-import libraryBrowser from '../../scripts/libraryBrowser';
-import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
-import imageLoader from '../../components/images/imageLoader';
-import listView from '../../components/listview/listview';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import * as userSettings from '../../scripts/settings/userSettings';
-import globalize from '../../lib/globalize';
-import '../../elements/emby-itemscontainer/emby-itemscontainer';
+import loading from 'components/loading/loading';
+import libraryBrowser from 'scripts/libraryBrowser';
+import { AlphaPicker } from 'components/alphaPicker/alphaPicker';
+import imageLoader from 'components/images/imageLoader';
+import listView from 'components/listview/listview';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import * as userSettings from 'scripts/settings/userSettings';
+import globalize from 'lib/globalize';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
export default function (view, params, tabContent) {
function getPageData() {
@@ -189,7 +189,7 @@ export default function (view, params, tabContent) {
loading.hide();
isLoading = false;
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(page);
});
});
@@ -242,7 +242,7 @@ export default function (view, params, tabContent) {
reloadItems(tabElement);
});
tabElement.querySelector('.btnNewCollection').addEventListener('click', () => {
- import('../../components/collectionEditor/collectionEditor').then(({ default: CollectionEditor }) => {
+ import('components/collectionEditor/collectionEditor').then(({ default: CollectionEditor }) => {
const serverId = ApiClient.serverInfo().Id;
const collectionEditor = new CollectionEditor();
collectionEditor.show({
diff --git a/src/controllers/movies/moviegenres.js b/src/apps/legacy/controllers/movies/moviegenres.js
similarity index 100%
rename from src/controllers/movies/moviegenres.js
rename to src/apps/legacy/controllers/movies/moviegenres.js
diff --git a/src/controllers/movies/movies.html b/src/apps/legacy/controllers/movies/movies.html
similarity index 100%
rename from src/controllers/movies/movies.html
rename to src/apps/legacy/controllers/movies/movies.html
diff --git a/src/controllers/movies/movies.js b/src/apps/legacy/controllers/movies/movies.js
similarity index 93%
rename from src/controllers/movies/movies.js
rename to src/apps/legacy/controllers/movies/movies.js
index 8cdef84155..6ab2bb3cb0 100644
--- a/src/controllers/movies/movies.js
+++ b/src/apps/legacy/controllers/movies/movies.js
@@ -1,15 +1,15 @@
-import loading from '../../components/loading/loading';
-import * as userSettings from '../../scripts/settings/userSettings';
-import libraryBrowser from '../../scripts/libraryBrowser';
-import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
-import listView from '../../components/listview/listview';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import globalize from '../../lib/globalize';
-import Events from '../../utils/events.ts';
-import { playbackManager } from '../../components/playback/playbackmanager';
+import loading from 'components/loading/loading';
+import * as userSettings from 'scripts/settings/userSettings';
+import libraryBrowser from 'scripts/libraryBrowser';
+import { AlphaPicker } from 'components/alphaPicker/alphaPicker';
+import listView from 'components/listview/listview';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import globalize from 'lib/globalize';
+import Events from 'utils/events';
+import { playbackManager } from 'components/playback/playbackmanager';
import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator';
-import '../../elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
export default function (view, params, tabContent, options) {
const onViewStyleChange = () => {
@@ -108,7 +108,7 @@ export default function (view, params, tabContent, options) {
isLoading = false;
loading.hide();
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(tabContent);
});
};
@@ -307,7 +307,7 @@ export default function (view, params, tabContent, options) {
query = userSettings.loadQuerySettings(savedQueryKey, query);
this.showFilterMenu = function () {
- import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
+ import('components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
const filterDialog = new FilterDialog({
query: query,
mode: 'movies',
diff --git a/src/controllers/movies/moviesrecommended.js b/src/apps/legacy/controllers/movies/moviesrecommended.js
similarity index 99%
rename from src/controllers/movies/moviesrecommended.js
rename to src/apps/legacy/controllers/movies/moviesrecommended.js
index a21b2710c0..4bfe51b572 100644
--- a/src/controllers/movies/moviesrecommended.js
+++ b/src/apps/legacy/controllers/movies/moviesrecommended.js
@@ -185,7 +185,7 @@ function loadSuggestions(page, userId) {
}
function autoFocus(page) {
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(page);
});
}
@@ -403,4 +403,3 @@ export default function (view, params) {
}
}
}
-
diff --git a/src/controllers/music/music.html b/src/apps/legacy/controllers/music/music.html
similarity index 100%
rename from src/controllers/music/music.html
rename to src/apps/legacy/controllers/music/music.html
diff --git a/src/controllers/music/musicalbums.js b/src/apps/legacy/controllers/music/musicalbums.js
similarity index 91%
rename from src/controllers/music/musicalbums.js
rename to src/apps/legacy/controllers/music/musicalbums.js
index 6f11aaf10c..7b9e8c3d7a 100644
--- a/src/controllers/music/musicalbums.js
+++ b/src/apps/legacy/controllers/music/musicalbums.js
@@ -1,16 +1,16 @@
-import { playbackManager } from '../../components/playback/playbackmanager';
-import loading from '../../components/loading/loading';
-import libraryBrowser from '../../scripts/libraryBrowser';
-import imageLoader from '../../components/images/imageLoader';
-import AlphaPicker from '../../components/alphaPicker/alphaPicker';
-import listView from '../../components/listview/listview';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import * as userSettings from '../../scripts/settings/userSettings';
-import globalize from '../../lib/globalize';
-import Events from '../../utils/events.ts';
+import { playbackManager } from 'components/playback/playbackmanager';
+import loading from 'components/loading/loading';
+import libraryBrowser from 'scripts/libraryBrowser';
+import imageLoader from 'components/images/imageLoader';
+import AlphaPicker from 'components/alphaPicker/alphaPicker';
+import listView from 'components/listview/listview';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import * as userSettings from 'scripts/settings/userSettings';
+import globalize from 'lib/globalize';
+import Events from 'utils/events';
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
-import '../../elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
export default function (view, params, tabContent) {
function playAll() {
@@ -177,7 +177,7 @@ export default function (view, params, tabContent) {
loading.hide();
isLoading = false;
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(tabContent);
});
});
@@ -187,7 +187,7 @@ export default function (view, params, tabContent) {
let isLoading = false;
this.showFilterMenu = function () {
- import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
+ import('components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
const filterDialog = new FilterDialog({
query: getQuery(),
mode: 'albums',
@@ -296,4 +296,3 @@ export default function (view, params, tabContent) {
this.alphaPicker?.updateControls(getQuery());
};
}
-
diff --git a/src/controllers/music/musicartists.js b/src/apps/legacy/controllers/music/musicartists.js
similarity index 91%
rename from src/controllers/music/musicartists.js
rename to src/apps/legacy/controllers/music/musicartists.js
index f48543ad22..100d4e2059 100644
--- a/src/controllers/music/musicartists.js
+++ b/src/apps/legacy/controllers/music/musicartists.js
@@ -1,14 +1,14 @@
-import loading from '../../components/loading/loading';
-import libraryBrowser from '../../scripts/libraryBrowser';
-import imageLoader from '../../components/images/imageLoader';
-import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
-import listView from '../../components/listview/listview';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import * as userSettings from '../../scripts/settings/userSettings';
-import Events from '../../utils/events.ts';
+import loading from 'components/loading/loading';
+import libraryBrowser from 'scripts/libraryBrowser';
+import imageLoader from 'components/images/imageLoader';
+import { AlphaPicker } from 'components/alphaPicker/alphaPicker';
+import listView from 'components/listview/listview';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import * as userSettings from 'scripts/settings/userSettings';
+import Events from 'utils/events';
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
-import '../../elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
export default function (view, params, tabContent, options) {
function getPageData() {
@@ -159,7 +159,7 @@ export default function (view, params, tabContent, options) {
loading.hide();
isLoading = false;
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(tabContent);
});
});
@@ -169,7 +169,7 @@ export default function (view, params, tabContent, options) {
let isLoading = false;
this.showFilterMenu = function () {
- import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
+ import('components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
const filterDialog = new FilterDialog({
query: getQuery(),
mode: options.mode,
@@ -238,4 +238,3 @@ export default function (view, params, tabContent, options) {
this.alphaPicker?.updateControls(getQuery());
};
}
-
diff --git a/src/controllers/music/musicgenres.js b/src/apps/legacy/controllers/music/musicgenres.js
similarity index 91%
rename from src/controllers/music/musicgenres.js
rename to src/apps/legacy/controllers/music/musicgenres.js
index 3b79529570..f0484a8ffb 100644
--- a/src/controllers/music/musicgenres.js
+++ b/src/apps/legacy/controllers/music/musicgenres.js
@@ -1,7 +1,7 @@
-import * as userSettings from '../../scripts/settings/userSettings';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import imageLoader from '../../components/images/imageLoader';
-import loading from '../../components/loading/loading';
+import * as userSettings from 'scripts/settings/userSettings';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import imageLoader from 'components/images/imageLoader';
+import loading from 'components/loading/loading';
export default function (view, params, tabContent) {
function getPageData() {
@@ -90,7 +90,7 @@ export default function (view, params, tabContent) {
userSettings.saveQuerySettings(getSavedQueryKey(), query);
loading.hide();
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(context);
});
});
diff --git a/src/controllers/music/musicplaylists.js b/src/apps/legacy/controllers/music/musicplaylists.js
similarity index 86%
rename from src/controllers/music/musicplaylists.js
rename to src/apps/legacy/controllers/music/musicplaylists.js
index 4d953c9df4..1295d377eb 100644
--- a/src/controllers/music/musicplaylists.js
+++ b/src/apps/legacy/controllers/music/musicplaylists.js
@@ -1,7 +1,7 @@
-import * as userSettings from '../../scripts/settings/userSettings';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import imageLoader from '../../components/images/imageLoader';
-import loading from '../../components/loading/loading';
+import * as userSettings from 'scripts/settings/userSettings';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import imageLoader from 'components/images/imageLoader';
+import loading from 'components/loading/loading';
export default function (view, params, tabContent) {
function getPageData() {
@@ -60,7 +60,7 @@ export default function (view, params, tabContent) {
userSettings.saveQuerySettings(getSavedQueryKey(), query);
loading.hide();
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(context);
});
});
diff --git a/src/controllers/music/musicrecommended.js b/src/apps/legacy/controllers/music/musicrecommended.js
similarity index 98%
rename from src/controllers/music/musicrecommended.js
rename to src/apps/legacy/controllers/music/musicrecommended.js
index 8a56eab97b..5dd58cd4a9 100644
--- a/src/controllers/music/musicrecommended.js
+++ b/src/apps/legacy/controllers/music/musicrecommended.js
@@ -73,7 +73,7 @@ function loadLatest(page, parentId) {
imageLoader.lazyChildren(elem);
loading.hide();
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(page);
});
});
@@ -169,7 +169,7 @@ function loadSuggestionsTab(page, tabContent, parentId) {
loadRecentlyPlayed(tabContent, parentId);
loadFrequentlyPlayed(tabContent, parentId);
- import('../../components/favoriteitems').then(({ default: favoriteItems }) => {
+ import('components/favoriteitems').then(({ default: favoriteItems }) => {
favoriteItems.render(tabContent, ApiClient.getCurrentUserId(), parentId, ['favoriteArtists', 'favoriteAlbums', 'favoriteSongs']);
});
}
diff --git a/src/controllers/music/songs.js b/src/apps/legacy/controllers/music/songs.js
similarity index 89%
rename from src/controllers/music/songs.js
rename to src/apps/legacy/controllers/music/songs.js
index 0e4e734aae..581488cc99 100644
--- a/src/controllers/music/songs.js
+++ b/src/apps/legacy/controllers/music/songs.js
@@ -1,16 +1,16 @@
-import libraryBrowser from '../../scripts/libraryBrowser';
-import imageLoader from '../../components/images/imageLoader';
-import listView from '../../components/listview/listview';
-import loading from '../../components/loading/loading';
-import { playbackManager } from '../../components/playback/playbackmanager';
-import * as userSettings from '../../scripts/settings/userSettings';
-import globalize from '../../lib/globalize';
-import Dashboard from '../../utils/dashboard';
-import Events from '../../utils/events.ts';
+import libraryBrowser from 'scripts/libraryBrowser';
+import imageLoader from 'components/images/imageLoader';
+import listView from 'components/listview/listview';
+import loading from 'components/loading/loading';
+import { playbackManager } from 'components/playback/playbackmanager';
+import * as userSettings from 'scripts/settings/userSettings';
+import globalize from 'lib/globalize';
+import Dashboard from 'utils/dashboard';
+import Events from 'utils/events';
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
-import '../../elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
export default function (view, params, tabContent) {
function getPageData() {
@@ -123,7 +123,7 @@ export default function (view, params, tabContent) {
loading.hide();
isLoading = false;
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(page);
});
});
@@ -134,7 +134,7 @@ export default function (view, params, tabContent) {
let isLoading = false;
self.showFilterMenu = function () {
- import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
+ import('components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
const filterDialog = new FilterDialog({
query: getQuery(),
mode: 'songs',
diff --git a/src/controllers/playback/queue/index.html b/src/apps/legacy/controllers/playback/queue/index.html
similarity index 100%
rename from src/controllers/playback/queue/index.html
rename to src/apps/legacy/controllers/playback/queue/index.html
diff --git a/src/controllers/playback/queue/index.js b/src/apps/legacy/controllers/playback/queue/index.js
similarity index 67%
rename from src/controllers/playback/queue/index.js
rename to src/apps/legacy/controllers/playback/queue/index.js
index 58cc8229c2..7800c52fc0 100644
--- a/src/controllers/playback/queue/index.js
+++ b/src/apps/legacy/controllers/playback/queue/index.js
@@ -1,13 +1,13 @@
-import RemoteControl from '../../../components/remotecontrol/remotecontrol';
-import { playbackManager } from '../../../components/playback/playbackmanager';
-import { clearBackdrop } from '../../../components/backdrop/backdrop';
-import libraryMenu from '../../../scripts/libraryMenu';
-import '../../../elements/emby-button/emby-button';
-import '../../../elements/emby-button/paper-icon-button-light';
-import '../../../elements/emby-collapse/emby-collapse';
-import '../../../elements/emby-input/emby-input';
-import '../../../elements/emby-itemscontainer/emby-itemscontainer';
-import '../../../elements/emby-slider/emby-slider';
+import RemoteControl from 'components/remotecontrol/remotecontrol';
+import { playbackManager } from 'components/playback/playbackmanager';
+import { clearBackdrop } from 'components/backdrop/backdrop';
+import libraryMenu from 'scripts/libraryMenu';
+import 'elements/emby-button/emby-button';
+import 'elements/emby-button/paper-icon-button-light';
+import 'elements/emby-collapse/emby-collapse';
+import 'elements/emby-input/emby-input';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-slider/emby-slider';
export default function (view) {
const remoteControl = new RemoteControl();
diff --git a/src/controllers/playback/video/index.html b/src/apps/legacy/controllers/playback/video/index.html
similarity index 100%
rename from src/controllers/playback/video/index.html
rename to src/apps/legacy/controllers/playback/video/index.html
diff --git a/src/controllers/playback/video/index.js b/src/apps/legacy/controllers/playback/video/index.js
similarity index 97%
rename from src/controllers/playback/video/index.js
rename to src/apps/legacy/controllers/playback/video/index.js
index 169b56a448..53cb9cfd05 100644
--- a/src/controllers/playback/video/index.js
+++ b/src/apps/legacy/controllers/playback/video/index.js
@@ -6,33 +6,33 @@ import { PluginType } from 'constants/pluginType';
import { TICKS_PER_MINUTE, TICKS_PER_SECOND } from 'constants/time';
import { EventType } from 'constants/eventType';
-import { playbackManager } from '../../../components/playback/playbackmanager';
-import browser from '../../../scripts/browser';
-import dom from '../../../utils/dom';
-import inputManager from '../../../scripts/inputManager';
-import mouseManager from '../../../scripts/mouseManager';
-import datetime from '../../../scripts/datetime';
-import itemHelper from '../../../components/itemHelper';
-import mediaInfo from '../../../components/mediainfo/mediainfo';
-import focusManager from '../../../components/focusManager';
-import Events from '../../../utils/events.ts';
-import globalize from '../../../lib/globalize';
-import { appHost } from '../../../components/apphost';
-import layoutManager from '../../../components/layoutManager';
-import * as userSettings from '../../../scripts/settings/userSettings';
-import keyboardnavigation from '../../../scripts/keyboardNavigation';
-import '../../../styles/scrollstyles.scss';
-import '../../../elements/emby-slider/emby-slider';
-import '../../../elements/emby-button/paper-icon-button-light';
-import '../../../elements/emby-ratingbutton/emby-ratingbutton';
-import '../../../styles/videoosd.scss';
-import shell from '../../../scripts/shell';
-import SubtitleSync from '../../../components/subtitlesync/subtitlesync';
-import { appRouter } from '../../../components/router/appRouter';
+import { playbackManager } from 'components/playback/playbackmanager';
+import browser from 'scripts/browser';
+import dom from 'utils/dom';
+import inputManager from 'scripts/inputManager';
+import mouseManager from 'scripts/mouseManager';
+import datetime from 'scripts/datetime';
+import itemHelper from 'components/itemHelper';
+import mediaInfo from 'components/mediainfo/mediainfo';
+import focusManager from 'components/focusManager';
+import Events from 'utils/events';
+import globalize from 'lib/globalize';
+import { appHost } from 'components/apphost';
+import layoutManager from 'components/layoutManager';
+import * as userSettings from 'scripts/settings/userSettings';
+import keyboardnavigation from 'scripts/keyboardNavigation';
+import 'styles/scrollstyles.scss';
+import 'elements/emby-slider/emby-slider';
+import 'elements/emby-button/paper-icon-button-light';
+import 'elements/emby-ratingbutton/emby-ratingbutton';
+import 'styles/videoosd.scss';
+import shell from 'scripts/shell';
+import SubtitleSync from 'components/subtitlesync/subtitlesync';
+import { appRouter } from 'components/router/appRouter';
import { ServerConnections } from 'lib/jellyfin-apiclient';
-import LibraryMenu from '../../../scripts/libraryMenu';
-import { setBackdropTransparency, TRANSPARENCY_LEVEL } from '../../../components/backdrop/backdrop';
-import { pluginManager } from '../../../components/pluginManager';
+import LibraryMenu from 'scripts/libraryMenu';
+import { setBackdropTransparency, TRANSPARENCY_LEVEL } from 'components/backdrop/backdrop';
+import { pluginManager } from 'components/pluginManager';
function getOpenedDialog() {
return document.querySelector('.dialogContainer .dialog.opened');
@@ -68,7 +68,7 @@ export default function (view) {
ServerConnections.getApiClient(item.ServerId).getCurrentUser().then(function (user) {
if (user.Policy.EnableLiveTvManagement) {
- import('../../../components/recordingcreator/recordingbutton').then(({ default: RecordingButton }) => {
+ import('components/recordingcreator/recordingbutton').then(({ default: RecordingButton }) => {
if (recordingButtonManager) {
recordingButtonManager.refreshItem(item);
return;
@@ -679,7 +679,7 @@ export default function (view) {
}
function showComingUpNext(player) {
- import('../../../components/upnextdialog/upnextdialog').then(({ default: UpNextDialog }) => {
+ import('components/upnextdialog/upnextdialog').then(({ default: UpNextDialog }) => {
if (!(currentVisibleMenu || currentUpNextDialog)) {
currentVisibleMenu = 'upnext';
comingUpNextDisplayed = true;
@@ -954,7 +954,7 @@ export default function (view) {
function onSettingsButtonClick() {
const btn = this;
- import('../../../components/playback/playersettingsmenu').then((playerSettingsMenu) => {
+ import('components/playback/playersettingsmenu').then((playerSettingsMenu) => {
const player = currentPlayer;
if (player) {
@@ -994,7 +994,7 @@ export default function (view) {
}
function toggleStats() {
- import('../../../components/playerstats/playerstats').then(({ default: PlayerStats }) => {
+ import('components/playerstats/playerstats').then(({ default: PlayerStats }) => {
const player = currentPlayer;
if (player) {
@@ -1034,7 +1034,7 @@ export default function (view) {
});
const positionTo = this;
- import('../../../components/actionSheet/actionSheet').then(({ default: actionsheet }) => {
+ import('components/actionSheet/actionSheet').then(({ default: actionsheet }) => {
actionsheet.show({
items: menuItems,
title: globalize.translate('Audio'),
@@ -1151,7 +1151,7 @@ export default function (view) {
const positionTo = this;
- import('../../../components/actionSheet/actionSheet').then(({ default: actionsheet }) => {
+ import('components/actionSheet/actionSheet').then(({ default: actionsheet }) => {
actionsheet.show({
title: globalize.translate('Subtitles'),
items: menuItems,
diff --git a/src/controllers/session/addServer/index.html b/src/apps/legacy/controllers/session/addServer/index.html
similarity index 100%
rename from src/controllers/session/addServer/index.html
rename to src/apps/legacy/controllers/session/addServer/index.html
diff --git a/src/controllers/session/addServer/index.js b/src/apps/legacy/controllers/session/addServer/index.js
similarity index 93%
rename from src/controllers/session/addServer/index.js
rename to src/apps/legacy/controllers/session/addServer/index.js
index dc2217ef4d..fbb3e4f5e5 100644
--- a/src/controllers/session/addServer/index.js
+++ b/src/apps/legacy/controllers/session/addServer/index.js
@@ -57,7 +57,7 @@ export default function(view) {
view.querySelector('.addServerForm').addEventListener('submit', onServerSubmit);
view.querySelector('.btnCancel').addEventListener('click', goBack);
- import('../../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(view);
});
@@ -68,7 +68,7 @@ export default function(view) {
}
function goBack() {
- import('../../../components/router/appRouter').then(({ appRouter }) => {
+ import('components/router/appRouter').then(({ appRouter }) => {
appRouter.back();
});
}
diff --git a/src/controllers/session/login/index.html b/src/apps/legacy/controllers/session/login/index.html
similarity index 100%
rename from src/controllers/session/login/index.html
rename to src/apps/legacy/controllers/session/login/index.html
diff --git a/src/controllers/session/login/index.js b/src/apps/legacy/controllers/session/login/index.js
similarity index 92%
rename from src/controllers/session/login/index.js
rename to src/apps/legacy/controllers/session/login/index.js
index fd38855284..d358b4da26 100644
--- a/src/controllers/session/login/index.js
+++ b/src/apps/legacy/controllers/session/login/index.js
@@ -4,21 +4,21 @@ import markdownIt from 'markdown-it';
import { AppFeature } from 'constants/appFeature';
import { ServerConnections } from 'lib/jellyfin-apiclient';
-import { appHost } from '../../../components/apphost';
-import appSettings from '../../../scripts/settings/appSettings';
-import dom from '../../../utils/dom';
-import loading from '../../../components/loading/loading';
-import layoutManager from '../../../components/layoutManager';
-import libraryMenu from '../../../scripts/libraryMenu';
-import browser from '../../../scripts/browser';
-import globalize from '../../../lib/globalize';
-import '../../../components/cardbuilder/card.scss';
-import '../../../elements/emby-checkbox/emby-checkbox';
-import Dashboard from '../../../utils/dashboard';
-import toast from '../../../components/toast/toast';
-import dialogHelper from '../../../components/dialogHelper/dialogHelper';
-import baseAlert from '../../../components/alert';
-import { getDefaultBackgroundClass } from '../../../components/cardbuilder/utils/builder';
+import { appHost } from 'components/apphost';
+import appSettings from 'scripts/settings/appSettings';
+import dom from 'utils/dom';
+import loading from 'components/loading/loading';
+import layoutManager from 'components/layoutManager';
+import libraryMenu from 'scripts/libraryMenu';
+import browser from 'scripts/browser';
+import globalize from 'lib/globalize';
+import 'components/cardbuilder/card.scss';
+import 'elements/emby-checkbox/emby-checkbox';
+import Dashboard from 'utils/dashboard';
+import toast from 'components/toast/toast';
+import dialogHelper from 'components/dialogHelper/dialogHelper';
+import baseAlert from 'components/alert';
+import { getDefaultBackgroundClass } from 'components/cardbuilder/utils/builder';
import './login.scss';
@@ -213,7 +213,7 @@ export default function (view, params) {
view.querySelector('.manualLoginForm').classList.add('hide');
view.querySelector('.btnManual').classList.remove('hide');
- import('../../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(view);
});
}
diff --git a/src/controllers/session/login/login.scss b/src/apps/legacy/controllers/session/login/login.scss
similarity index 100%
rename from src/controllers/session/login/login.scss
rename to src/apps/legacy/controllers/session/login/login.scss
diff --git a/src/controllers/session/resetPassword/index.html b/src/apps/legacy/controllers/session/resetPassword/index.html
similarity index 100%
rename from src/controllers/session/resetPassword/index.html
rename to src/apps/legacy/controllers/session/resetPassword/index.html
diff --git a/src/controllers/session/resetPassword/index.js b/src/apps/legacy/controllers/session/resetPassword/index.js
similarity index 100%
rename from src/controllers/session/resetPassword/index.js
rename to src/apps/legacy/controllers/session/resetPassword/index.js
diff --git a/src/controllers/session/selectServer/index.html b/src/apps/legacy/controllers/session/selectServer/index.html
similarity index 100%
rename from src/controllers/session/selectServer/index.html
rename to src/apps/legacy/controllers/session/selectServer/index.html
diff --git a/src/controllers/session/selectServer/index.js b/src/apps/legacy/controllers/session/selectServer/index.js
similarity index 86%
rename from src/controllers/session/selectServer/index.js
rename to src/apps/legacy/controllers/session/selectServer/index.js
index 30d0e90ddd..cbdc1c56a1 100644
--- a/src/controllers/session/selectServer/index.js
+++ b/src/apps/legacy/controllers/session/selectServer/index.js
@@ -1,24 +1,24 @@
import escapeHtml from 'escape-html';
-import loading from '../../../components/loading/loading';
-import { appRouter } from '../../../components/router/appRouter';
-import layoutManager from '../../../components/layoutManager';
-import libraryMenu from '../../../scripts/libraryMenu';
-import appSettings from '../../../scripts/settings/appSettings';
-import focusManager from '../../../components/focusManager';
-import globalize from '../../../lib/globalize';
-import actionSheet from '../../../components/actionSheet/actionSheet';
-import confirm from '../../../components/confirm/confirm';
-import dom from '../../../utils/dom';
-import browser from '../../../scripts/browser';
+import loading from 'components/loading/loading';
+import { appRouter } from 'components/router/appRouter';
+import layoutManager from 'components/layoutManager';
+import libraryMenu from 'scripts/libraryMenu';
+import appSettings from 'scripts/settings/appSettings';
+import focusManager from 'components/focusManager';
+import globalize from 'lib/globalize';
+import actionSheet from 'components/actionSheet/actionSheet';
+import confirm from 'components/confirm/confirm';
+import dom from 'utils/dom';
+import browser from 'scripts/browser';
import 'material-design-icons-iconfont';
-import '../../../styles/flexstyles.scss';
-import '../../../elements/emby-scroller/emby-scroller';
-import '../../../elements/emby-itemscontainer/emby-itemscontainer';
-import '../../../components/cardbuilder/card.scss';
-import '../../../elements/emby-button/emby-button';
-import Dashboard from '../../../utils/dashboard';
-import alert from '../../../components/alert';
-import { getDefaultBackgroundClass } from '../../../components/cardbuilder/utils/builder';
+import 'styles/flexstyles.scss';
+import 'elements/emby-scroller/emby-scroller';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
+import 'components/cardbuilder/card.scss';
+import 'elements/emby-button/emby-button';
+import Dashboard from 'utils/dashboard';
+import alert from 'components/alert';
+import { getDefaultBackgroundClass } from 'components/cardbuilder/utils/builder';
import { ConnectionState, ServerConnections } from 'lib/jellyfin-apiclient';
const enableFocusTransform = !browser.slow && !browser.edge;
diff --git a/src/controllers/shows/episodes.js b/src/apps/legacy/controllers/shows/episodes.js
similarity index 91%
rename from src/controllers/shows/episodes.js
rename to src/apps/legacy/controllers/shows/episodes.js
index a271b74117..74ec38eecf 100644
--- a/src/controllers/shows/episodes.js
+++ b/src/apps/legacy/controllers/shows/episodes.js
@@ -1,15 +1,15 @@
-import loading from '../../components/loading/loading';
-import libraryBrowser from '../../scripts/libraryBrowser';
-import imageLoader from '../../components/images/imageLoader';
-import listView from '../../components/listview/listview';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import * as userSettings from '../../scripts/settings/userSettings';
-import globalize from '../../lib/globalize';
-import Dashboard from '../../utils/dashboard';
-import Events from '../../utils/events.ts';
+import loading from 'components/loading/loading';
+import libraryBrowser from 'scripts/libraryBrowser';
+import imageLoader from 'components/images/imageLoader';
+import listView from 'components/listview/listview';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import * as userSettings from 'scripts/settings/userSettings';
+import globalize from 'lib/globalize';
+import Dashboard from 'utils/dashboard';
+import Events from 'utils/events';
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
-import '../../elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
export default function (view, params, tabContent) {
function getPageData() {
@@ -159,7 +159,7 @@ export default function (view, params, tabContent) {
loading.hide();
isLoading = false;
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(page);
});
});
@@ -170,7 +170,7 @@ export default function (view, params, tabContent) {
let isLoading = false;
self.showFilterMenu = function () {
- import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
+ import('components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
const filterDialog = new FilterDialog({
query: getQuery(),
mode: 'episodes',
@@ -246,4 +246,3 @@ export default function (view, params, tabContent) {
reloadItems(tabContent);
};
}
-
diff --git a/src/controllers/shows/tvgenres.js b/src/apps/legacy/controllers/shows/tvgenres.js
similarity index 100%
rename from src/controllers/shows/tvgenres.js
rename to src/apps/legacy/controllers/shows/tvgenres.js
diff --git a/src/controllers/shows/tvrecommended.html b/src/apps/legacy/controllers/shows/tvrecommended.html
similarity index 100%
rename from src/controllers/shows/tvrecommended.html
rename to src/apps/legacy/controllers/shows/tvrecommended.html
diff --git a/src/controllers/shows/tvrecommended.js b/src/apps/legacy/controllers/shows/tvrecommended.js
similarity index 100%
rename from src/controllers/shows/tvrecommended.js
rename to src/apps/legacy/controllers/shows/tvrecommended.js
diff --git a/src/controllers/shows/tvshows.js b/src/apps/legacy/controllers/shows/tvshows.js
similarity index 92%
rename from src/controllers/shows/tvshows.js
rename to src/apps/legacy/controllers/shows/tvshows.js
index 6ffdfa1dfd..515b25e49e 100644
--- a/src/controllers/shows/tvshows.js
+++ b/src/apps/legacy/controllers/shows/tvshows.js
@@ -1,15 +1,15 @@
-import loading from '../../components/loading/loading';
-import libraryBrowser from '../../scripts/libraryBrowser';
-import imageLoader from '../../components/images/imageLoader';
-import listView from '../../components/listview/listview';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import AlphaPicker from '../../components/alphaPicker/alphaPicker';
-import * as userSettings from '../../scripts/settings/userSettings';
-import globalize from '../../lib/globalize';
-import Events from '../../utils/events.ts';
+import loading from 'components/loading/loading';
+import libraryBrowser from 'scripts/libraryBrowser';
+import imageLoader from 'components/images/imageLoader';
+import listView from 'components/listview/listview';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
+import AlphaPicker from 'components/alphaPicker/alphaPicker';
+import * as userSettings from 'scripts/settings/userSettings';
+import globalize from 'lib/globalize';
+import Events from 'utils/events';
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
-import '../../elements/emby-itemscontainer/emby-itemscontainer';
+import 'elements/emby-itemscontainer/emby-itemscontainer';
export default function (view, params, tabContent) {
function getPageData() {
@@ -188,7 +188,7 @@ export default function (view, params, tabContent) {
loading.hide();
isLoading = false;
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(page);
});
});
@@ -198,7 +198,7 @@ export default function (view, params, tabContent) {
let isLoading = false;
this.showFilterMenu = function () {
- import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
+ import('components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
const filterDialog = new FilterDialog({
query: getQuery(),
mode: 'series',
diff --git a/src/controllers/shows/tvstudios.js b/src/apps/legacy/controllers/shows/tvstudios.js
similarity index 88%
rename from src/controllers/shows/tvstudios.js
rename to src/apps/legacy/controllers/shows/tvstudios.js
index 3f75cd27fd..3502d86c1d 100644
--- a/src/controllers/shows/tvstudios.js
+++ b/src/apps/legacy/controllers/shows/tvstudios.js
@@ -1,5 +1,5 @@
-import loading from '../../components/loading/loading';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
+import loading from 'components/loading/loading';
+import cardBuilder from 'components/cardbuilder/cardBuilder';
function getQuery(params) {
const key = getSavedQueryKey(params);
@@ -47,7 +47,7 @@ function reloadItems(context, params, promise) {
});
loading.hide();
- import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(context);
});
});
@@ -67,4 +67,3 @@ export default function (view, params, tabContent) {
reloadItems(tabContent, params, promise);
};
}
-
diff --git a/src/controllers/shows/tvupcoming.js b/src/apps/legacy/controllers/shows/tvupcoming.js
similarity index 100%
rename from src/controllers/shows/tvupcoming.js
rename to src/apps/legacy/controllers/shows/tvupcoming.js
diff --git a/src/controllers/user/controls/index.html b/src/apps/legacy/controllers/user/controls/index.html
similarity index 100%
rename from src/controllers/user/controls/index.html
rename to src/apps/legacy/controllers/user/controls/index.html
diff --git a/src/controllers/user/controls/index.js b/src/apps/legacy/controllers/user/controls/index.js
similarity index 79%
rename from src/controllers/user/controls/index.js
rename to src/apps/legacy/controllers/user/controls/index.js
index 8486c0c7e6..9e3583c1c7 100644
--- a/src/controllers/user/controls/index.js
+++ b/src/apps/legacy/controllers/user/controls/index.js
@@ -1,8 +1,8 @@
import layoutManager from 'components/layoutManager';
-import toast from '../../../components/toast/toast';
-import globalize from '../../../lib/globalize';
-import appSettings from '../../../scripts/settings/appSettings';
-import Events from '../../../utils/events.ts';
+import toast from 'components/toast/toast';
+import globalize from 'lib/globalize';
+import appSettings from 'scripts/settings/appSettings';
+import Events from 'utils/events';
import keyboardNavigation from 'scripts/keyboardNavigation';
export default function (view) {
@@ -29,7 +29,7 @@ export default function (view) {
view.querySelector('form').addEventListener('submit', submit);
view.querySelector('.btnSave').classList.remove('hide');
- import('../../../components/autoFocuser').then(({ default: autoFocuser }) => {
+ import('components/autoFocuser').then(({ default: autoFocuser }) => {
autoFocuser.autoFocus(view);
});
});
diff --git a/src/controllers/user/display/index.html b/src/apps/legacy/controllers/user/display/index.html
similarity index 100%
rename from src/controllers/user/display/index.html
rename to src/apps/legacy/controllers/user/display/index.html
diff --git a/src/controllers/user/display/index.js b/src/apps/legacy/controllers/user/display/index.js
similarity index 83%
rename from src/controllers/user/display/index.js
rename to src/apps/legacy/controllers/user/display/index.js
index 836c8c159a..d2999b3f1d 100644
--- a/src/controllers/user/display/index.js
+++ b/src/apps/legacy/controllers/user/display/index.js
@@ -1,6 +1,6 @@
-import DisplaySettings from '../../../components/displaySettings/displaySettings';
-import * as userSettings from '../../../scripts/settings/userSettings';
-import autoFocuser from '../../../components/autoFocuser';
+import DisplaySettings from 'components/displaySettings/displaySettings';
+import * as userSettings from 'scripts/settings/userSettings';
+import autoFocuser from 'components/autoFocuser';
// Shortcuts
const UserSettings = userSettings.UserSettings;
diff --git a/src/controllers/user/home/index.html b/src/apps/legacy/controllers/user/home/index.html
similarity index 100%
rename from src/controllers/user/home/index.html
rename to src/apps/legacy/controllers/user/home/index.html
diff --git a/src/controllers/user/home/index.js b/src/apps/legacy/controllers/user/home/index.js
similarity index 80%
rename from src/controllers/user/home/index.js
rename to src/apps/legacy/controllers/user/home/index.js
index c2c0af99af..457fa3ba29 100644
--- a/src/controllers/user/home/index.js
+++ b/src/apps/legacy/controllers/user/home/index.js
@@ -1,7 +1,7 @@
-import HomescreenSettings from '../../../components/homeScreenSettings/homeScreenSettings';
-import * as userSettings from '../../../scripts/settings/userSettings';
-import autoFocuser from '../../../components/autoFocuser';
-import '../../../components/listview/listview.scss';
+import HomescreenSettings from 'components/homeScreenSettings/homeScreenSettings';
+import * as userSettings from 'scripts/settings/userSettings';
+import autoFocuser from 'components/autoFocuser';
+import 'components/listview/listview.scss';
// Shortcuts
const UserSettings = userSettings.UserSettings;
diff --git a/src/controllers/user/playback/index.html b/src/apps/legacy/controllers/user/playback/index.html
similarity index 100%
rename from src/controllers/user/playback/index.html
rename to src/apps/legacy/controllers/user/playback/index.html
diff --git a/src/controllers/user/playback/index.js b/src/apps/legacy/controllers/user/playback/index.js
similarity index 79%
rename from src/controllers/user/playback/index.js
rename to src/apps/legacy/controllers/user/playback/index.js
index 6f652be4a4..92b737838c 100644
--- a/src/controllers/user/playback/index.js
+++ b/src/apps/legacy/controllers/user/playback/index.js
@@ -1,8 +1,8 @@
-import PlaybackSettings from '../../../components/playbackSettings/playbackSettings';
-import * as userSettings from '../../../scripts/settings/userSettings';
-import autoFocuser from '../../../components/autoFocuser';
-import '../../../components/listview/listview.scss';
+import PlaybackSettings from 'components/playbackSettings/playbackSettings';
+import * as userSettings from 'scripts/settings/userSettings';
+import autoFocuser from 'components/autoFocuser';
+import 'components/listview/listview.scss';
// Shortcuts
const UserSettings = userSettings.UserSettings;
diff --git a/src/controllers/user/subtitles/index.html b/src/apps/legacy/controllers/user/subtitles/index.html
similarity index 100%
rename from src/controllers/user/subtitles/index.html
rename to src/apps/legacy/controllers/user/subtitles/index.html
diff --git a/src/controllers/user/subtitles/index.js b/src/apps/legacy/controllers/user/subtitles/index.js
similarity index 83%
rename from src/controllers/user/subtitles/index.js
rename to src/apps/legacy/controllers/user/subtitles/index.js
index 6eb3197184..69ea37d2d9 100644
--- a/src/controllers/user/subtitles/index.js
+++ b/src/apps/legacy/controllers/user/subtitles/index.js
@@ -1,6 +1,6 @@
-import SubtitleSettings from '../../../components/subtitlesettings/subtitlesettings';
-import * as userSettings from '../../../scripts/settings/userSettings';
-import autoFocuser from '../../../components/autoFocuser';
+import SubtitleSettings from 'components/subtitlesettings/subtitlesettings';
+import * as userSettings from 'scripts/settings/userSettings';
+import autoFocuser from 'components/autoFocuser';
// Shortcuts
const UserSettings = userSettings.UserSettings;
@@ -34,4 +34,3 @@ export default function (view, params) {
}
});
}
-
diff --git a/src/apps/modern/routes/home.tsx b/src/apps/modern/routes/home.tsx
index 7828c8c4bf..1fb59f85b9 100644
--- a/src/apps/modern/routes/home.tsx
+++ b/src/apps/modern/routes/home.tsx
@@ -71,7 +71,7 @@ const Home = () => {
depends = 'favorites';
}
- return import(/* webpackChunkName: "[request]" */ `../../../controllers/${depends}`).then(({ default: ControllerFactory }) => {
+ return import(/* webpackChunkName: "[request]" */ `../../../apps/legacy/controllers/${depends}`).then(({ default: ControllerFactory }) => {
let controller = tabControllers[index];
if (!controller) {
diff --git a/src/components/viewManager/ViewManagerPage.tsx b/src/components/viewManager/ViewManagerPage.tsx
index 51f76c327a..426a99770a 100644
--- a/src/components/viewManager/ViewManagerPage.tsx
+++ b/src/components/viewManager/ViewManagerPage.tsx
@@ -53,8 +53,8 @@ const importController = (
]);
default:
return Promise.all([
- import(/* webpackChunkName: "[request]" */ `../../controllers/${controller}`),
- import(/* webpackChunkName: "[request]" */ `../../controllers/${view}`)
+ import(/* webpackChunkName: "[request]" */ `../../apps/legacy/controllers/${controller}`),
+ import(/* webpackChunkName: "[request]" */ `../../apps/legacy/controllers/${view}`)
.then(html => globalize.translateHtml(html))
]);
}