Loader for Featured

This commit is contained in:
James Barnsley
2021-03-09 19:45:39 +13:00
parent 75d9a45da2
commit b822610c77
6 changed files with 30 additions and 28 deletions

View File

@ -170906,10 +170906,10 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _services_ui_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/ui/actions */ "./src/js/services/ui/actions.js");
/* harmony import */ var _services_mopidy_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/mopidy/actions */ "./src/js/services/mopidy/actions.js");
/* harmony import */ var _services_spotify_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/spotify/actions */ "./src/js/services/spotify/actions.js");
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/helpers */ "./src/js/util/helpers.js");
/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js");
/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../components/Button */ "./src/js/components/Button.js");
/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js");
/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js");
/* harmony import */ var _components_Button__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../components/Button */ "./src/js/components/Button.js");
/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js");
/* harmony import */ var _util_selectors__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../util/selectors */ "./src/js/util/selectors.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"); } }
@ -170987,19 +170987,18 @@ var DiscoverFeatured = /*#__PURE__*/function (_React$Component) {
_defineProperty(_assertThisInitialized(_this), "render", function () {
var _this$props2 = _this.props,
load_queue = _this$props2.load_queue,
uiActions = _this$props2.uiActions,
loading = _this$props2.loading,
uris = _this$props2.uris,
items = _this$props2.items;
if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_10__["isLoading"])(load_queue, ['(.*)spotify_browse/featured-playlists(.*)'])) {
if (loading) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "view discover-featured-view preserve-3d",
"data-qa-node": "div",
"data-qa-file": "DiscoverFeatured"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_4__["default"], {
className: "overlay",
uiActions: uiActions,
uiActions: _services_ui_actions__WEBPACK_IMPORTED_MODULE_7__,
"data-qa-node": "Header",
"data-qa-file": "DiscoverFeatured"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
@ -171007,7 +171006,7 @@ var DiscoverFeatured = /*#__PURE__*/function (_React$Component) {
type: "material",
"data-qa-node": "Icon",
"data-qa-file": "DiscoverFeatured"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], {
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], {
path: "discover.featured.title",
"data-qa-node": "I18n",
"data-qa-file": "DiscoverFeatured"
@ -171019,8 +171018,8 @@ var DiscoverFeatured = /*#__PURE__*/function (_React$Component) {
}));
}
var playlists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_13__["indexToArray"])(items, uris || []);
var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Button__WEBPACK_IMPORTED_MODULE_12__["default"], {
var playlists = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_12__["indexToArray"])(items, uris || []);
var options = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Button__WEBPACK_IMPORTED_MODULE_11__["default"], {
noHover: true,
onClick: _this.onRefresh,
tracking: {
@ -171033,7 +171032,7 @@ var DiscoverFeatured = /*#__PURE__*/function (_React$Component) {
name: "refresh",
"data-qa-node": "Icon",
"data-qa-file": "DiscoverFeatured"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], {
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], {
path: "actions.refresh",
"data-qa-node": "I18n",
"data-qa-file": "DiscoverFeatured"
@ -171043,7 +171042,7 @@ var DiscoverFeatured = /*#__PURE__*/function (_React$Component) {
"data-qa-node": "div",
"data-qa-file": "DiscoverFeatured"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Header__WEBPACK_IMPORTED_MODULE_4__["default"], {
uiActions: uiActions,
uiActions: _services_ui_actions__WEBPACK_IMPORTED_MODULE_7__,
options: options,
"data-qa-node": "Header",
"data-qa-file": "DiscoverFeatured"
@ -171052,7 +171051,7 @@ var DiscoverFeatured = /*#__PURE__*/function (_React$Component) {
type: "material",
"data-qa-node": "Icon",
"data-qa-file": "DiscoverFeatured"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_11__["I18n"], {
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_10__["I18n"], {
path: "discover.featured.title",
"data-qa-node": "I18n",
"data-qa-file": "DiscoverFeatured"
@ -171077,7 +171076,7 @@ var DiscoverFeatured = /*#__PURE__*/function (_React$Component) {
uris = _this$props3.uris,
setWindowTitle = _this$props3.uiActions.setWindowTitle,
getFeaturedPlaylists = _this$props3.spotifyActions.getFeaturedPlaylists;
setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_11__["i18n"])('discover.featured.title'));
setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_10__["i18n"])('discover.featured.title'));
if (!uris) getFeaturedPlaylists();
}
}]);
@ -171085,10 +171084,12 @@ var DiscoverFeatured = /*#__PURE__*/function (_React$Component) {
return DiscoverFeatured;
}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);
var loadingSelector = Object(_util_selectors__WEBPACK_IMPORTED_MODULE_13__["makeLoadingSelector"])(['(.*)featured-playlists(.*)']);
var mapStateToProps = function mapStateToProps(state) {
return {
theme: state.ui.theme,
load_queue: state.ui.load_queue,
loading: loadingSelector(state),
uris: state.spotify && state.spotify.featured_playlists ? state.spotify.featured_playlists.uris : null,
items: state.core.items
};
@ -171345,13 +171346,14 @@ var DiscoverNewReleases = /*#__PURE__*/function (_React$Component) {
return DiscoverNewReleases;
}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);
var loadingSelector = Object(_util_selectors__WEBPACK_IMPORTED_MODULE_14__["makeLoadingSelector"])(['(.*)new-releases(.*)offset=0(.*)']);
var mapStateToProps = function mapStateToProps(state) {
var theme = state.ui.theme,
_state$spotify = state.spotify,
uris = _state$spotify.new_releases,
more = _state$spotify.new_releases_more,
total = _state$spotify.new_releases_total;
var loadingSelector = Object(_util_selectors__WEBPACK_IMPORTED_MODULE_14__["makeLoadingSelector"])(['(.*)new-releases(.*)offset=0(.*)']);
var itemSelector = Object(_util_selectors__WEBPACK_IMPORTED_MODULE_14__["makeItemSelector"])(uris);
return {
uris: uris,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -106,7 +106,7 @@
// Release details
// These are automatically injected to built HTML
var build = "1615186666";
var build = "1615188940";
var version = "3.56.1";
// Construct the script tag

View File

@ -8,10 +8,10 @@ import Loader from '../../components/Loader';
import * as uiActions from '../../services/ui/actions';
import * as mopidyActions from '../../services/mopidy/actions';
import * as spotifyActions from '../../services/spotify/actions';
import { isLoading } from '../../util/helpers';
import { i18n, I18n } from '../../locale';
import Button from '../../components/Button';
import { indexToArray } from '../../util/arrays';
import { makeLoadingSelector } from '../../util/selectors';
class DiscoverFeatured extends React.Component {
componentDidMount() {
@ -61,13 +61,12 @@ class DiscoverFeatured extends React.Component {
render = () => {
const {
load_queue,
uiActions,
loading,
uris,
items,
} = this.props;
if (isLoading(load_queue, ['(.*)spotify_browse/featured-playlists(.*)'])) {
if (loading) {
return (
<div className="view discover-featured-view preserve-3d">
<Header className="overlay" uiActions={uiActions}>
@ -106,9 +105,10 @@ class DiscoverFeatured extends React.Component {
}
}
const loadingSelector = makeLoadingSelector(['(.*)featured-playlists(.*)']);
const mapStateToProps = (state) => ({
theme: state.ui.theme,
load_queue: state.ui.load_queue,
loading: loadingSelector(state),
uris: state.spotify && state.spotify.featured_playlists ? state.spotify.featured_playlists.uris : null,
items: state.core.items,
});

View File

@ -141,6 +141,7 @@ class DiscoverNewReleases extends React.Component {
}
}
const loadingSelector = makeLoadingSelector(['(.*)new-releases(.*)offset=0(.*)']);
const mapStateToProps = (state) => {
const {
ui: {
@ -152,7 +153,6 @@ const mapStateToProps = (state) => {
new_releases_total: total,
},
} = state;
const loadingSelector = makeLoadingSelector(['(.*)new-releases(.*)offset=0(.*)']);
const itemSelector = makeItemSelector(uris);
return {