|
|
|
|
@ -90413,6 +90413,138 @@ var mapDispatchToProps = function mapDispatchToProps(dispatch) {
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
|
|
|
|
/***/ "./src/js/components/Fields/PinButton.js":
|
|
|
|
|
/*!***********************************************!*\
|
|
|
|
|
!*** ./src/js/components/Fields/PinButton.js ***!
|
|
|
|
|
\***********************************************/
|
|
|
|
|
/*! exports provided: default */
|
|
|
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
|
"use strict";
|
|
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
|
|
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
|
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js");
|
|
|
|
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js");
|
|
|
|
|
/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/core/actions */ "./src/js/services/core/actions.js");
|
|
|
|
|
/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Icon */ "./src/js/components/Icon.js");
|
|
|
|
|
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"); } }
|
|
|
|
|
|
|
|
|
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
|
|
|
|
|
|
|
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
|
|
|
|
|
|
|
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
|
|
|
|
|
|
|
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
|
|
|
|
|
|
|
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
|
|
|
|
|
|
|
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
|
|
|
|
|
|
|
|
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
|
|
|
|
|
|
|
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var PinButton = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
_inherits(PinButton, _React$Component);
|
|
|
|
|
|
|
|
|
|
var _super = _createSuper(PinButton);
|
|
|
|
|
|
|
|
|
|
function PinButton() {
|
|
|
|
|
var _this;
|
|
|
|
|
|
|
|
|
|
_classCallCheck(this, PinButton);
|
|
|
|
|
|
|
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
|
|
|
args[_key] = arguments[_key];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "remove", function () {
|
|
|
|
|
var _this$props = _this.props,
|
|
|
|
|
removePinned = _this$props.coreActions.removePinned,
|
|
|
|
|
uri = _this$props.uri;
|
|
|
|
|
removePinned(uri);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "add", function () {
|
|
|
|
|
var _this$props2 = _this.props,
|
|
|
|
|
addPinned = _this$props2.coreActions.addPinned,
|
|
|
|
|
uri = _this$props2.uri;
|
|
|
|
|
addPinned(uri);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "render", function () {
|
|
|
|
|
var _this$props3 = _this.props,
|
|
|
|
|
uri = _this$props3.uri,
|
|
|
|
|
isPinned = _this$props3.isPinned;
|
|
|
|
|
var _this$props$className = _this.props.className,
|
|
|
|
|
className = _this$props$className === void 0 ? '' : _this$props$className;
|
|
|
|
|
if (!uri) return null;
|
|
|
|
|
className += ' button button--discrete';
|
|
|
|
|
|
|
|
|
|
if (isPinned) {
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
|
|
|
|
type: "button",
|
|
|
|
|
className: "".concat(className, " button--destructive"),
|
|
|
|
|
onClick: _this.remove,
|
|
|
|
|
"data-qa-node": "button",
|
|
|
|
|
"data-qa-file": "PinButton"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
|
|
|
name: "bookmark",
|
|
|
|
|
"data-qa-node": "Icon",
|
|
|
|
|
"data-qa-file": "PinButton"
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
|
|
|
|
type: "button",
|
|
|
|
|
className: "".concat(className, " button--default"),
|
|
|
|
|
onClick: _this.add,
|
|
|
|
|
"data-qa-node": "button",
|
|
|
|
|
"data-qa-file": "PinButton"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
|
|
|
name: "bookmark_border",
|
|
|
|
|
"data-qa-node": "Icon",
|
|
|
|
|
"data-qa-file": "PinButton"
|
|
|
|
|
}));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return _this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return PinButton;
|
|
|
|
|
}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);
|
|
|
|
|
|
|
|
|
|
var mapStateToProps = function mapStateToProps(state, _ref) {
|
|
|
|
|
var uri = _ref.uri;
|
|
|
|
|
return {
|
|
|
|
|
isPinned: state.core.pinned ? state.core.pinned.find(function (item) {
|
|
|
|
|
return item === uri;
|
|
|
|
|
}) : false
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var mapDispatchToProps = function mapDispatchToProps(dispatch) {
|
|
|
|
|
return {
|
|
|
|
|
coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_3__, dispatch)
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(PinButton));
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
|
|
|
|
/***/ "./src/js/components/Fields/ProgressSlider.js":
|
|
|
|
|
/*!****************************************************!*\
|
|
|
|
|
!*** ./src/js/components/Fields/ProgressSlider.js ***!
|
|
|
|
|
@ -99123,7 +99255,7 @@ module.exports = JSON.parse("{\"name\":\"Svenska\",\"errors\":{\"uri_not_found\"
|
|
|
|
|
/*!*****************************************!*\
|
|
|
|
|
!*** ./src/js/services/core/actions.js ***!
|
|
|
|
|
\*****************************************/
|
|
|
|
|
/*! exports provided: getBroadcasts, startSearch, handleException, debugResponse, set, clearCurrentTrack, cachebustHttpStream, loadItem, loadTrack, loadAlbum, loadArtist, loadPlaylist, loadUser, loadUserPlaylists, trackLoaded, tracksLoaded, artistLoaded, artistsLoaded, albumLoaded, albumsLoaded, playlistLoaded, playlistsLoaded, userLoaded, usersLoaded, userPlaylistsLoaded, loadedMore, removeFromIndex, viewDataLoaded, reorderPlaylistTracks, savePlaylist, createPlaylist, deletePlaylist, removeTracksFromPlaylist, addTracksToPlaylist, getLibraryPlaylists, getLibraryAlbums, getLibraryArtists */
|
|
|
|
|
/*! exports provided: getBroadcasts, startSearch, handleException, debugResponse, set, clearCurrentTrack, cachebustHttpStream, loadItem, loadTrack, loadAlbum, loadArtist, loadPlaylist, loadUser, loadUserPlaylists, trackLoaded, tracksLoaded, artistLoaded, artistsLoaded, albumLoaded, albumsLoaded, playlistLoaded, playlistsLoaded, userLoaded, usersLoaded, userPlaylistsLoaded, loadedMore, removeFromIndex, viewDataLoaded, reorderPlaylistTracks, savePlaylist, createPlaylist, deletePlaylist, removeTracksFromPlaylist, addTracksToPlaylist, getLibraryPlaylists, getLibraryAlbums, getLibraryArtists, addPinned, removePinned, updatePinned */
|
|
|
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
|
"use strict";
|
|
|
|
|
@ -99165,6 +99297,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryPlaylists", function() { return getLibraryPlaylists; });
|
|
|
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryAlbums", function() { return getLibraryAlbums; });
|
|
|
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLibraryArtists", function() { return getLibraryArtists; });
|
|
|
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addPinned", function() { return addPinned; });
|
|
|
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removePinned", function() { return removePinned; });
|
|
|
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updatePinned", function() { return updatePinned; });
|
|
|
|
|
/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js");
|
|
|
|
|
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js");
|
|
|
|
|
|
|
|
|
|
@ -99578,6 +99713,24 @@ function getLibraryArtists() {
|
|
|
|
|
type: 'GET_LIBRARY_ARTISTS'
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
function addPinned(uri) {
|
|
|
|
|
return {
|
|
|
|
|
type: 'ADD_PINNED',
|
|
|
|
|
uri: uri
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
function removePinned(uri) {
|
|
|
|
|
return {
|
|
|
|
|
type: 'REMOVE_PINNED',
|
|
|
|
|
uri: uri
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
function updatePinned(pinned) {
|
|
|
|
|
return {
|
|
|
|
|
type: 'UPDATE_PINNED',
|
|
|
|
|
pinned: pinned
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js")))
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
@ -100558,6 +100711,18 @@ var CoreMiddleware = function () {
|
|
|
|
|
store.dispatch(records_action);
|
|
|
|
|
next(action);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'ADD_PINNED':
|
|
|
|
|
store.dispatch(coreActions.updatePinned([].concat(_toConsumableArray(store.getState().core.pinned), [action.uri])));
|
|
|
|
|
next(action);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'REMOVE_PINNED':
|
|
|
|
|
store.dispatch(coreActions.updatePinned(store.getState().core.pinned.filter(function (item) {
|
|
|
|
|
return item !== action.uri;
|
|
|
|
|
})));
|
|
|
|
|
next(action);
|
|
|
|
|
break;
|
|
|
|
|
// This action is irrelevant to us, pass it on to the next middleware
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
@ -100963,6 +101128,11 @@ function reducer() {
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
case 'UPDATE_PINNED':
|
|
|
|
|
return _objectSpread(_objectSpread({}, core), {}, {
|
|
|
|
|
pinned: action.pinned
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
return core;
|
|
|
|
|
}
|
|
|
|
|
@ -102487,6 +102657,12 @@ var localstorageMiddleware = function () {
|
|
|
|
|
_util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('core', action.data);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'UPDATE_PINNED':
|
|
|
|
|
_util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('core', {
|
|
|
|
|
pinned: action.pinned
|
|
|
|
|
});
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'UI_SET':
|
|
|
|
|
_util_storage__WEBPACK_IMPORTED_MODULE_0__["default"].set('ui', action.data);
|
|
|
|
|
break;
|
|
|
|
|
@ -111709,6 +111885,7 @@ var state = {
|
|
|
|
|
queue: [],
|
|
|
|
|
queue_metadata: {},
|
|
|
|
|
current_track: null,
|
|
|
|
|
pinned: [],
|
|
|
|
|
albums: {},
|
|
|
|
|
artists: {},
|
|
|
|
|
playlists: {},
|
|
|
|
|
@ -116073,27 +116250,26 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
|
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js");
|
|
|
|
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js");
|
|
|
|
|
/* harmony import */ var react_ga__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-ga */ "./node_modules/react-ga/dist/esm/index.js");
|
|
|
|
|
/* harmony import */ var _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js");
|
|
|
|
|
/* harmony import */ var _components_Link__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js");
|
|
|
|
|
/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js");
|
|
|
|
|
/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js");
|
|
|
|
|
/* harmony import */ var _components_Parallax__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/Parallax */ "./src/js/components/Parallax.js");
|
|
|
|
|
/* harmony import */ var _components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/NiceNumber */ "./src/js/components/NiceNumber.js");
|
|
|
|
|
/* harmony import */ var _components_Dater__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js");
|
|
|
|
|
/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js");
|
|
|
|
|
/* harmony import */ var _components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js");
|
|
|
|
|
/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js");
|
|
|
|
|
/* harmony import */ var _components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js");
|
|
|
|
|
/* harmony import */ var _components_URILink__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../components/URILink */ "./src/js/components/URILink.js");
|
|
|
|
|
/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js");
|
|
|
|
|
/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js");
|
|
|
|
|
/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js");
|
|
|
|
|
/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js");
|
|
|
|
|
/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js");
|
|
|
|
|
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js");
|
|
|
|
|
/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js");
|
|
|
|
|
/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js");
|
|
|
|
|
/* harmony import */ var _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/ErrorMessage */ "./src/js/components/ErrorMessage.js");
|
|
|
|
|
/* harmony import */ var _components_Link__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/Link */ "./src/js/components/Link.js");
|
|
|
|
|
/* harmony import */ var _components_TrackList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/TrackList */ "./src/js/components/TrackList.js");
|
|
|
|
|
/* harmony import */ var _components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/Thumbnail */ "./src/js/components/Thumbnail.js");
|
|
|
|
|
/* harmony import */ var _components_Fields_PinButton__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/Fields/PinButton */ "./src/js/components/Fields/PinButton.js");
|
|
|
|
|
/* harmony import */ var _components_NiceNumber__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/NiceNumber */ "./src/js/components/NiceNumber.js");
|
|
|
|
|
/* harmony import */ var _components_Dater__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/Dater */ "./src/js/components/Dater.js");
|
|
|
|
|
/* harmony import */ var _components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components/LazyLoadListener */ "./src/js/components/LazyLoadListener.js");
|
|
|
|
|
/* harmony import */ var _components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../components/Fields/FollowButton */ "./src/js/components/Fields/FollowButton.js");
|
|
|
|
|
/* harmony import */ var _components_Loader__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/Loader */ "./src/js/components/Loader.js");
|
|
|
|
|
/* harmony import */ var _components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../components/ContextMenuTrigger */ "./src/js/components/ContextMenuTrigger.js");
|
|
|
|
|
/* harmony import */ var _components_URILink__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../components/URILink */ "./src/js/components/URILink.js");
|
|
|
|
|
/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../components/Icon */ "./src/js/components/Icon.js");
|
|
|
|
|
/* harmony import */ var _services_core_actions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../services/core/actions */ "./src/js/services/core/actions.js");
|
|
|
|
|
/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../services/ui/actions */ "./src/js/services/ui/actions.js");
|
|
|
|
|
/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../services/mopidy/actions */ "./src/js/services/mopidy/actions.js");
|
|
|
|
|
/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../services/spotify/actions */ "./src/js/services/spotify/actions.js");
|
|
|
|
|
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js");
|
|
|
|
|
/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../util/format */ "./src/js/util/format.js");
|
|
|
|
|
/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js");
|
|
|
|
|
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"); } }
|
|
|
|
|
@ -116140,7 +116316,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
@ -116173,7 +116348,7 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
if (uri !== prevUri) {
|
|
|
|
|
loadPlaylist(uri);
|
|
|
|
|
} else if (!prev_mopidy_connected && mopidy_connected) {
|
|
|
|
|
if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["uriSource"])(uri) !== 'spotify') {
|
|
|
|
|
if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["uriSource"])(uri) !== 'spotify') {
|
|
|
|
|
loadPlaylist(uri);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -116185,9 +116360,9 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "setWindowTitle", function () {
|
|
|
|
|
var playlist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.playlist;
|
|
|
|
|
var setWindowTitle = _this.props.uiActions.setWindowTitle;
|
|
|
|
|
setWindowTitle(playlist ? Object(_locale__WEBPACK_IMPORTED_MODULE_23__["i18n"])('playlist.title_window', {
|
|
|
|
|
setWindowTitle(playlist ? Object(_locale__WEBPACK_IMPORTED_MODULE_22__["i18n"])('playlist.title_window', {
|
|
|
|
|
name: playlist.name
|
|
|
|
|
}) : Object(_locale__WEBPACK_IMPORTED_MODULE_23__["i18n"])('playlist.title'));
|
|
|
|
|
}) : Object(_locale__WEBPACK_IMPORTED_MODULE_22__["i18n"])('playlist.title'));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "loadMore", function () {
|
|
|
|
|
@ -116245,18 +116420,32 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "inLibrary", function () {
|
|
|
|
|
var uri = _this.props.uri;
|
|
|
|
|
var libraryName = "".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["uriSource"])(uri), "_library_playlists");
|
|
|
|
|
var libraryName = "".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["uriSource"])(uri), "_library_playlists");
|
|
|
|
|
var library = _this.props[libraryName];
|
|
|
|
|
if (!library) return false;
|
|
|
|
|
return library.indexOf(uri) > -1;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "renderActions", function () {
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "togglePinned", function () {
|
|
|
|
|
var _this$props7 = _this.props,
|
|
|
|
|
uri = _this$props7.uri,
|
|
|
|
|
can_edit = _this$props7.playlist.can_edit;
|
|
|
|
|
_this$props7$coreActi = _this$props7.coreActions,
|
|
|
|
|
addPinned = _this$props7$coreActi.addPinned,
|
|
|
|
|
removePinned = _this$props7$coreActi.removePinned;
|
|
|
|
|
|
|
|
|
|
switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["uriSource"])(_this.props.uri)) {
|
|
|
|
|
if (_this.isPinned()) {
|
|
|
|
|
removePinned(uri);
|
|
|
|
|
} else {
|
|
|
|
|
addPinned(uri);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "renderActions", function () {
|
|
|
|
|
var _this$props8 = _this.props,
|
|
|
|
|
uri = _this$props8.uri,
|
|
|
|
|
can_edit = _this$props8.playlist.can_edit;
|
|
|
|
|
|
|
|
|
|
switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["uriSource"])(_this.props.uri)) {
|
|
|
|
|
case 'm3u':
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
|
|
|
|
className: "actions",
|
|
|
|
|
@ -116267,20 +116456,24 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
onClick: _this.play,
|
|
|
|
|
"data-qa-node": "button",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "actions.play",
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
|
|
|
className: "button button--default",
|
|
|
|
|
to: "/playlist/".concat(encodeURIComponent(uri), "/edit"),
|
|
|
|
|
"data-qa-node": "Link",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "actions.edit",
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__["default"], {
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_PinButton__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
|
|
|
uri: uri,
|
|
|
|
|
"data-qa-node": "PinButton",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_13__["default"], {
|
|
|
|
|
onTrigger: _this.handleContextMenu,
|
|
|
|
|
"data-qa-node": "ContextMenuTrigger",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
@ -116297,20 +116490,24 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
onClick: _this.play,
|
|
|
|
|
"data-qa-node": "button",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "actions.play",
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Link__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
|
|
|
className: "button button--default",
|
|
|
|
|
to: "/playlist/".concat(encodeURIComponent(uri), "/edit"),
|
|
|
|
|
"data-qa-node": "Link",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "actions.edit",
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__["default"], {
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_PinButton__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
|
|
|
uri: uri,
|
|
|
|
|
"data-qa-node": "PinButton",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_13__["default"], {
|
|
|
|
|
onTrigger: _this.handleContextMenu,
|
|
|
|
|
"data-qa-node": "ContextMenuTrigger",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
@ -116326,16 +116523,20 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
onClick: _this.play,
|
|
|
|
|
"data-qa-node": "button",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "actions.play",
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_12__["default"], {
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_FollowButton__WEBPACK_IMPORTED_MODULE_11__["default"], {
|
|
|
|
|
uri: uri,
|
|
|
|
|
is_following: _this.inLibrary(),
|
|
|
|
|
"data-qa-node": "FollowButton",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__["default"], {
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_PinButton__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
|
|
|
uri: uri,
|
|
|
|
|
"data-qa-node": "PinButton",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_13__["default"], {
|
|
|
|
|
onTrigger: _this.handleContextMenu,
|
|
|
|
|
"data-qa-node": "ContextMenuTrigger",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
@ -116351,11 +116552,15 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
onClick: _this.play,
|
|
|
|
|
"data-qa-node": "button",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "actions.play",
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_14__["default"], {
|
|
|
|
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fields_PinButton__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
|
|
|
uri: uri,
|
|
|
|
|
"data-qa-node": "PinButton",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ContextMenuTrigger__WEBPACK_IMPORTED_MODULE_13__["default"], {
|
|
|
|
|
onTrigger: _this.handleContextMenu,
|
|
|
|
|
"data-qa-node": "ContextMenuTrigger",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
@ -116364,18 +116569,18 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
_defineProperty(_assertThisInitialized(_this), "render", function () {
|
|
|
|
|
var _this$props8 = _this.props,
|
|
|
|
|
uri = _this$props8.uri,
|
|
|
|
|
playlistProp = _this$props8.playlist,
|
|
|
|
|
load_queue = _this$props8.load_queue,
|
|
|
|
|
tracks = _this$props8.tracks,
|
|
|
|
|
users = _this$props8.users,
|
|
|
|
|
slim_mode = _this$props8.slim_mode;
|
|
|
|
|
var playlist_id = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["getFromUri"])('playlistid', uri);
|
|
|
|
|
var _this$props9 = _this.props,
|
|
|
|
|
uri = _this$props9.uri,
|
|
|
|
|
playlistProp = _this$props9.playlist,
|
|
|
|
|
load_queue = _this$props9.load_queue,
|
|
|
|
|
tracks = _this$props9.tracks,
|
|
|
|
|
users = _this$props9.users,
|
|
|
|
|
slim_mode = _this$props9.slim_mode;
|
|
|
|
|
var playlist_id = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["getFromUri"])('playlistid', uri);
|
|
|
|
|
|
|
|
|
|
if (!playlistProp) {
|
|
|
|
|
if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["isLoading"])(load_queue, ["spotify_playlists/".concat(playlist_id, "?")])) {
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_13__["default"], {
|
|
|
|
|
if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["isLoading"])(load_queue, ["spotify_playlists/".concat(playlist_id, "?")])) {
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Loader__WEBPACK_IMPORTED_MODULE_12__["default"], {
|
|
|
|
|
body: true,
|
|
|
|
|
loading: true,
|
|
|
|
|
"data-qa-node": "Loader",
|
|
|
|
|
@ -116383,7 +116588,7 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorMessage__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
|
|
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorMessage__WEBPACK_IMPORTED_MODULE_3__["default"], {
|
|
|
|
|
type: "not-found",
|
|
|
|
|
title: "Not found",
|
|
|
|
|
"data-qa-node": "ErrorMessage",
|
|
|
|
|
@ -116391,7 +116596,7 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
|
|
|
|
|
"data-qa-node": "p",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "errors.uri_not_found",
|
|
|
|
|
uri: uri,
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
@ -116399,7 +116604,7 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
})));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var playlist = Object(_util_format__WEBPACK_IMPORTED_MODULE_22__["collate"])(playlistProp, {
|
|
|
|
|
var playlist = Object(_util_format__WEBPACK_IMPORTED_MODULE_21__["collate"])(playlistProp, {
|
|
|
|
|
tracks: tracks,
|
|
|
|
|
users: users
|
|
|
|
|
});
|
|
|
|
|
@ -116418,7 +116623,7 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
className: "thumbnail-wrapper",
|
|
|
|
|
"data-qa-node": "div",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Thumbnail__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
|
|
|
|
size: "large",
|
|
|
|
|
glow: true,
|
|
|
|
|
canZoom: true,
|
|
|
|
|
@ -116448,23 +116653,23 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
className: "source",
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_16__["default"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_15__["default"], {
|
|
|
|
|
type: "fontawesome",
|
|
|
|
|
name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["sourceIcon"])(playlist.uri),
|
|
|
|
|
name: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["sourceIcon"])(playlist.uri),
|
|
|
|
|
"data-qa-node": "Icon",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
})), playlist.user_uri && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_15__["default"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_14__["default"], {
|
|
|
|
|
type: "user",
|
|
|
|
|
uri: playlist.user_uri,
|
|
|
|
|
"data-qa-node": "URILink",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, playlist.user ? playlist.user.name : Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["getFromUri"])('userid', playlist.user_uri))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
}, playlist.user ? playlist.user.name : Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["getFromUri"])('userid', playlist.user_uri))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "specs.tracks",
|
|
|
|
|
count: playlist.tracks_total || 0,
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
@ -116472,7 +116677,7 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
})), !slim_mode && playlist.tracks && playlist.tracks_total > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Dater__WEBPACK_IMPORTED_MODULE_10__["Dater"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Dater__WEBPACK_IMPORTED_MODULE_9__["Dater"], {
|
|
|
|
|
type: "total-time",
|
|
|
|
|
data: playlist.tracks,
|
|
|
|
|
"data-qa-node": "Dater",
|
|
|
|
|
@ -116480,24 +116685,24 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
})), !slim_mode && playlist.followers !== undefined && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "specs.followers",
|
|
|
|
|
count: Object(_components_NiceNumber__WEBPACK_IMPORTED_MODULE_9__["nice_number"])(playlist.followers),
|
|
|
|
|
count: Object(_components_NiceNumber__WEBPACK_IMPORTED_MODULE_8__["nice_number"])(playlist.followers),
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
})), !slim_mode && playlist.last_modified_date && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", {
|
|
|
|
|
"data-qa-node": "li",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_23__["I18n"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_22__["I18n"], {
|
|
|
|
|
path: "specs.edited",
|
|
|
|
|
date: Object(_components_Dater__WEBPACK_IMPORTED_MODULE_10__["dater"])('ago', playlist.last_modified_date),
|
|
|
|
|
date: Object(_components_Dater__WEBPACK_IMPORTED_MODULE_9__["dater"])('ago', playlist.last_modified_date),
|
|
|
|
|
"data-qa-node": "I18n",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
})))), _this.renderActions(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", {
|
|
|
|
|
className: "list-wrapper",
|
|
|
|
|
"data-qa-node": "section",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
|
|
|
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrackList__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
|
|
|
|
uri: playlist.uri,
|
|
|
|
|
className: "playlist-track-list",
|
|
|
|
|
track_context: context,
|
|
|
|
|
@ -116506,7 +116711,7 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
reorderTracks: _this.reorderTracks,
|
|
|
|
|
"data-qa-node": "TrackList",
|
|
|
|
|
"data-qa-file": "Playlist"
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_11__["default"], {
|
|
|
|
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LazyLoadListener__WEBPACK_IMPORTED_MODULE_10__["default"], {
|
|
|
|
|
loadKey: playlist.tracks_more,
|
|
|
|
|
showLoader: is_loading_tracks || playlist.tracks_more,
|
|
|
|
|
loadMore: _this.loadMore,
|
|
|
|
|
@ -116529,9 +116734,9 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
|
|
|
|
_createClass(Playlist, [{
|
|
|
|
|
key: "componentDidMount",
|
|
|
|
|
value: function componentDidMount() {
|
|
|
|
|
var _this$props9 = this.props,
|
|
|
|
|
loadPlaylist = _this$props9.coreActions.loadPlaylist,
|
|
|
|
|
uri = _this$props9.uri;
|
|
|
|
|
var _this$props10 = this.props,
|
|
|
|
|
loadPlaylist = _this$props10.coreActions.loadPlaylist,
|
|
|
|
|
uri = _this$props10.uri;
|
|
|
|
|
this.setWindowTitle();
|
|
|
|
|
loadPlaylist(uri);
|
|
|
|
|
}
|
|
|
|
|
@ -116562,7 +116767,7 @@ var mapStateToProps = function mapStateToProps(state, ownProps) {
|
|
|
|
|
_state$mopidy = _state$mopidy === void 0 ? {} : _state$mopidy;
|
|
|
|
|
var mopidy_connected = _state$mopidy.connected,
|
|
|
|
|
local_library_playlists = _state$mopidy.library_playlists;
|
|
|
|
|
var uri = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_21__["decodeMopidyUri"])(ownProps.match.params.uri);
|
|
|
|
|
var uri = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_20__["decodeMopidyUri"])(ownProps.match.params.uri);
|
|
|
|
|
return {
|
|
|
|
|
uri: uri,
|
|
|
|
|
allow_reporting: allow_reporting,
|
|
|
|
|
@ -116582,10 +116787,10 @@ var mapStateToProps = function mapStateToProps(state, ownProps) {
|
|
|
|
|
|
|
|
|
|
var mapDispatchToProps = function mapDispatchToProps(dispatch) {
|
|
|
|
|
return {
|
|
|
|
|
coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_17__, dispatch),
|
|
|
|
|
uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_18__, dispatch),
|
|
|
|
|
mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_19__, dispatch),
|
|
|
|
|
spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_20__, dispatch)
|
|
|
|
|
coreActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_core_actions__WEBPACK_IMPORTED_MODULE_16__, dispatch),
|
|
|
|
|
uiActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_ui_actions__WEBPACK_IMPORTED_MODULE_17__, dispatch),
|
|
|
|
|
mopidyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_mopidy_actions__WEBPACK_IMPORTED_MODULE_18__, dispatch),
|
|
|
|
|
spotifyActions: Object(redux__WEBPACK_IMPORTED_MODULE_2__["bindActionCreators"])(_services_spotify_actions__WEBPACK_IMPORTED_MODULE_19__, dispatch)
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|