Rename stable directory to legacy

This commit is contained in:
Bill Thornton
2026-06-30 11:21:37 -04:00
parent a62e69d589
commit a28e9616a3
71 changed files with 31 additions and 30 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ import {
import { DASHBOARD_APP_PATHS, DASHBOARD_APP_ROUTES } from 'apps/dashboard/routes/routes';
import { EXPERIMENTAL_APP_ROUTES } from 'apps/modern/routes/routes';
import { STABLE_APP_ROUTES } from 'apps/stable/routes/routes';
import { STABLE_APP_ROUTES } from 'apps/legacy/routes/routes';
import { WIZARD_APP_ROUTES } from 'apps/wizard/routes/routes';
import AppHeader from 'components/AppHeader';
import Backdrop from 'components/Backdrop';
@@ -1,8 +1,8 @@
import { MediaType } from '@jellyfin/sdk/lib/generated-client/models/media-type';
import { getImageUrl } from 'apps/stable/features/playback/utils/image';
import { getItemTextLines } from 'apps/stable/features/playback/utils/itemText';
import { PlaybackSubscriber } from 'apps/stable/features/playback/utils/playbackSubscriber';
import { getImageUrl } from 'apps/legacy/features/playback/utils/image';
import { getItemTextLines } from 'apps/legacy/features/playback/utils/itemText';
import { PlaybackSubscriber } from 'apps/legacy/features/playback/utils/playbackSubscriber';
import type { PlaybackManager } from 'components/playback/playbackmanager';
import { MILLISECONDS_PER_SECOND, TICKS_PER_MILLISECOND } from 'constants/time';
import browser from 'scripts/browser';
@@ -1,7 +1,8 @@
import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client/models/base-item-dto';
import type { MediaSegmentDto } from '@jellyfin/sdk/lib/generated-client/models/media-segment-dto';
import type { MediaSourceInfo } from '@jellyfin/sdk/lib/generated-client/models/media-source-info';
import type { ManagedPlayerStopInfo, MovedItem, PlayerError, PlayerErrorCode, PlayerStopInfo, RemovedItems } from 'apps/stable/features/playback/types/callbacks';
import type { ManagedPlayerStopInfo, MovedItem, PlayerError, PlayerErrorCode, PlayerStopInfo, RemovedItems } from 'apps/legacy/features/playback/types/callbacks';
import type { PlaybackManager } from 'components/playback/playbackmanager';
import type { MediaError } from 'types/mediaError';
import type { PlayTarget } from 'types/playTarget';
@@ -1,4 +1,4 @@
import { SubtitleStylingOption } from 'apps/stable/features/playback/constants/subtitleStylingOption';
import { SubtitleStylingOption } from 'apps/legacy/features/playback/constants/subtitleStylingOption';
import browser from 'scripts/browser';
import type { UserSettings } from 'scripts/settings/userSettings';
@@ -3,9 +3,9 @@ import React, { type FC } from 'react';
import { useSearchParams } from 'react-router-dom';
import { useDebounceValue } from 'usehooks-ts';
import SearchFields from 'apps/stable/features/search/components/SearchFields';
import SearchResults from 'apps/stable/features/search/components/SearchResults';
import SearchSuggestions from 'apps/stable/features/search/components/SearchSuggestions';
import SearchFields from 'apps/legacy/features/search/components/SearchFields';
import SearchResults from 'apps/legacy/features/search/components/SearchResults';
import SearchSuggestions from 'apps/legacy/features/search/components/SearchSuggestions';
import Page from 'components/Page';
import useSearchParam from 'hooks/useSearchParam';
import globalize from 'lib/globalize';
+1 -1
View File
@@ -1,7 +1,7 @@
import React from 'react';
import { Navigate, RouteObject } from 'react-router-dom';
import AppLayout from 'apps/stable/AppLayout';
import AppLayout from 'apps/legacy/AppLayout';
import { AppType } from 'constants/appType';
import ConnectionRequired from 'components/ConnectionRequired';
import ErrorBoundary from 'components/router/ErrorBoundary';
@@ -2,7 +2,7 @@ import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client/models/base
import { ItemFields } from '@jellyfin/sdk/lib/generated-client/models/item-fields';
import type { ApiClient } from 'jellyfin-apiclient';
import { getRecordingsQuery } from 'apps/stable/features/liveTv/api/useRecordings';
import { getRecordingsQuery } from 'apps/legacy/features/liveTv/api/useRecordings';
import cardBuilder from 'components/cardbuilder/cardBuilder';
import globalize from 'lib/globalize';
import { ServerConnections } from 'lib/jellyfin-apiclient';
@@ -4,7 +4,7 @@ import { ItemFields } from '@jellyfin/sdk/lib/generated-client/models/item-field
import type { UserDto } from '@jellyfin/sdk/lib/generated-client/models/user-dto';
import type { ApiClient } from 'jellyfin-apiclient';
import { getRecommendedProgramsQuery } from 'apps/stable/features/liveTv/api/useRecommendedPrograms';
import { getRecommendedProgramsQuery } from 'apps/legacy/features/liveTv/api/useRecommendedPrograms';
import { appRouter } from 'components/router/appRouter';
import cardBuilder from 'components/cardbuilder/cardBuilder';
import { getBackdropShape } from 'components/cardbuilder/utils/shape';
@@ -3,7 +3,7 @@ import { ImageType } from '@jellyfin/sdk/lib/generated-client/models/image-type'
import { ItemFields } from '@jellyfin/sdk/lib/generated-client/models/item-fields';
import type { ApiClient } from 'jellyfin-apiclient';
import { getNextUpQuery } from 'apps/stable/features/libraries/api/useNextUp';
import { getNextUpQuery } from 'apps/legacy/features/libraries/api/useNextUp';
import cardBuilder from 'components/cardbuilder/cardBuilder';
import { getBackdropShape } from 'components/cardbuilder/utils/shape';
import layoutManager from 'components/layoutManager';
@@ -7,7 +7,7 @@ import type { UserDto } from '@jellyfin/sdk/lib/generated-client/models/user-dto
import escapeHtml from 'escape-html';
import type { ApiClient } from 'jellyfin-apiclient';
import { getLatestMediaQuery } from 'apps/stable/features/libraries/api/useLatestMedia';
import { getLatestMediaQuery } from 'apps/legacy/features/libraries/api/useLatestMedia';
import cardBuilder from 'components/cardbuilder/cardBuilder';
import { getBackdropShape, getPortraitShape, getSquareShape } from 'components/cardbuilder/utils/shape';
import layoutManager from 'components/layoutManager';
@@ -4,7 +4,7 @@ import { ItemFields } from '@jellyfin/sdk/lib/generated-client/models/item-field
import type { MediaType } from '@jellyfin/sdk/lib/generated-client/models/media-type';
import type { ApiClient } from 'jellyfin-apiclient';
import { getResumeItemsQuery } from 'apps/stable/features/libraries/api/useResumeItems';
import { getResumeItemsQuery } from 'apps/legacy/features/libraries/api/useResumeItems';
import cardBuilder from 'components/cardbuilder/cardBuilder';
import { getBackdropShape, getPortraitShape } from 'components/cardbuilder/utils/shape';
import globalize from 'lib/globalize';
@@ -1,5 +1,5 @@
import { getImageUrl } from 'apps/stable/features/playback/utils/image';
import { getItemTextLines } from 'apps/stable/features/playback/utils/itemText';
import { getImageUrl } from 'apps/legacy/features/playback/utils/image';
import { getItemTextLines } from 'apps/legacy/features/playback/utils/itemText';
import { appRouter, isLyricsPage } from 'components/router/appRouter';
import { AppFeature } from 'constants/appFeature';
import { ServerConnections } from 'lib/jellyfin-apiclient';
+3 -3
View File
@@ -22,9 +22,9 @@ import { includesAny } from '../../utils/container.ts';
import { getItems } from '../../utils/jellyfin-apiclient/getItems.ts';
import { getItemBackdropImageUrl } from '../../utils/jellyfin-apiclient/backdropImage';
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 { PlayerEvent } from 'apps/legacy/features/playback/constants/playerEvent';
import { bindMediaSegmentManager } from 'apps/legacy/features/playback/utils/mediaSegmentManager';
import { bindMediaSessionSubscriber } from 'apps/legacy/features/playback/utils/mediaSessionSubscriber';
import { AppFeature } from 'constants/appFeature';
import { PluginType } from 'constants/pluginType';
import { TICKS_PER_SECOND } from 'constants/time';
+2 -2
View File
@@ -2,8 +2,8 @@ import { PlaybackManager } from './playbackmanager';
import { TICKS_PER_MILLISECOND, TICKS_PER_SECOND } from 'constants/time';
import type { MediaSegmentDto } from '@jellyfin/sdk/lib/generated-client/models/media-segment-dto';
import type { PlaybackStopInfo } from 'types/playbackStopInfo';
import { PlaybackSubscriber } from 'apps/stable/features/playback/utils/playbackSubscriber';
import { isInSegment } from 'apps/stable/features/playback/utils/mediaSegments';
import { PlaybackSubscriber } from 'apps/legacy/features/playback/utils/playbackSubscriber';
import { isInSegment } from 'apps/legacy/features/playback/utils/mediaSegments';
import Events, { type Event } from 'utils/events';
import { EventType } from 'constants/eventType';
import './skipbutton.scss';
@@ -1,8 +1,8 @@
import { MediaSegmentType } from '@jellyfin/sdk/lib/generated-client/models/media-segment-type';
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 { MediaSegmentAction } from 'apps/legacy/features/playback/constants/mediaSegmentAction';
import { getId, getMediaSegmentAction } from 'apps/legacy/features/playback/utils/mediaSegmentSettings';
import { pluginManager } from 'components/pluginManager';
import { AppFeature } from 'constants/appFeature';
import { PluginType } from 'constants/pluginType';
@@ -1,7 +1,7 @@
import escapeHtml from 'escape-html';
import { getImageUrl } from 'apps/stable/features/playback/utils/image';
import { getItemTextLines } from 'apps/stable/features/playback/utils/itemText';
import { getImageUrl } from 'apps/legacy/features/playback/utils/image';
import { getItemTextLines } from 'apps/legacy/features/playback/utils/itemText';
import { AppFeature } from 'constants/appFeature';
import { ItemAction } from 'constants/itemAction';
+1 -1
View File
@@ -21,7 +21,7 @@ const importRoute = (page: string, type: AppType) => {
case AppType.Experimental:
return import(/* webpackChunkName: "[request]" */ `../../apps/modern/routes/${page}`);
case AppType.Stable:
return import(/* webpackChunkName: "[request]" */ `../../apps/stable/routes/${page}`);
return import(/* webpackChunkName: "[request]" */ `../../apps/legacy/routes/${page}`);
}
};
+1 -1
View File
@@ -1,7 +1,7 @@
import { getLyricsApi } from '@jellyfin/sdk/lib/utils/api/lyrics-api';
import escapeHtml from 'escape-html';
import { AutoScroll } from 'apps/stable/features/lyrics/constants/autoScroll';
import { AutoScroll } from 'apps/legacy/features/lyrics/constants/autoScroll';
import autoFocuser from 'components/autoFocuser';
import { appRouter } from 'components/router/appRouter';
import layoutManager from 'components/layoutManager';
+1 -1
View File
@@ -1,6 +1,6 @@
import escapeHtml from 'escape-html';
import { PlayerEvent } from 'apps/stable/features/playback/constants/playerEvent';
import { PlayerEvent } from 'apps/legacy/features/playback/constants/playerEvent';
import { AppFeature } from 'constants/appFeature';
import { PluginType } from 'constants/pluginType';
import { TICKS_PER_MINUTE, TICKS_PER_SECOND } from 'constants/time';
+1 -1
View File
@@ -2,7 +2,7 @@ import DOMPurify from 'dompurify';
import debounce from 'lodash-es/debounce';
import Screenfull from 'screenfull';
import { useCustomSubtitles } from 'apps/stable/features/playback/utils/subtitleStyles';
import { useCustomSubtitles } from 'apps/legacy/features/playback/utils/subtitleStyles';
import subtitleAppearanceHelper from 'components/subtitlesettings/subtitleappearancehelper';
import { AppFeature } from 'constants/appFeature';
import { PluginType } from 'constants/pluginType';