|
|
|
|
@ -101175,7 +101175,7 @@ var Dragger = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
dropzones[i].classList.remove('hover');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (target.classList.contains('dropzone') && !target.classList.contains('hover')) {
|
|
|
|
|
if (target.classList && target.classList.contains('dropzone') && !target.classList.contains('hover')) {
|
|
|
|
|
target.className += ' hover';
|
|
|
|
|
} // if not already, activate
|
|
|
|
|
|
|
|
|
|
@ -106645,6 +106645,15 @@ var ListItem = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (key === 'listeners') {
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], {
|
|
|
|
|
path: "specs.listeners",
|
|
|
|
|
count: value.toLocaleString(),
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "ListItem"
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (key === 'added_at') {
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], {
|
|
|
|
|
path: "specs.added_ago",
|
|
|
|
|
@ -133592,12 +133601,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
|
|
|
|
|
|
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
|
|
|
|
|
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
|
|
|
|
|
|
|
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
|
|
|
|
|
|
|
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
|
|
|
|
|
|
|
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
|
|
|
|
|
|
|
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
|
|
|
@ -134076,42 +134079,31 @@ var mapStateToProps = function mapStateToProps(state) {
|
|
|
|
|
var current_track = {};
|
|
|
|
|
|
|
|
|
|
if (queue && items) {
|
|
|
|
|
var _iterator = _createForOfIteratorHelper(queue),
|
|
|
|
|
_step;
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
|
|
var queue_track = _step.value;
|
|
|
|
|
|
|
|
|
|
var track = _objectSpread(_objectSpread({}, queue_track), {}, {
|
|
|
|
|
playing: core_current_track && core_current_track.tlid == queue_track.tlid
|
|
|
|
|
}); // If we have the track in our index, merge it in.
|
|
|
|
|
// We prioritise queue track over index track as queue has unique data, like which track
|
|
|
|
|
// is playing and tlids.
|
|
|
|
|
queue.forEach(function (queueTrack) {
|
|
|
|
|
var track = _objectSpread(_objectSpread({}, queueTrack), {}, {
|
|
|
|
|
playing: core_current_track && core_current_track.tlid === queueTrack.tlid
|
|
|
|
|
}); // If we have the track in our index, merge it in.
|
|
|
|
|
// We prioritise queue track over index track as queue has unique data, like which track
|
|
|
|
|
// is playing and tlids.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (items[track.uri]) {
|
|
|
|
|
track = _objectSpread(_objectSpread({}, items[track.uri]), track);
|
|
|
|
|
} // Now merge in our queue metadata
|
|
|
|
|
if (items[track.uri]) {
|
|
|
|
|
track = _objectSpread(_objectSpread({}, items[track.uri]), track);
|
|
|
|
|
} // Now merge in our queue metadata
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (queue_metadata["tlid_".concat(track.tlid)] !== undefined) {
|
|
|
|
|
track = _objectSpread(_objectSpread({}, track), queue_metadata["tlid_".concat(track.tlid)]);
|
|
|
|
|
} // Siphon off this track if it's a full representation of our current track
|
|
|
|
|
if (queue_metadata["tlid_".concat(track.tlid)] !== undefined) {
|
|
|
|
|
track = _objectSpread(_objectSpread({}, track), queue_metadata["tlid_".concat(track.tlid)]);
|
|
|
|
|
} // Siphon off this track if it's a full representation of our current track
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (track.playing) {
|
|
|
|
|
current_track = track;
|
|
|
|
|
} // Now add our compiled track for our tracklist
|
|
|
|
|
if (track.playing) {
|
|
|
|
|
current_track = track;
|
|
|
|
|
} // Now add our compiled track for our tracklist
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
queue_tracks.push(track);
|
|
|
|
|
}
|
|
|
|
|
} catch (err) {
|
|
|
|
|
_iterator.e(err);
|
|
|
|
|
} finally {
|
|
|
|
|
_iterator.f();
|
|
|
|
|
}
|
|
|
|
|
queue_tracks.push(track);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
@ -139194,7 +139186,7 @@ var LibraryArtists = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
},
|
|
|
|
|
rows: artists,
|
|
|
|
|
thumbnail: true,
|
|
|
|
|
details: ['followers', 'popularity'],
|
|
|
|
|
details: ['followers', 'listeners'],
|
|
|
|
|
right_column: ['source', 'albums'],
|
|
|
|
|
className: "artists",
|
|
|
|
|
link_prefix: "/artist/",
|
|
|
|
|
@ -141213,9 +141205,8 @@ var AddToPlaylist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
window.history.back();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "render", function () {
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "renderList", function () {
|
|
|
|
|
var _this$props3 = _this.props,
|
|
|
|
|
uris = _this$props3.uris,
|
|
|
|
|
items = _this$props3.items,
|
|
|
|
|
_this$props3$spotify_ = _this$props3.spotify_library,
|
|
|
|
|
spotify_library = _this$props3$spotify_ === void 0 ? {
|
|
|
|
|
@ -141245,6 +141236,64 @@ var AddToPlaylist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
return playlist.can_edit;
|
|
|
|
|
});
|
|
|
|
|
playlists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_12__["sortItems"])(playlists, 'name');
|
|
|
|
|
|
|
|
|
|
if (playlists.length > 0) {
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
|
|
|
|
className: "list small playlists",
|
|
|
|
|
"data-qa-node": "div",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, playlists.map(function (playlist) {
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
|
|
|
|
className: "list__item",
|
|
|
|
|
key: playlist.uri,
|
|
|
|
|
onClick: function onClick() {
|
|
|
|
|
return _this.playlistSelected(playlist.uri);
|
|
|
|
|
},
|
|
|
|
|
"data-qa-node": "div",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
|
|
|
|
images: playlist.images,
|
|
|
|
|
size: "small",
|
|
|
|
|
"data-qa-node": "Thumbnail",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", {
|
|
|
|
|
className: "list__item__name",
|
|
|
|
|
"data-qa-node": "h4",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, playlist.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", {
|
|
|
|
|
className: "list__item__details details",
|
|
|
|
|
"data-qa-node": "ul",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
|
|
|
|
type: "fontawesome",
|
|
|
|
|
className: "source",
|
|
|
|
|
name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_11__["sourceIcon"])(playlist.uri),
|
|
|
|
|
"data-qa-node": "Icon",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
className: "mid_grey-text",
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, "".concat(playlist.tracks_total || 0, " tracks"))));
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
|
|
|
|
className: "no-results",
|
|
|
|
|
"data-qa-node": "div",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_13__["I18n"], {
|
|
|
|
|
path: "modal.add_to_playlist.no_playlists",
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "render", function () {
|
|
|
|
|
var uris = _this.props.uris;
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
|
|
|
className: "modal--add-to-playlist",
|
|
|
|
|
"data-qa-node": "Modal",
|
|
|
|
|
@ -141266,55 +141315,7 @@ var AddToPlaylist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
plural: uris.length > 1 ? 's' : '',
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
})), playlists.length ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
|
|
|
|
className: "list small playlists",
|
|
|
|
|
"data-qa-node": "div",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, playlists.map(function (playlist) {
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
|
|
|
|
className: "list__item",
|
|
|
|
|
key: playlist.uri,
|
|
|
|
|
onClick: function onClick() {
|
|
|
|
|
return _this.playlistSelected(playlist.uri);
|
|
|
|
|
},
|
|
|
|
|
"data-qa-node": "div",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
|
|
|
|
images: playlist.images,
|
|
|
|
|
size: "small",
|
|
|
|
|
"data-qa-node": "Thumbnail",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", {
|
|
|
|
|
className: "list__item__name",
|
|
|
|
|
"data-qa-node": "h4",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, playlist.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", {
|
|
|
|
|
className: "list__item__details details",
|
|
|
|
|
"data-qa-node": "ul",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
|
|
|
|
type: "fontawesome",
|
|
|
|
|
className: "source",
|
|
|
|
|
name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_11__["sourceIcon"])(playlist.uri),
|
|
|
|
|
"data-qa-node": "Icon",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
className: "mid_grey-text",
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, "".concat(playlist.tracks_total || 0, " tracks"))));
|
|
|
|
|
})) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
|
|
|
|
className: "no-results",
|
|
|
|
|
"data-qa-node": "div",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_13__["I18n"], {
|
|
|
|
|
path: "modal.add_to_playlist.no_playlists",
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "AddToPlaylist"
|
|
|
|
|
})));
|
|
|
|
|
})), _this.renderList());
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return _this;
|
|
|
|
|
|