{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nfunction _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); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React from \"react\";\nimport Head from \"next/head\";\nimport api from \"../src/api\";\nexport var __N_SSP = true;\n\nvar Dashboard = /*#__PURE__*/function (_React$Component) {\n  _inherits(Dashboard, _React$Component);\n\n  var _super = _createSuper(Dashboard);\n\n  function Dashboard(props) {\n    var _this;\n\n    _classCallCheck(this, Dashboard);\n\n    _this = _super.call(this, props);\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      dashboad: []\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"api\", void 0);\n\n    return _this;\n  }\n\n  _createClass(Dashboard, [{\n    key: \"render\",\n    value: function render() {\n      return /*#__PURE__*/_jsxs(\"div\", {\n        style: {\n          height: \"100%\",\n          width: \"100%\"\n        },\n        children: [/*#__PURE__*/_jsx(Head, {\n          children: /*#__PURE__*/_jsx(\"title\", {\n            children: \"dashboard\"\n          })\n        }), /*#__PURE__*/_jsx(\"div\", {\n          style: page,\n          children: this.state.dashboad\n        })]\n      });\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function () {\n      var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n        return _regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                this.api = new api(this.props.endpoint);\n                _context.next = 3;\n                return this.makeChild();\n\n              case 3:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function componentDidMount() {\n        return _componentDidMount.apply(this, arguments);\n      }\n\n      return componentDidMount;\n    }()\n  }, {\n    key: \"makeChild\",\n    value: function () {\n      var _makeChild = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n        var result, data, views;\n        return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.prev = 0;\n                _context2.next = 3;\n                return this.api.getDevices();\n\n              case 3:\n                result = _context2.sent;\n\n                if (result) {\n                  _context2.next = 6;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", null);\n\n              case 6:\n                data = result.data;\n\n                if (data) {\n                  views = [];\n                  Object.entries(data).filter(function (_ref) {\n                    var _ref2 = _slicedToArray(_ref, 2),\n                        key = _ref2[0],\n                        value = _ref2[1];\n\n                    var nodeAddress = key.split(\":\")[0];\n                    var status = value.showInDashboard ? \"DASHBOARD\" : value.status;\n                    var url = \"http://\".concat(nodeAddress, \":8000/#!action=stream&udid=\").concat(value.udid, \"&player=broadway&ws=ws%3A%2F%2F\").concat(nodeAddress, \":8000/?action=proxy-adb%26remote%3Dtcp%3A8886&udid%3D\").concat(value.udid);\n                    console.log(\"url : \", url);\n\n                    if (value.platform === \"android\" && nodeAddress) {\n                      var view = /*#__PURE__*/_jsxs(\"div\", {\n                        style: page_view,\n                        children: [/*#__PURE__*/_jsx(\"div\", {\n                          style: {\n                            width: \"fit-content\",\n                            height: \"fit-content\"\n                          },\n                          children: /*#__PURE__*/_jsxs(\"div\", {\n                            children: [value.name, \" [\", status, \"]\"]\n                          })\n                        }), /*#__PURE__*/_jsx(\"iframe\", {\n                          height: \"750px\",\n                          width: \"500px\",\n                          src: url,\n                          frameBorder: \"0\"\n                        })]\n                      }, \"\".concat(value.udid));\n\n                      views.push(view);\n                    }\n                  });\n                  this.setState({\n                    dashboad: views\n                  });\n                }\n\n                _context2.next = 13;\n                break;\n\n              case 10:\n                _context2.prev = 10;\n                _context2.t0 = _context2[\"catch\"](0);\n                console.error(_context2.t0);\n\n              case 13:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this, [[0, 10]]);\n      }));\n\n      function makeChild() {\n        return _makeChild.apply(this, arguments);\n      }\n\n      return makeChild;\n    }()\n  }]);\n\n  return Dashboard;\n}(React.Component);\n\nexport { Dashboard as default };\nvar page = {\n  backgroundColor: \"rgb(248, 248, 248)\",\n  height: \"auto\",\n  width: \"auto\",\n  display: \"inline\"\n};\nvar page_view = {\n  height: \"fit-content\",\n  width: \"500px\",\n  display: \"inline-block\",\n  paddingTop: \"40px\",\n  alignItems: \"center\"\n};","map":{"version":3,"sources":["/Users/showstop/work/zigbang/honeyfarm/packages/dashboard/pages/dashboard.tsx"],"names":["React","Head","api","Dashboard","props","dashboad","height","width","page","state","endpoint","makeChild","getDevices","result","data","views","Object","entries","filter","key","value","nodeAddress","split","status","showInDashboard","url","udid","console","log","platform","view","page_view","name","push","setState","error","Component","backgroundColor","display","paddingTop","alignItems"],"mappings":"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","sourcesContent":["import React from \"react\"\nimport Head from \"next/head\"\nimport { GetServerSideProps } from 'next'\n\nimport api from \"../src/api\"\nimport { argsParser } from \"../src/utils\"\n\nexport const getServerSideProps: GetServerSideProps = async (context) => {\n    const endpoint = argsParser(process.argv, \"--endpoint\")\n    return {props: { endpoint: endpoint }}\n}\nexport default class Dashboard extends React.Component<{endpoint?: string}> {\n    state =  {\n        dashboad: []\n    }\n    private api\n\n    constructor(props: {}) {\n        super(props)\n\t}\n\n    render() {\n        return (\n            <div style={{height: \"100%\", width: \"100%\"}}>\n                <Head>\n                    <title>dashboard</title>\n                </Head>\n                <div style = {page}>\n                    {this.state.dashboad}\n                </div>\n            </div>\n        )\n    }\n\n    async componentDidMount() {\n        this.api  = new api(this.props.endpoint)\n        await this.makeChild()\n    }\n\n    private async makeChild() {\n        try {\n            const result = await this.api.getDevices()\n            if (!result) return null\n            \n            const data = result.data as { [key: string]: { showInDashboard?: boolean, status: string, platform: string, name: string, udid: string } }\n\n            if (data) {\n                const views: JSX.Element[] = []\n\n                Object.entries(data).filter(([key, value]) => {\n                const nodeAddress = key.split(\":\")[0]\n                const status = value.showInDashboard ? \"DASHBOARD\" : value.status\n\n\t\t\t\t\tconst url = `http://${nodeAddress}:8000/#!action=stream&udid=${value.udid}&player=broadway&ws=ws%3A%2F%2F${nodeAddress}:8000/?action=proxy-adb%26remote%3Dtcp%3A8886&udid%3D${value.udid}`\n\t\t\t\t\tconsole.log(\"url : \", url)\n                if(value.platform === \"android\" && nodeAddress) {\n                    const view = (\n                        <div style={page_view} key={`${value.udid}`}>\n                            <div style={{ width: \"fit-content\", height: \"fit-content\"}}>\n                                <div>{value.name} [{status}]</div>\n                            </div>\n\t\t\t\t\t\t\t<iframe height=\"750px\" width=\"500px\" src={url} frameBorder=\"0\"></iframe>\n                        </div>\n                    )\n                    views.push(view)\n                }\n                })\n\n                this.setState({dashboad: views})\n            }\n        \n        } catch(e) {\n            console.error(e)\n        }\n    }\n}\n\nconst page = {\n    backgroundColor: \"rgb(248, 248, 248)\",\n    height: \"auto\",\n    width: \"auto\",\n    display: \"inline\"\n}\n\nconst page_view= {\n    height: \"fit-content\",\n    width: \"500px\",\n    display: \"inline-block\",\n    paddingTop: \"40px\",\n    alignItems: \"center\"\n}\n"]},"metadata":{},"sourceType":"module"}