From b44218fdcc6b469c8be39b516b4fc37e23122e98 Mon Sep 17 00:00:00 2001 From: Deluan Date: Sun, 26 Apr 2020 19:15:52 -0400 Subject: [PATCH] Move the shuffleAlbum logic into an action --- ui/src/album/AlbumActions.js | 17 ++--------------- ui/src/audioplayer/index.js | 10 ++++++++-- ui/src/audioplayer/queue.js | 31 ++++++++++++++++++++++++++++++- 3 files changed, 40 insertions(+), 18 deletions(-) diff --git a/ui/src/album/AlbumActions.js b/ui/src/album/AlbumActions.js index 433da1d62..8c647e2db 100644 --- a/ui/src/album/AlbumActions.js +++ b/ui/src/album/AlbumActions.js @@ -8,7 +8,7 @@ import PlayArrowIcon from '@material-ui/icons/PlayArrow' import ShuffleIcon from '@material-ui/icons/Shuffle' import React from 'react' import { useDispatch } from 'react-redux' -import { playAlbum } from '../audioplayer' +import { playAlbum, shuffleAlbum } from '../audioplayer' export const AlbumActions = ({ className, @@ -28,17 +28,6 @@ export const AlbumActions = ({ return acc }, {}) - const shuffle = (data) => { - const ids = Object.keys(data) - for (let i = ids.length - 1; i > 0; i--) { - let j = Math.floor(Math.random() * (i + 1)) - ;[ids[i], ids[j]] = [ids[j], ids[i]] - } - const shuffled = {} - ids.forEach((id) => (shuffled[id] = data[id])) - return shuffled - } - return (