mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
98 lines
3.2 KiB
JavaScript
98 lines
3.2 KiB
JavaScript
const BASE_DEVICE_IMAGE_URL = 'assets/img/devices/';
|
|
|
|
function getWebDeviceIcon(browser) {
|
|
switch (browser) {
|
|
case 'Opera':
|
|
case 'Opera TV':
|
|
case 'Opera Android':
|
|
return BASE_DEVICE_IMAGE_URL + 'opera.svg';
|
|
case 'Chrome':
|
|
case 'Chrome Android':
|
|
return BASE_DEVICE_IMAGE_URL + 'chrome.svg';
|
|
case 'Firefox':
|
|
case 'Firefox Android':
|
|
return BASE_DEVICE_IMAGE_URL + 'firefox.svg';
|
|
case 'Safari':
|
|
case 'Safari iPad':
|
|
case 'Safari iPhone':
|
|
return BASE_DEVICE_IMAGE_URL + 'safari.svg';
|
|
case 'Edge Chromium':
|
|
case 'Edge Chromium Android':
|
|
case 'Edge Chromium iPad':
|
|
case 'Edge Chromium iPhone':
|
|
return BASE_DEVICE_IMAGE_URL + 'edgechromium.svg';
|
|
case 'Edge':
|
|
return BASE_DEVICE_IMAGE_URL + 'edge.svg';
|
|
case 'Internet Explorer':
|
|
return BASE_DEVICE_IMAGE_URL + 'msie.svg';
|
|
default:
|
|
return BASE_DEVICE_IMAGE_URL + 'html5.svg';
|
|
}
|
|
}
|
|
|
|
/* eslint-disable indent */
|
|
|
|
export function getDeviceIcon(device) {
|
|
switch (device.AppName || device.Client) {
|
|
case 'Samsung Smart TV':
|
|
return BASE_DEVICE_IMAGE_URL + 'samsung.svg';
|
|
case 'Xbox One':
|
|
return BASE_DEVICE_IMAGE_URL + 'xbox.svg';
|
|
case 'Sony PS4':
|
|
return BASE_DEVICE_IMAGE_URL + 'playstation.svg';
|
|
case 'Kodi':
|
|
case 'Kodi JellyCon':
|
|
return BASE_DEVICE_IMAGE_URL + 'kodi.svg';
|
|
case 'Jellyfin Android':
|
|
case 'AndroidTV':
|
|
case 'Android TV':
|
|
return BASE_DEVICE_IMAGE_URL + 'android.svg';
|
|
case 'Jellyfin Mobile (iOS)':
|
|
case 'Jellyfin Mobile (iPadOS)':
|
|
case 'Jellyfin iOS':
|
|
case 'Infuse':
|
|
return BASE_DEVICE_IMAGE_URL + 'apple.svg';
|
|
case 'Home Assistant':
|
|
return BASE_DEVICE_IMAGE_URL + 'home-assistant.svg';
|
|
case 'Jellyfin Web':
|
|
return getWebDeviceIcon(device.Name || device.DeviceName);
|
|
default:
|
|
return BASE_DEVICE_IMAGE_URL + 'other.svg';
|
|
}
|
|
}
|
|
|
|
export function getLibraryIcon(library) {
|
|
switch (library) {
|
|
case 'movies':
|
|
return 'video_library';
|
|
case 'music':
|
|
return 'library_music';
|
|
case 'photos':
|
|
return 'photo_library';
|
|
case 'livetv':
|
|
return 'live_tv';
|
|
case 'tvshows':
|
|
return 'tv';
|
|
case 'trailers':
|
|
return 'local_movies';
|
|
case 'homevideos':
|
|
return 'photo_library';
|
|
case 'musicvideos':
|
|
return 'music_video';
|
|
case 'books':
|
|
return 'library_books';
|
|
case 'channels':
|
|
return 'videocam';
|
|
case 'playlists':
|
|
return 'view_list';
|
|
default:
|
|
return 'folder';
|
|
}
|
|
}
|
|
|
|
/* eslint-enable indent */
|
|
|
|
export default {
|
|
getDeviceIcon: getDeviceIcon,
|
|
getLibraryIcon: getLibraryIcon
|
|
};
|