{"version":3,"sources":["Action.js","App.js","ACTWebsocket.js","serviceWorker.js","index.js"],"names":["Action","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","state","xivapi_data","actionUrl","action_id","console","log","fetch","mode","then","response","json","data","setState","getOwnPropertyNames","length","ActionCategory","ID","Icon","classes","isGCD","img","react_default","a","createElement","className","src","alt","React","Component","App","me","actionlist","actionindex","listenActWebSocket","callback","url","URLSearchParams","window","location","search","wsUri","concat","get","undefined","ws","WebSocket","onerror","onmessage","e","m","send","obj","JSON","parse","msgtype","msg","charID","charName","code","substring","handleLogEvent","bind","assertThisInitialized","split","parseInt","action","index","addActionToOverlay","setTimeout","purgeAction","slice","actions","id","push","src_Action","key","Boolean","hostname","match","ReactDOM","render","src_App","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.2e1acc3f.chunk.js","sourcesContent":["import React from 'react'\r\nimport './css/Action.css'\r\n\r\nclass Action extends React.Component {\r\n\tstate = {\r\n\t\txivapi_data: []\r\n\t}\r\n\t\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\t\r\n\t\tconst actionUrl = \"https://xivapi.com/Action/\"+props.action_id;\r\n\t\t\r\n\t\tconsole.log(actionUrl)\r\n\t\t\r\n\t\tfetch(actionUrl, { mode: 'cors' })\r\n\t\t\t.then(response => response.json())\r\n\t\t\t.then(data => {this.setState({xivapi_data: data})})\r\n\t}\r\n\t\r\n\tshouldComponentUpdate() {\r\n\t\tif (Object.getOwnPropertyNames(this.state.xivapi_data).length === 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true\r\n\t}\r\n\t\r\n\tisGCD() {\r\n\t\treturn (this.state.xivapi_data.ActionCategory.ID !== 4)\r\n\t}\r\n\t\r\n\trender() {\r\n\t\tif(this.state.xivapi_data.Icon) {\r\n\t\t\tconst classes = this.isGCD()?'action-icon gcd':'action-icon ogcd'\r\n\t\t\tconst img = \"https://xivapi.com\"+this.state.xivapi_data.Icon\r\n\t\t\treturn \r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn null\r\n\t\t}\r\n }\r\n}\r\n\r\nexport default Action","import React from 'react'\nimport listenActWebSocket from './ACTWebsocket'\nimport './css/App.css'\nimport Action from './Action'\n\nclass App extends React.Component {\n\tstate = {\n\t\tme: 0,\n\t\tactionlist: [],\n\t\tactionindex: 1\n\t}\n\t\n\tconstructor(props) {\n\t\tsuper(props)\n\t\t\n\t\tlistenActWebSocket(this.handleLogEvent.bind(this))\n\t}\n\t\n\taddActionToOverlay(action_id) {\n\t\tthis.setState((state) => {\n\t\t\tconst actionlist = state.actionlist.concat(action_id);\n\t\t\n\t\t\treturn {actionlist}\n\t\t})\n\t}\n\t\n\thandleLogEvent(data) {\n\t\tif(data.charID) {\n\t\t\tthis.setState({me: data.charID})\n\t\t\tconsole.log(data.charID)\n\t\t\treturn\n\t\t} //the ME data we need\n\t\t\n\t\tconst me = this.state.me\n\t\t\n\t\tif(me === 0) return //we need data on the character first\n\t\t\n\t\tlet log = data.split('|')\n\t\t\n\t\tif(parseInt(log[2],16) !== me) return //we only care about our actions\n\t\t\n\t\tconst action = parseInt(log[4],16)\n\t\t\n\t\tif(action === 7) return //auto-attack\n\t\t\n\t\tconst index = this.state.actionindex\n\t\t\n\t\tthis.addActionToOverlay({index,action})\n\t\t\n\t\tthis.setState((state) => {\n\t\t\tconst actionindex = (state.actionindex >= 32)?1:state.actionindex+1\n\t\t\t\n\t\t\treturn {actionindex}\n\t\t})\n\t\t\n\t\tsetTimeout(this.purgeAction.bind(this), 10000)\n\t}\n\t\n\tpurgeAction() {\n\t\tthis.setState((state) => {\n\t\t\tconst actionlist = state.actionlist.slice(1)\n\t\t\t\n\t\t\treturn {actionlist}\n\t\t})\n\t}\n\t\n\trender() {\n\t\tlet actions = []\n\t\t\n\t\tconsole.log(this.state.actionlist)\n\t\t\n\t\tfor (const id in this.state.actionlist) {\n\t\t\tconst action = this.state.actionlist[id]\n\t\t\tactions.push(