Adding snapcast_stream config to link server with stream

This commit is contained in:
James Barnsley
2021-10-12 20:26:01 +13:00
parent f9efd44c29
commit 758c4ea052
5 changed files with 241 additions and 278 deletions

View File

@ -153137,29 +153137,17 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js");
/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js");
/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_12__ = __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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
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 _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
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 _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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
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 { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], 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; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
@ -153175,277 +153163,250 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
var OutputControl = /*#__PURE__*/function (_React$Component) {
_inherits(OutputControl, _React$Component);
var _super = _createSuper(OutputControl);
function OutputControl(props) {
var _this;
_classCallCheck(this, OutputControl);
_this = _super.call(this, props);
_defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) {
var prev_force_expanded = _ref.force_expanded;
var force_expanded = _this.props.force_expanded;
if (!prev_force_expanded && force_expanded) _this.setExpanded(true);
});
_this.state = {
expanded: false
var SnapcastGroups = function SnapcastGroups() {
var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
var showAllClients = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
return state.ui.snapcast_show_disconnected_clients;
});
var clients = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
return state.snapcast.clients;
});
var groupsObj = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
return state.snapcast.groups;
});
var streamsObj = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
return state.snapcast.streams;
});
var groups = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(groupsObj);
if (groups.length <= 0) return null;
var streams = Object.keys(streamsObj).map(function (id) {
return {
value: id,
label: id
};
_this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));
return _this;
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["sortItems"])(groups, 'name').map(function (simpleGroup) {
var group = Object(_util_format__WEBPACK_IMPORTED_MODULE_11__["collate"])(simpleGroup, {
clients: clients
});
var _group$clients = group.clients,
groupClients = _group$clients === void 0 ? [] : _group$clients;
if (!showAllClients) {
groupClients = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["applyFilter"])('connected', true, groupClients);
}
if (!groupClients.length) return null;
var volume = groupClients.reduce(function (acc, client) {
return acc + (client.volume || 0);
}, 0) / groupClients.length;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__item outputs__item--snapcast",
key: group.id,
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__item__name",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, group.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__item__controls",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], {
name: "Source",
value: group.stream_id,
icon: "settings_input_component",
options: streams,
noLabel: true,
handleChange: function handleChange(value) {
return dispatch(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__["setGroupStream"](group.id, value));
},
"data-qa-node": "DropdownField",
"data-qa-file": "OutputControl"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_MuteControl__WEBPACK_IMPORTED_MODULE_4__["default"], {
className: "output-control__item__mute",
noTooltip: true,
mute: group.mute,
onMuteChange: function onMuteChange(mute) {
return dispatch(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__["setGroupMute"](group.id, mute));
},
"data-qa-node": "MuteControl",
"data-qa-file": "OutputControl"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_VolumeControl__WEBPACK_IMPORTED_MODULE_3__["default"], {
className: "output-control__item__volume",
volume: volume,
mute: group.mute,
onVolumeChange: function onVolumeChange(percent, previousPercent) {
return dispatch(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__["setGroupVolume"](group.id, percent, previousPercent));
},
"data-qa-node": "VolumeControl",
"data-qa-file": "OutputControl"
})));
}));
};
var Commands = function Commands() {
var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
var commandsObj = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
return state.pusher.commands || {};
});
if (!commandsObj) return null;
var items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(commandsObj);
if (items.length <= 0) return null;
items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["sortItems"])(items, 'sort_order');
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__item output-control__item--commands commands",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, items.map(function (command) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
key: command.id,
className: "commands__item commands__item--interactive",
onClick: function onClick() {
return dispatch(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_8__["runCommand"](command.id));
},
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
className: "commands__item__icon",
name: command.icon,
"data-qa-node": "Icon",
"data-qa-file": "OutputControl"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
className: "".concat(command.colour, "-background commands__item__background"),
"data-qa-node": "span",
"data-qa-file": "OutputControl"
}));
}));
};
var Outputs = function Outputs() {
var snapcastGroups = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SnapcastGroups, {
"data-qa-node": "SnapcastGroups",
"data-qa-file": "OutputControl"
});
var commands = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Commands, {
"data-qa-node": "Commands",
"data-qa-file": "OutputControl"
});
if (!snapcastGroups && !commands) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__items output-control__items--no-results",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
className: "no-results",
"data-qa-node": "p",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], {
path: "playback_controls.no_outputs",
"data-qa-node": "I18n",
"data-qa-file": "OutputControl"
})));
}
_createClass(OutputControl, [{
key: "setExpanded",
value: function setExpanded() {
var expanded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this.state.expanded;
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__items",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, commands, snapcastGroups);
};
if (expanded) {
this.setState({
expanded: expanded
});
window.addEventListener('click', this.handleClick, false); // Re-check our snapcast clients
// TODO: Once we have push events, remove this as it'll (marginally)
// slow down the reveal/render
var OutputControl = function OutputControl(_ref) {
var force_expanded = _ref.force_expanded,
pusher_commands = _ref.pusher_commands,
snapcast_enabled = _ref.snapcast_enabled;
if (props.pusher_connected && props.snapcast_enabled) {
this.props.snapcastActions.getServer();
}
} else {
this.setState({
expanded: expanded
});
window.removeEventListener('click', this.handleClick, false);
}
var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(false),
_useState2 = _slicedToArray(_useState, 2),
expanded = _useState2[0],
setExpanded = _useState2[1];
var handleClick = function handleClick(e) {
if (!force_expanded && $(e.target).closest('.output-control').length <= 0) {
setExpanded(false);
}
}, {
key: "handleClick",
value: function handleClick(e) {
if (!this.props.force_expanded && $(e.target).closest('.output-control').length <= 0) {
this.setExpanded(false);
}
};
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
if (force_expanded && !expanded) {
setExpanded(true);
}
}, {
key: "snapcastGroups",
value: function snapcastGroups() {
var _this$props = this.props,
snapcast_streams = _this$props.snapcast_streams,
snapcastActions = _this$props.snapcastActions,
snapcast_groups = _this$props.snapcast_groups,
clients = _this$props.snapcast_clients,
show_disconnected_clients = _this$props.show_disconnected_clients;
var groups = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(snapcast_groups);
if (groups.length <= 0) return null;
var streams = Object.keys(snapcast_streams).map(function (id) {
return {
value: id,
label: id
};
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["sortItems"])(groups, 'name').map(function (simpleGroup) {
var group = Object(_util_format__WEBPACK_IMPORTED_MODULE_11__["collate"])(simpleGroup, {
clients: clients
});
var _group$clients = group.clients,
groupClients = _group$clients === void 0 ? [] : _group$clients;
if (!show_disconnected_clients) {
groupClients = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["applyFilter"])('connected', true, groupClients);
}
if (!groupClients.length) return null;
var volume = groupClients.reduce(function (acc, client) {
return acc + (client.volume || 0);
}, 0) / groupClients.length;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__item outputs__item--snapcast",
key: group.id,
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__item__name",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, group.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__item__controls",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], {
name: "Source",
value: group.stream_id,
icon: "settings_input_component",
options: streams,
noLabel: true,
handleChange: function handleChange(value) {
return snapcastActions.setGroupStream(group.id, value);
},
"data-qa-node": "DropdownField",
"data-qa-file": "OutputControl"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_MuteControl__WEBPACK_IMPORTED_MODULE_4__["default"], {
className: "output-control__item__mute",
noTooltip: true,
mute: group.mute,
onMuteChange: function onMuteChange(mute) {
return snapcastActions.setGroupMute(group.id, mute);
},
"data-qa-node": "MuteControl",
"data-qa-file": "OutputControl"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_VolumeControl__WEBPACK_IMPORTED_MODULE_3__["default"], {
className: "output-control__item__volume",
volume: volume,
mute: group.mute,
onVolumeChange: function onVolumeChange(percent, previousPercent) {
return snapcastActions.setGroupVolume(group.id, percent, previousPercent);
},
"data-qa-node": "VolumeControl",
"data-qa-file": "OutputControl"
})));
}));
}, [force_expanded]);
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
if (expanded) {
window.addEventListener('click', handleClick, false);
} else {
window.removeEventListener('click', handleClick, false);
}
}, {
key: "commands",
value: function commands() {
var _this$props2 = this.props,
pusher_commands = _this$props2.pusher_commands,
pusherActions = _this$props2.pusherActions;
if (!pusher_commands) return null;
var items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(pusher_commands);
if (items.length <= 0) return null;
items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["sortItems"])(items, 'sort_order');
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__item output-control__item--commands commands",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, items.map(function (command) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
key: command.id,
className: "commands__item commands__item--interactive",
onClick: function onClick(e) {
return pusherActions.runCommand(command.id);
},
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
className: "commands__item__icon",
name: command.icon,
"data-qa-node": "Icon",
"data-qa-file": "OutputControl"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
className: "".concat(command.colour, "-background commands__item__background"),
"data-qa-node": "span",
"data-qa-file": "OutputControl"
}));
}));
}
}, {
key: "renderOutputs",
value: function renderOutputs() {
var snapcastGroups = this.snapcastGroups();
var commands = this.commands();
}, [expanded]);
if (!snapcastGroups && !commands) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__items output-control__items--no-results",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
className: "no-results",
"data-qa-node": "p",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], {
path: "playback_controls.no_outputs",
"data-qa-node": "I18n",
"data-qa-file": "OutputControl"
})));
}
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "output-control__items",
"data-qa-node": "div",
"data-qa-file": "OutputControl"
}, commands, snapcastGroups);
}
}, {
key: "render",
value: function render() {
var _this2 = this;
if (this.state.expanded) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
className: "output-control",
"data-qa-node": "span",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
className: "control speakers active",
onClick: function onClick(e) {
return _this2.setExpanded();
},
"data-qa-node": "button",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
name: "speaker",
"data-qa-node": "Icon",
"data-qa-file": "OutputControl"
})), this.renderOutputs());
} // No customisable outputs
if (expanded) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
className: "output-control",
"data-qa-node": "span",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
className: "control speakers active",
onClick: function onClick() {
return setExpanded(false);
},
"data-qa-node": "button",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
name: "speaker",
"data-qa-node": "Icon",
"data-qa-file": "OutputControl"
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Outputs, {
"data-qa-node": "Outputs",
"data-qa-file": "OutputControl"
}));
} // No customisable outputs
if (!this.props.snapcast_enabled && !this.props.pusher_commands) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
className: "output-control disabled",
"data-qa-node": "span",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
className: "control speakers",
"data-qa-node": "button",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
name: "speaker",
"data-qa-node": "Icon",
"data-qa-file": "OutputControl"
})));
}
if (!snapcast_enabled && !pusher_commands) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
className: "output-control disabled",
"data-qa-node": "span",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
className: "control speakers",
"data-qa-node": "button",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
name: "speaker",
"data-qa-node": "Icon",
"data-qa-file": "OutputControl"
})));
}
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
className: "output-control",
"data-qa-node": "span",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
className: "control speakers",
onClick: function onClick(e) {
return _this2.setExpanded();
},
"data-qa-node": "button",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
name: "speaker",
"data-qa-node": "Icon",
"data-qa-file": "OutputControl"
})));
}
}]);
return OutputControl;
}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
className: "output-control",
"data-qa-node": "span",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
className: "control speakers",
onClick: function onClick() {
return setExpanded(true);
},
"data-qa-node": "button",
"data-qa-file": "OutputControl"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
name: "speaker",
"data-qa-node": "Icon",
"data-qa-file": "OutputControl"
})));
};
var mapStateToProps = function mapStateToProps(state) {
return {
pusher_connected: state.pusher.connected,
snapcast_enabled: state.pusher.config ? state.pusher.config.snapcast_enabled : null,
show_disconnected_clients: state.ui.snapcast_show_disconnected_clients || false,
snapcast_clients: state.snapcast.clients,
snapcast_groups: state.snapcast.groups,
snapcast_streams: state.snapcast.streams,
pusher_commands: state.pusher.commands ? state.pusher.commands : {}
snapcast_enabled: state.pusher.config ? state.pusher.config.snapcast_enabled : null
};
};

File diff suppressed because one or more lines are too long