diff --git a/.gitignore b/.gitignore index 20244ca..617b009 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ node_modules app/dist/eventsourcePolyfill.js app/dist/webpackHotMiddlewareClient.js +app/dist/*.hot-update.json +app/dist/*.hot-update.js diff --git a/TODO b/TODO index 794d209..693d982 100644 --- a/TODO +++ b/TODO @@ -7,9 +7,7 @@ # CSS * Sidebar responsiveness * Songs on iPhone 5 - * Set sidebar .active * /artist/:id and /album/:id arts in responsive view - * Scroll horizontal sidebar * Move CSS in modules => https://github.com/gajus/react-css-modules diff --git a/app/components/layouts/Sidebar.jsx b/app/components/layouts/Sidebar.jsx index 7e7fd1a..d66cf0e 100644 --- a/app/components/layouts/Sidebar.jsx +++ b/app/components/layouts/Sidebar.jsx @@ -3,46 +3,86 @@ import { IndexLink, Link} from "react-router"; export default class SidebarLayout extends Component { render () { + const isActive = { + discover: (this.props.location.pathname == "/discover") ? "active" : "", + browse: (this.props.location.pathname == "/browse") ? "active" : "", + artists: (this.props.location.pathname == "/artists") ? "active" : "", + albums: (this.props.location.pathname == "/albums") ? "active" : "", + songs: (this.props.location.pathname == "/songs") ? "active" : "", + search: (this.props.location.pathname == "/search") ? "active" : "" + }; return (
-
-

Ampache

+
+

+ + A + mpache + +

-
+
{this.props.children}
diff --git a/app/dist/fix.ie9.js b/app/dist/fix.ie9.js index cda6164..4322d15 100644 --- a/app/dist/fix.ie9.js +++ b/app/dist/fix.ie9.js @@ -65,7 +65,7 @@ /******/ } /******/ /******/ var hotApplyOnUpdate = true; -/******/ var hotCurrentHash = "b6652854710cfe2cd142"; // eslint-disable-line no-unused-vars +/******/ var hotCurrentHash = "cf1ba667e264da876286"; // eslint-disable-line no-unused-vars /******/ var hotCurrentModuleData = {}; /******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars /******/ diff --git a/app/dist/index.js b/app/dist/index.js index 449e6e3..e363a6c 100644 --- a/app/dist/index.js +++ b/app/dist/index.js @@ -65,7 +65,7 @@ /******/ } /******/ /******/ var hotApplyOnUpdate = true; -/******/ var hotCurrentHash = "b6652854710cfe2cd142"; // eslint-disable-line no-unused-vars +/******/ var hotCurrentHash = "cf1ba667e264da876286"; // eslint-disable-line no-unused-vars /******/ var hotCurrentModuleData = {}; /******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars /******/ @@ -4215,7 +4215,7 @@ /* 607 */ /***/ function(module, exports, __webpack_require__) { - eval("\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(22);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = __webpack_require__(192);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SidebarLayout = function (_Component) {\n _inherits(SidebarLayout, _Component);\n\n function SidebarLayout() {\n _classCallCheck(this, SidebarLayout);\n\n return _possibleConstructorReturn(this, Object.getPrototypeOf(SidebarLayout).apply(this, arguments));\n }\n\n _createClass(SidebarLayout, [{\n key: \"render\",\n value: function render() {\n return _react2.default.createElement(\n \"div\",\n null,\n _react2.default.createElement(\n \"div\",\n { className: \"col-sm-3 col-md-2 sidebar hidden-xs\" },\n _react2.default.createElement(\n \"h1\",\n { className: \"text-center\" },\n _react2.default.createElement(\n _reactRouter.IndexLink,\n { to: \"/\" },\n _react2.default.createElement(\"img\", { alt: \"A\", src: \"./app/assets/img/ampache-blue.png\" }),\n \"mpache\"\n )\n ),\n _react2.default.createElement(\n \"nav\",\n { \"aria-label\": \"Main navigation menu\" },\n _react2.default.createElement(\n \"div\",\n { className: \"navbar text-center icon-navbar\" },\n _react2.default.createElement(\n \"div\",\n { className: \"container-fluid\" },\n _react2.default.createElement(\n \"ul\",\n { className: \"nav navbar-nav icon-navbar-nav\" },\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/\", title: \"Home\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-home\", \"aria-hidden\": \"true\" }),\n \" \",\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n \"Home\"\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/settings\", title: \"Settings\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-wrench\", \"aria-hidden\": \"true\" }),\n \" \",\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n \"Settings\"\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/logout\", title: \"Logout\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-off\", \"aria-hidden\": \"true\" }),\n \" \",\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n \"Logout\"\n )\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"nav nav-sidebar\" },\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/discover\", title: \"Discover\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-globe\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \" Discover\"\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/browse\", title: \"Browse\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-headphones\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \" Browse\"\n )\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"nav nav-sidebar text-center\" },\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/artists\", title: \"Browse artists\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-user\", \"aria-hidden\": \"true\" }),\n \" Artists\"\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/albums\", title: \"Browse albums\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-cd\", \"aria-hidden\": \"true\" }),\n \" Albums\"\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/songs\", title: \"Browse songs\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-music\", \"aria-hidden\": \"true\" }),\n \" Songs\"\n )\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/search\", title: \"Search\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-search\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \" Search\"\n )\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n \"div\",\n { className: \"col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main-panel\" },\n this.props.children\n )\n );\n }\n }]);\n\n return SidebarLayout;\n}(_react.Component);\n\nexports.default = SidebarLayout;//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjA3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2FwcC9jb21wb25lbnRzL2xheW91dHMvU2lkZWJhci5qc3g/Mjk2MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJbmRleExpbmssIExpbmt9IGZyb20gXCJyZWFjdC1yb3V0ZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2lkZWJhckxheW91dCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcmVuZGVyICgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtc20tMyBjb2wtbWQtMiBzaWRlYmFyIGhpZGRlbi14c1wiPlxuICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXJcIj48SW5kZXhMaW5rIHRvPVwiL1wiPjxpbWcgYWx0PVwiQVwiIHNyYz1cIi4vYXBwL2Fzc2V0cy9pbWcvYW1wYWNoZS1ibHVlLnBuZ1wiLz5tcGFjaGU8L0luZGV4TGluaz48L2gxPlxuICAgICAgICAgICAgICAgICAgICA8bmF2IGFyaWEtbGFiZWw9XCJNYWluIG5hdmlnYXRpb24gbWVudVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuYXZiYXIgdGV4dC1jZW50ZXIgaWNvbi1uYXZiYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwibmF2IG5hdmJhci1uYXYgaWNvbi1uYXZiYXItbmF2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgdG89XCIvXCIgdGl0bGU9XCJIb21lXCI+PHNwYW4gY2xhc3NOYW1lPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1ob21lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPiA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+SG9tZTwvc3Bhbj48L0xpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPVwiL3NldHRpbmdzXCIgdGl0bGU9XCJTZXR0aW5nc1wiPjxzcGFuIGNsYXNzTmFtZT1cImdseXBoaWNvbiBnbHlwaGljb24td3JlbmNoXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPiA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+U2V0dGluZ3M8L3NwYW4+PC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayB0bz1cIi9sb2dvdXRcIiB0aXRsZT1cIkxvZ291dFwiPjxzcGFuIGNsYXNzTmFtZT1cImdseXBoaWNvbiBnbHlwaGljb24tb2ZmXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPiA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+TG9nb3V0PC9zcGFuPjwvTGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJuYXYgbmF2LXNpZGViYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPVwiL2Rpc2NvdmVyXCIgdGl0bGU9XCJEaXNjb3ZlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1nbG9iZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImhpZGRlbi1zbVwiPiBEaXNjb3Zlcjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayB0bz1cIi9icm93c2VcIiB0aXRsZT1cIkJyb3dzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1oZWFkcGhvbmVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaGlkZGVuLXNtXCI+IEJyb3dzZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwibmF2IG5hdi1zaWRlYmFyIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PExpbmsgdG89XCIvYXJ0aXN0c1wiIHRpdGxlPVwiQnJvd3NlIGFydGlzdHNcIj48c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLXVzZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+IEFydGlzdHM8L0xpbms+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48TGluayB0bz1cIi9hbGJ1bXNcIiB0aXRsZT1cIkJyb3dzZSBhbGJ1bXNcIj48c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLWNkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPiBBbGJ1bXM8L0xpbms+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48TGluayB0bz1cIi9zb25nc1wiIHRpdGxlPVwiQnJvd3NlIHNvbmdzXCI+PHNwYW4gY2xhc3NOYW1lPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1tdXNpY1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj4gU29uZ3M8L0xpbms+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgdG89XCIvc2VhcmNoXCIgdGl0bGU9XCJTZWFyY2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaGlkZGVuLXNtXCI+IFNlYXJjaDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXNtLTkgY29sLXNtLW9mZnNldC0zIGNvbC1tZC0xMCBjb2wtbWQtb2Zmc2V0LTIgbWFpbi1wYW5lbFwiPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH1cbn1cblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIGFwcC9jb21wb25lbnRzL2xheW91dHMvU2lkZWJhci5qc3hcbiAqKi8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7Ozs7Ozs7O0FBQ0E7Ozs7Ozs7Ozs7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQVBBO0FBREE7QUFEQTtBQWVBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUZBO0FBREE7QUFNQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFGQTtBQUlBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUhBO0FBTEE7QUFXQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFGQTtBQURBO0FBbEJBO0FBaEJBO0FBRkE7QUE4Q0E7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQS9DQTtBQW9EQTs7Ozs7O0FBdkRBIiwic291cmNlUm9vdCI6IiJ9"); + eval("\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(22);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRouter = __webpack_require__(192);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SidebarLayout = function (_Component) {\n _inherits(SidebarLayout, _Component);\n\n function SidebarLayout() {\n _classCallCheck(this, SidebarLayout);\n\n return _possibleConstructorReturn(this, Object.getPrototypeOf(SidebarLayout).apply(this, arguments));\n }\n\n _createClass(SidebarLayout, [{\n key: \"render\",\n value: function render() {\n var isActive = {\n discover: this.props.location.pathname == \"/discover\" ? \"active\" : \"\",\n browse: this.props.location.pathname == \"/browse\" ? \"active\" : \"\",\n artists: this.props.location.pathname == \"/artists\" ? \"active\" : \"\",\n albums: this.props.location.pathname == \"/albums\" ? \"active\" : \"\",\n songs: this.props.location.pathname == \"/songs\" ? \"active\" : \"\",\n search: this.props.location.pathname == \"/search\" ? \"active\" : \"\"\n };\n return _react2.default.createElement(\n \"div\",\n null,\n _react2.default.createElement(\n \"div\",\n { className: \"col-sm-1 col-md-2 sidebar hidden-xs\" },\n _react2.default.createElement(\n \"h1\",\n { className: \"text-center\" },\n _react2.default.createElement(\n _reactRouter.IndexLink,\n { to: \"/\" },\n _react2.default.createElement(\"img\", { alt: \"A\", src: \"./app/assets/img/ampache-blue.png\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \"mpache\"\n )\n )\n ),\n _react2.default.createElement(\n \"nav\",\n { \"aria-label\": \"Main navigation menu\" },\n _react2.default.createElement(\n \"div\",\n { className: \"navbar text-center icon-navbar\" },\n _react2.default.createElement(\n \"div\",\n { className: \"container-fluid\" },\n _react2.default.createElement(\n \"ul\",\n { className: \"nav navbar-nav icon-navbar-nav\" },\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/\", title: \"Home\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-home\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n \"Home\"\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/settings\", title: \"Settings\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-wrench\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n \"Settings\"\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/logout\", title: \"Logout\" },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-off\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n \"Logout\"\n )\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"nav nav-sidebar\" },\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/discover\", title: \"Discover\", className: isActive.discover },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-globe\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \" Discover\"\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/browse\", title: \"Browse\", className: isActive.browse },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-headphones\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \" Browse\"\n )\n ),\n _react2.default.createElement(\n \"ul\",\n { className: \"nav nav-list text-center\" },\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/artists\", title: \"Browse artists\", className: isActive.artists },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-user\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n \"Artists\"\n ),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \" Artists\"\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/albums\", title: \"Browse albums\", className: isActive.albums },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-cd\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n \"Albums\"\n ),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \" Albums\"\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/songs\", title: \"Browse songs\", className: isActive.songs },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-music\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"sr-only\" },\n \"Songs\"\n ),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \" Songs\"\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n \"li\",\n null,\n _react2.default.createElement(\n _reactRouter.Link,\n { to: \"/search\", title: \"Search\", className: isActive.search },\n _react2.default.createElement(\"span\", { className: \"glyphicon glyphicon-search\", \"aria-hidden\": \"true\" }),\n _react2.default.createElement(\n \"span\",\n { className: \"hidden-sm\" },\n \" Search\"\n )\n )\n )\n )\n )\n ),\n _react2.default.createElement(\n \"div\",\n { className: \"col-sm-11 col-sm-offset-1 col-md-10 col-md-offset-2 main-panel\" },\n this.props.children\n )\n );\n }\n }]);\n\n return SidebarLayout;\n}(_react.Component);\n\nexports.default = SidebarLayout;//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjA3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2FwcC9jb21wb25lbnRzL2xheW91dHMvU2lkZWJhci5qc3g/Mjk2MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJbmRleExpbmssIExpbmt9IGZyb20gXCJyZWFjdC1yb3V0ZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2lkZWJhckxheW91dCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcmVuZGVyICgpIHtcbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB7XG4gICAgICAgICAgICBkaXNjb3ZlcjogKHRoaXMucHJvcHMubG9jYXRpb24ucGF0aG5hbWUgPT0gXCIvZGlzY292ZXJcIikgPyBcImFjdGl2ZVwiIDogXCJcIixcbiAgICAgICAgICAgIGJyb3dzZTogKHRoaXMucHJvcHMubG9jYXRpb24ucGF0aG5hbWUgPT0gXCIvYnJvd3NlXCIpID8gXCJhY3RpdmVcIiA6IFwiXCIsXG4gICAgICAgICAgICBhcnRpc3RzOiAodGhpcy5wcm9wcy5sb2NhdGlvbi5wYXRobmFtZSA9PSBcIi9hcnRpc3RzXCIpID8gXCJhY3RpdmVcIiA6IFwiXCIsXG4gICAgICAgICAgICBhbGJ1bXM6ICh0aGlzLnByb3BzLmxvY2F0aW9uLnBhdGhuYW1lID09IFwiL2FsYnVtc1wiKSA/IFwiYWN0aXZlXCIgOiBcIlwiLFxuICAgICAgICAgICAgc29uZ3M6ICh0aGlzLnByb3BzLmxvY2F0aW9uLnBhdGhuYW1lID09IFwiL3NvbmdzXCIpID8gXCJhY3RpdmVcIiA6IFwiXCIsXG4gICAgICAgICAgICBzZWFyY2g6ICh0aGlzLnByb3BzLmxvY2F0aW9uLnBhdGhuYW1lID09IFwiL3NlYXJjaFwiKSA/IFwiYWN0aXZlXCIgOiBcIlwiXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXNtLTEgY29sLW1kLTIgc2lkZWJhciBoaWRkZW4teHNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5kZXhMaW5rIHRvPVwiL1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgYWx0PVwiQVwiIHNyYz1cIi4vYXBwL2Fzc2V0cy9pbWcvYW1wYWNoZS1ibHVlLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoaWRkZW4tc21cIj5tcGFjaGU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0luZGV4TGluaz5cbiAgICAgICAgICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICAgICAgICAgICAgPG5hdiBhcmlhLWxhYmVsPVwiTWFpbiBuYXZpZ2F0aW9uIG1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmF2YmFyIHRleHQtY2VudGVyIGljb24tbmF2YmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cIm5hdiBuYXZiYXItbmF2IGljb24tbmF2YmFyLW5hdlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPVwiL1wiIHRpdGxlPVwiSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLWhvbWVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5Ib21lPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgdG89XCIvc2V0dGluZ3NcIiB0aXRsZT1cIlNldHRpbmdzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImdseXBoaWNvbiBnbHlwaGljb24td3JlbmNoXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+U2V0dGluZ3M8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayB0bz1cIi9sb2dvdXRcIiB0aXRsZT1cIkxvZ291dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLW9mZlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkxvZ291dDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwibmF2IG5hdi1zaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayB0bz1cIi9kaXNjb3ZlclwiIHRpdGxlPVwiRGlzY292ZXJcIiBjbGFzc05hbWU9e2lzQWN0aXZlLmRpc2NvdmVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImdseXBoaWNvbiBnbHlwaGljb24tZ2xvYmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoaWRkZW4tc21cIj4gRGlzY292ZXI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgdG89XCIvYnJvd3NlXCIgdGl0bGU9XCJCcm93c2VcIiBjbGFzc05hbWU9e2lzQWN0aXZlLmJyb3dzZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLWhlYWRwaG9uZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoaWRkZW4tc21cIj4gQnJvd3NlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJuYXYgbmF2LWxpc3QgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayB0bz1cIi9hcnRpc3RzXCIgdGl0bGU9XCJCcm93c2UgYXJ0aXN0c1wiIGNsYXNzTmFtZT17aXNBY3RpdmUuYXJ0aXN0c30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImdseXBoaWNvbiBnbHlwaGljb24tdXNlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkFydGlzdHM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImhpZGRlbi1zbVwiPiBBcnRpc3RzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgdG89XCIvYWxidW1zXCIgdGl0bGU9XCJCcm93c2UgYWxidW1zXCIgY2xhc3NOYW1lPXtpc0FjdGl2ZS5hbGJ1bXN9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLWNkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+QWxidW1zPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoaWRkZW4tc21cIj4gQWxidW1zPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgdG89XCIvc29uZ3NcIiB0aXRsZT1cIkJyb3dzZSBzb25nc1wiIGNsYXNzTmFtZT17aXNBY3RpdmUuc29uZ3N9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLW11c2ljXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+U29uZ3M8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImhpZGRlbi1zbVwiPiBTb25nczwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayB0bz1cIi9zZWFyY2hcIiB0aXRsZT1cIlNlYXJjaFwiIGNsYXNzTmFtZT17aXNBY3RpdmUuc2VhcmNofT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaGlkZGVuLXNtXCI+IFNlYXJjaDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXNtLTExIGNvbC1zbS1vZmZzZXQtMSBjb2wtbWQtMTAgY29sLW1kLW9mZnNldC0yIG1haW4tcGFuZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cblxuXG4vKiogV0VCUEFDSyBGT09URVIgKipcbiAqKiBhcHAvY29tcG9uZW50cy9sYXlvdXRzL1NpZGViYXIuanN4XG4gKiovIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7Ozs7Ozs7OztBQUNBOzs7Ozs7Ozs7OztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUZBO0FBREE7QUFNQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFGQTtBQURBO0FBTUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRkE7QUFEQTtBQU1BO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUZBO0FBREE7QUFiQTtBQURBO0FBREE7QUF3QkE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRkE7QUFEQTtBQU1BO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUZBO0FBSUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUhBO0FBREE7QUFPQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSEE7QUFEQTtBQU9BO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFIQTtBQURBO0FBZkE7QUFMQTtBQTZCQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFGQTtBQURBO0FBcENBO0FBekJBO0FBUEE7QUE4RUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQS9FQTtBQW9GQTs7Ozs7O0FBL0ZBIiwic291cmNlUm9vdCI6IiJ9"); /***/ }, /* 608 */ diff --git a/app/dist/style.css b/app/dist/style.css index d0f128c..32a25ea 100644 --- a/app/dist/style.css +++ b/app/dist/style.css @@ -6795,8 +6795,12 @@ button.close { } /* Sidebar navigation */ +.sidebar .navbar { + border: none; +} + .nav-sidebar { - margin-right: -21px; /* 20px padding + 1px border */ + margin-right: -20px; margin-bottom: 20px; margin-left: -20px; } @@ -6806,12 +6810,42 @@ button.close { padding-left: 20px; } +@media (max-width: 991px) { + .sidebar, .sidebar .navbar .container-fluid { + padding-left: 5px; + padding-right: 5px; + } + + .sidebar .nav-list { + text-align: right; + } + + .sidebar .nav-sidebar > li > a { + padding-left: 20px; + padding-right: 20px; + } + + .sidebar .nav-list > li > a { + padding-left: 20px; + padding-right: 20px; + } +} + .nav-sidebar .nav-sidebar { margin-bottom: 0; /* No margin bottom for nested nav-sidebar. */ } -.nav-sidebar > .active > a, .nav-sidebar > .active > a:hover, .nav-sidebar > .active > a:focus, .nav > li > a:hover, .nav > li > a:focus { +.nav-sidebar > .active > a:focus, .nav > li > a:focus { color: #fff; + background-color: transparent; +} + +.nav-sidebar > .active > a, .nav-sidebar > .active > a:hover, .nav > li > a:hover { + color: #fff; + background-color: #222; +} + +.nav > li > a.active { background-color: #222; } diff --git a/app/styles/ampache.css b/app/styles/ampache.css index 0482daf..d7a8e24 100644 --- a/app/styles/ampache.css +++ b/app/styles/ampache.css @@ -35,8 +35,12 @@ } /* Sidebar navigation */ +.sidebar .navbar { + border: none; +} + .nav-sidebar { - margin-right: -21px; /* 20px padding + 1px border */ + margin-right: -20px; margin-bottom: 20px; margin-left: -20px; } @@ -46,16 +50,46 @@ padding-left: 20px; } +@media (max-width: 991px) { + .sidebar, + .sidebar .navbar .container-fluid { + padding-left: 5px; + padding-right: 5px; + } + + .sidebar .nav-list { + text-align: right; + } + + .sidebar .nav-sidebar > li > a { + padding-left: 20px; + padding-right: 20px; + } + + .sidebar .nav-list > li > a { + padding-left: 20px; + padding-right: 20px; + } +} + .nav-sidebar .nav-sidebar { margin-bottom: 0; /* No margin bottom for nested nav-sidebar. */ } -.nav-sidebar > .active > a, -.nav-sidebar > .active > a:hover, .nav-sidebar > .active > a:focus, -.nav > li > a:hover, .nav > li > a:focus { color: #fff; + background-color: transparent; +} + +.nav-sidebar > .active > a, +.nav-sidebar > .active > a:hover, +.nav > li > a:hover { + color: #fff; + background-color: #222; +} + +.nav > li > a.active { background-color: #222; } diff --git a/package.json b/package.json index 68535ad..80c1701 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "repository": "git+https://github.com/Phyks/ampache_react.git", "scripts": { "build": "./node_modules/webpack/bin/webpack.js --progress", - "serve": "./node_modules/webpack-dev-server/bin/webpack-dev-server.js --progress --hot" + "watch": "./node_modules/webpack/bin/webpack.js --progress --watch" }, "dependencies": { "babel-polyfill": "^6.9.1", diff --git a/webpack.config.base.js b/webpack.config.base.js index 7eef73c..2d50bd6 100644 --- a/webpack.config.base.js +++ b/webpack.config.base.js @@ -16,9 +16,9 @@ module.exports = { }, output: { - path: path.join(__dirname, "app/dist"), + path: path.join(__dirname, "app/dist/"), filename: "[name].js", - publicPath: "/app/dist" + publicPath: "./" }, module: {