Use sdk for item download url

This commit is contained in:
Bill Thornton
2025-12-09 18:22:13 -05:00
parent 15644cb097
commit 3e93be0292
7 changed files with 49 additions and 31 deletions
+10 -5
View File
@@ -2,9 +2,15 @@
* Image viewer component
* @module components/slideshow/slideshow
*/
import { getLibraryApi } from '@jellyfin/sdk/lib/utils/api/library-api';
import screenfull from 'screenfull';
import { AppFeature } from 'constants/appFeature';
import dialogHelper from '../dialogHelper/dialogHelper';
import { ServerConnections } from 'lib/jellyfin-apiclient';
import { toApi } from 'utils/jellyfin-apiclient/compat';
import { randomInt } from 'utils/number';
import dialogHelper from '../dialogHelper/dialogHelper';
import inputManager from '../../scripts/inputManager';
import layoutManager from '../layoutManager';
import focusManager from '../focusManager';
@@ -15,8 +21,6 @@ import dom from '../../utils/dom';
import './style.scss';
import 'material-design-icons-iconfont';
import '../../elements/emby-button/paper-icon-button-light';
import screenfull from 'screenfull';
import { randomInt } from '../../utils/number.ts';
/**
* Name of transition event.
@@ -88,14 +92,15 @@ function getBackdropImageUrl(item, options, apiClient) {
* @returns {string} URL of the item's image.
*/
function getImgUrl(item, user) {
const apiClient = ServerConnections.getApiClient(item.ServerId);
const apiClient = ServerConnections.getApiClient(item);
const api = toApi(apiClient);
const imageOptions = {};
if (item.BackdropImageTags?.length) {
return getBackdropImageUrl(item, imageOptions, apiClient);
} else {
if (item.MediaType === 'Photo' && user?.Policy.EnableContentDownloading) {
return apiClient.getItemDownloadUrl(item.Id);
return getLibraryApi(api).getDownloadUrl({ itemId: item.Id });
}
imageOptions.type = 'Primary';
return getImageUrl(item, imageOptions, apiClient);