(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{1471:function(e,t,a){e.exports={pageWidth:"undefined",phonePortrait:"screen and (max-width: 500px) and (orientation: portrait)",movingDuration:"0.6s",container:"_30ngWC_sfJyBrTUwWqOgn-",header:"_1JYOuUOjUY5rr7GP4J4xiE",headerContainer:"_2aSS0vwTeMJgu8CjbziB8g",headerBrand:"_1xB8qg1L8UlsfNfTzPld4K",brandTextTitle:"_2deoyYkNEAKmGQoOyiWmag",brandTextSubtitle:"PSDpzNsonSEkLoe_Zjxeb",headerRight:"ePRrXe5FNSHQUjeu3jest",createBtn:"_3PE4ZwBZSEThw1_B7673VP",createText:"_3tKSeWHQICFNLmV9QkMIuU",profile:"_292A84kvcqTmIcI-JYmVgu",profileIcon:"_1vtV6jird5w5cLdLNWjtNz",body:"gPl6Dyx8OtEpZqKGynuvf",darkMask:"_2_2FHMMSML748K-VL57QT5",fadein:"_3XN4je6uFuDjELu0Iv2MDW",text:"_20jM1ngV778rQxV5MAN0AW",congratsImg:"_3ueu2-hK-QYA0MQKwqpmXP",boxContainer:"XaWFY834m4IHaLNlbIy_r",chestImgContainer:"_1d3QrHdiXW94uZcDesu3J9",editIconContainer:"_1666BXxFNlBp8ohdmp1Avn",rotating:"_26sJQnuRWnVcyLEDb5UokN",editIcon:"_3Kl_RjkA1q70WeHg3fwcDf",mobileDisplay:"_11vhkkQXayLH1UuzpIwdE4",mobileText:"fmWSrprh4mF-jeaen1J1s",activateBtn:"_2PqB0dRu1Bwxbr7QNGzBmi",inActiveBtn:"V6MCDwcwwl2vTXtfTXvyh",submitted:"H413VUC6_EnW9GrWukdbM",expireText:"dj7TGavCY_gsW-ngmZ1UP",moving:"_9Ezg11E3bW5UM7QCs0SMz",dropdownContainer:"_1bNO3cb4krubNvy7uYM4ZF",fadeinTranslate:"_3j7qchPBuLo2LUHhY-E3Yc",dropdownItem:"_3I4XuL2IqBtb7ZpBIbPBOq",dropdownEditIcon:"_17DFE9BaiSnZTw8F7cy-_k",dropdownEditText:"_2JMYvAKpChlvCdQg_FMx2t",instruction:"_1yJGdYbV0pXtOp1S8cB_wj",bar:"_2lKCbaGIjG96SD8G0gv7T_"}},1611:function(e,t,a){"use strict";a.r(t),a.d(t,"default",(function(){return x}));var n=a(1),i=a.n(n),s=a(23),r=a(2),o=a(112),c=a(22),d=a(7),l=a(11),m=a(504),p=a(52),h=a(104),u=a(19),v=a(73),E=a(252),b=a(46),g=a(61),w=a(24),C=a(51),N=a(918),I=a(205);const _=a(1471);function x(){const{params:e}=Object(v.j)(),t=Object(E.b)(),a=Object(b.b)(g.c),s=Object(b.b)(g.a),r=Object(v.g)(),[o,c]=Object(n.useState)(!1),[d,m]=Object(n.useState)(!1),p=Object(n.useRef)(!1);return i.a.createElement(i.a.Fragment,null,i.a.createElement(y,{website:t,avatar:a.data?a.data.avatar_hash:"",userId:a.id,type:+e.type,code:e.code,applyFormSubmitted:o,onLogin:s.showLogin,enterEditStart:()=>{a.isLogin?(a.hasCreateGamePermission&&r.push(l.a.meContent),p.current=!1,m(!0)):s.showLogin()},showApplyForm:()=>{p.current=!0,m(!0)},updateUserData:e=>{a.update().then(e).catch(e=>t.logger.error(e.toString()))},setPage:e=>r.push(e)}),d&&i.a.createElement(N.a,{onClose:()=>m(!1),onConfirm:(e,n,i,s)=>{return r=this,o=null,d=function*(){if(!a.data)throw new Error("User is not logged in when submit application form");yield t.rpc.invitation.api.addApplication({phone:e,description:n,name:a.data.displayname,topic:i,answer:s}),p.current&&(c(!0),p.current=!1),m(!1)},new Promise((e,t)=>{var a=e=>{try{i(d.next(e))}catch(e){t(e)}},n=e=>{try{i(d.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,n);i((d=d.apply(r,o)).next())});var r,o,d}}))}class y extends i.a.Component{constructor(){super(...arguments),this.chestContainerEl=null,this.editIconContainerEl=null,this.dropdownEditIconEl=null,this.state={code:{status:s.a.InvitationCodeStatus.ready,user_name:"",expire_at:null},isValidCode:!1,status:0,sentApplyRequest:!1,codeActivated:!1,editIconStyle:{}},this.moveIcon=()=>{if(!this.editIconContainerEl||!this.dropdownEditIconEl||!this.chestContainerEl)return;const e=this.dropdownEditIconEl.getBoundingClientRect(),t=this.editIconContainerEl.getBoundingClientRect(),a=`\n @keyframes redeem-page-moving {\n to {\n position: fixed;\n left: ${e.left-t.width/4}px;\n top: ${e.top-t.height/4}px;\n transform: scale(0.5);\n cursor: pointer;\n }\n }\n `,n=document.createElement("style");n.type="text/css",n.innerHTML=a;(document.head||document.getElementsByTagName("head")[0]).appendChild(n);const i=this.chestContainerEl.getBoundingClientRect();this.setState({editIconStyle:{position:"fixed",top:i.top+(t.height-i.height)/2+"px",left:i.left+"px",animationName:"redeem-page-moving"}})},this.renderBtn=e=>this.state.codeActivated?i.a.createElement("div",{className:_.submitted},Object(r.e)("activated")):this.state.isValidCode?i.a.createElement("div",{className:e?_.inActiveBtn:_.activateBtn,onClick:this.useCode},i.a.createElement("div",null,Object(r.e)("activateNow"))):this.props.applyFormSubmitted?i.a.createElement("div",{className:_.submitted},Object(r.e)("submitted")):i.a.createElement("div",{className:_.activateBtn,onClick:()=>this.props.showApplyForm(()=>{this.setState({sentApplyRequest:!0})})},i.a.createElement("div",null,Object(r.e)("applyCode"))),this.fetchCode=()=>{this.props.website.rpc.invitation.api.getCode(this.props.code).then(e=>{this.setState({code:e,isValidCode:e.status===s.a.InvitationCodeStatus.ready})}).catch(()=>{})},this.useCode=()=>{1!==this.state.status&&(this.props.userId?this.props.website.rpc.invitation.api.useCode(this.props.code).then(()=>this.props.updateUserData(()=>this.setState({status:1,codeActivated:!0},()=>Object(m.a)(this.moveIcon,600)))).catch(e=>{u.a.error(Object(r.e)("activeFailed")),this.props.website.logger.error(e.toString())}):this.props.onLogin())}}componentDidMount(){this.fetchCode()}render(){const e=1===this.state.status;return i.a.createElement("div",{className:_.container},i.a.createElement("div",{className:_.header},i.a.createElement("div",{className:_.headerContainer},i.a.createElement("div",{className:_.headerBrand,onClick:()=>this.props.setPage(l.a.home)},i.a.createElement(I.a,null)),i.a.createElement("div",{className:_.headerRight},i.a.createElement("div",{className:_.createBtn,style:{display:e?"block":"none"}},i.a.createElement("div",{className:_.createText},Object(r.e)("create")),i.a.createElement("div",{className:_.dropdownContainer},i.a.createElement("div",{className:_.dropdownItem,onClick:this.props.enterEditStart},i.a.createElement("div",{className:_.dropdownEditIcon,ref:e=>this.dropdownEditIconEl=e}),i.a.createElement("div",{className:_.dropdownEditText},Object(r.e)("gameEditor"))))),i.a.createElement("div",{className:_.profile,style:{backgroundImage:`url(${this.props.avatar})`}},!this.props.avatar&&i.a.createElement(w.a,{icon:"profile",size:24,className:_.profileIcon}))))),i.a.createElement("div",{className:_.body},i.a.createElement(C.c,{hash:h.a.redeem_bg,width:window.innerWidth,height:window.innerHeight}),e&&i.a.createElement("div",{className:_.darkMask}),this.state.isValidCode&&i.a.createElement("div",{className:_.text},Object(r.e)("congratsYouGet")),i.a.createElement("div",{className:_.congratsImg},i.a.createElement(C.c,{height:128,width:464,hash:h.a.redeem_title})),this.state.code.user_name&&i.a.createElement("div",{className:_.text},Object(r.e)("isActivatedBy",{userName:this.state.code.user_name})),i.a.createElement("div",{className:_.boxContainer},Object(d.f)()&&this.state.codeActivated&&i.a.createElement("div",{className:_.instruction},i.a.createElement("div",{className:_.bar},i.a.createElement("div",{className:_.createBtn},i.a.createElement("div",{className:_.createText},Object(r.e)("create")),i.a.createElement("div",{className:_.dropdownContainer},i.a.createElement("div",{className:_.dropdownItem},i.a.createElement("div",{className:_.dropdownEditIcon},i.a.createElement(w.a,{icon:"earth",size:56,className:_.editIcon})),i.a.createElement("div",{className:_.dropdownEditText},Object(r.e)("gameEditor")))))))||i.a.createElement("div",{className:_.chestImgContainer,ref:e=>this.chestContainerEl=e},i.a.createElement(C.c,{width:173,height:240,hash:h.a.chest_opened}),i.a.createElement("div",{className:Object(c.a)(_.editIconContainer,e?_.moving:""),ref:e=>this.editIconContainerEl=e,onClick:e&&this.props.enterEditStart||void 0,style:this.state.editIconStyle},i.a.createElement("img",{src:Object(p.a)(h.a.burst)}),i.a.createElement(w.a,{icon:"game",size:56,className:_.editIcon}))),this.renderBtn(e),Object(d.f)()&&this.state.codeActivated&&i.a.createElement("div",{className:_.mobileDisplay},i.a.createElement("div",{className:_.mobileText},Object(r.e)("openAndRedeemOnPC"))),(this.state.code.status===s.a.InvitationCodeStatus.ready||this.state.code.status===s.a.InvitationCodeStatus.expired)&&this.state.code.expire_at&&i.a.createElement("div",{className:_.expireText},Object(r.e)(this.state.code.status!==s.a.InvitationCodeStatus.expired?"activeBefore":"activeExpired",{expire:Object(o.b)(this.state.code.expire_at)})))))}}}}]);