diff --git a/src/components/backdrop/backdrop.js b/src/components/backdrop/backdrop.js index 9403038ae6..d8d5d38a47 100644 --- a/src/components/backdrop/backdrop.js +++ b/src/components/backdrop/backdrop.js @@ -1,10 +1,12 @@ +import isEqual from 'lodash-es/isEqual'; import browser from '../../scripts/browser'; import { playbackManager } from '../playback/playbackmanager'; import dom from '../../scripts/dom'; import * as userSettings from '../../scripts/settings/userSettings'; -import './backdrop.scss'; import ServerConnections from '../ServerConnections'; +import './backdrop.scss'; + /* eslint-disable indent */ function enableAnimation() { @@ -217,28 +219,6 @@ import ServerConnections from '../ServerConnections'; return list; } - function arraysEqual(a, b) { - if (a === b) { - return true; - } - if (a == null || b == null) { - return false; - } - if (a.length !== b.length) { - return false; - } - - // If you don't care about the order of the elements inside - // the array, you should sort both arrays here. - for (let i = 0; i < a.length; ++i) { - if (a[i] !== b[i]) { - return false; - } - } - - return true; - } - function enabled() { return userSettings.enableBackdrops(); } @@ -259,7 +239,7 @@ import ServerConnections from '../ServerConnections'; } function startRotation(images, enableImageRotation) { - if (arraysEqual(images, currentRotatingImages)) { + if (isEqual(images, currentRotatingImages)) { return; } diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index b472716ea4..5ba96adb4c 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -1,6 +1,8 @@ import { intervalToDuration } from 'date-fns'; import DOMPurify from 'dompurify'; import escapeHtml from 'escape-html'; +import isEqual from 'lodash-es/isEqual'; + import { appHost } from '../../components/apphost'; import loading from '../../components/loading/loading'; import { appRouter } from '../../components/appRouter'; @@ -1375,10 +1377,9 @@ function renderChildren(page, item) { const childrenItemsContainer = page.querySelector('.childrenItemsContainer'); if (item.Type == 'MusicAlbum') { - const equalSet = (arr1, arr2) => arr1.every(x => arr2.indexOf(x) !== -1) && arr1.length === arr2.length; let showArtist = false; for (const track of result.Items) { - if (!equalSet(track.ArtistItems.map(x => x.Id), track.AlbumArtists.map(x => x.Id))) { + if (!isEqual(track.ArtistItems.map(x => x.Id).sort(), track.AlbumArtists.map(x => x.Id).sort())) { showArtist = true; break; }