From 5bcbcfbe126a2cc303e08de685eb6bd23463a6fa Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 22 Apr 2025 08:26:43 -0400 Subject: [PATCH] Move server connections to lib --- src/apps/dashboard/controllers/dashboard.js | 2 +- src/apps/dashboard/routes/branding/index.tsx | 2 +- .../dashboard/routes/libraries/display.tsx | 2 +- .../dashboard/routes/libraries/metadata.tsx | 2 +- src/apps/dashboard/routes/libraries/nfo.tsx | 2 +- src/apps/dashboard/routes/logs/index.tsx | 2 +- src/apps/dashboard/routes/playback/resume.tsx | 2 +- .../dashboard/routes/playback/streaming.tsx | 2 +- .../dashboard/routes/playback/trickplay.tsx | 2 +- src/apps/dashboard/routes/settings/index.tsx | 2 +- .../routes/users/parentalcontrol.tsx | 2 +- .../stable/features/playback/utils/image.ts | 2 +- .../playback/utils/mediaSegmentManager.ts | 2 +- src/apps/wizard/controllers/finish/index.js | 2 +- src/apps/wizard/controllers/library.js | 2 +- src/apps/wizard/controllers/remote/index.js | 2 +- src/apps/wizard/controllers/settings/index.js | 2 +- src/apps/wizard/controllers/start/index.js | 2 +- src/apps/wizard/controllers/user/index.js | 2 +- src/components/ConnectionRequired.tsx | 2 +- src/components/ServerContentPage.tsx | 6 +++--- src/components/activitylog.js | 2 +- src/components/backdrop/backdrop.js | 2 +- src/components/cardbuilder/cardBuilder.js | 2 +- .../cardbuilder/chaptercardbuilder.js | 3 ++- src/components/channelMapper/channelMapper.js | 2 +- .../collectionEditor/collectionEditor.js | 2 +- .../displaySettings/displaySettings.js | 2 +- src/components/filterdialog/filterdialog.js | 2 +- src/components/filtermenu/filtermenu.js | 2 +- src/components/groupedcards.js | 2 +- src/components/guide/guide.js | 2 +- .../homeScreenSettings/homeScreenSettings.js | 2 +- .../homesections/sections/activeRecordings.ts | 2 +- .../homesections/sections/liveTv.ts | 2 +- .../homesections/sections/nextUp.ts | 2 +- .../homesections/sections/recentlyAdded.ts | 4 ++-- .../homesections/sections/resume.ts | 2 +- .../imageDownloader/imageDownloader.js | 2 +- src/components/imageUploader/imageUploader.js | 3 ++- src/components/imageeditor/imageeditor.js | 2 +- src/components/itemContextMenu.js | 2 +- src/components/itemHelper.js | 2 +- src/components/itemMediaInfo/itemMediaInfo.js | 2 +- .../itemidentifier/itemidentifier.js | 2 +- src/components/listview/listview.js | 2 +- src/components/lyricseditor/lyricseditor.js | 2 +- .../lyricsuploader/lyricsuploader.js | 2 +- .../metadataEditor/metadataEditor.js | 3 ++- src/components/multiSelect/multiSelect.js | 2 +- src/components/notifications/notifications.js | 2 +- src/components/nowPlayingBar/nowPlayingBar.js | 2 +- .../playback/displayMirrorManager.ts | 2 +- src/components/playback/playbackmanager.js | 4 ++-- src/components/playback/playersettingsmenu.js | 4 ++-- .../playbackSettings/playbackSettings.js | 2 +- src/components/playerstats/playerstats.js | 3 ++- .../playlisteditor/playlisteditor.ts | 2 +- src/components/pluginManager.js | 2 +- .../recordingcreator/recordingbutton.js | 3 ++- .../recordingcreator/recordingcreator.js | 3 ++- .../recordingcreator/recordingeditor.js | 3 ++- .../recordingcreator/recordingfields.js | 3 ++- .../recordingcreator/recordinghelper.js | 4 ++-- .../recordingcreator/seriesrecordingeditor.js | 3 ++- src/components/refreshdialog/refreshdialog.js | 3 ++- src/components/remotecontrol/remotecontrol.js | 3 ++- src/components/router/appRouter.js | 4 ++-- src/components/shortcuts.js | 2 +- src/components/slideshow/slideshow.js | 3 ++- .../subtitleeditor/subtitleeditor.js | 3 ++- .../subtitlesettings/subtitlesettings.js | 3 ++- .../subtitleuploader/subtitleuploader.js | 3 ++- src/components/themeMediaPlayer.js | 2 +- src/components/upnextdialog/upnextdialog.js | 3 ++- .../userdatabuttons/userdatabuttons.js | 3 ++- src/controllers/favorites.js | 2 +- src/controllers/hometab.js | 3 ++- src/controllers/itemDetails/index.js | 5 ++--- src/controllers/list.js | 2 +- src/controllers/lyrics.js | 2 +- src/controllers/playback/video/index.js | 2 +- src/controllers/session/addServer/index.js | 15 +++++++------- src/controllers/session/login/index.js | 5 +++-- src/controllers/session/selectServer/index.js | 4 ++-- .../emby-itemscontainer.js | 7 ++++--- .../emby-playstatebutton.js | 2 +- .../emby-ratingbutton/emby-ratingbutton.js | 2 +- src/hooks/useApi.tsx | 6 +++--- src/index.jsx | 5 ++--- .../jellyfin-apiclient}/ServerConnections.js | 10 +++++----- src/plugins/backdropScreensaver/plugin.js | 6 +++--- src/plugins/bookPlayer/plugin.js | 2 +- src/plugins/chromecastPlayer/plugin.js | 2 +- src/plugins/comicsPlayer/plugin.js | 2 +- src/plugins/htmlVideoPlayer/plugin.js | 2 +- src/plugins/pdfPlayer/plugin.js | 2 +- src/plugins/photoPlayer/plugin.js | 4 ++-- src/plugins/playAccessValidation/plugin.js | 8 ++++---- src/plugins/sessionPlayer/plugin.js | 2 +- src/plugins/syncPlay/plugin.ts | 2 +- src/plugins/syncPlay/ui/groupSelectionMenu.js | 2 +- src/scripts/autoBackdrops.js | 2 +- src/scripts/autoThemes.js | 6 +++--- src/scripts/autocast.js | 6 +++--- src/scripts/deleteHelper.js | 11 +++++----- src/scripts/itemsByName.js | 13 ++++++------ src/scripts/libraryMenu.js | 2 +- src/scripts/playlistViewer.js | 2 +- src/scripts/screensavermanager.js | 11 +++++----- src/scripts/serverNotifications.js | 20 +++++++++---------- src/scripts/taskbutton.js | 10 +++++----- src/utils/dashboard.js | 2 +- 113 files changed, 198 insertions(+), 176 deletions(-) rename src/{components => lib/jellyfin-apiclient}/ServerConnections.js (94%) diff --git a/src/apps/dashboard/controllers/dashboard.js b/src/apps/dashboard/controllers/dashboard.js index 334fb7e3ec..8b6167182c 100644 --- a/src/apps/dashboard/controllers/dashboard.js +++ b/src/apps/dashboard/controllers/dashboard.js @@ -17,12 +17,12 @@ import imageHelper from 'utils/image'; import indicators from 'components/indicators/indicators'; import taskButton from 'scripts/taskbutton'; import Dashboard from 'utils/dashboard'; -import ServerConnections from 'components/ServerConnections'; import alert from 'components/alert'; import confirm from 'components/confirm/confirm'; import { getDefaultBackgroundClass } from 'components/cardbuilder/cardBuilderUtils'; import { getSystemInfoQuery } from 'hooks/useSystemInfo'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { toApi } from 'utils/jellyfin-apiclient/compat'; import { queryClient } from 'utils/query/queryClient'; diff --git a/src/apps/dashboard/routes/branding/index.tsx b/src/apps/dashboard/routes/branding/index.tsx index 3d2d8d2c75..e124aba010 100644 --- a/src/apps/dashboard/routes/branding/index.tsx +++ b/src/apps/dashboard/routes/branding/index.tsx @@ -18,10 +18,10 @@ import { getBrandingOptionsQuery, QUERY_KEY, useBrandingOptions } from 'apps/das import Loading from 'components/loading/LoadingComponent'; import Image from 'components/Image'; import Page from 'components/Page'; -import ServerConnections from 'components/ServerConnections'; import { SPLASHSCREEN_URL } from 'constants/branding'; import { useApi } from 'hooks/useApi'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { queryClient } from 'utils/query/queryClient'; import { ActionData } from 'types/actionData'; diff --git a/src/apps/dashboard/routes/libraries/display.tsx b/src/apps/dashboard/routes/libraries/display.tsx index d83f8d588f..8dd377e940 100644 --- a/src/apps/dashboard/routes/libraries/display.tsx +++ b/src/apps/dashboard/routes/libraries/display.tsx @@ -12,11 +12,11 @@ import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; import Loading from 'components/loading/LoadingComponent'; import Page from 'components/Page'; -import ServerConnections from 'components/ServerConnections'; import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; import { QUERY_KEY as CONFIG_QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; import { QUERY_KEY as NAMED_CONFIG_QUERY_KEY, NamedConfiguration, useNamedConfiguration } from 'hooks/useNamedConfiguration'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; import { ActionData } from 'types/actionData'; import { queryClient } from 'utils/query/queryClient'; diff --git a/src/apps/dashboard/routes/libraries/metadata.tsx b/src/apps/dashboard/routes/libraries/metadata.tsx index 4ac74a9608..ae611329b5 100644 --- a/src/apps/dashboard/routes/libraries/metadata.tsx +++ b/src/apps/dashboard/routes/libraries/metadata.tsx @@ -12,9 +12,9 @@ import { useCultures } from 'apps/dashboard/features/libraries/api/useCultures'; import { getImageResolutionOptions } from 'apps/dashboard/features/libraries/utils/metadataOptions'; import Loading from 'components/loading/LoadingComponent'; import Page from 'components/Page'; -import ServerConnections from 'components/ServerConnections'; import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import React from 'react'; import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; import { ActionData } from 'types/actionData'; diff --git a/src/apps/dashboard/routes/libraries/nfo.tsx b/src/apps/dashboard/routes/libraries/nfo.tsx index 8d42be829a..65d3bbe109 100644 --- a/src/apps/dashboard/routes/libraries/nfo.tsx +++ b/src/apps/dashboard/routes/libraries/nfo.tsx @@ -12,11 +12,11 @@ import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; import Loading from 'components/loading/LoadingComponent'; import Page from 'components/Page'; -import ServerConnections from 'components/ServerConnections'; import SimpleAlert from 'components/SimpleAlert'; import { QUERY_KEY, useNamedConfiguration } from 'hooks/useNamedConfiguration'; import { useUsers } from 'hooks/useUsers'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import React, { useCallback, useState } from 'react'; import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; import { ActionData } from 'types/actionData'; diff --git a/src/apps/dashboard/routes/logs/index.tsx b/src/apps/dashboard/routes/logs/index.tsx index 84af1b2445..68027807f7 100644 --- a/src/apps/dashboard/routes/logs/index.tsx +++ b/src/apps/dashboard/routes/logs/index.tsx @@ -3,6 +3,7 @@ import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-a import Loading from 'components/loading/LoadingComponent'; import Page from 'components/Page'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Alert from '@mui/material/Alert'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; @@ -12,7 +13,6 @@ import Checkbox from '@mui/material/Checkbox'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; -import ServerConnections from 'components/ServerConnections'; import { useServerLogs } from 'apps/dashboard/features/logs/api/useServerLogs'; import { useConfiguration } from 'hooks/useConfiguration'; import type { ServerConfiguration } from '@jellyfin/sdk/lib/generated-client/models/server-configuration'; diff --git a/src/apps/dashboard/routes/playback/resume.tsx b/src/apps/dashboard/routes/playback/resume.tsx index f711ac82d4..520c15eaf3 100644 --- a/src/apps/dashboard/routes/playback/resume.tsx +++ b/src/apps/dashboard/routes/playback/resume.tsx @@ -1,6 +1,7 @@ import React from 'react'; import Page from 'components/Page'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Alert from '@mui/material/Alert'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; @@ -11,7 +12,6 @@ import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'rea import { ActionData } from 'types/actionData'; import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; import Loading from 'components/loading/LoadingComponent'; -import ServerConnections from 'components/ServerConnections'; import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; import { queryClient } from 'utils/query/queryClient'; diff --git a/src/apps/dashboard/routes/playback/streaming.tsx b/src/apps/dashboard/routes/playback/streaming.tsx index fdb75b834d..d3d5a3f56c 100644 --- a/src/apps/dashboard/routes/playback/streaming.tsx +++ b/src/apps/dashboard/routes/playback/streaming.tsx @@ -1,6 +1,7 @@ import React from 'react'; import Page from 'components/Page'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Alert from '@mui/material/Alert'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; @@ -8,7 +9,6 @@ import Stack from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; -import ServerConnections from 'components/ServerConnections'; import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; import Loading from 'components/loading/LoadingComponent'; diff --git a/src/apps/dashboard/routes/playback/trickplay.tsx b/src/apps/dashboard/routes/playback/trickplay.tsx index 02591d2169..05984a0d72 100644 --- a/src/apps/dashboard/routes/playback/trickplay.tsx +++ b/src/apps/dashboard/routes/playback/trickplay.tsx @@ -1,6 +1,7 @@ import React from 'react'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; import Page from 'components/Page'; @@ -16,7 +17,6 @@ import MenuItem from '@mui/material/MenuItem'; import TextField from '@mui/material/TextField'; import Button from '@mui/material/Button'; import Alert from '@mui/material/Alert'; -import ServerConnections from 'components/ServerConnections'; import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; import { TrickplayScanBehavior } from '@jellyfin/sdk/lib/generated-client/models/trickplay-scan-behavior'; import { ProcessPriorityClass } from '@jellyfin/sdk/lib/generated-client/models/process-priority-class'; diff --git a/src/apps/dashboard/routes/settings/index.tsx b/src/apps/dashboard/routes/settings/index.tsx index 2e4a31d0f8..9ad2486a01 100644 --- a/src/apps/dashboard/routes/settings/index.tsx +++ b/src/apps/dashboard/routes/settings/index.tsx @@ -11,6 +11,7 @@ import Page from 'components/Page'; import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; import { useSystemInfo } from 'hooks/useSystemInfo'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import React, { useCallback, useEffect, useState } from 'react'; import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; import SearchIcon from '@mui/icons-material/Search'; @@ -21,7 +22,6 @@ import Checkbox from '@mui/material/Checkbox'; import Button from '@mui/material/Button'; import Link from '@mui/material/Link'; import DirectoryBrowser from 'components/directorybrowser/directorybrowser'; -import ServerConnections from 'components/ServerConnections'; import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; import { queryClient } from 'utils/query/queryClient'; import { ActionData } from 'types/actionData'; diff --git a/src/apps/dashboard/routes/users/parentalcontrol.tsx b/src/apps/dashboard/routes/users/parentalcontrol.tsx index 2e4954259d..9129421fbf 100644 --- a/src/apps/dashboard/routes/users/parentalcontrol.tsx +++ b/src/apps/dashboard/routes/users/parentalcontrol.tsx @@ -17,7 +17,7 @@ import CheckBoxElement from '../../../../elements/CheckBoxElement'; import SelectElement from '../../../../elements/SelectElement'; import Page from '../../../../components/Page'; import prompt from '../../../../components/prompt/prompt'; -import ServerConnections from 'components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; type NamedItem = { name: string; diff --git a/src/apps/stable/features/playback/utils/image.ts b/src/apps/stable/features/playback/utils/image.ts index 4bac595af3..d35f678eee 100644 --- a/src/apps/stable/features/playback/utils/image.ts +++ b/src/apps/stable/features/playback/utils/image.ts @@ -1,7 +1,7 @@ import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-item-kind'; import { ImageType } from '@jellyfin/sdk/lib/generated-client/models/image-type'; -import ServerConnections from 'components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import type { ItemDto } from 'types/base/models/item-dto'; interface ImageOptions { diff --git a/src/apps/stable/features/playback/utils/mediaSegmentManager.ts b/src/apps/stable/features/playback/utils/mediaSegmentManager.ts index 129eda65ff..85b5b83091 100644 --- a/src/apps/stable/features/playback/utils/mediaSegmentManager.ts +++ b/src/apps/stable/features/playback/utils/mediaSegmentManager.ts @@ -4,8 +4,8 @@ import { MediaSegmentType } from '@jellyfin/sdk/lib/generated-client/models/medi import { getMediaSegmentsApi } from '@jellyfin/sdk/lib/utils/api/media-segments-api'; import type { PlaybackManager } from 'components/playback/playbackmanager'; -import ServerConnections from 'components/ServerConnections'; import { TICKS_PER_MILLISECOND, TICKS_PER_SECOND } from 'constants/time'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { currentSettings as userSettings } from 'scripts/settings/userSettings'; import type { PlayerState } from 'types/playbackStopInfo'; import type { Event } from 'utils/events'; diff --git a/src/apps/wizard/controllers/finish/index.js b/src/apps/wizard/controllers/finish/index.js index 4408da2dd5..05770cc155 100644 --- a/src/apps/wizard/controllers/finish/index.js +++ b/src/apps/wizard/controllers/finish/index.js @@ -1,5 +1,5 @@ import loading from 'components/loading/loading'; -import ServerConnections from 'components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; function onFinish() { loading.show(); diff --git a/src/apps/wizard/controllers/library.js b/src/apps/wizard/controllers/library.js index ccdc42b13d..598fb29a5b 100644 --- a/src/apps/wizard/controllers/library.js +++ b/src/apps/wizard/controllers/library.js @@ -3,8 +3,8 @@ import escapeHtml from 'escape-html'; import { getDefaultBackgroundClass } from 'components/cardbuilder/cardBuilderUtils'; import confirm from 'components/confirm/confirm'; import loading from 'components/loading/loading'; -import ServerConnections from 'components/ServerConnections'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import dom from 'scripts/dom'; import taskButton from 'scripts/taskbutton'; import Dashboard, { pageClassOn, pageIdOn } from 'utils/dashboard'; diff --git a/src/apps/wizard/controllers/remote/index.js b/src/apps/wizard/controllers/remote/index.js index f836f1fa9f..441d67ea11 100644 --- a/src/apps/wizard/controllers/remote/index.js +++ b/src/apps/wizard/controllers/remote/index.js @@ -1,5 +1,5 @@ import loading from 'components/loading/loading'; -import ServerConnections from 'components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Dashboard from 'utils/dashboard'; import 'elements/emby-checkbox/emby-checkbox'; diff --git a/src/apps/wizard/controllers/settings/index.js b/src/apps/wizard/controllers/settings/index.js index f118d83ce4..6059102358 100644 --- a/src/apps/wizard/controllers/settings/index.js +++ b/src/apps/wizard/controllers/settings/index.js @@ -1,5 +1,5 @@ import loading from 'components/loading/loading'; -import ServerConnections from 'components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Dashboard from 'utils/dashboard'; import 'elements/emby-button/emby-button'; diff --git a/src/apps/wizard/controllers/start/index.js b/src/apps/wizard/controllers/start/index.js index 4bd9d68a99..0311f5da6a 100644 --- a/src/apps/wizard/controllers/start/index.js +++ b/src/apps/wizard/controllers/start/index.js @@ -1,5 +1,5 @@ import loading from 'components/loading/loading'; -import ServerConnections from 'components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Dashboard from 'utils/dashboard'; import dom from 'scripts/dom'; diff --git a/src/apps/wizard/controllers/user/index.js b/src/apps/wizard/controllers/user/index.js index 1a13a790bb..034f5e27ee 100644 --- a/src/apps/wizard/controllers/user/index.js +++ b/src/apps/wizard/controllers/user/index.js @@ -1,7 +1,7 @@ import loading from 'components/loading/loading'; -import ServerConnections from 'components/ServerConnections'; import toast from 'components/toast/toast'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Dashboard from 'utils/dashboard'; import 'styles/dashboard.scss'; diff --git a/src/components/ConnectionRequired.tsx b/src/components/ConnectionRequired.tsx index 305aeb7db9..ec4e83907a 100644 --- a/src/components/ConnectionRequired.tsx +++ b/src/components/ConnectionRequired.tsx @@ -4,10 +4,10 @@ import type { ApiClient, ConnectResponse } from 'jellyfin-apiclient'; import globalize from 'lib/globalize'; import { ConnectionState } from 'lib/jellyfin-apiclient/connectionState'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import alert from './alert'; import Loading from './loading/LoadingComponent'; -import ServerConnections from './ServerConnections'; enum AccessLevel { /** Requires a user with administrator access */ diff --git a/src/components/ServerContentPage.tsx b/src/components/ServerContentPage.tsx index 2880e9a303..152d23cb8f 100644 --- a/src/components/ServerContentPage.tsx +++ b/src/components/ServerContentPage.tsx @@ -1,10 +1,10 @@ import { FunctionComponent, useEffect } from 'react'; import { useLocation } from 'react-router-dom'; -import ServerConnections from './ServerConnections'; import viewManager from './viewManager/viewManager'; -import globalize from '../lib/globalize'; -import type { RestoreViewFailResponse } from '../types/viewManager'; +import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import type { RestoreViewFailResponse } from 'types/viewManager'; interface ServerContentPageProps { view: string diff --git a/src/components/activitylog.js b/src/components/activitylog.js index 36f17c8809..4afc28fdb9 100644 --- a/src/components/activitylog.js +++ b/src/components/activitylog.js @@ -1,12 +1,12 @@ import escapeHtml from 'escape-html'; import Events from '../utils/events.ts'; import globalize from '../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import dom from '../scripts/dom'; import { formatRelative } from 'date-fns'; import serverNotifications from '../scripts/serverNotifications'; import '../elements/emby-button/emby-button'; import './listview/listview.scss'; -import ServerConnections from './ServerConnections'; import alert from './alert'; import { getLocale } from '../utils/dateFnsLocale.ts'; import { toBoolean } from '../utils/string.ts'; diff --git a/src/components/backdrop/backdrop.js b/src/components/backdrop/backdrop.js index f99a46a5b6..14d71298e5 100644 --- a/src/components/backdrop/backdrop.js +++ b/src/components/backdrop/backdrop.js @@ -1,9 +1,9 @@ import isEqual from 'lodash-es/isEqual'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import browser from '../../scripts/browser'; import { playbackManager } from '../playback/playbackmanager'; import dom from '../../scripts/dom'; import * as userSettings from '../../scripts/settings/userSettings'; -import ServerConnections from '../ServerConnections'; import './backdrop.scss'; diff --git a/src/components/cardbuilder/cardBuilder.js b/src/components/cardbuilder/cardBuilder.js index 1f7da16557..6882a84099 100644 --- a/src/components/cardbuilder/cardBuilder.js +++ b/src/components/cardbuilder/cardBuilder.js @@ -12,6 +12,7 @@ import browser from 'scripts/browser'; import datetime from 'scripts/datetime'; import dom from 'scripts/dom'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { getBackdropShape, getPortraitShape, getSquareShape } from 'utils/card'; import { getItemTypeIcon, getLibraryIcon } from 'utils/image'; @@ -22,7 +23,6 @@ import itemHelper from '../itemHelper'; import layoutManager from '../layoutManager'; import { playbackManager } from '../playback/playbackmanager'; import { appRouter } from '../router/appRouter'; -import ServerConnections from '../ServerConnections'; import itemShortcuts from '../shortcuts'; import 'elements/emby-button/paper-icon-button-light'; diff --git a/src/components/cardbuilder/chaptercardbuilder.js b/src/components/cardbuilder/chaptercardbuilder.js index 21535adc89..5249e00a4d 100644 --- a/src/components/cardbuilder/chaptercardbuilder.js +++ b/src/components/cardbuilder/chaptercardbuilder.js @@ -5,11 +5,12 @@ */ import escapeHtml from 'escape-html'; + +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import datetime from '../../scripts/datetime'; import imageLoader from '../images/imageLoader'; import layoutManager from '../layoutManager'; import browser from '../../scripts/browser'; -import ServerConnections from '../ServerConnections'; const enableFocusTransform = !browser.slow && !browser.edge; diff --git a/src/components/channelMapper/channelMapper.js b/src/components/channelMapper/channelMapper.js index 762ca0b750..0195aa47ce 100644 --- a/src/components/channelMapper/channelMapper.js +++ b/src/components/channelMapper/channelMapper.js @@ -3,6 +3,7 @@ import dom from '../../scripts/dom'; import dialogHelper from '../dialogHelper/dialogHelper'; import loading from '../loading/loading'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import actionsheet from '../actionSheet/actionSheet'; import '../../elements/emby-input/emby-input'; import '../../elements/emby-button/paper-icon-button-light'; @@ -10,7 +11,6 @@ import '../../elements/emby-button/emby-button'; import '../listview/listview.scss'; import 'material-design-icons-iconfont'; import '../formdialog.scss'; -import ServerConnections from '../ServerConnections'; export default class ChannelMapper { constructor(options) { diff --git a/src/components/collectionEditor/collectionEditor.js b/src/components/collectionEditor/collectionEditor.js index 703c60df74..ff4a69abdb 100644 --- a/src/components/collectionEditor/collectionEditor.js +++ b/src/components/collectionEditor/collectionEditor.js @@ -5,6 +5,7 @@ import loading from '../loading/loading'; import layoutManager from '../layoutManager'; import { appRouter } from '../router/appRouter'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-checkbox/emby-checkbox'; @@ -13,7 +14,6 @@ import '../../elements/emby-select/emby-select'; import 'material-design-icons-iconfont'; import '../formdialog.scss'; import '../../styles/flexstyles.scss'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; let currentServerId; diff --git a/src/components/displaySettings/displaySettings.js b/src/components/displaySettings/displaySettings.js index 354ef54d09..aea0137b44 100644 --- a/src/components/displaySettings/displaySettings.js +++ b/src/components/displaySettings/displaySettings.js @@ -6,6 +6,7 @@ import { appHost } from '../apphost'; import focusManager from '../focusManager'; import datetime from '../../scripts/datetime'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import loading from '../loading/loading'; import skinManager from '../../scripts/themeManager'; import { PluginType } from '../../types/plugin.ts'; @@ -14,7 +15,6 @@ import '../../elements/emby-select/emby-select'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-textarea/emby-textarea'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import template from './displaySettings.template.html'; diff --git a/src/components/filterdialog/filterdialog.js b/src/components/filterdialog/filterdialog.js index e52dcebc90..02a0828da1 100644 --- a/src/components/filterdialog/filterdialog.js +++ b/src/components/filterdialog/filterdialog.js @@ -1,12 +1,12 @@ import dom from '../../scripts/dom'; import dialogHelper from '../dialogHelper/dialogHelper'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import union from 'lodash-es/union'; import Events from '../../utils/events.ts'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-collapse/emby-collapse'; import './style.scss'; -import ServerConnections from '../ServerConnections'; import template from './filterdialog.template.html'; import { stopMultiSelect } from '../../components/multiSelect/multiSelect'; diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js index 5d7609f9f9..e1891caeb5 100644 --- a/src/components/filtermenu/filtermenu.js +++ b/src/components/filtermenu/filtermenu.js @@ -5,6 +5,7 @@ import dialogHelper from '../dialogHelper/dialogHelper'; import inputManager from '../../scripts/inputManager'; import layoutManager from '../layoutManager'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import * as userSettings from '../../scripts/settings/userSettings'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-input/emby-input'; @@ -14,7 +15,6 @@ import '../../elements/emby-select/emby-select'; import 'material-design-icons-iconfont'; import '../formdialog.scss'; import '../../styles/flexstyles.scss'; -import ServerConnections from '../ServerConnections'; import template from './filtermenu.template.html'; function onSubmit(e) { diff --git a/src/components/groupedcards.js b/src/components/groupedcards.js index 9167dc3ec2..1594353baf 100644 --- a/src/components/groupedcards.js +++ b/src/components/groupedcards.js @@ -1,7 +1,7 @@ +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import dom from '../scripts/dom'; import { appRouter } from './router/appRouter'; import Dashboard from '../utils/dashboard'; -import ServerConnections from './ServerConnections'; function onGroupedCardClick(e, card) { const itemId = card.getAttribute('data-id'); diff --git a/src/components/guide/guide.js b/src/components/guide/guide.js index 0b72fc023d..ccb1ba06c4 100644 --- a/src/components/guide/guide.js +++ b/src/components/guide/guide.js @@ -2,6 +2,7 @@ import escapeHtml from 'escape-html'; import inputManager from '../../scripts/inputManager'; import browser from '../../scripts/browser'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Events from '../../utils/events.ts'; import scrollHelper from '../../scripts/scrollHelper'; import serverNotifications from '../../scripts/serverNotifications'; @@ -25,7 +26,6 @@ import '../../elements/emby-tabs/emby-tabs'; import '../../elements/emby-scroller/emby-scroller'; import '../../styles/flexstyles.scss'; import 'webcomponents.js/webcomponents-lite'; -import ServerConnections from '../ServerConnections'; import template from './tvguide.template.html'; function showViewSettings(instance) { diff --git a/src/components/homeScreenSettings/homeScreenSettings.js b/src/components/homeScreenSettings/homeScreenSettings.js index 74b5c82ceb..ea4aefe082 100644 --- a/src/components/homeScreenSettings/homeScreenSettings.js +++ b/src/components/homeScreenSettings/homeScreenSettings.js @@ -2,6 +2,7 @@ import escapeHtml from 'escape-html'; import { getUserViewsQuery } from 'hooks/useUserViews'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { toApi } from 'utils/jellyfin-apiclient/compat'; import { queryClient } from 'utils/query/queryClient'; @@ -15,7 +16,6 @@ import dom from '../../scripts/dom'; import '../listview/listview.scss'; import '../../elements/emby-select/emby-select'; import '../../elements/emby-checkbox/emby-checkbox'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import template from './homeScreenSettings.template.html'; import { LibraryTab } from '../../types/libraryTab.ts'; diff --git a/src/components/homesections/sections/activeRecordings.ts b/src/components/homesections/sections/activeRecordings.ts index 45989f2989..c4bf5f9b1d 100644 --- a/src/components/homesections/sections/activeRecordings.ts +++ b/src/components/homesections/sections/activeRecordings.ts @@ -1,9 +1,9 @@ import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client/models/base-item-dto'; import type { ApiClient } from 'jellyfin-apiclient'; -import ServerConnections from 'components/ServerConnections'; import cardBuilder from 'components/cardbuilder/cardBuilder'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import type { SectionContainerElement, SectionOptions } from './section'; diff --git a/src/components/homesections/sections/liveTv.ts b/src/components/homesections/sections/liveTv.ts index e09f812fd6..140723e7fe 100644 --- a/src/components/homesections/sections/liveTv.ts +++ b/src/components/homesections/sections/liveTv.ts @@ -5,8 +5,8 @@ import type { ApiClient } from 'jellyfin-apiclient'; import { appRouter } from 'components/router/appRouter'; import cardBuilder from 'components/cardbuilder/cardBuilder'; import layoutManager from 'components/layoutManager'; -import ServerConnections from 'components/ServerConnections'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { getBackdropShape } from 'utils/card'; import type { SectionContainerElement, SectionOptions } from './section'; diff --git a/src/components/homesections/sections/nextUp.ts b/src/components/homesections/sections/nextUp.ts index fbf1443e2b..0ab23c4bb2 100644 --- a/src/components/homesections/sections/nextUp.ts +++ b/src/components/homesections/sections/nextUp.ts @@ -4,8 +4,8 @@ import type { ApiClient } from 'jellyfin-apiclient'; import cardBuilder from 'components/cardbuilder/cardBuilder'; import layoutManager from 'components/layoutManager'; import { appRouter } from 'components/router/appRouter'; -import ServerConnections from 'components/ServerConnections'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import type { UserSettings } from 'scripts/settings/userSettings'; import { getBackdropShape } from 'utils/card'; diff --git a/src/components/homesections/sections/recentlyAdded.ts b/src/components/homesections/sections/recentlyAdded.ts index 27d16d161a..f0b71b9432 100644 --- a/src/components/homesections/sections/recentlyAdded.ts +++ b/src/components/homesections/sections/recentlyAdded.ts @@ -5,11 +5,11 @@ import { CollectionType } from '@jellyfin/sdk/lib/generated-client/models/collec import escapeHtml from 'escape-html'; import type { ApiClient } from 'jellyfin-apiclient'; +import cardBuilder from 'components/cardbuilder/cardBuilder'; import layoutManager from 'components/layoutManager'; import { appRouter } from 'components/router/appRouter'; import globalize from 'lib/globalize'; -import ServerConnections from 'components/ServerConnections'; -import cardBuilder from 'components/cardbuilder/cardBuilder'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { getBackdropShape, getPortraitShape, getSquareShape } from 'utils/card'; import type { SectionContainerElement, SectionOptions } from './section'; diff --git a/src/components/homesections/sections/resume.ts b/src/components/homesections/sections/resume.ts index 249cad2d0d..c58ee4a710 100644 --- a/src/components/homesections/sections/resume.ts +++ b/src/components/homesections/sections/resume.ts @@ -2,9 +2,9 @@ import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client/models/base import type { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-item-kind'; import type { ApiClient } from 'jellyfin-apiclient'; -import ServerConnections from 'components/ServerConnections'; import cardBuilder from 'components/cardbuilder/cardBuilder'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import type { UserSettings } from 'scripts/settings/userSettings'; import { getBackdropShape, getPortraitShape } from 'utils/card'; diff --git a/src/components/imageDownloader/imageDownloader.js b/src/components/imageDownloader/imageDownloader.js index cd05ec57e9..5c82419f8b 100644 --- a/src/components/imageDownloader/imageDownloader.js +++ b/src/components/imageDownloader/imageDownloader.js @@ -7,12 +7,12 @@ import browser from '../../scripts/browser'; import layoutManager from '../layoutManager'; import scrollHelper from '../../scripts/scrollHelper'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-button/emby-button'; import '../formdialog.scss'; import '../cardbuilder/card.scss'; -import ServerConnections from '../ServerConnections'; import template from './imageDownloader.template.html'; const enableFocusTransform = !browser.slow && !browser.edge; diff --git a/src/components/imageUploader/imageUploader.js b/src/components/imageUploader/imageUploader.js index cc211fde9b..b4e84c00ef 100644 --- a/src/components/imageUploader/imageUploader.js +++ b/src/components/imageUploader/imageUploader.js @@ -10,11 +10,12 @@ import loading from '../loading/loading'; import scrollHelper from '../../scripts/scrollHelper'; import layoutManager from '../layoutManager'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; + import '../../elements/emby-button/emby-button'; import '../../elements/emby-select/emby-select'; import '../formdialog.scss'; import './style.scss'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import template from './imageUploader.template.html'; diff --git a/src/components/imageeditor/imageeditor.js b/src/components/imageeditor/imageeditor.js index c975cdd7dd..ab9f1ae933 100644 --- a/src/components/imageeditor/imageeditor.js +++ b/src/components/imageeditor/imageeditor.js @@ -4,6 +4,7 @@ import dom from '../../scripts/dom'; import layoutManager from '../layoutManager'; import focusManager from '../focusManager'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import scrollHelper from '../../scripts/scrollHelper'; import imageLoader from '../images/imageLoader'; import browser from '../../scripts/browser'; @@ -13,7 +14,6 @@ import '../formdialog.scss'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import './imageeditor.scss'; -import ServerConnections from '../ServerConnections'; import alert from '../alert'; import confirm from '../confirm/confirm'; import template from './imageeditor.template.html'; diff --git a/src/components/itemContextMenu.js b/src/components/itemContextMenu.js index adba9ab0ed..9b1368ceb7 100644 --- a/src/components/itemContextMenu.js +++ b/src/components/itemContextMenu.js @@ -2,12 +2,12 @@ import browser from '../scripts/browser'; import { copy } from '../scripts/clipboard'; import dom from '../scripts/dom'; import globalize from '../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import actionsheet from './actionSheet/actionSheet'; import { appHost } from './apphost'; import { appRouter } from './router/appRouter'; import itemHelper, { canEditPlaylist } from './itemHelper'; import { playbackManager } from './playback/playbackmanager'; -import ServerConnections from './ServerConnections'; import toast from './toast/toast'; import * as userSettings from '../scripts/settings/userSettings'; import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-item-kind'; diff --git a/src/components/itemHelper.js b/src/components/itemHelper.js index 2a93c36e75..c1e87dea1a 100644 --- a/src/components/itemHelper.js +++ b/src/components/itemHelper.js @@ -7,7 +7,7 @@ import { getPlaylistsApi } from '@jellyfin/sdk/lib/utils/api/playlists-api'; import { appHost } from './apphost'; import globalize from 'lib/globalize'; -import ServerConnections from './ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { toApi } from 'utils/jellyfin-apiclient/compat'; export function getDisplayName(item, options = {}) { diff --git a/src/components/itemMediaInfo/itemMediaInfo.js b/src/components/itemMediaInfo/itemMediaInfo.js index f77395abfc..95e2af29f8 100644 --- a/src/components/itemMediaInfo/itemMediaInfo.js +++ b/src/components/itemMediaInfo/itemMediaInfo.js @@ -11,6 +11,7 @@ import toast from '../toast/toast'; import { copy } from '../../scripts/clipboard'; import dom from '../../scripts/dom'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import itemHelper from '../../components/itemHelper'; import loading from '../loading/loading'; import '../../elements/emby-select/emby-select'; @@ -20,7 +21,6 @@ import '../../elements/emby-button/paper-icon-button-light'; import '../formdialog.scss'; import 'material-design-icons-iconfont'; import '../../styles/flexstyles.scss'; -import ServerConnections from '../ServerConnections'; import template from './itemMediaInfo.template.html'; // Do not add extra spaces between tags - they will be copied into the result diff --git a/src/components/itemidentifier/itemidentifier.js b/src/components/itemidentifier/itemidentifier.js index 506c1c284a..2cfebb1f82 100644 --- a/src/components/itemidentifier/itemidentifier.js +++ b/src/components/itemidentifier/itemidentifier.js @@ -8,6 +8,7 @@ import escapeHtml from 'escape-html'; import dialogHelper from '../dialogHelper/dialogHelper'; import loading from '../loading/loading'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import scrollHelper from '../../scripts/scrollHelper'; import layoutManager from '../layoutManager'; import focusManager from '../focusManager'; @@ -18,7 +19,6 @@ import '../../elements/emby-button/paper-icon-button-light'; import '../formdialog.scss'; import 'material-design-icons-iconfont'; import '../cardbuilder/card.scss'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import template from './itemidentifier.template.html'; import datetime from '../../scripts/datetime'; diff --git a/src/components/listview/listview.js b/src/components/listview/listview.js index 916b9a44a1..d501c31801 100644 --- a/src/components/listview/listview.js +++ b/src/components/listview/listview.js @@ -10,12 +10,12 @@ import mediaInfo from '../mediainfo/mediainfo'; import indicators from '../indicators/indicators'; import layoutManager from '../layoutManager'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import datetime from '../../scripts/datetime'; import cardBuilder from '../cardbuilder/cardBuilder'; import './listview.scss'; import '../../elements/emby-ratingbutton/emby-ratingbutton'; import '../../elements/emby-playstatebutton/emby-playstatebutton'; -import ServerConnections from '../ServerConnections'; import { getDefaultBackgroundClass } from '../cardbuilder/cardBuilderUtils'; import markdownIt from 'markdown-it'; import DOMPurify from 'dompurify'; diff --git a/src/components/lyricseditor/lyricseditor.js b/src/components/lyricseditor/lyricseditor.js index f2e37175f5..9fcbde190f 100644 --- a/src/components/lyricseditor/lyricseditor.js +++ b/src/components/lyricseditor/lyricseditor.js @@ -5,6 +5,7 @@ import { toApi } from 'utils/jellyfin-apiclient/compat'; import dialogHelper from '../dialogHelper/dialogHelper'; import layoutManager from '../layoutManager'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import loading from '../loading/loading'; import focusManager from '../focusManager'; import dom from '../../scripts/dom'; @@ -16,7 +17,6 @@ import 'material-design-icons-iconfont'; import './lyricseditor.scss'; import '../../elements/emby-button/emby-button'; import '../../styles/flexstyles.scss'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import template from './lyricseditor.template.html'; import templatePreview from './lyricspreview.template.html'; diff --git a/src/components/lyricsuploader/lyricsuploader.js b/src/components/lyricsuploader/lyricsuploader.js index 6d6030a7b5..85b5fc692c 100644 --- a/src/components/lyricsuploader/lyricsuploader.js +++ b/src/components/lyricsuploader/lyricsuploader.js @@ -3,12 +3,12 @@ import escapeHtml from 'escape-html'; import { getLyricsApi } from '@jellyfin/sdk/lib/utils/api/lyrics-api'; import { toApi } from 'utils/jellyfin-apiclient/compat'; import dialogHelper from '../../components/dialogHelper/dialogHelper'; -import ServerConnections from '../ServerConnections'; import dom from '../../scripts/dom'; import loading from '../../components/loading/loading'; import scrollHelper from '../../scripts/scrollHelper'; import layoutManager from '../layoutManager'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import template from './lyricsuploader.template.html'; import toast from '../toast/toast'; import '../../elements/emby-button/emby-button'; diff --git a/src/components/metadataEditor/metadataEditor.js b/src/components/metadataEditor/metadataEditor.js index 4dea1b00d4..912ffef1d6 100644 --- a/src/components/metadataEditor/metadataEditor.js +++ b/src/components/metadataEditor/metadataEditor.js @@ -6,6 +6,8 @@ import datetime from '../../scripts/datetime'; import loading from '../loading/loading'; import focusManager from '../focusManager'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; + import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-input/emby-input'; import '../../elements/emby-select/emby-select'; @@ -17,7 +19,6 @@ import '../formdialog.scss'; import '../../styles/clearbutton.scss'; import '../../styles/flexstyles.scss'; import './style.scss'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import { appRouter } from '../router/appRouter'; import template from './metadataEditor.template.html'; diff --git a/src/components/multiSelect/multiSelect.js b/src/components/multiSelect/multiSelect.js index efcb172650..1a0800ae19 100644 --- a/src/components/multiSelect/multiSelect.js +++ b/src/components/multiSelect/multiSelect.js @@ -2,9 +2,9 @@ import browser from '../../scripts/browser'; import { appHost } from '../apphost'; import loading from '../loading/loading'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import dom from '../../scripts/dom'; import './multiSelect.scss'; -import ServerConnections from '../ServerConnections'; import alert from '../alert'; import confirm from '../confirm/confirm'; import itemHelper from '../itemHelper'; diff --git a/src/components/notifications/notifications.js b/src/components/notifications/notifications.js index 9c8982b513..609f96ace8 100644 --- a/src/components/notifications/notifications.js +++ b/src/components/notifications/notifications.js @@ -2,8 +2,8 @@ import serverNotifications from '../../scripts/serverNotifications'; import { playbackManager } from '../playback/playbackmanager'; import Events from '../../utils/events.ts'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { getItems } from '../../utils/jellyfin-apiclient/getItems.ts'; -import ServerConnections from '../../components/ServerConnections'; import NotificationIcon from './notificationicon.png'; diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js index c16b167d0d..72f6375d4f 100644 --- a/src/components/nowPlayingBar/nowPlayingBar.js +++ b/src/components/nowPlayingBar/nowPlayingBar.js @@ -1,6 +1,7 @@ import { getImageUrl } from 'apps/stable/features/playback/utils/image'; import { getItemTextLines } from 'apps/stable/features/playback/utils/itemText'; import { appRouter, isLyricsPage } from 'components/router/appRouter'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import datetime from '../../scripts/datetime'; import Events from '../../utils/events.ts'; @@ -14,7 +15,6 @@ import globalize from 'lib/globalize'; import itemContextMenu from '../itemContextMenu'; import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-ratingbutton/emby-ratingbutton'; -import ServerConnections from '../ServerConnections'; import appFooter from '../appFooter/appFooter'; import itemShortcuts from '../shortcuts'; import './nowPlayingBar.scss'; diff --git a/src/components/playback/displayMirrorManager.ts b/src/components/playback/displayMirrorManager.ts index 00856421fa..cda68897ae 100644 --- a/src/components/playback/displayMirrorManager.ts +++ b/src/components/playback/displayMirrorManager.ts @@ -1,5 +1,5 @@ -import ServerConnections from 'components/ServerConnections'; import { getItemQuery } from 'hooks/useItem'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { toApi } from 'utils/jellyfin-apiclient/compat'; import { queryClient } from 'utils/query/queryClient'; diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index f4e8ec02c1..d181e26196 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -1,3 +1,4 @@ +import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-item-kind.js'; import { PlaybackErrorCode } from '@jellyfin/sdk/lib/generated-client/models/playback-error-code.js'; import { getMediaInfoApi } from '@jellyfin/sdk/lib/utils/api/media-info-api'; import { MediaType } from '@jellyfin/sdk/lib/generated-client/models/media-type'; @@ -14,7 +15,6 @@ import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import loading from '../loading/loading'; import { appHost } from '../apphost'; -import ServerConnections from '../ServerConnections'; import alert from '../alert'; import { PluginType } from '../../types/plugin.ts'; import { includesAny } from '../../utils/container.ts'; @@ -24,10 +24,10 @@ import { getItemBackdropImageUrl } from '../../utils/jellyfin-apiclient/backdrop import { PlayerEvent } from 'apps/stable/features/playback/constants/playerEvent'; import { bindMediaSegmentManager } from 'apps/stable/features/playback/utils/mediaSegmentManager'; import { bindMediaSessionSubscriber } from 'apps/stable/features/playback/utils/mediaSessionSubscriber'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { MediaError } from 'types/mediaError'; import { getMediaError } from 'utils/mediaError'; import { toApi } from 'utils/jellyfin-apiclient/compat'; -import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-item-kind.js'; import { bindSkipSegment } from './skipsegment.ts'; const UNLIMITED_ITEMS = -1; diff --git a/src/components/playback/playersettingsmenu.js b/src/components/playback/playersettingsmenu.js index dc92de54da..8c61349692 100644 --- a/src/components/playback/playersettingsmenu.js +++ b/src/components/playback/playersettingsmenu.js @@ -1,8 +1,8 @@ import actionsheet from '../actionSheet/actionSheet'; import { playbackManager } from '../playback/playbackmanager'; -import globalize from '../../lib/globalize'; +import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import qualityoptions from '../qualityOptions'; -import ServerConnections from '../ServerConnections'; function showQualityMenu(player, btn) { const videoStream = playbackManager.currentMediaSource(player).MediaStreams.filter(function (stream) { diff --git a/src/components/playbackSettings/playbackSettings.js b/src/components/playbackSettings/playbackSettings.js index f15627a3ef..e67647fcd9 100644 --- a/src/components/playbackSettings/playbackSettings.js +++ b/src/components/playbackSettings/playbackSettings.js @@ -3,6 +3,7 @@ import escapeHTML from 'escape-html'; import { MediaSegmentAction } from 'apps/stable/features/playback/constants/mediaSegmentAction'; import { getId, getMediaSegmentAction } from 'apps/stable/features/playback/utils/mediaSegmentSettings'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import appSettings from '../../scripts/settings/appSettings'; import { appHost } from '../apphost'; @@ -12,7 +13,6 @@ import qualityoptions from '../qualityOptions'; import globalize from '../../lib/globalize'; import loading from '../loading/loading'; import Events from '../../utils/events.ts'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import template from './playbackSettings.template.html'; diff --git a/src/components/playerstats/playerstats.js b/src/components/playerstats/playerstats.js index 663c1932ed..b67a7c8637 100644 --- a/src/components/playerstats/playerstats.js +++ b/src/components/playerstats/playerstats.js @@ -1,13 +1,14 @@ import '../../elements/emby-button/paper-icon-button-light'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Events from '../../utils/events.ts'; import layoutManager from '../layoutManager'; import { playbackManager } from '../playback/playbackmanager'; import playMethodHelper from '../playback/playmethodhelper'; import { pluginManager } from '../pluginManager'; import { PluginType } from '../../types/plugin.ts'; + import './playerstats.scss'; -import ServerConnections from '../ServerConnections'; function init(instance) { const parent = document.createElement('div'); diff --git a/src/components/playlisteditor/playlisteditor.ts b/src/components/playlisteditor/playlisteditor.ts index 6297906956..99836cf9c4 100644 --- a/src/components/playlisteditor/playlisteditor.ts +++ b/src/components/playlisteditor/playlisteditor.ts @@ -8,6 +8,7 @@ import escapeHtml from 'escape-html'; import toast from 'components/toast/toast'; import dom from 'scripts/dom'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { currentSettings as userSettings } from 'scripts/settings/userSettings'; import { PluginType } from 'types/plugin'; import { toApi } from 'utils/jellyfin-apiclient/compat'; @@ -19,7 +20,6 @@ import layoutManager from '../layoutManager'; import { playbackManager } from '../playback/playbackmanager'; import { pluginManager } from '../pluginManager'; import { appRouter } from '../router/appRouter'; -import ServerConnections from '../ServerConnections'; import 'elements/emby-button/emby-button'; import 'elements/emby-input/emby-input'; diff --git a/src/components/pluginManager.js b/src/components/pluginManager.js index ce42c806d0..811e82a74f 100644 --- a/src/components/pluginManager.js +++ b/src/components/pluginManager.js @@ -8,8 +8,8 @@ import { appRouter } from './router/appRouter'; import * as inputManager from '../scripts/inputManager'; import toast from '../components/toast/toast'; import confirm from '../components/confirm/confirm'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import * as dashboard from '../utils/dashboard'; -import ServerConnections from '../components/ServerConnections'; // TODO: replace with each plugin version const cacheParam = new Date().getTime(); diff --git a/src/components/recordingcreator/recordingbutton.js b/src/components/recordingcreator/recordingbutton.js index f2d5376ea0..b78e3b9f9f 100644 --- a/src/components/recordingcreator/recordingbutton.js +++ b/src/components/recordingcreator/recordingbutton.js @@ -1,9 +1,10 @@ +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import dom from '../../scripts/dom'; import recordingHelper from './recordinghelper'; + import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-button/emby-button'; import './recordingfields.scss'; -import ServerConnections from '../ServerConnections'; function onRecordingButtonClick() { const item = this.item; diff --git a/src/components/recordingcreator/recordingcreator.js b/src/components/recordingcreator/recordingcreator.js index d69043f600..cc040aa641 100644 --- a/src/components/recordingcreator/recordingcreator.js +++ b/src/components/recordingcreator/recordingcreator.js @@ -1,5 +1,6 @@ import dialogHelper from '../dialogHelper/dialogHelper'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import layoutManager from '../layoutManager'; import mediaInfo from '../mediainfo/mediainfo'; import loading from '../loading/loading'; @@ -8,6 +9,7 @@ import datetime from '../../scripts/datetime'; import imageLoader from '../images/imageLoader'; import RecordingFields from './recordingfields'; import Events from '../../utils/events.ts'; + import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-checkbox/emby-checkbox'; @@ -16,7 +18,6 @@ import '../../elements/emby-input/emby-input'; import '../formdialog.scss'; import './recordingcreator.scss'; import 'material-design-icons-iconfont'; -import ServerConnections from '../ServerConnections'; import { playbackManager } from '../playback/playbackmanager'; import template from './recordingcreator.template.html'; diff --git a/src/components/recordingcreator/recordingeditor.js b/src/components/recordingcreator/recordingeditor.js index 442fe86637..af71d102d8 100644 --- a/src/components/recordingcreator/recordingeditor.js +++ b/src/components/recordingcreator/recordingeditor.js @@ -1,9 +1,11 @@ import dialogHelper from '../dialogHelper/dialogHelper'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import layoutManager from '../layoutManager'; import loading from '../loading/loading'; import scrollHelper from '../../scripts/scrollHelper'; + import '../../styles/scrollstyles.scss'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-collapse/emby-collapse'; @@ -13,7 +15,6 @@ import '../formdialog.scss'; import './recordingcreator.scss'; import 'material-design-icons-iconfont'; import '../../styles/flexstyles.scss'; -import ServerConnections from '../ServerConnections'; import template from './recordingeditor.template.html'; let currentDialog; diff --git a/src/components/recordingcreator/recordingfields.js b/src/components/recordingcreator/recordingfields.js index 19249218b8..b443698d18 100644 --- a/src/components/recordingcreator/recordingfields.js +++ b/src/components/recordingcreator/recordingfields.js @@ -1,14 +1,15 @@ import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Events from '../../utils/events.ts'; import serverNotifications from '../../scripts/serverNotifications'; import loading from '../loading/loading'; import dom from '../../scripts/dom'; import recordingHelper from './recordinghelper'; + import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import './recordingfields.scss'; import '../../styles/flexstyles.scss'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import template from './recordingfields.template.html'; diff --git a/src/components/recordingcreator/recordinghelper.js b/src/components/recordingcreator/recordinghelper.js index 3c593a18ad..55aa52c0cf 100644 --- a/src/components/recordingcreator/recordinghelper.js +++ b/src/components/recordingcreator/recordinghelper.js @@ -1,6 +1,6 @@ -import globalize from '../../lib/globalize'; +import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import loading from '../loading/loading'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import confirm from '../confirm/confirm'; import dialog from '../dialog/dialog'; diff --git a/src/components/recordingcreator/seriesrecordingeditor.js b/src/components/recordingcreator/seriesrecordingeditor.js index 30c8e39362..ccc2d69403 100644 --- a/src/components/recordingcreator/seriesrecordingeditor.js +++ b/src/components/recordingcreator/seriesrecordingeditor.js @@ -1,9 +1,11 @@ import dialogHelper from '../dialogHelper/dialogHelper'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import layoutManager from '../layoutManager'; import loading from '../loading/loading'; import scrollHelper from '../../scripts/scrollHelper'; import datetime from '../../scripts/datetime'; + import '../../styles/scrollstyles.scss'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-checkbox/emby-checkbox'; @@ -14,7 +16,6 @@ import '../formdialog.scss'; import './recordingcreator.scss'; import 'material-design-icons-iconfont'; import '../../styles/flexstyles.scss'; -import ServerConnections from '../ServerConnections'; import template from './seriesrecordingeditor.template.html'; let currentDialog; diff --git a/src/components/refreshdialog/refreshdialog.js b/src/components/refreshdialog/refreshdialog.js index 65997a31a1..67f4bd4a49 100644 --- a/src/components/refreshdialog/refreshdialog.js +++ b/src/components/refreshdialog/refreshdialog.js @@ -3,6 +3,8 @@ import dialogHelper from '../dialogHelper/dialogHelper'; import loading from '../loading/loading'; import layoutManager from '../layoutManager'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; + import '../../elements/emby-input/emby-input'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; @@ -10,7 +12,6 @@ import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-select/emby-select'; import 'material-design-icons-iconfont'; import '../formdialog.scss'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; function getEditorHtml() { diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index b4344b5f1f..76beb45ab8 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -11,9 +11,11 @@ import { playbackManager } from '../playback/playbackmanager'; import Events from '../../utils/events.ts'; import { appHost } from '../apphost'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import layoutManager from '../layoutManager'; import * as userSettings from '../../scripts/settings/userSettings'; import itemContextMenu from '../itemContextMenu'; + import '../cardbuilder/card.scss'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; @@ -21,7 +23,6 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; import './remotecontrol.scss'; import '../../elements/emby-ratingbutton/emby-ratingbutton'; import '../../elements/emby-slider/emby-slider'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import { appRouter } from '../router/appRouter'; import { getDefaultBackgroundClass } from '../cardbuilder/cardBuilderUtils'; diff --git a/src/components/router/appRouter.js b/src/components/router/appRouter.js index 29f3cf4f47..23013117be 100644 --- a/src/components/router/appRouter.js +++ b/src/components/router/appRouter.js @@ -4,12 +4,12 @@ import { setBackdropTransparency } from '../backdrop/backdrop'; import globalize from '../../lib/globalize'; import itemHelper from '../itemHelper'; import loading from '../loading/loading'; -import ServerConnections from '../ServerConnections'; import alert from '../alert'; -import { queryClient } from 'utils/query/queryClient'; import { getItemQuery } from 'hooks/useItem'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { toApi } from 'utils/jellyfin-apiclient/compat'; +import { queryClient } from 'utils/query/queryClient'; import { history } from 'RootAppRouter'; /** Pages of "no return" (when "Go back" should behave differently, probably quitting the application). */ diff --git a/src/components/shortcuts.js b/src/components/shortcuts.js index d76fa0c811..82386c503f 100644 --- a/src/components/shortcuts.js +++ b/src/components/shortcuts.js @@ -8,9 +8,9 @@ import { playbackManager } from './playback/playbackmanager'; import inputManager from '../scripts/inputManager'; import { appRouter } from './router/appRouter'; import globalize from '../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import dom from '../scripts/dom'; import recordingHelper from './recordingcreator/recordinghelper'; -import ServerConnections from './ServerConnections'; import toast from './toast/toast'; import * as userSettings from '../scripts/settings/userSettings'; import { toApi } from 'utils/jellyfin-apiclient/compat'; diff --git a/src/components/slideshow/slideshow.js b/src/components/slideshow/slideshow.js index 522a6f7383..6b223c1405 100644 --- a/src/components/slideshow/slideshow.js +++ b/src/components/slideshow/slideshow.js @@ -3,16 +3,17 @@ * @module components/slideshow/slideshow */ import dialogHelper from '../dialogHelper/dialogHelper'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import inputManager from '../../scripts/inputManager'; import layoutManager from '../layoutManager'; import focusManager from '../focusManager'; import browser from '../../scripts/browser'; import { appHost } from '../apphost'; import dom from '../../scripts/dom'; + import './style.scss'; import 'material-design-icons-iconfont'; import '../../elements/emby-button/paper-icon-button-light'; -import ServerConnections from '../ServerConnections'; import screenfull from 'screenfull'; import { randomInt } from '../../utils/number.ts'; diff --git a/src/components/subtitleeditor/subtitleeditor.js b/src/components/subtitleeditor/subtitleeditor.js index 106ef0b56c..2941f0078e 100644 --- a/src/components/subtitleeditor/subtitleeditor.js +++ b/src/components/subtitleeditor/subtitleeditor.js @@ -3,10 +3,12 @@ import { appHost } from '../apphost'; import dialogHelper from '../dialogHelper/dialogHelper'; import layoutManager from '../layoutManager'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import * as userSettings from '../../scripts/settings/userSettings'; import loading from '../loading/loading'; import focusManager from '../focusManager'; import dom from '../../scripts/dom'; + import '../../elements/emby-select/emby-select'; import '../listview/listview.scss'; import '../../elements/emby-button/paper-icon-button-light'; @@ -15,7 +17,6 @@ import 'material-design-icons-iconfont'; import './subtitleeditor.scss'; import '../../elements/emby-button/emby-button'; import '../../styles/flexstyles.scss'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import confirm from '../confirm/confirm'; import template from './subtitleeditor.template.html'; diff --git a/src/components/subtitlesettings/subtitlesettings.js b/src/components/subtitlesettings/subtitlesettings.js index 0ae3d6e9d1..b335b877e9 100644 --- a/src/components/subtitlesettings/subtitlesettings.js +++ b/src/components/subtitlesettings/subtitlesettings.js @@ -1,4 +1,5 @@ import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { appHost } from '../apphost'; import appSettings from '../../scripts/settings/appSettings'; import focusManager from '../focusManager'; @@ -8,6 +9,7 @@ import subtitleAppearanceHelper from './subtitleappearancehelper'; import settingsHelper from '../settingshelper'; import dom from '../../scripts/dom'; import Events from '../../utils/events.ts'; + import '../listview/listview.scss'; import '../../elements/emby-select/emby-select'; import '../../elements/emby-slider/emby-slider'; @@ -15,7 +17,6 @@ import '../../elements/emby-input/emby-input'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../styles/flexstyles.scss'; import './subtitlesettings.scss'; -import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import template from './subtitlesettings.template.html'; diff --git a/src/components/subtitleuploader/subtitleuploader.js b/src/components/subtitleuploader/subtitleuploader.js index dc13ada079..9b363576f6 100644 --- a/src/components/subtitleuploader/subtitleuploader.js +++ b/src/components/subtitleuploader/subtitleuploader.js @@ -3,14 +3,15 @@ import escapeHtml from 'escape-html'; import { getSubtitleApi } from '@jellyfin/sdk/lib/utils/api/subtitle-api'; import { toApi } from 'utils/jellyfin-apiclient/compat'; import dialogHelper from '../../components/dialogHelper/dialogHelper'; -import ServerConnections from '../ServerConnections'; import dom from '../../scripts/dom'; import loading from '../../components/loading/loading'; import scrollHelper from '../../scripts/scrollHelper'; import layoutManager from '../layoutManager'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import template from './subtitleuploader.template.html'; import toast from '../toast/toast'; + import '../../elements/emby-button/emby-button'; import '../../elements/emby-select/emby-select'; import '../formdialog.scss'; diff --git a/src/components/themeMediaPlayer.js b/src/components/themeMediaPlayer.js index fe25704ced..33a50dc705 100644 --- a/src/components/themeMediaPlayer.js +++ b/src/components/themeMediaPlayer.js @@ -3,6 +3,7 @@ import { MediaType } from '@jellyfin/sdk/lib/generated-client/models/media-type' import { getLibraryApi } from '@jellyfin/sdk/lib/utils/api/library-api'; import { getItemQuery } from 'hooks/useItem'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { currentSettings as userSettings } from 'scripts/settings/userSettings'; import { ItemKind } from 'types/base/models/item-kind'; import Events from 'utils/events.ts'; @@ -10,7 +11,6 @@ import { toApi } from 'utils/jellyfin-apiclient/compat'; import { queryClient } from 'utils/query/queryClient'; import { playbackManager } from './playback/playbackmanager'; -import ServerConnections from './ServerConnections'; let currentOwnerId; let currentThemeIds = []; diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js index 74a0fc5ba7..061fac20be 100644 --- a/src/components/upnextdialog/upnextdialog.js +++ b/src/components/upnextdialog/upnextdialog.js @@ -5,8 +5,9 @@ import mediaInfo from '../mediainfo/mediainfo'; import layoutManager from '../layoutManager'; import focusManager from '../focusManager'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import itemHelper from '../itemHelper'; -import ServerConnections from '../ServerConnections'; + import './upnextdialog.scss'; import '../../elements/emby-button/emby-button'; import '../../styles/flexstyles.scss'; diff --git a/src/components/userdatabuttons/userdatabuttons.js b/src/components/userdatabuttons/userdatabuttons.js index 50b8b69e23..16ab8b755f 100644 --- a/src/components/userdatabuttons/userdatabuttons.js +++ b/src/components/userdatabuttons/userdatabuttons.js @@ -1,11 +1,12 @@ import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import dom from '../../scripts/dom'; import itemHelper from '../itemHelper'; + import '../../elements/emby-button/paper-icon-button-light'; import 'material-design-icons-iconfont'; import '../../elements/emby-button/emby-button'; import './userdatabuttons.scss'; -import ServerConnections from '../ServerConnections'; const userDataMethods = { markPlayed: markPlayed, diff --git a/src/controllers/favorites.js b/src/controllers/favorites.js index ccc689fc24..84d79ea382 100644 --- a/src/controllers/favorites.js +++ b/src/controllers/favorites.js @@ -2,9 +2,9 @@ import cardBuilder from 'components/cardbuilder/cardBuilder'; import focusManager from 'components/focusManager'; import layoutManager from 'components/layoutManager'; import { appRouter } from 'components/router/appRouter'; -import ServerConnections from 'components/ServerConnections'; import dom from 'scripts/dom'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { getBackdropShape, getPortraitShape, getSquareShape } from 'utils/card'; import { ItemSortBy } from '@jellyfin/sdk/lib/generated-client/models/item-sort-by'; diff --git a/src/controllers/hometab.js b/src/controllers/hometab.js index 9b5c087076..aeabb131f9 100644 --- a/src/controllers/hometab.js +++ b/src/controllers/hometab.js @@ -2,8 +2,9 @@ import * as userSettings from '../scripts/settings/userSettings'; import loading from '../components/loading/loading'; import focusManager from '../components/focusManager'; import homeSections from '../components/homesections/homesections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; + import '../elements/emby-itemscontainer/emby-itemscontainer'; -import ServerConnections from '../components/ServerConnections'; class HomeTab { constructor(view, params) { diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index c3f37a155e..1c4088d316 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -21,12 +21,12 @@ import loading from 'components/loading/loading'; import { playbackManager } from 'components/playback/playbackmanager'; import { appRouter } from 'components/router/appRouter'; import itemShortcuts from 'components/shortcuts'; -import ServerConnections from 'components/ServerConnections'; +import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import browser from 'scripts/browser'; import datetime from 'scripts/datetime'; import dom from 'scripts/dom'; import { download } from 'scripts/fileDownloader'; -import globalize from 'lib/globalize'; import libraryMenu from 'scripts/libraryMenu'; import * as userSettings from 'scripts/settings/userSettings'; import { getPortraitShape, getSquareShape } from 'utils/card'; @@ -1379,7 +1379,6 @@ function renderChildren(page, item) { if (item.Type == 'MusicAlbum') { let showArtist = false; for (const track of result.Items) { - // eslint-disable-next-line sonarjs/no-alphabetical-sort if (!isEqual(track.ArtistItems.map(x => x.Id).sort(), track.AlbumArtists.map(x => x.Id).sort())) { showArtist = true; break; diff --git a/src/controllers/list.js b/src/controllers/list.js index 479c647c2b..b1a772cb6f 100644 --- a/src/controllers/list.js +++ b/src/controllers/list.js @@ -8,9 +8,9 @@ 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/ServerConnections'; import '../elements/emby-itemscontainer/emby-itemscontainer'; import '../elements/emby-scroller/emby-scroller'; -import ServerConnections from '../components/ServerConnections'; 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'; diff --git a/src/controllers/lyrics.js b/src/controllers/lyrics.js index 6272f7fcc5..98aa74e8a8 100644 --- a/src/controllers/lyrics.js +++ b/src/controllers/lyrics.js @@ -4,12 +4,12 @@ import autoFocuser from 'components/autoFocuser'; import { appRouter } from '../components/router/appRouter'; import layoutManager from 'components/layoutManager'; import { playbackManager } from '../components/playback/playbackmanager'; -import ServerConnections from '../components/ServerConnections'; import scrollManager from 'components/scrollManager'; import focusManager from 'components/focusManager'; import keyboardNavigation from 'scripts/keyboardNavigation'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import LibraryMenu from 'scripts/libraryMenu'; import Events from 'utils/events'; diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index b143df9d46..192c1b9f1c 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -19,10 +19,10 @@ 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 ServerConnections from '../../../components/ServerConnections'; import shell from '../../../scripts/shell'; import SubtitleSync from '../../../components/subtitlesync/subtitlesync'; import { appRouter } from '../../../components/router/appRouter'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import LibraryMenu from '../../../scripts/libraryMenu'; import { setBackdropTransparency, TRANSPARENCY_LEVEL } from '../../../components/backdrop/backdrop'; import { pluginManager } from '../../../components/pluginManager'; diff --git a/src/controllers/session/addServer/index.js b/src/controllers/session/addServer/index.js index 251d7ae672..bf76d5099b 100644 --- a/src/controllers/session/addServer/index.js +++ b/src/controllers/session/addServer/index.js @@ -1,10 +1,11 @@ -import appSettings from '../../../scripts/settings/appSettings'; -import loading from '../../../components/loading/loading'; -import globalize from '../../../lib/globalize'; -import '../../../elements/emby-button/emby-button'; -import Dashboard from '../../../utils/dashboard'; -import ServerConnections from '../../../components/ServerConnections'; -import { ConnectionState } from '../../../lib/jellyfin-apiclient/connectionState'; +import loading from 'components/loading/loading'; +import globalize from 'lib/globalize'; +import { ConnectionState } from 'lib/jellyfin-apiclient/connectionState'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import appSettings from 'scripts/settings/appSettings'; +import Dashboard from 'utils/dashboard'; + +import 'elements/emby-button/emby-button'; function handleConnectionResult(page, result) { loading.hide(); diff --git a/src/controllers/session/login/index.js b/src/controllers/session/login/index.js index 4c241389a0..dca4480187 100644 --- a/src/controllers/session/login/index.js +++ b/src/controllers/session/login/index.js @@ -11,12 +11,13 @@ import globalize from '../../../lib/globalize'; import '../../../components/cardbuilder/card.scss'; import '../../../elements/emby-checkbox/emby-checkbox'; import Dashboard from '../../../utils/dashboard'; -import ServerConnections from '../../../components/ServerConnections'; import toast from '../../../components/toast/toast'; import dialogHelper from '../../../components/dialogHelper/dialogHelper'; import baseAlert from '../../../components/alert'; -import './login.scss'; import { getDefaultBackgroundClass } from '../../../components/cardbuilder/cardBuilderUtils'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; + +import './login.scss'; const enableFocusTransform = !browser.slow && !browser.edge; diff --git a/src/controllers/session/selectServer/index.js b/src/controllers/session/selectServer/index.js index 7770b64cb0..0b05409e16 100644 --- a/src/controllers/session/selectServer/index.js +++ b/src/controllers/session/selectServer/index.js @@ -17,10 +17,10 @@ import '../../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../../components/cardbuilder/card.scss'; import '../../../elements/emby-button/emby-button'; import Dashboard from '../../../utils/dashboard'; -import ServerConnections from '../../../components/ServerConnections'; import alert from '../../../components/alert'; -import { ConnectionState } from '../../../lib/jellyfin-apiclient/connectionState'; import { getDefaultBackgroundClass } from '../../../components/cardbuilder/cardBuilderUtils'; +import { ConnectionState } from 'lib/jellyfin-apiclient/connectionState'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; const enableFocusTransform = !browser.slow && !browser.edge; diff --git a/src/elements/emby-itemscontainer/emby-itemscontainer.js b/src/elements/emby-itemscontainer/emby-itemscontainer.js index dd40a80531..1c6948f9c4 100644 --- a/src/elements/emby-itemscontainer/emby-itemscontainer.js +++ b/src/elements/emby-itemscontainer/emby-itemscontainer.js @@ -1,3 +1,6 @@ +import 'webcomponents.js/webcomponents-lite'; +import Sortable from 'sortablejs'; + import itemShortcuts from '../../components/shortcuts'; import inputManager from '../../scripts/inputManager'; import { playbackManager } from '../../components/playback/playbackmanager'; @@ -7,11 +10,9 @@ import browser from '../../scripts/browser'; import dom from '../../scripts/dom'; import loading from '../../components/loading/loading'; import focusManager from '../../components/focusManager'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import serverNotifications from '../../scripts/serverNotifications'; import Events from '../../utils/events.ts'; -import 'webcomponents.js/webcomponents-lite'; -import ServerConnections from '../../components/ServerConnections'; -import Sortable from 'sortablejs'; const ItemsContainerPrototype = Object.create(HTMLDivElement.prototype); diff --git a/src/elements/emby-playstatebutton/emby-playstatebutton.js b/src/elements/emby-playstatebutton/emby-playstatebutton.js index 1e83bb0550..40dd6cccdd 100644 --- a/src/elements/emby-playstatebutton/emby-playstatebutton.js +++ b/src/elements/emby-playstatebutton/emby-playstatebutton.js @@ -1,8 +1,8 @@ import serverNotifications from '../../scripts/serverNotifications'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Events from '../../utils/events.ts'; import EmbyButtonPrototype from '../../elements/emby-button/emby-button'; -import ServerConnections from '../../components/ServerConnections'; function addNotificationEvent(instance, name, handler) { const localHandler = handler.bind(instance); diff --git a/src/elements/emby-ratingbutton/emby-ratingbutton.js b/src/elements/emby-ratingbutton/emby-ratingbutton.js index a0621afeac..6241d09dfd 100644 --- a/src/elements/emby-ratingbutton/emby-ratingbutton.js +++ b/src/elements/emby-ratingbutton/emby-ratingbutton.js @@ -1,8 +1,8 @@ import serverNotifications from '../../scripts/serverNotifications'; import globalize from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Events from '../../utils/events.ts'; import EmbyButtonPrototype from '../emby-button/emby-button'; -import ServerConnections from '../../components/ServerConnections'; function addNotificationEvent(instance, name, handler) { const localHandler = handler.bind(instance); diff --git a/src/hooks/useApi.tsx b/src/hooks/useApi.tsx index 20614091bf..a0c899e2dd 100644 --- a/src/hooks/useApi.tsx +++ b/src/hooks/useApi.tsx @@ -3,9 +3,9 @@ import type { UserDto } from '@jellyfin/sdk/lib/generated-client'; import type { ApiClient, Event } from 'jellyfin-apiclient'; import React, { type FC, type PropsWithChildren, createContext, useContext, useEffect, useMemo, useState } from 'react'; -import ServerConnections from '../components/ServerConnections'; -import events from '../utils/events'; -import { toApi } from '../utils/jellyfin-apiclient/compat'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import events from 'utils/events'; +import { toApi } from 'utils/jellyfin-apiclient/compat'; export interface JellyfinApiContext { __legacyApiClient__?: ApiClient diff --git a/src/index.jsx b/src/index.jsx index 66df6e33e5..bf426c000c 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -5,7 +5,7 @@ import React from 'react'; import { createRoot } from 'react-dom/client'; // NOTE: We need to import this first to initialize the connection -import ServerConnections from './components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { appHost } from './components/apphost'; import autoFocuser from './components/autoFocuser'; @@ -23,7 +23,6 @@ import { pageClassOn, serverAddress } from './utils/dashboard'; import Events from './utils/events'; import RootApp from './RootApp'; -import { history } from 'RootAppRouter'; // Import the button webcomponent for use throughout the site // NOTE: This is a bit of a hack, files should ensure the component is imported before use @@ -206,7 +205,7 @@ async function renderApp() { const root = createRoot(container); root.render( - + ); } diff --git a/src/components/ServerConnections.js b/src/lib/jellyfin-apiclient/ServerConnections.js similarity index 94% rename from src/components/ServerConnections.js rename to src/lib/jellyfin-apiclient/ServerConnections.js index 630bc63641..31e73531d0 100644 --- a/src/components/ServerConnections.js +++ b/src/lib/jellyfin-apiclient/ServerConnections.js @@ -3,12 +3,12 @@ import { Api } from '@jellyfin/sdk'; import { Credentials, ApiClient } from 'jellyfin-apiclient'; -import { appHost } from './apphost'; +import { appHost } from 'components/apphost'; import ConnectionManager from 'lib/jellyfin-apiclient/connectionManager'; -import Dashboard from '../utils/dashboard'; -import Events from '../utils/events.ts'; -import { setUserInfo } from '../scripts/settings/userSettings'; -import appSettings from '../scripts/settings/appSettings'; +import appSettings from 'scripts/settings/appSettings'; +import { setUserInfo } from 'scripts/settings/userSettings'; +import Dashboard from 'utils/dashboard'; +import Events from 'utils/events.ts'; import { toApi } from 'utils/jellyfin-apiclient/compat'; const normalizeImageOptions = options => { diff --git a/src/plugins/backdropScreensaver/plugin.js b/src/plugins/backdropScreensaver/plugin.js index 1058be5be7..1b0c5bfb70 100644 --- a/src/plugins/backdropScreensaver/plugin.js +++ b/src/plugins/backdropScreensaver/plugin.js @@ -1,7 +1,7 @@ -import ServerConnections from '../../components/ServerConnections'; -import { PluginType } from '../../types/plugin.ts'; -import * as userSettings from '../../scripts/settings/userSettings'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import * as userSettings from 'scripts/settings/userSettings'; +import { PluginType } from 'types/plugin.ts'; class BackdropScreensaver { constructor() { diff --git a/src/plugins/bookPlayer/plugin.js b/src/plugins/bookPlayer/plugin.js index 733519cb38..9ad4e8526f 100644 --- a/src/plugins/bookPlayer/plugin.js +++ b/src/plugins/bookPlayer/plugin.js @@ -3,10 +3,10 @@ import 'material-design-icons-iconfont'; import loading from '../../components/loading/loading'; import keyboardnavigation from '../../scripts/keyboardNavigation'; import dialogHelper from '../../components/dialogHelper/dialogHelper'; -import ServerConnections from '../../components/ServerConnections'; import Screenfull from 'screenfull'; import TableOfContents from './tableOfContents'; import { translateHtml } from '../../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import browser from 'scripts/browser'; import * as userSettings from '../../scripts/settings/userSettings'; import TouchHelper from 'scripts/touchHelper'; diff --git a/src/plugins/chromecastPlayer/plugin.js b/src/plugins/chromecastPlayer/plugin.js index 868f026918..ed85eedab3 100644 --- a/src/plugins/chromecastPlayer/plugin.js +++ b/src/plugins/chromecastPlayer/plugin.js @@ -3,8 +3,8 @@ import * as userSettings from '../../scripts/settings/userSettings'; import { playbackManager } from '../../components/playback/playbackmanager'; import globalize from '../../lib/globalize'; import CastSenderApi from './castSenderApi'; -import ServerConnections from '../../components/ServerConnections'; import alert from '../../components/alert'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { PluginType } from '../../types/plugin.ts'; import Events from '../../utils/events.ts'; import { getItems } from '../../utils/jellyfin-apiclient/getItems.ts'; diff --git a/src/plugins/comicsPlayer/plugin.js b/src/plugins/comicsPlayer/plugin.js index 0e8f599a1b..8c84b121fb 100644 --- a/src/plugins/comicsPlayer/plugin.js +++ b/src/plugins/comicsPlayer/plugin.js @@ -3,7 +3,7 @@ import loading from '../../components/loading/loading'; import dialogHelper from '../../components/dialogHelper/dialogHelper'; import keyboardnavigation from '../../scripts/keyboardNavigation'; import { appRouter } from '../../components/router/appRouter'; -import ServerConnections from '../../components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import * as userSettings from '../../scripts/settings/userSettings'; import { PluginType } from '../../types/plugin.ts'; diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index 5afc9d1823..5c48b5ff84 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -29,7 +29,7 @@ import { import itemHelper from '../../components/itemHelper'; import Screenfull from 'screenfull'; import globalize from '../../lib/globalize'; -import ServerConnections from '../../components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import profileBuilder, { canPlaySecondaryAudio } from '../../scripts/browserDeviceProfile'; import { getIncludeCorsCredentials } from '../../scripts/settings/webSettings'; import { setBackdropTransparency, TRANSPARENCY_LEVEL } from '../../components/backdrop/backdrop'; diff --git a/src/plugins/pdfPlayer/plugin.js b/src/plugins/pdfPlayer/plugin.js index c428698659..1c040602ff 100644 --- a/src/plugins/pdfPlayer/plugin.js +++ b/src/plugins/pdfPlayer/plugin.js @@ -1,9 +1,9 @@ -import ServerConnections from '../../components/ServerConnections'; import loading from '../../components/loading/loading'; import keyboardnavigation from '../../scripts/keyboardNavigation'; import dialogHelper from '../../components/dialogHelper/dialogHelper'; import dom from '../../scripts/dom'; import { appRouter } from '../../components/router/appRouter'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { PluginType } from '../../types/plugin.ts'; import Events from '../../utils/events.ts'; diff --git a/src/plugins/photoPlayer/plugin.js b/src/plugins/photoPlayer/plugin.js index 44aa79b82f..3977393140 100644 --- a/src/plugins/photoPlayer/plugin.js +++ b/src/plugins/photoPlayer/plugin.js @@ -1,5 +1,5 @@ -import ServerConnections from '../../components/ServerConnections'; -import { PluginType } from '../../types/plugin.ts'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import { PluginType } from 'types/plugin.ts'; export default class PhotoPlayer { constructor() { diff --git a/src/plugins/playAccessValidation/plugin.js b/src/plugins/playAccessValidation/plugin.js index 0a3ab4a85f..5202bf2314 100644 --- a/src/plugins/playAccessValidation/plugin.js +++ b/src/plugins/playAccessValidation/plugin.js @@ -1,7 +1,7 @@ -import globalize from '../../lib/globalize'; -import ServerConnections from '../../components/ServerConnections'; -import alert from '../../components/alert'; -import { PluginType } from '../../types/plugin.ts'; +import alert from 'components/alert'; +import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import { PluginType } from 'types/plugin.ts'; function showErrorMessage() { return alert(globalize.translate('MessagePlayAccessRestricted')); diff --git a/src/plugins/sessionPlayer/plugin.js b/src/plugins/sessionPlayer/plugin.js index 32c24ce7ef..0e55d599f6 100644 --- a/src/plugins/sessionPlayer/plugin.js +++ b/src/plugins/sessionPlayer/plugin.js @@ -1,6 +1,6 @@ import { playbackManager } from '../../components/playback/playbackmanager'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import serverNotifications from '../../scripts/serverNotifications'; -import ServerConnections from '../../components/ServerConnections'; import { PluginType } from '../../types/plugin.ts'; import Events from '../../utils/events.ts'; import isEqual from 'lodash-es/isEqual'; diff --git a/src/plugins/syncPlay/plugin.ts b/src/plugins/syncPlay/plugin.ts index 33d99aa757..a32c64ec34 100644 --- a/src/plugins/syncPlay/plugin.ts +++ b/src/plugins/syncPlay/plugin.ts @@ -1,5 +1,5 @@ import { playbackManager } from '../../components/playback/playbackmanager'; -import ServerConnections from '../../components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import Events from '../../utils/events'; import SyncPlay from './core'; import SyncPlayNoActivePlayer from './ui/players/NoActivePlayer'; diff --git a/src/plugins/syncPlay/ui/groupSelectionMenu.js b/src/plugins/syncPlay/ui/groupSelectionMenu.js index ec224c64b7..543d839770 100644 --- a/src/plugins/syncPlay/ui/groupSelectionMenu.js +++ b/src/plugins/syncPlay/ui/groupSelectionMenu.js @@ -5,7 +5,7 @@ import actionsheet from '../../../components/actionSheet/actionSheet'; import globalize from '../../../lib/globalize'; import playbackPermissionManager from './playbackPermissionManager'; import { pluginManager } from '../../../components/pluginManager'; -import ServerConnections from '../../../components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { PluginType } from '../../../types/plugin.ts'; import Events from '../../../utils/events.ts'; diff --git a/src/scripts/autoBackdrops.js b/src/scripts/autoBackdrops.js index 0ba53e2429..4083e46024 100644 --- a/src/scripts/autoBackdrops.js +++ b/src/scripts/autoBackdrops.js @@ -4,8 +4,8 @@ import libraryMenu from './libraryMenu'; import { pageClassOn } from '../utils/dashboard'; import { queryClient } from 'utils/query/queryClient'; import { getBrandingOptionsQuery } from 'apps/dashboard/features/branding/api/useBrandingOptions'; -import ServerConnections from 'components/ServerConnections'; import { SPLASHSCREEN_URL } from 'constants/branding'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; const cache = {}; diff --git a/src/scripts/autoThemes.js b/src/scripts/autoThemes.js index b7c2fdf0d8..673efa56f4 100644 --- a/src/scripts/autoThemes.js +++ b/src/scripts/autoThemes.js @@ -1,8 +1,8 @@ import * as userSettings from './settings/userSettings'; import skinManager from './themeManager'; -import ServerConnections from '../components/ServerConnections'; -import { pageClassOn } from '../utils/dashboard'; -import Events from '../utils/events.ts'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import { pageClassOn } from 'utils/dashboard'; +import Events from 'utils/events.ts'; // Set the default theme when loading skinManager.setTheme(userSettings.theme()) diff --git a/src/scripts/autocast.js b/src/scripts/autocast.js index 65d7b19de7..87462f07c3 100644 --- a/src/scripts/autocast.js +++ b/src/scripts/autocast.js @@ -1,6 +1,6 @@ -import ServerConnections from 'components/ServerConnections'; -import { playbackManager } from '../components/playback/playbackmanager'; -import Events from '../utils/events.ts'; +import { playbackManager } from 'components/playback/playbackmanager'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import Events from 'utils/events.ts'; export function enable(enabled) { console.debug('[autocast] %s cast player', enabled ? 'enabling' : 'disabling'); diff --git a/src/scripts/deleteHelper.js b/src/scripts/deleteHelper.js index e482737c57..d9afa4d014 100644 --- a/src/scripts/deleteHelper.js +++ b/src/scripts/deleteHelper.js @@ -1,11 +1,12 @@ -import globalize from 'lib/globalize'; -import alert from '../components/alert'; -import confirm from '../components/confirm/confirm'; -import { appRouter } from '../components/router/appRouter'; -import ServerConnections from '../components/ServerConnections'; import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-item-kind'; +import alert from 'components/alert'; +import confirm from 'components/confirm/confirm'; +import { appRouter } from 'components/router/appRouter'; +import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; + function alertText(options) { return alert(options); } diff --git a/src/scripts/itemsByName.js b/src/scripts/itemsByName.js index 936c7b8773..6b4cbefca2 100644 --- a/src/scripts/itemsByName.js +++ b/src/scripts/itemsByName.js @@ -1,10 +1,11 @@ -import listView from '../components/listview/listview'; -import cardBuilder from '../components/cardbuilder/cardBuilder'; -import imageLoader from '../components/images/imageLoader'; +import listView from 'components/listview/listview'; +import cardBuilder from 'components/cardbuilder/cardBuilder'; +import imageLoader from 'components/images/imageLoader'; import globalize from 'lib/globalize'; -import '../elements/emby-itemscontainer/emby-itemscontainer'; -import '../elements/emby-button/emby-button'; -import ServerConnections from '../components/ServerConnections'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; + +import 'elements/emby-itemscontainer/emby-itemscontainer'; +import 'elements/emby-button/emby-button'; function renderItems(page, item) { const sections = []; diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index fe93f8bd79..cecd633811 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -20,10 +20,10 @@ import { pluginManager } from '../components/pluginManager'; import groupSelectionMenu from '../plugins/syncPlay/ui/groupSelectionMenu'; import browser from './browser'; import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import imageHelper from '../utils/image'; import { getMenuLinks } from '../scripts/settings/webSettings'; import Dashboard, { pageClassOn } from '../utils/dashboard'; -import ServerConnections from '../components/ServerConnections'; import { PluginType } from '../types/plugin.ts'; import Events from '../utils/events.ts'; import { getParameterByName } from '../utils/url.ts'; diff --git a/src/scripts/playlistViewer.js b/src/scripts/playlistViewer.js index 5240863124..ff8e22506b 100644 --- a/src/scripts/playlistViewer.js +++ b/src/scripts/playlistViewer.js @@ -1,7 +1,7 @@ import { getPlaylistsApi } from '@jellyfin/sdk/lib/utils/api/playlists-api'; -import ServerConnections from 'components/ServerConnections'; import listView from 'components/listview/listview'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import { toApi } from 'utils/jellyfin-apiclient/compat'; function getFetchPlaylistItemsFn(apiClient, itemId) { diff --git a/src/scripts/screensavermanager.js b/src/scripts/screensavermanager.js index fccc2751a8..f085b1a914 100644 --- a/src/scripts/screensavermanager.js +++ b/src/scripts/screensavermanager.js @@ -1,10 +1,11 @@ -import { playbackManager } from '../components/playback/playbackmanager'; -import { pluginManager } from '../components/pluginManager'; +import { playbackManager } from 'components/playback/playbackmanager'; +import { pluginManager } from 'components/pluginManager'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import { PluginType } from 'types/plugin.ts'; +import Events from 'utils/events.ts'; + import inputManager from './inputManager'; import * as userSettings from './settings/userSettings'; -import ServerConnections from '../components/ServerConnections'; -import { PluginType } from '../types/plugin.ts'; -import Events from '../utils/events.ts'; import './screensavermanager.scss'; diff --git a/src/scripts/serverNotifications.js b/src/scripts/serverNotifications.js index 00088ef294..2b0d231b8d 100644 --- a/src/scripts/serverNotifications.js +++ b/src/scripts/serverNotifications.js @@ -1,13 +1,13 @@ -import { playbackManager } from '../components/playback/playbackmanager'; -import { pluginManager } from '../components/pluginManager'; -import inputManager from '../scripts/inputManager'; -import focusManager from '../components/focusManager'; -import { appRouter } from '../components/router/appRouter'; -import ServerConnections from '../components/ServerConnections'; -import toast from '../components/toast/toast'; -import alert from '../components/alert'; -import Events from '../utils/events.ts'; -import { PluginType } from '../types/plugin.ts'; +import alert from 'components/alert'; +import focusManager from 'components/focusManager'; +import { playbackManager } from 'components/playback/playbackmanager'; +import { pluginManager } from 'components/pluginManager'; +import { appRouter } from 'components/router/appRouter'; +import toast from 'components/toast/toast'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import inputManager from 'scripts/inputManager'; +import Events from 'utils/events.ts'; +import { PluginType } from 'types/plugin.ts'; const serverNotifications = {}; diff --git a/src/scripts/taskbutton.js b/src/scripts/taskbutton.js index 0bc9c0ab87..bb2066fcec 100644 --- a/src/scripts/taskbutton.js +++ b/src/scripts/taskbutton.js @@ -1,10 +1,10 @@ -import serverNotifications from '../scripts/serverNotifications'; -import globalize from '../lib/globalize'; -import ServerConnections from '../components/ServerConnections'; -import Events from '../utils/events.ts'; +import globalize from 'lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; +import serverNotifications from 'scripts/serverNotifications'; +import Events from 'utils/events.ts'; -import '../elements/emby-button/emby-button'; +import 'elements/emby-button/emby-button'; function taskbutton(options) { function pollTasks() { diff --git a/src/utils/dashboard.js b/src/utils/dashboard.js index 9b468730d6..666951acba 100644 --- a/src/utils/dashboard.js +++ b/src/utils/dashboard.js @@ -1,10 +1,10 @@ -import ServerConnections from '../components/ServerConnections'; import toast from '../components/toast/toast'; import loading from '../components/loading/loading'; import { appRouter } from '../components/router/appRouter'; import baseAlert from '../components/alert'; import baseConfirm from '../components/confirm/confirm'; import globalize from '../lib/globalize'; +import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections'; import * as webSettings from '../scripts/settings/webSettings'; import datetime from '../scripts/datetime'; import { setBackdropTransparency } from '../components/backdrop/backdrop';