1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/src/plugins/backdropScreensaver/plugin.js

50 lines
1.6 KiB
JavaScript
Raw Normal View History

/* eslint-disable indent */
class BackdropScreensaver {
constructor() {
2020-05-05 23:51:00 +02:00
this.name = 'Backdrop ScreenSaver';
this.type = 'screensaver';
this.id = 'backdropscreensaver';
this.supportsAnonymous = false;
}
show() {
const query = {
2020-05-05 23:51:00 +02:00
ImageTypes: 'Backdrop',
EnableImageTypes: 'Backdrop',
IncludeItemTypes: 'Movie,Series,MusicArtist',
SortBy: 'Random',
2019-11-23 23:00:44 +03:00
Recursive: true,
2020-05-05 23:51:00 +02:00
Fields: 'Taglines',
2019-11-23 23:00:44 +03:00
ImageTypeLimit: 1,
StartIndex: 0,
Limit: 200
};
2020-08-30 06:06:47 +02:00
const apiClient = window.connectionManager.currentApiClient();
2020-05-26 23:59:58 +02:00
apiClient.getItems(apiClient.getCurrentUserId(), query).then((result) => {
2019-11-23 23:00:44 +03:00
if (result.Items.length) {
2020-05-28 23:06:36 +02:00
import('slideshow').then(({default: Slideshow}) => {
const newSlideShow = new Slideshow({
2019-11-23 23:00:44 +03:00
showTitle: true,
cover: true,
items: result.Items
});
newSlideShow.show();
this.currentSlideshow = newSlideShow;
}).catch(console.error);
2019-11-23 23:00:44 +03:00
}
});
}
2019-11-23 23:00:44 +03:00
hide() {
if (this.currentSlideshow) {
this.currentSlideshow.hide();
this.currentSlideshow = null;
2019-11-23 23:00:44 +03:00
}
}
}
/* eslint-enable indent */
export default BackdropScreensaver;