diff --git a/build/bundle.js b/build/bundle.js index 7975b3c..962984e 100644 --- a/build/bundle.js +++ b/build/bundle.js @@ -5147,7 +5147,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\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 _dec, _class, _desc, _value, _class2, _descriptor, _descriptor2;\n\nvar _react = __webpack_require__(/*! react */ 1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactInteractive = __webpack_require__(/*! react-interactive */ 20);\n\nvar _reactInteractive2 = _interopRequireDefault(_reactInteractive);\n\nvar _reactRouterDom = __webpack_require__(/*! react-router-dom */ 18);\n\nvar _mobx = __webpack_require__(/*! mobx */ 14);\n\nvar _mobxReact = __webpack_require__(/*! mobx-react */ 8);\n\nvar _app = __webpack_require__(/*! ../../styles/app.style */ 16);\n\nvar _app2 = _interopRequireDefault(_app);\n\nvar _SpreadsheetData = __webpack_require__(/*! ../SpreadsheetData */ 9);\n\nvar _SpreadsheetData2 = _interopRequireDefault(_SpreadsheetData);\n\nvar _Snippets = __webpack_require__(/*! ../Snippets */ 13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n if (!descriptor) return;\n Object.defineProperty(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n });\n}\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\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n var desc = {};\n Object['ke' + 'ys'](descriptor).forEach(function (key) {\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n\n if ('value' in desc || desc.initializer) {\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0) {\n Object['define' + 'Property'](target, property, desc);\n desc = null;\n }\n\n return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar Category = (_dec = (0, _mobxReact.inject)(function (stores, props, context) {\n return props;\n}), _dec(_class = (0, _mobxReact.observer)(_class = (_class2 = function (_React$Component) {\n _inherits(Category, _React$Component);\n\n function Category(props) {\n _classCallCheck(this, Category);\n\n var _this = _possibleConstructorReturn(this, (Category.__proto__ || Object.getPrototypeOf(Category)).call(this, props));\n\n _initDefineProp(_this, 'loaded', _descriptor, _this);\n\n _initDefineProp(_this, 'bottom_nav', _descriptor2, _this);\n\n _this.type = props.type.toLowerCase();\n return _this;\n }\n\n _createClass(Category, [{\n key: 'scrollLeft',\n value: function scrollLeft(amount) {\n document.getElementsByClassName('bottom_nav')[0].scrollLeft = amount;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n if (this.loaded == false) {\n _SpreadsheetData2.default.LoadDB([{ 'cards': this.type }, { 'portal': this.type }]).then(function () {\n _this2.loaded = true;\n });\n return _react2.default.createElement(_Snippets.Loading, null);\n }\n\n var create_link = function create_link(card, data, i, url) {\n return _react2.default.createElement(\n 'div',\n { key: i },\n _react2.default.createElement(\n _reactInteractive2.default,\n _extends({ key: i, as: _reactRouterDom.Link }, _app2.default.link, {\n to: url || '/portal/' + _this2.props.type + '/' + card.gsx$name\n }),\n _react2.default.createElement(\n 'span',\n null,\n card.gsx$name\n ),\n _react2.default.createElement('br', null),\n _react2.default.createElement('img', { className: 'thumb', src: _SpreadsheetData2.default.base_image + data.gsx$thumb })\n )\n );\n };\n\n var cat_title = \"\";\n var top_content = _react2.default.createElement('div', null);\n\n // ** Process the tribe ** //\n if (this.type == \"creatures\" || this.type == \"mugic\") {\n // /portal/Creatures/\n // /portal/Creatures/{Tribe}\n // The first / gets counted\n var path = this.props.location.pathname.split(\"/\");\n if (path[path.length - 1] == \"\") path.pop(); // Remove trailing backslash\n\n var tribe = function () {\n if (path.length >= 4 && _SpreadsheetData2.default.tribes.includes(path[3])) return path[3];else return null;\n }();\n\n this.bottom_nav = (tribe ? _SpreadsheetData2.default.portal[this.type].find({ 'gsx$tribe': tribe }) : _SpreadsheetData2.default.portal[this.type].chain().simplesort('gsx$name').data()).map(function (card_portal, i) {\n var card_data = _SpreadsheetData2.default.cards[_this2.type].findOne({ 'gsx$name': card_portal.gsx$name });\n var url = tribe ? '/portal/' + _this2.props.type + '/' + card_portal.gsx$tribe + '/' + encodeURIComponent(card_portal.gsx$name) : '/portal/' + _this2.props.type + '/' + encodeURIComponent(card_portal.gsx$name);\n return create_link(card_portal, card_data, i, url);\n });\n cat_title = tribe ? tribe + ' ' + this.props.type : this.props.type;\n top_content = tribe ? _react2.default.createElement(_reactRouterDom.Route, { path: this.props.match.url + '/' + tribe + '/:card', component: this.props.component }) : _react2.default.createElement(_reactRouterDom.Route, { path: this.props.match.url + '/:card', component: this.props.component });\n } else {\n this.bottom_nav = _SpreadsheetData2.default.portal[this.type].data.map(function (card_portal, i) {\n var card_data = _SpreadsheetData2.default.cards[_this2.type].findOne({ 'gsx$name': card_portal.gsx$name });\n return create_link(card_portal, card_data, i);\n });\n cat_title = this.props.type;\n top_content = _react2.default.createElement(_reactRouterDom.Route, { path: this.props.match.url + '/:card', component: this.props.component });\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'entry ' + this.type },\n _react2.default.createElement(\n 'div',\n { className: 'entry_content' },\n top_content\n ),\n _react2.default.createElement(\n 'div',\n { className: 'cat_title' },\n cat_title\n ),\n _react2.default.createElement(\n 'div',\n { className: 'entry_nav' },\n this.bottom_nav\n )\n );\n }\n }]);\n\n return Category;\n}(_react2.default.Component), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'loaded', [_mobx.observable], {\n enumerable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'bottom_nav', [_mobx.observable], {\n enumerable: true,\n initializer: function initializer() {\n return [];\n }\n})), _class2)) || _class) || _class);\nexports.default = Category;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDQzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL0U6L1VzZXJzL0RhbmllbC9naXQvY2hhb3RpY2JhY2t1cC9iYXNlMS9zcmMvY29tcG9uZW50cy9wb3J0YWwvQ2F0ZWdvcnkuanM/MDlkYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgSW50ZXJhY3RpdmUgZnJvbSAncmVhY3QtaW50ZXJhY3RpdmUnO1xyXG5pbXBvcnQgeyBMaW5rLCBSb3V0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xyXG5pbXBvcnQge29ic2VydmFibGV9IGZyb20gJ21vYngnO1xyXG5pbXBvcnQge29ic2VydmVyLCBpbmplY3R9IGZyb20gJ21vYngtcmVhY3QnO1xyXG5pbXBvcnQgcyBmcm9tICcuLi8uLi9zdHlsZXMvYXBwLnN0eWxlJztcclxuaW1wb3J0IEFQSSBmcm9tICcuLi9TcHJlYWRzaGVldERhdGEnO1xyXG5pbXBvcnQge0xvYWRpbmd9IGZyb20gJy4uL1NuaXBwZXRzJztcclxuXHJcbkBpbmplY3QoKHN0b3JlcywgcHJvcHMsIGNvbnRleHQpID0+IHByb3BzKSBAb2JzZXJ2ZXJcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2F0ZWdvcnkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gIEBvYnNlcnZhYmxlIGxvYWRlZCA9IGZhbHNlO1xyXG4gIEBvYnNlcnZhYmxlIGJvdHRvbV9uYXYgPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIHRoaXMudHlwZSA9IHByb3BzLnR5cGUudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbExlZnQoYW1vdW50KSB7XHJcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdib3R0b21fbmF2JylbMF0uc2Nyb2xsTGVmdCA9IChhbW91bnQpO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgaWYgKHRoaXMubG9hZGVkID09IGZhbHNlKSB7XHJcbiAgICAgIEFQSS5Mb2FkREIoW3snY2FyZHMnOiB0aGlzLnR5cGV9LCB7J3BvcnRhbCc6IHRoaXMudHlwZX1dKVxyXG4gICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuICg8TG9hZGluZyAvPik7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3JlYXRlX2xpbmsgPSAoY2FyZCwgZGF0YSwgaSwgdXJsKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBrZXk9e2l9PlxyXG4gICAgICAgICAgPEludGVyYWN0aXZlIGtleT17aX0gYXM9e0xpbmt9IHsuLi5zLmxpbmt9XHJcbiAgICAgICAgICAgIHRvPXt1cmwgfHwgYC9wb3J0YWwvJHt0aGlzLnByb3BzLnR5cGV9LyR7Y2FyZC5nc3gkbmFtZX1gfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3Bhbj57Y2FyZC5nc3gkbmFtZX08L3NwYW4+PGJyIC8+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwidGh1bWJcIiBzcmM9e0FQSS5iYXNlX2ltYWdlICsgZGF0YS5nc3gkdGh1bWJ9PjwvaW1nPlxyXG4gICAgICAgICAgPC9JbnRlcmFjdGl2ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH07XHJcblxyXG4gICAgbGV0IGNhdF90aXRsZSA9IFwiXCI7XHJcbiAgICBsZXQgdG9wX2NvbnRlbnQgPSAoPGRpdj48L2Rpdj4pO1xyXG5cclxuICAgIC8vICoqIFByb2Nlc3MgdGhlIHRyaWJlICoqIC8vXHJcbiAgICBpZiAodGhpcy50eXBlID09IFwiY3JlYXR1cmVzXCIgfHwgdGhpcy50eXBlID09IFwibXVnaWNcIikge1xyXG4gICAgICAvLyAvcG9ydGFsL0NyZWF0dXJlcy9cclxuICAgICAgLy8gL3BvcnRhbC9DcmVhdHVyZXMve1RyaWJlfVxyXG4gICAgICAvLyBUaGUgZmlyc3QgLyBnZXRzIGNvdW50ZWRcclxuICAgICAgbGV0IHBhdGggPSB0aGlzLnByb3BzLmxvY2F0aW9uLnBhdGhuYW1lLnNwbGl0KFwiL1wiKTtcclxuICAgICAgaWYgKHBhdGhbcGF0aC5sZW5ndGgtMV0gPT0gXCJcIikgcGF0aC5wb3AoKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGJhY2tzbGFzaFxyXG5cclxuICAgICAgY29uc3QgdHJpYmUgPSAoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwYXRoLmxlbmd0aCA+PSA0ICYmIEFQSS50cmliZXMuaW5jbHVkZXMocGF0aFszXSkpIHJldHVybiBwYXRoWzNdO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuIG51bGw7XHJcbiAgICAgIH0pKCk7XHJcblxyXG4gICAgICB0aGlzLmJvdHRvbV9uYXYgPSAoKHRyaWJlKSA/XHJcbiAgICAgICAgQVBJLnBvcnRhbFt0aGlzLnR5cGVdLmZpbmQoeydnc3gkdHJpYmUnOiB0cmliZX0pXHJcbiAgICAgICAgOlxyXG4gICAgICAgIEFQSS5wb3J0YWxbdGhpcy50eXBlXS5jaGFpbigpLnNpbXBsZXNvcnQoJ2dzeCRuYW1lJykuZGF0YSgpXHJcbiAgICAgICkubWFwKChjYXJkX3BvcnRhbCwgaSkgPT4ge1xyXG4gICAgICAgIGxldCBjYXJkX2RhdGEgPSBBUEkuY2FyZHNbdGhpcy50eXBlXS5maW5kT25lKHsnZ3N4JG5hbWUnOiBjYXJkX3BvcnRhbC5nc3gkbmFtZX0pO1xyXG4gICAgICAgIGxldCB1cmwgPSAoKHRyaWJlKSA/XHJcbiAgICAgICAgICBgL3BvcnRhbC8ke3RoaXMucHJvcHMudHlwZX0vJHtjYXJkX3BvcnRhbC5nc3gkdHJpYmV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KGNhcmRfcG9ydGFsLmdzeCRuYW1lKX1gXHJcbiAgICAgICAgICA6XHJcbiAgICAgICAgICBgL3BvcnRhbC8ke3RoaXMucHJvcHMudHlwZX0vJHtlbmNvZGVVUklDb21wb25lbnQoY2FyZF9wb3J0YWwuZ3N4JG5hbWUpfWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBjcmVhdGVfbGluayhjYXJkX3BvcnRhbCwgY2FyZF9kYXRhLCBpLCB1cmwpO1xyXG4gICAgICB9KTtcclxuICAgICAgY2F0X3RpdGxlID0gKCh0cmliZSkgP1xyXG4gICAgICAgIGAke3RyaWJlfSAke3RoaXMucHJvcHMudHlwZX1gXHJcbiAgICAgICAgOlxyXG4gICAgICAgIHRoaXMucHJvcHMudHlwZVxyXG4gICAgICApO1xyXG4gICAgICB0b3BfY29udGVudCA9ICgodHJpYmUpID9cclxuICAgICAgICAoPFJvdXRlIHBhdGg9e2Ake3RoaXMucHJvcHMubWF0Y2gudXJsfS8ke3RyaWJlfS86Y2FyZGB9IGNvbXBvbmVudD17dGhpcy5wcm9wcy5jb21wb25lbnR9IC8+KVxyXG4gICAgICAgIDpcclxuICAgICAgICAoPFJvdXRlIHBhdGg9e2Ake3RoaXMucHJvcHMubWF0Y2gudXJsfS86Y2FyZGB9IGNvbXBvbmVudD17dGhpcy5wcm9wcy5jb21wb25lbnR9IC8+KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuYm90dG9tX25hdiA9IEFQSS5wb3J0YWxbdGhpcy50eXBlXS5kYXRhLm1hcCgoY2FyZF9wb3J0YWwsIGkpID0+IHtcclxuICAgICAgICBsZXQgY2FyZF9kYXRhID0gQVBJLmNhcmRzW3RoaXMudHlwZV0uZmluZE9uZSh7J2dzeCRuYW1lJzogY2FyZF9wb3J0YWwuZ3N4JG5hbWV9KTtcclxuICAgICAgICByZXR1cm4gY3JlYXRlX2xpbmsoY2FyZF9wb3J0YWwsIGNhcmRfZGF0YSwgaSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjYXRfdGl0bGUgPSB0aGlzLnByb3BzLnR5cGU7XHJcbiAgICAgIHRvcF9jb250ZW50ID0gKDxSb3V0ZSBwYXRoPXtgJHt0aGlzLnByb3BzLm1hdGNoLnVybH0vOmNhcmRgfSBjb21wb25lbnQ9e3RoaXMucHJvcHMuY29tcG9uZW50fSAvPik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICg8ZGl2IGNsYXNzTmFtZT17YGVudHJ5ICR7dGhpcy50eXBlfWB9PlxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImVudHJ5X2NvbnRlbnRcIj57dG9wX2NvbnRlbnR9PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2F0X3RpdGxlXCI+e2NhdF90aXRsZX08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbnRyeV9uYXZcIj57dGhpcy5ib3R0b21fbmF2fTwvZGl2PlxyXG4gICAgPC9kaXY+KTtcclxuICB9XHJcbn1cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIEU6L1VzZXJzL0RhbmllbC9naXQvY2hhb3RpY2JhY2t1cC9iYXNlMS9zcmMvY29tcG9uZW50cy9wb3J0YWwvQ2F0ZWdvcnkuanMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBOzs7QUFBQTtBQUNBOzs7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOzs7QUFBQTtBQUNBOzs7QUFBQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7QUFEQTtBQUFBOzs7QUFLQTtBQUFBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUZBO0FBR0E7QUFDQTs7O0FBQ0E7QUFDQTtBQUNBOzs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBSkE7QUFEQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFLQTtBQUtBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUhBO0FBS0E7Ozs7QUF6RkE7OztBQUNBOztBQUNBOzs7QUFBQTs7O0FBRkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///443\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\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 _dec, _class, _desc, _value, _class2, _descriptor;\n\nvar _react = __webpack_require__(/*! react */ 1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactInteractive = __webpack_require__(/*! react-interactive */ 20);\n\nvar _reactInteractive2 = _interopRequireDefault(_reactInteractive);\n\nvar _reactRouterDom = __webpack_require__(/*! react-router-dom */ 18);\n\nvar _mobx = __webpack_require__(/*! mobx */ 14);\n\nvar _mobxReact = __webpack_require__(/*! mobx-react */ 8);\n\nvar _app = __webpack_require__(/*! ../../styles/app.style */ 16);\n\nvar _app2 = _interopRequireDefault(_app);\n\nvar _SpreadsheetData = __webpack_require__(/*! ../SpreadsheetData */ 9);\n\nvar _SpreadsheetData2 = _interopRequireDefault(_SpreadsheetData);\n\nvar _Snippets = __webpack_require__(/*! ../Snippets */ 13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n if (!descriptor) return;\n Object.defineProperty(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n });\n}\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\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n var desc = {};\n Object['ke' + 'ys'](descriptor).forEach(function (key) {\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n\n if ('value' in desc || desc.initializer) {\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0) {\n Object['define' + 'Property'](target, property, desc);\n desc = null;\n }\n\n return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar Category = (_dec = (0, _mobxReact.inject)(function (stores, props, context) {\n return props;\n}), _dec(_class = (0, _mobxReact.observer)(_class = (_class2 = function (_React$Component) {\n _inherits(Category, _React$Component);\n\n function Category(props) {\n _classCallCheck(this, Category);\n\n var _this = _possibleConstructorReturn(this, (Category.__proto__ || Object.getPrototypeOf(Category)).call(this, props));\n\n _initDefineProp(_this, 'loaded', _descriptor, _this);\n\n _this.type = props.type.toLowerCase();\n return _this;\n }\n\n _createClass(Category, [{\n key: 'scrollLeft',\n value: function scrollLeft(amount) {\n document.getElementsByClassName('bottom_nav')[0].scrollLeft = amount;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n if (this.loaded == false) {\n _SpreadsheetData2.default.LoadDB([{ 'cards': this.type }, { 'portal': this.type }]).then(function () {\n _this2.loaded = true;\n });\n return _react2.default.createElement(_Snippets.Loading, null);\n }\n\n var create_link = function create_link(card, data, i, url) {\n return _react2.default.createElement(\n 'div',\n { key: i },\n _react2.default.createElement(\n _reactInteractive2.default,\n _extends({ as: _reactRouterDom.Link }, _app2.default.link, {\n to: url || '/portal/' + _this2.props.type + '/' + card.gsx$name\n }),\n _react2.default.createElement(\n 'span',\n null,\n card.gsx$name\n ),\n _react2.default.createElement('br', null),\n _react2.default.createElement('img', { className: 'thumb', src: _SpreadsheetData2.default.base_image + data.gsx$thumb })\n )\n );\n };\n\n var cat_title = \"\";\n var top_content = _react2.default.createElement('div', null);\n var bottom_nav = [];\n\n // ** Process the tribe ** //\n if (this.type == \"creatures\" || this.type == \"mugic\") {\n // /portal/Creatures/\n // /portal/Creatures/{Tribe}\n // The first / gets counted\n var path = this.props.location.pathname.split(\"/\");\n if (path[path.length - 1] == \"\") path.pop(); // Remove trailing backslash\n\n var tribe = function () {\n if (path.length >= 4 && _SpreadsheetData2.default.tribes.includes(path[3])) return path[3];else return null;\n }();\n\n bottom_nav = (tribe ? _SpreadsheetData2.default.portal[this.type].find({ 'gsx$tribe': tribe }) : _SpreadsheetData2.default.portal[this.type].chain().simplesort('gsx$name').data()).map(function (card_portal, i) {\n var card_data = _SpreadsheetData2.default.cards[_this2.type].findOne({ 'gsx$name': card_portal.gsx$name });\n var url = tribe ? '/portal/' + _this2.props.type + '/' + card_portal.gsx$tribe + '/' + encodeURIComponent(card_portal.gsx$name) : '/portal/' + _this2.props.type + '/' + encodeURIComponent(card_portal.gsx$name);\n return create_link(card_portal, card_data, i, url);\n });\n cat_title = tribe ? tribe + ' ' + this.props.type : this.props.type;\n top_content = tribe ? _react2.default.createElement(_reactRouterDom.Route, { path: this.props.match.url + '/' + tribe + '/:card', component: this.props.component }) : _react2.default.createElement(_reactRouterDom.Route, { path: this.props.match.url + '/:card', component: this.props.component });\n } else {\n bottom_nav = _SpreadsheetData2.default.portal[this.type].data.map(function (card_portal, i) {\n var card_data = _SpreadsheetData2.default.cards[_this2.type].findOne({ 'gsx$name': card_portal.gsx$name });\n return create_link(card_portal, card_data, i);\n });\n cat_title = this.props.type;\n top_content = _react2.default.createElement(_reactRouterDom.Route, { path: this.props.match.url + '/:card', component: this.props.component });\n }\n\n return _react2.default.createElement(\n 'div',\n { className: 'entry ' + this.type },\n _react2.default.createElement(\n 'div',\n { className: 'entry_content' },\n top_content\n ),\n _react2.default.createElement(\n 'div',\n { className: 'cat_title' },\n cat_title\n ),\n _react2.default.createElement(\n 'div',\n { className: 'entry_nav' },\n bottom_nav\n )\n );\n }\n }]);\n\n return Category;\n}(_react2.default.Component), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'loaded', [_mobx.observable], {\n enumerable: true,\n initializer: function initializer() {\n return false;\n }\n})), _class2)) || _class) || _class);\nexports.default = Category;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDQzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL0U6L1VzZXJzL0RhbmllbC9naXQvY2hhb3RpY2JhY2t1cC9iYXNlMS9zcmMvY29tcG9uZW50cy9wb3J0YWwvQ2F0ZWdvcnkuanM/MDlkYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgSW50ZXJhY3RpdmUgZnJvbSAncmVhY3QtaW50ZXJhY3RpdmUnO1xyXG5pbXBvcnQgeyBMaW5rLCBSb3V0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xyXG5pbXBvcnQge29ic2VydmFibGV9IGZyb20gJ21vYngnO1xyXG5pbXBvcnQge29ic2VydmVyLCBpbmplY3R9IGZyb20gJ21vYngtcmVhY3QnO1xyXG5pbXBvcnQgcyBmcm9tICcuLi8uLi9zdHlsZXMvYXBwLnN0eWxlJztcclxuaW1wb3J0IEFQSSBmcm9tICcuLi9TcHJlYWRzaGVldERhdGEnO1xyXG5pbXBvcnQge0xvYWRpbmd9IGZyb20gJy4uL1NuaXBwZXRzJztcclxuXHJcbkBpbmplY3QoKHN0b3JlcywgcHJvcHMsIGNvbnRleHQpID0+IHByb3BzKSBAb2JzZXJ2ZXJcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2F0ZWdvcnkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gIEBvYnNlcnZhYmxlIGxvYWRlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy50eXBlID0gcHJvcHMudHlwZS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsTGVmdChhbW91bnQpIHtcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2JvdHRvbV9uYXYnKVswXS5zY3JvbGxMZWZ0ID0gKGFtb3VudCk7XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBpZiAodGhpcy5sb2FkZWQgPT0gZmFsc2UpIHtcclxuICAgICAgQVBJLkxvYWREQihbeydjYXJkcyc6IHRoaXMudHlwZX0sIHsncG9ydGFsJzogdGhpcy50eXBlfV0pXHJcbiAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKDxMb2FkaW5nIC8+KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjcmVhdGVfbGluayA9IChjYXJkLCBkYXRhLCBpLCB1cmwpID0+IHtcclxuICAgICAgcmV0dXJuICg8ZGl2IGtleT17aX0+XHJcbiAgICAgICAgICA8SW50ZXJhY3RpdmUgYXM9e0xpbmt9IHsuLi5zLmxpbmt9XHJcbiAgICAgICAgICAgIHRvPXt1cmwgfHwgYC9wb3J0YWwvJHt0aGlzLnByb3BzLnR5cGV9LyR7Y2FyZC5nc3gkbmFtZX1gfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3Bhbj57Y2FyZC5nc3gkbmFtZX08L3NwYW4+PGJyIC8+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwidGh1bWJcIiBzcmM9e0FQSS5iYXNlX2ltYWdlICsgZGF0YS5nc3gkdGh1bWJ9PjwvaW1nPlxyXG4gICAgICAgICAgPC9JbnRlcmFjdGl2ZT5cclxuICAgICAgPC9kaXY+KTtcclxuICAgIH07XHJcblxyXG4gICAgbGV0IGNhdF90aXRsZSA9IFwiXCI7XHJcbiAgICBsZXQgdG9wX2NvbnRlbnQgPSAoPGRpdj48L2Rpdj4pO1xyXG4gICAgbGV0IGJvdHRvbV9uYXYgPSBbXTtcclxuXHJcbiAgICAvLyAqKiBQcm9jZXNzIHRoZSB0cmliZSAqKiAvL1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PSBcImNyZWF0dXJlc1wiIHx8IHRoaXMudHlwZSA9PSBcIm11Z2ljXCIpIHtcclxuICAgICAgLy8gL3BvcnRhbC9DcmVhdHVyZXMvXHJcbiAgICAgIC8vIC9wb3J0YWwvQ3JlYXR1cmVzL3tUcmliZX1cclxuICAgICAgLy8gVGhlIGZpcnN0IC8gZ2V0cyBjb3VudGVkXHJcbiAgICAgIGxldCBwYXRoID0gdGhpcy5wcm9wcy5sb2NhdGlvbi5wYXRobmFtZS5zcGxpdChcIi9cIik7XHJcbiAgICAgIGlmIChwYXRoW3BhdGgubGVuZ3RoLTFdID09IFwiXCIpIHBhdGgucG9wKCk7IC8vIFJlbW92ZSB0cmFpbGluZyBiYWNrc2xhc2hcclxuXHJcbiAgICAgIGNvbnN0IHRyaWJlID0gKCgpID0+IHtcclxuICAgICAgICBpZiAocGF0aC5sZW5ndGggPj0gNCAmJiBBUEkudHJpYmVzLmluY2x1ZGVzKHBhdGhbM10pKSByZXR1cm4gcGF0aFszXTtcclxuICAgICAgICBlbHNlIHJldHVybiBudWxsO1xyXG4gICAgICB9KSgpO1xyXG5cclxuICAgICAgYm90dG9tX25hdiA9ICgodHJpYmUpID9cclxuICAgICAgICBBUEkucG9ydGFsW3RoaXMudHlwZV0uZmluZCh7J2dzeCR0cmliZSc6IHRyaWJlfSlcclxuICAgICAgICA6XHJcbiAgICAgICAgQVBJLnBvcnRhbFt0aGlzLnR5cGVdLmNoYWluKCkuc2ltcGxlc29ydCgnZ3N4JG5hbWUnKS5kYXRhKClcclxuICAgICAgKS5tYXAoKGNhcmRfcG9ydGFsLCBpKSA9PiB7XHJcbiAgICAgICAgbGV0IGNhcmRfZGF0YSA9IEFQSS5jYXJkc1t0aGlzLnR5cGVdLmZpbmRPbmUoeydnc3gkbmFtZSc6IGNhcmRfcG9ydGFsLmdzeCRuYW1lfSk7XHJcbiAgICAgICAgbGV0IHVybCA9ICgodHJpYmUpID9cclxuICAgICAgICAgIGAvcG9ydGFsLyR7dGhpcy5wcm9wcy50eXBlfS8ke2NhcmRfcG9ydGFsLmdzeCR0cmliZX0vJHtlbmNvZGVVUklDb21wb25lbnQoY2FyZF9wb3J0YWwuZ3N4JG5hbWUpfWBcclxuICAgICAgICAgIDpcclxuICAgICAgICAgIGAvcG9ydGFsLyR7dGhpcy5wcm9wcy50eXBlfS8ke2VuY29kZVVSSUNvbXBvbmVudChjYXJkX3BvcnRhbC5nc3gkbmFtZSl9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGNyZWF0ZV9saW5rKGNhcmRfcG9ydGFsLCBjYXJkX2RhdGEsIGksIHVybCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjYXRfdGl0bGUgPSAoKHRyaWJlKSA/XHJcbiAgICAgICAgYCR7dHJpYmV9ICR7dGhpcy5wcm9wcy50eXBlfWBcclxuICAgICAgICA6XHJcbiAgICAgICAgdGhpcy5wcm9wcy50eXBlXHJcbiAgICAgICk7XHJcbiAgICAgIHRvcF9jb250ZW50ID0gKCh0cmliZSkgP1xyXG4gICAgICAgICg8Um91dGUgcGF0aD17YCR7dGhpcy5wcm9wcy5tYXRjaC51cmx9LyR7dHJpYmV9LzpjYXJkYH0gY29tcG9uZW50PXt0aGlzLnByb3BzLmNvbXBvbmVudH0gLz4pXHJcbiAgICAgICAgOlxyXG4gICAgICAgICg8Um91dGUgcGF0aD17YCR7dGhpcy5wcm9wcy5tYXRjaC51cmx9LzpjYXJkYH0gY29tcG9uZW50PXt0aGlzLnByb3BzLmNvbXBvbmVudH0gLz4pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgYm90dG9tX25hdiA9IEFQSS5wb3J0YWxbdGhpcy50eXBlXS5kYXRhLm1hcCgoY2FyZF9wb3J0YWwsIGkpID0+IHtcclxuICAgICAgICBsZXQgY2FyZF9kYXRhID0gQVBJLmNhcmRzW3RoaXMudHlwZV0uZmluZE9uZSh7J2dzeCRuYW1lJzogY2FyZF9wb3J0YWwuZ3N4JG5hbWV9KTtcclxuICAgICAgICByZXR1cm4gY3JlYXRlX2xpbmsoY2FyZF9wb3J0YWwsIGNhcmRfZGF0YSwgaSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjYXRfdGl0bGUgPSB0aGlzLnByb3BzLnR5cGU7XHJcbiAgICAgIHRvcF9jb250ZW50ID0gKDxSb3V0ZSBwYXRoPXtgJHt0aGlzLnByb3BzLm1hdGNoLnVybH0vOmNhcmRgfSBjb21wb25lbnQ9e3RoaXMucHJvcHMuY29tcG9uZW50fSAvPik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICg8ZGl2IGNsYXNzTmFtZT17YGVudHJ5ICR7dGhpcy50eXBlfWB9PlxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImVudHJ5X2NvbnRlbnRcIj57dG9wX2NvbnRlbnR9PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2F0X3RpdGxlXCI+e2NhdF90aXRsZX08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbnRyeV9uYXZcIj57Ym90dG9tX25hdn08L2Rpdj5cclxuICAgIDwvZGl2Pik7XHJcbiAgfVxyXG59XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBFOi9Vc2Vycy9EYW5pZWwvZ2l0L2NoYW90aWNiYWNrdXAvYmFzZTEvc3JjL2NvbXBvbmVudHMvcG9ydGFsL0NhdGVnb3J5LmpzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBO0FBREE7QUFBQTs7O0FBSUE7QUFBQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUZBO0FBR0E7QUFDQTs7O0FBQ0E7QUFDQTtBQUNBOzs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBSkE7QUFEQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUtBO0FBS0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSEE7QUFLQTs7OztBQXZGQTs7O0FBQ0E7OztBQURBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///443\n"); /***/ }), /* 444 */ diff --git a/src/components/portal/Category.js b/src/components/portal/Category.js index 5713923..5490a2c 100644 --- a/src/components/portal/Category.js +++ b/src/components/portal/Category.js @@ -10,7 +10,6 @@ import {Loading} from '../Snippets'; @inject((stores, props, context) => props) @observer export default class Category extends React.Component { @observable loaded = false; - @observable bottom_nav = []; constructor(props) { super(props); @@ -31,20 +30,19 @@ export default class Category extends React.Component { } const create_link = (card, data, i, url) => { - return ( -