UNPKG

@zigbang/honeyfarm-dashboard

Version:

HoneyFarm Node에 등록 되어 있는 안드로이드 단말을 웹페이지에서 실시간으로 확인 및 사용 할수 있도록 구현된 웹

1 lines 12.7 kB
{"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"}