(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{1023:function(e,t,n){},1027:function(e,t,n){e.exports=n(2698)},1094:function(e,t){},1096:function(e,t){},1133:function(e,t){},1181:function(e,t){},1226:function(e,t){},1378:function(e,t){},1445:function(e,t){},1458:function(e,t){},1538:function(e,t){},1540:function(e,t){},1552:function(e,t){},1982:function(e,t){},2122:function(e,t){},2133:function(e,t){},2135:function(e,t){},2163:function(e,t){},2176:function(e,t){},2209:function(e,t){},2697:function(e,t,n){e.exports=n.p+"static/media/logo.5d5d9eef.svg"},2698:function(e,t,n){"use strict";n.r(t);var a=n(1),r=n.n(a),s=n(94),l=n.n(s),c=n(70),o=n(77),i=n(86),u=n(85),m=n(87),p=n(558),h=n(146),d=n(41),f=n.n(d),g=n(115),y=n(95),v=n(282),b=n(991),E=n.n(b),w=n(992),j=n.n(w),C=n(993),O=n.n(C),k=(n(252),n(190)),x=n(116),S=n.n(x),I=n(231),M=n(997),U=n.n(M),N=n(143),T=n.n(N),A=n(555),D=n.n(A),B=n(192),F=n.n(B),P=n(131),K=n.n(P),W=n(1026),J=n(367),R=n(365),z=n.n(R),L=(n(2284),n(130)),V=n.n(L),H=n(230),_=n.n(H),q=n(165),$=n.n(q),G=n(191),Y=n.n(G),Z=n(1e3),Q=n(1003),X=n.n(Q),ee=n(1004),te=n.n(ee),ne=n(145),ae=n.n(ne),re=n(2703),se=n(1008),le=n(1005),ce={bs:"bash",bf:"brainfuck",c:"c",cp:"cpp",cl:"clojure",cs:"css",dk:"docker",ht:"http",js:"javascript",jn:"json",jx:"jsx",la:"latex",ma:"makefile",md:"markdown",nm:"nim",pb:"protobuf",pu:"puppet",py:"python",sq:"sql",ts:"typescript",vi:"vim",ym:"yaml"},oe=n(1006),ie=n.n(oe),ue=function(e,t){var n=ie()(t);return new Promise(function(t,a){e.files.add(n,function(e,n){if(e)return a(e);t(n)})})},me=function(){var e=Object(g.a)(f.a.mark(function e(t,n,a){var r,s,l;return f.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n.name,n.path,n.type,e.next=3,ue(t,n);case 3:r=e.sent,s=r[0].hash,l="/ipfs/".concat(s),a(l);case 7:case"end":return e.stop()}},e,this)}));return function(t,n,a){return e.apply(this,arguments)}}(),pe=function(e,t){return new Promise(function(n,a){e.files.get(t,function(e,t){e?a(e):n(t)})})},he=(new le.a).begin().find("/ipfs/");var de=function(e){for(var t,n=e.message,a=[],s=RegExp(/:[\-a-zA-Z_+0-9]+:/g);null!==(t=s.exec(n));)a.push(r.a.createElement(J.a,{emoji:t[0],size:16}));var l=n.split(s);return l.forEach(function(e,t){l[t]=r.a.createElement("span",{className:"match",key:t},e,a[t])}),"`"===n[2]&&ce[n.slice(0,2)]?r.a.createElement(re.a,{language:ce[n.slice(0,2)],style:se.atomDark},n.slice(3)):r.a.createElement(X.a,null,r.a.createElement("span",{style:{wordWrap:"break-word",whiteSpace:"pre-line"}},l))},fe=function(e){function t(){var e,n;Object(c.a)(this,t);for(var a=arguments.length,r=new Array(a),s=0;s=0||t.indexOf("https://www.youtube.com")>=0)&&r.a.createElement(V.a,null,r.a.createElement(Z.a,{videoId:(e=l,void 0!==(e=e.replace(/(>|<)/gi,"").split(/(vi\/|v=|\/v\/|youtu\.be\/|\/embed\/)/))[2]?e[2].split(/[^0-9a-z_\-]/i)[0]:e),opts:{height:"390",width:"640",playerVars:{autoplay:0}}})),function(e){return e.indexOf("spotify:")>=0}(l)&&r.a.createElement(V.a,null,r.a.createElement(te.a,{uri:l,size:{width:300,height:300},view:"list",theme:"black"})),!!o&&r.a.createElement("img",{src:o,alt:"ipfs",style:{maxWidth:"90%"}}),function(e){return e.indexOf("http")>=0&&(e.indexOf(".jpg")||e.indexOf(".gif"))}(l)&&function(e){var t=new RegExp(/\b(https?:\/\/\S+(?:png|jpe?g|gif)\S*)\b/).exec(e);return t?r.a.createElement("img",{src:t[0],style:{maxWidth:"90%"}}):r.a.createElement("span",null)}(l))}}]),t}(a.PureComponent),ge=n(1012),ye=n.n(ge),ve=n(281),be=n.n(ve),Ee=n(283),we=n.n(Ee),je=n(1013),Ce=n.n(je),Oe=n(363),ke=n.n(Oe),xe=n(364),Se=n.n(xe),Ie=n(1011),Me=n.n(Ie),Ue=n(1010),Ne=n.n(Ue),Te=n(1014),Ae=n.n(Te),De=r.a.createContext("chat"),Be=function(e){function t(){var e,n;Object(c.a)(this,t);for(var a=arguments.length,r=new Array(a),s=0;s1e4}(c[e])?r.a.createElement(Ne.a,{style:{color:"red"}}):r.a.createElement(Me.a,{style:{color:"green"}}),r.a.createElement(_.a,null,r.a.createElement(Y.a,null,r.a.createElement(ae.a,{diameter:40,seed:Object(ne.jsNumberForAddress)(c[e].pubkey)}))),r.a.createElement($.a,{primary:c[e].username,secondary:"Last seen on ".concat(new Date(c[e].lastSeen))}))})))),r.a.createElement(ye.a,{style:{flexBasis:"10%",paddingBottom:"0px"}},r.a.createElement(be.a,{variant:"h5",component:"h2"},l[n].username?"".concat(l[n].username):"#".concat(n)),r.a.createElement("div",{style:{display:"flex",alignItems:"center"}},r.a.createElement(Ce.a,{style:{color:we.a[500]},onClick:e.handleOpen}),r.a.createElement("div",{style:{color:we.a[500]}},o.length),r.a.createElement("span",{style:{marginLeft:"auto"}},r.a.createElement(Ae.a,{style:{color:we.a[500]},onClick:a})))))})}}]),t}(a.PureComponent),Fe=n(1016),Pe=n.n(Fe),Ke=n(1018),We=n.n(Ke),Je=n(1017),Re=n.n(Je),ze=n(1015),Le=n.n(ze),Ve=n(1019),He=n.n(Ve),_e=Le.a[500],qe=Pe.a[500],$e={height:"100vh",overflow:"scroll"},Ge=function(e){function t(){return Object(c.a)(this,t),Object(i.a)(this,Object(u.a)(t).apply(this,arguments))}return Object(m.a)(t,e),Object(o.a)(t,[{key:"componentDidMount",value:function(){this.heartBeat()}},{key:"componentWillUnmount",value:function(){clearInterval(this.heartBeatId)}},{key:"heartBeat",value:function(){var e=this;this.heartBeatId=setInterval(function(){e.forceUpdate()},5e3)}},{key:"render",value:function(){return r.a.createElement(De.Consumer,null,function(e){var t=e.channels,n=e.currentChannel,a=e.users,s=t[n].users,l=function(e,t){return Object.keys(e).sort(function(e,n){var a=(new Date).getTime(),r=a-t[e].lastSeen>1e4?1:-1,s=a-t[n].lastSeen>1e4?1:-1;return r>s?1:rn.username?1:0})}(s,a),c=(new Date).getTime();return r.a.createElement("div",{style:$e},r.a.createElement(T.a,{style:$e},l.map(function(e){return r.a.createElement(V.a,{button:!0,key:s[e].pubkey,style:{display:"flex",paddingLeft:"5px"}},r.a.createElement("div",{style:{display:"flex"}},function(e){return c-e.lastSeen>1e4}(s[e])?r.a.createElement(Re.a,{style:{color:qe,margin:"auto"}}):r.a.createElement(We.a,{style:{color:_e,margin:"auto"}}),r.a.createElement(_.a,null,r.a.createElement(Y.a,null,r.a.createElement(ae.a,{diameter:40,seed:Object(ne.jsNumberForAddress)(s[e].pubkey)})))),r.a.createElement(He.a,{title:"Last seen on ".concat(new Date(s[e].lastSeen)),placement:"top-start"},r.a.createElement($.a,{primary:s[e].username})))})))})}}]),t}(a.PureComponent),Ye=function(e){function t(){return Object(c.a)(this,t),Object(i.a)(this,Object(u.a)(t).apply(this,arguments))}return Object(m.a)(t,e),Object(o.a)(t,[{key:"whoIsTyping",value:function(){var e=this.props,t=e.users,n=e.usersTyping,a=e.currentChannel,r=(new Date).getTime(),s=n[a],l=[];for(var c in s){var o=s[c];t[c]&&(r-o>3e3||r1&&void 0!==arguments[1])||arguments[1],a=n.state,r=a.channels,s=a.currentChannel;n.setState({currentChannel:t?e:s,channels:Object(h.a)({},r,Object(y.a)({},e,{users:{}}))})},n.joinChannel=function(e){Wt.joinChat(e,function(){n.addConversationEntry(e),console.log("joined channel ".concat(e)),Wt.onMessage(e,function(t,a){var r=JSON.parse(a.payload)[1][0];if("content/json"===JSON.parse(a.payload)[1][1])return n.handleProtocolMessages(e,a);var s={username:a.username,message:r,pubkey:a.data.sig,data:a};n.setState(function(t){var n=t.messages[e];return{messages:Object(h.a)({},t.messages,Object(y.a)({},e,n?[].concat(Object(p.a)(n),[s]):[s]))}})}),n.pingChannel(e)})},n.createOnUserMessageHandler=function(){Wt.onUserMessage(function(e,t){if(t){var a=JSON.parse(t.payload)[1][0],r=t.data.sig,s={username:t.username,message:a,data:t};n.setState(function(e){var n=e.messages[r];return{messages:Object(h.a)({},e.messages,Object(y.a)({},r,n?[].concat(Object(p.a)(n),[s]):[s])),channels:Object(h.a)({},e.channels,Object(y.a)({},r,{username:t.username,users:{}}))}})}})},n.sendMessage=function(e){var t=n.state.currentChannel;Wt.sendMessage(t,e)},n.addUserToChannel=function(e,t){var a=n.state.channels,r=Object(h.a)({},a[e]);r.users[t.pubkey]=t,n.setState({channels:Object(h.a)({},a,Object(y.a)({},e,r))})},n.getChannel=function(e){return n.state.channels.find(function(t){return t.name===e})},n.getMyIdentities=Object(g.a)(f.a.mark(function e(){var t,a;return f.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Wt.getPublicKey();case 2:return t=e.sent,e.next=5,Wt.getUserName(t);case 5:a=e.sent,n.setState({identity:{publicKey:t,username:a},loading:!1});case 7:case"end":return e.stop()}},e,this)})),n.handleProtocolMessages=function(e,t){var a=n.state.identity.publicKey,r=JSON.parse(JSON.parse(t.payload)[1][0]),s=t.data.sig;if("ping"===r.type){var l=n.addOrUpdateUserKey(s,t.username);n.addUserToChannel(e,l)}"typing"===r.type&&s!==a&&n.setState(function(t){return{usersTyping:Object(h.a)({},t.usersTyping,Object(y.a)({},e,Object(y.a)({},s,(new Date).getTime())))}})},n.addOrUpdateUserKey=function(e,t){var a=new jt(e,t);return a.lastSeen=(new Date).getTime(),a.online=!0,n.setState(function(t){return{users:Object(h.a)({},t.users,Object(y.a)({},e,a))}}),a},n.typingEvent=function(){var e=n.state.currentChannel,t=(new Date).getTime();Ft[e]||(Ft[e]={lastEvent:0}),(0===Ft[e].lastEvent||t-Ft[e].lastEvent>3e3)&&(Ft[e].lastEvent=t,Wt.sendJsonMessage(e,{type:"typing"}))},n}return Object(m.a)(t,e),Object(o.a)(t,[{key:"componentDidMount",value:function(){this.connectMurMur(),this.ipfs=new O.a}},{key:"componentWillUnmount",value:function(){clearInterval(this.pingInterval),this.ipfs.shutdown()}},{key:"connectMurMur",value:function(){this.server=new j.a({protocols:["libp2p"],signalServers:["/dns4/cryptolife.status.im/tcp/443/wss/p2p-webrtc-star"],bootnodes:[]}),this.server.start()}},{key:"render",value:function(){var e=this.state,t=e.messages,n=e.channels,s=e.currentChannel,l=e.users,c=e.usersTyping,o=e.identity,i=e.loading,u=e.keyStore,m=n[s].users,p=this.setActiveChannel,h=this.setupKeyringController,d=this.wipeKeyStore,f=this.connect,g=this.ipfs,y={setActiveChannel:p,currentChannel:s,users:l,channels:n};return r.a.createElement(De.Provider,{value:y},i?r.a.createElement(At,null):r.a.createElement(a.Fragment,null,o.publicKey?r.a.createElement("div",{style:{width:"100%",flexWrap:"nowrap",display:"flex",boxSizing:"border-box"}},r.a.createElement(S.a,{item:!0,xs:2},!Object(k.isNil)(n)&&r.a.createElement(gt,{channels:n,joinConversation:this.joinConversation})),r.a.createElement(S.a,{item:!0,xs:10},r.a.createElement(tt,{messages:t,sendMessage:this.sendMessage,currentChannel:s,usersTyping:c,typingEvent:this.typingEvent,channelUsers:m,allUsers:l,ipfs:g}))):r.a.createElement(wt,{connect:f,setupKeyringController:h,keyStore:u,wipeKeyStore:d})))}}]),t}(a.PureComponent),Rt=(n(2697),function(e){function t(){return Object(c.a)(this,t),Object(i.a)(this,Object(u.a)(t).apply(this,arguments))}return Object(m.a)(t,e),Object(o.a)(t,[{key:"render",value:function(){return r.a.createElement(Jt,null)}}]),t}(a.Component));Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));l.a.render(r.a.createElement(Rt,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(e){e.unregister()})},663:function(e,t){}},[[1027,2,1]]]);
//# sourceMappingURL=main.6e52eaaa.chunk.js.map