1(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{1210:function(e,t,o){var content=o(1341);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(79).default)("20b84613",content,!0,{sourceMap:!1})},1340:function(e,t,o){"use strict";o(1210)},1341:function(e,t,o){var r=o(78)(!1);r.push([e.i,'.signup-page[data-v-f7970056]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:#080612}.signup-card[data-v-f7970056]{width:100%;max-width:480px;background:#0d0b16;border:1px solid #1e1928;border-radius:16px;padding:2.5rem 2rem}.signup-logo[data-v-f7970056]{text-align:center;margin-bottom:1.75rem}.signup-title[data-v-f7970056]{font-size:1.5rem;font-weight:800;color:#e8e0f5;margin-bottom:.5rem;text-align:center}.signup-subtitle[data-v-f7970056]{font-size:.92rem;color:#7a6e96;text-align:center;margin-bottom:2rem;line-height:1.5}.signup-field[data-v-f7970056]{margin-bottom:1.25rem}.signup-field label[data-v-f7970056]{display:block;font-size:.82rem;font-weight:700;color:#9d8fc0;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em}.hp-trap[data-v-f7970056]{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.username-wrap[data-v-f7970056]{position:relative;display:flex;align-items:center}.username-at[data-v-f7970056]{position:absolute;left:12px;color:#5a4e76;font-weight:700;pointer-events:none}.signup-input[data-v-f7970056]{width:100%;background:#130f1e;border:1px solid #2a2040;border-radius:8px;color:#e8e0f5;padding:.65rem 2.5rem .65rem 1rem;font-size:.95rem;outline:none;transition:border-color .2s}.signup-input[data-v-f7970056]:focus{border-color:#f60c84}.signup-field:first-of-type .signup-input[data-v-f7970056]{padding-left:1.75rem}.username-status[data-v-f7970056]{position:absolute;right:10px;font-size:1rem}.username-status.ok[data-v-f7970056]{color:#26a290}.field-error[data-v-f7970056],.username-status.err[data-v-f7970056]{color:#f60c84}.field-error[data-v-f7970056]{font-size:.8rem;margin-top:.35rem}.field-hint[data-v-f7970056]{font-size:.78rem;color:#5a4e76;margin-top:.35rem}.field-hint.weak[data-v-f7970056]{color:#c0392b}.field-hint.fair[data-v-f7970056]{color:#e67e22}.field-hint.strong[data-v-f7970056]{color:#26a290}.pw-strength-bar[data-v-f7970056]{height:3px;background:#1e1928;border-radius:2px;margin-top:.5rem;overflow:hidden}.pw-strength-fill[data-v-f7970056]{height:100%;border-radius:2px;transition:width .3s,background .3s}.pw-strength-fill.weak[data-v-f7970056]{background:#c0392b}.pw-strength-fill.fair[data-v-f7970056]{background:#e67e22}.pw-strength-fill.strong[data-v-f7970056]{background:#26a290}.btn-signup-primary[data-v-f7970056]{width:100%;background:linear-gradient(135deg,#f60c84,#26a290);color:#fff;border:none;border-radius:8px;padding:.75rem 1rem;font-size:1rem;font-weight:700;cursor:pointer;margin-top:1.25rem;transition:opacity .2s;display:block;text-align:center;text-decoration:none}.btn-signup-primary[data-v-f7970056]:disabled{opacity:.4;cursor:not-allowed}.btn-signup-primary[data-v-f7970056]:hover:not(:disabled){opacity:.9}.signup-login-link[data-v-f7970056]{text-align:center;margin-top:1.25rem;font-size:.85rem;color:#5a4e76}.signup-login-link a[data-v-f7970056]{color:#f60c84;text-decoration:none}.signup-login-link a[data-v-f7970056]:hover{text-decoration:underline}.keys-warning[data-v-f7970056]{background:#1a0f1a;border:1px solid #4a1a3a;border-radius:8px;padding:.75rem 1rem;font-size:.85rem;color:#e0a0c0;margin-bottom:1.5rem;text-align:center}.key-block[data-v-f7970056]{background:#0a0814;border:1px solid #1e1928;border-radius:8px;padding:.85rem 1rem;margin-bottom:.75rem}.key-label[data-v-f7970056]{font-size:.8rem;font-weight:700;color:#9d8fc0;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.04em}.key-badge[data-v-f7970056]{background:#1e1928;color:#5a4e76;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:500;text-transform:none;letter-spacing:0;margin-left:.4rem;vertical-align:middle}.key-value-row[data-v-f7970056]{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem}.key-value[data-v-f7970056]{flex:1;font-family:"Courier New",monospace;font-size:.72rem;color:#c4b8e0;word-break:break-all;background:none;border:none;padding:0}.btn-copy[data-v-f7970056]{flex-shrink:0;background:#1e1928;border:1px solid #2a2040;border-radius:6px;color:#9d8fc0;font-size:.75rem;padding:.25rem .6rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-copy[data-v-f7970056]:hover{background:#2a2040;color:#e8e0f5}.btn-show-all[data-v-f7970056]{background:none;border:none;color:#5a4e76;font-size:.82rem;cursor:pointer;padding:0;margin-bottom:1.25rem;text-decoration:underline}.btn-show-all[data-v-f7970056]:hover{color:#9d8fc0}.key-confirm-row[data-v-f7970056]{margin:1.25rem 0 0}.key-confirm-label[data-v-f7970056]{display:flex;align-items:center;grid-gap:.6rem;gap:.6rem;font-size:.9rem;color:#c4b8e0;cursor:pointer}.key-confirm-check[data-v-f7970056]{width:16px;height:16px;accent-color:#f60c84;flex-shrink:0;cursor:pointer}.create-error[data-v-f7970056]{margin-top:.75rem;color:#f60c84}.btn-back[data-v-f7970056],.create-error[data-v-f7970056]{font-size:.85rem;text-align:center}.btn-back[data-v-f7970056]{background:none;border:none;color:#5a4e76;cursor:pointer;margin-top:1rem;display:block;width:100%}.btn-back[data-v-f7970056]:hover{color:#9d8fc0}.success-panel[data-v-f7970056]{text-align:center}.success-icon[data-v-f7970056]{font-size:3rem;margin-bottom:1rem}.success-login-box[data-v-f7970056]{background:#0a0814;border:1px solid #1e1928;border-radius:10px;padding:1.25rem 1.5rem;text-align:left;margin:1.5rem 0;font-size:.9rem;color:#9d8fc0;line-height:1.6}.success-login-box p[data-v-f7970056]{margin-bottom:.75rem}.success-login-box p[data-v-f7970056]:last-child{margin-bottom:0}.success-login-box strong[data-v-f7970056]{color:#c4b8e0}.success-login-box a[data-v-f7970056]{color:#f60c84;text-decoration:none}.success-login-box a[data-v-f7970056]:hover{text-decoration:underline}.success-login-title[data-v-f7970056]{font-size:.8rem;font-weight:700;color:#7a6e96;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.login-option[data-v-f7970056]{margin-bottom:.75rem}.login-option p[data-v-f7970056]{margin-bottom:0;font-size:.88rem;color:#9d8fc0;line-height:1.55}.login-option strong[data-v-f7970056]{color:#c4b8e0}.login-option-name[data-v-f7970056]{font-size:.85rem;font-weight:700;color:#c4b8e0;margin-bottom:.35rem}.login-option-divider[data-v-f7970056]{text-align:center;color:#2a2040;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:.75rem 0;position:relative}.login-option-divider[data-v-f7970056]:after,.login-option-divider[data-v-f7970056]:before{content:"";position:absolute;top:50%;width:42%;height:1px;background:#1e1928}.login-option-divider[data-v-f7970056]:before{left:0}.login-option-divider[data-v-f7970056]:after{right:0}.keychain-links[data-v-f7970056]{display:flex;flex-wrap:wrap;grid-gap:.4rem;gap:.4rem;margin-top:.6rem}.keychain-link[data-v-f7970056]{background:#1e1928;border:1px solid #2a2040;border-radius:6px;color:#9d8fc0;font-size:.78rem;padding:.25rem .6rem;text-decoration:none;transition:all .2s}.keychain-link[data-v-f7970056]:hover{background:#2a2040;color:#e8e0f5;text-decoration:none}.key-actions[data-v-f7970056]{display:flex;grid-gap:.5rem;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.btn-key-action[data-v-f7970056]{display:flex;align-items:center;flex:1;justify-content:center;
1background:#130f1e;border:1px solid #2a2040;border-radius:8px;color:#9d8fc0;font-size:.82rem;font-weight:600;padding:.55rem .75rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-key-action[data-v-f7970056]:hover{border-color:#f60c84;color:#f60c84}.btn-key-action.active[data-v-f7970056]{border-color:#26a290;color:#26a290}.smartlock-setup[data-v-f7970056]{background:#0a0814;border:1px solid #1e1928;border-radius:10px;padding:1.25rem 1rem;margin-bottom:1rem;text-align:center}.smartlock-setup-title[data-v-f7970056]{font-size:.88rem;font-weight:700;color:#c4b8e0;margin-bottom:.5rem}.smartlock-setup-desc[data-v-f7970056]{font-size:.82rem;color:#7a6e96;line-height:1.5;margin-bottom:1rem}.smartlock-pin-label[data-v-f7970056]{font-size:.78rem;font-weight:700;color:#9d8fc0;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem}.smartlock-pin-wrap[data-v-f7970056]{display:flex;justify-content:center;margin-bottom:.75rem}.btn-smartlock-save[data-v-f7970056]{width:100%;background:linear-gradient(135deg,#f60c84,#26a290);color:#fff;border:none;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;font-weight:700;cursor:pointer;margin-top:.5rem;transition:opacity .2s}.btn-smartlock-save[data-v-f7970056]:disabled{opacity:.4;cursor:not-allowed}.btn-smartlock-save[data-v-f7970056]:hover:not(:disabled){opacity:.9}.smartlock-done[data-v-f7970056]{font-weight:600;text-align:center;margin-bottom:1rem}.smartlock-done[data-v-f7970056],.smartlock-ready-badge[data-v-f7970056]{background:rgba(38,162,144,.1);border:1px solid rgba(38,162,144,.3);border-radius:8px;color:#26a290;font-size:.85rem;padding:.65rem 1rem}.keys-title-row[data-v-f7970056],.smartlock-ready-badge[data-v-f7970056]{margin-bottom:.5rem}.keys-title-row[data-v-f7970056]{display:flex;align-items:center;justify-content:space-between}.btn-key-info[data-v-f7970056]{background:#1e1928;border:1px solid #2a2040;border-radius:20px;color:#7a6e96;font-size:.78rem;padding:.25rem .75rem;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}.btn-key-info[data-v-f7970056]:hover{background:#2a2040;color:#c4b8e0}.key-info-overlay[data-v-f7970056]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(8,6,18,.85);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.key-info-panel[data-v-f7970056]{background:#0d0b16;border:1px solid #2a2040;border-radius:16px;padding:2rem 1.75rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;position:relative}.key-info-close[data-v-f7970056]{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#5a4e76;font-size:1rem;cursor:pointer;padding:.25rem .5rem}.key-info-close[data-v-f7970056]:hover{color:#c4b8e0}.key-info-title[data-v-f7970056]{font-size:1.3rem;font-weight:800;color:#e8e0f5;margin-bottom:.75rem}.key-info-intro[data-v-f7970056]{font-size:.9rem;color:#9d8fc0;line-height:1.6;margin-bottom:1.5rem}.key-info-item[data-v-f7970056]{margin-bottom:1.25rem}.key-info-item p[data-v-f7970056]{font-size:.87rem;color:#7a6e96;line-height:1.6;margin:0}.key-info-name[data-v-f7970056]{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;padding:.15rem .5rem;border-radius:4px;display:inline-block}.key-info-name.posting[data-v-f7970056]{background:rgba(38,162,144,.15);color:#26a290}.key-info-name.active[data-v-f7970056]{background:rgba(246,12,132,.15);color:#f60c84}.key-info-name.owner[data-v-f7970056]{background:rgba(180,120,60,.15);color:#c8963c}.key-info-name.memo[data-v-f7970056]{background:rgba(100,100,200,.15);color:#88c}.key-info-tip[data-v-f7970056]{background:#0a0814;border:1px solid #1e1928;border-radius:8px;padding:.85rem 1rem;font-size:.85rem;color:#7a6e96;line-height:1.55;margin-top:.5rem}.success-smartlock-done[data-v-f7970056]{display:flex;align-items:center;grid-gap:.85rem;gap:.85rem;background:rgba(38,162,144,.1);border:1px solid rgba(38,162,144,.3);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem;text-align:left;color:#26a290}.ssl-done-icon[data-v-f7970056]{flex-shrink:0}.ssl-done-title[data-v-f7970056]{font-size:.9rem;font-weight:700;margin-bottom:.2rem}.ssl-done-desc[data-v-f7970056]{font-size:.82rem;color:#7a9e96;line-height:1.5}.ssl-done-desc strong[data-v-f7970056]{color:#26a290}.success-option[data-v-f7970056]{margin-bottom:.5rem}.success-option-header[data-v-f7970056]{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;margin-bottom:.4rem}.success-option-name[data-v-f7970056]{font-size:.88rem;font-weight:700;color:#c4b8e0}.success-option-badge[data-v-f7970056]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .45rem;border-radius:4px;background:rgba(246,12,132,.15);color:#f60c84}.success-option-badge.recommended[data-v-f7970056]{background:rgba(38,162,144,.15);color:#26a290}.success-option-body[data-v-f7970056]{font-size:.85rem;color:#7a6e96;line-height:1.6}.success-option-body strong[data-v-f7970056]{color:#c4b8e0}.success-option-body p[data-v-f7970056]{margin-bottom:.5rem}.keychain-steps[data-v-f7970056]{padding-left:1.25rem;margin:.6rem 0;font-size:.84rem;color:#7a6e96}.keychain-steps li[data-v-f7970056]{margin-bottom:.35rem}.keychain-steps strong[data-v-f7970056]{color:#c4b8e0}.success-advanced-toggle[data-v-f7970056]{background:none;border:none;color:#5a4e76;font-size:.82rem;cursor:pointer;padding:0;display:flex;align-items:center;grid-gap:.35rem;gap:.35rem;transition:color .15s}.success-advanced-toggle[data-v-f7970056]:hover{color:#9d8fc0}.success-advanced-body[data-v-f7970056]{margin-top:.85rem;font-size:.84rem;color:#7a6e96;line-height:1.6}.success-advanced-body p[data-v-f7970056]{margin-bottom:.75rem}.adv-key-row[data-v-f7970056]{display:flex;align-items:flex-start;grid-gap:.6rem;gap:.6rem;margin-bottom:.6rem}.adv-key-name[data-v-f7970056]{flex-shrink:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:4px;display:inline-block;margin-top:.1rem}.adv-key-name.posting[data-v-f7970056]{background:rgba(38,162,144,.15);color:#26a290}.adv-key-name.active[data-v-f7970056]{background:rgba(246,12,132,.15);color:#f60c84}.adv-key-name.owner[data-v-f7970056]{background:rgba(180,120,60,.15);color:#c8963c}.adv-key-name.memo[data-v-f7970056]{background:rgba(100,100,200,.15);color:#88c}.adv-key-desc[data-v-f7970056]{font-size:.82rem;color:#7a6e96;line-height:1.5}.adv-note[data-v-f7970056]{font-size:.8rem;color:#5a4e76;border-top:1px solid #1e1928;padding-top:.75rem;margin-top:.25rem}.already-in-panel[data-v-f7970056]{text-align:center}.already-in-icon[data-v-f7970056]{font-size:3rem;margin-bottom:1rem}',""]),e.exports=r},1487:function(e,t,o){"use strict";o.r(t);var r=o(13),n=(o(24),o(34),o(27),o(30),o(39),o(897),o(277),o(48),o(218)),c={name:"SignupPage",mounted(){if(this.$config.RECAPTCHA_SITE_KEY){var script=document.createElement("script");script.src="https://www.google.com/recaptcha/api.js?render=".concat(this.$config.RECAPTCHA_SITE_KEY),script.async=!0,document.head.appendChild(script)}},data:()=>({step:1,username:"",password:"",passwordConfirm:"",hpTrap:"",usernameChecking:!1,usernameOk:!1,usernameError:"",usernameTimer:null,keys:{owner:{},active:{},posting:{},memo:{}},showAllKeys:!1,showKeyInfo:!1,keysSaved:!1,copied:"",creating:!1,createError:"",showSmartLockSetup:!1,smartLockDone:!1,slPin:"",slPinConfirm:"",slSaving:!1,slError:"",showAdvanced:!1}),computed:{passwordsMatch(){return this.password===this.passwordConfirm},strength(){var p=this.password;if(!p)return 0;var s=0;return p.length>=8&&s++,p.length>=12&&s++,/[A-Z]/.test(p)&&s++,/[0-9]/.test(p)&&s++,/[^A-Za-z0-9]/.test(p)&&s++,s},strengthPct(){return this.strength/5*100}
1,strengthClass(){return this.strength<=1?"weak":this.strength<=3?"fair":"strong"},strengthLabel(){return this.password?this.strength<=1?"Weak: add length, numbers, and symbols":this.strength<=3?"Fair: a bit stronger would be better":"Strong":""},canProceed(){return this.usernameOk&&this.password.length>=8&&this.passwordsMatch&&!this.usernameChecking}},methods:{onUsernameInput(){var e=this;this.usernameOk=!1,this.usernameError="",clearTimeout(this.usernameTimer);var t=this.username.toLowerCase().replace(/[^a-z0-9-]/g,"");this.username=t,t&&(t.length<3?this.usernameError="Too short: minimum 3 characters":t.length>16?this.usernameError="Too long: maximum 16 characters":/^[a-z]/.test(t)?(this.usernameChecking=!0,this.usernameTimer=setTimeout(Object(r.a)((function*(){try{var o=yield e.$axios.$get("/api/v1/signup/check/".concat(t));o.available?e.usernameOk=!0:e.usernameError="invalid"===o.reason?"Invalid username format":"That username is already taken"}catch(t){e.usernameError="Could not check availability, try again"}finally{e.usernameChecking=!1}})),600)):this.usernameError="Must start with a letter")},generateKeys(){var{PrivateKey:e}=this.$chain;for(var t of(this.keys={},["owner","active","posting","memo"])){var o=e.fromLogin(this.username,this.password,t);this.keys[t]={private:o.toString(),public:o.createPublic().toString()}}this.step=2},copy(text,e){var t=this;return Object(r.a)((function*(){try{yield navigator.clipboard.writeText(text),t.copied=e,setTimeout((()=>{t.copied=""}),2e3)}catch(r){var o=document.createElement("textarea");o.value=text,document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o),t.copied=e,setTimeout((()=>{t.copied=""}),2e3)}}))()},downloadKeys(){var e=["BlockTunes / Hive Account Keys","Username: @".concat(this.username),"Generated: ".concat((new Date).toISOString()),"","KEEP THESE SAFE. Anyone with these keys controls your account.","","Posting Key (daily use: login, voting, posting)",this.keys.posting.private,"","Active Key (transfers and staking)",this.keys.active.private,"","Owner Key (account recovery only: keep offline)",this.keys.owner.private,"","Memo Key (encrypted messages)",this.keys.memo.private],t=new Blob([e.join("\n")],{type:"text/plain"}),o=URL.createObjectURL(t),a=document.createElement("a");a.href=o,a.download="blocktunes-keys-".concat(this.username,".txt"),a.click(),URL.revokeObjectURL(o)},saveSmartLock(){var e=this;return Object(r.a)((function*(){if(e.slError="",e.slPin===e.slPinConfirm){e.slSaving=!0;try{var[t,o,r,c]=yield Promise.all([Object(n.b)(e.keys.posting.private,e.slPin),Object(n.b)(e.keys.active.private,e.slPin),Object(n.b)(e.keys.owner.private,e.slPin),Object(n.b)(e.keys.memo.private,e.slPin)]),l=JSON.parse(localStorage.getItem("smartlock-accounts")||"{}");l[e.username]={posting:t,active:o,owner:r,memo:c},localStorage.setItem("smartlock-accounts",JSON.stringify(l)),e.smartLockDone=!0,e.showSmartLockSetup=!1,e.slPin="",e.slPinConfirm=""}catch(t){e.slError="Something went wrong encrypting your key. Please try again."}finally{e.slSaving=!1}}else e.slError="PINs do not match"}))()},createAccount(){var e=this;return Object(r.a)((function*(){e.creating=!0,e.createError="";try{var t={owner:e.keys.owner.public,active:e.keys.active.public,posting:e.keys.posting.public,memo:e.keys.memo.public},o="",r=e.$config.RECAPTCHA_SITE_KEY;if(r&&window.grecaptcha)try{o=yield new Promise(((e,t)=>{window.grecaptcha.ready((()=>{window.grecaptcha.execute(r,{action:"signup"}).then(e).catch(t)}))}))}catch(e){}yield e.$axios.$post("/api/v1/signup",{username:e.username,publicKeys:t,recaptchaToken:o,company:e.hpTrap}),e.step=3}catch(t){var n,data=null===(n=t.response)||void 0===n?void 0:n.data;null!=data&&data.fallback?e.createError="".concat(data.error,'. <a href="').concat(data.fallback,'" target="_blank" rel="noopener">Create your account at HiveOnboard instead</a>'):e.createError=(null==data?void 0:data.error)||"Something went wrong, please try again"}finally{e.creating=!1}}))()}}},l=(o(1340),o(58)),component=Object(l.a)(c,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"signup-page"},[o("div",{staticClass:"signup-card"},[o("div",{staticClass:"signup-logo"},[o("nuxt-link",{attrs:{to:"/"}},[o("img",{attrs:{src:"/img/logo-wide.png",alt:"BlockTunes",height:"32"}})])],1),e._v(" "),e.$auth.loggedIn?o("div",{staticClass:"already-in-panel"},[o("div",{staticClass:"already-in-icon"},[e._v("ðµ")]),e._v(" "),o("h1",{staticClass:"signup-title"},[e._v("You're already in, @"+e._s(e.$auth.user.username))]),e._v(" "),o("p",{staticClass:"signup-subtitle"},[e._v("\n Know any artists who should be on BlockTunes? Refer them, and earn MUSIC token rewards from every stream they generate. That's the A&R program.\n ")]),e._v(" "),o("nuxt-link",{staticClass:"btn-signup-primary",attrs:{to:{name:"affiliate"}}},[e._v("\n Go to your A&R Dashboard\n ")]),e._v(" "),o("nuxt-link",{staticClass:"btn-back d-block mt-3",attrs:{to:{name:"listen"}}}
1,[e._v("\n â Back to BlockTunes\n ")])],1):e._e(),e._v(" "),e.$auth.loggedIn||e.$config.SIGNUPS_ENABLED?e._e():o("div",{staticClass:"already-in-panel"},[o("div",{staticClass:"already-in-icon"},[e._v("ðµ")]),e._v(" "),o("h1",{staticClass:"signup-title"},[e._v("Signups are temporarily paused")]),e._v(" "),o("p",{staticClass:"signup-subtitle"},[e._v("\n We're working on improvements to protect against account creation abuse. Check back soon, or if you already have a Hive account, log in below.\n ")]),e._v(" "),o("button",{staticClass:"btn-signup-primary",on:{click:function(t){return e.$bvModal.show("loginModal")}}},[e._v("\n Log in\n ")])]),e._v(" "),!e.$auth.loggedIn&&e.$config.SIGNUPS_ENABLED&&1===e.step?o("div",[o("h1",{staticClass:"signup-title"},[e._v("Create Your Account")]),e._v(" "),o("p",{staticClass:"signup-subtitle"},[e._v("No crypto knowledge required. Just pick a name and a strong password.")]),e._v(" "),o("div",{staticClass:"signup-field"},[o("label",[e._v("Username")]),e._v(" "),o("div",{staticClass:"username-wrap"},[o("span",{staticClass:"username-at"},[e._v("@")]),e._v(" "),o("input",{directives:[{name:"model",rawName:"v-model",value:e.username,expression:"username"}],staticClass:"signup-input",attrs:{type:"text",placeholder:"yourname",autocomplete:"off",spellcheck:"false"},domProps:{value:e.username},on:{input:[function(t){t.target.composing||(e.username=t.target.value)},e.onUsernameInput]}}),e._v(" "),e.usernameChecking?o("span",{staticClass:"username-status checking"},[o("b-spinner",{attrs:{small:""}})],1):e.usernameOk?o("span",{staticClass:"username-status ok"},[e._v("â")]):e.usernameError?o("span",{staticClass:"username-status err"},[e._v("â")]):e._e()]),e._v(" "),e.usernameError?o("div",{staticClass:"field-error"},[e._v(e._s(e.usernameError))]):e._e(),e._v(" "),o("div",{staticClass:"field-hint"},[e._v("3â16 characters · lowercase letters, numbers, hyphens · must start with a letter")])]),e._v(" "),o("div",{staticClass:"signup-field"},[o("label",[e._v("Password")]),e._v(" "),o("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],staticClass:"signup-input",attrs:{type:"password",placeholder:"Choose a strong password",autocomplete:"new-password"},domProps:{value:e.password},on:{input:function(t){t.target.composing||(e.password=t.target.value)}}}),e._v(" "),o("div",{staticClass:"pw-strength-bar"},[o("div",{staticClass:"pw-strength-fill",class:e.strengthClass,style:{width:e.strengthPct+"%"}})]),e._v(" "),o("div",{staticClass:"field-hint pw-hint",class:e.strengthClass},[e._v(e._s(e.strengthLabel))])]),e._v(" "),o("div",{staticClass:"signup-field"},[o("label",[e._v("Confirm Password")]),e._v(" "),o("input",{directives:[{name:"model",rawName:"v-model",value:e.passwordConfirm,expression:"passwordConfirm"}],staticClass:"signup-input",attrs:{type:"password",placeholder:"Type it again",autocomplete:"new-password"},domProps:{value:e.passwordConfirm},on:{input:function(t){t.target.composing||(e.passwordConfirm=t.target.value)}}}),e._v(" "),e.passwordConfirm&&!e.passwordsMatch?o("div",{staticClass:"field-error"},[e._v("Passwords don't match")]):e._e()]),e._v(" "),o("div",{staticClass:"hp-trap",attrs:{"aria-hidden":"true"}},[o("label",{attrs:{for:"bt-company"}},[e._v("Company")]),e._v(" "),o("input",{directives:[{name:"model",rawName:"v-model",value:e.hpTrap,expression:"hpTrap"}],attrs:{id:"bt-company",type:"text",name:"company",tabindex:"-1",autocomplete:"off"},domProps:{value:e.hpTrap},on:{input:function(t){t.target.composing||(e.hpTrap=t.target.value)}}})]),e._v(" "),o("button",{staticClass:"btn-signup-primary",attrs:{disabled:!e.canProceed},on:{click:e.generateKeys}},[e._v("\n Continue\n ")]),e._v(" "),o("div",{staticClass:"signup-login-link"},[e._v("\n Already have an account? "),o("nuxt-link",{attrs:{to:"/"}},[e._v("Log in")])],1)]):e._e(),e._v(" "),e.$auth.loggedIn||2!==e.step?e._e():o("div",[o("div",{staticClass:"keys-title-row"},[o("h1",{staticClass:"signup-title mb-0"},[e._v("Save Your Keys")]),e._v(" "),o("button",{staticClass:"btn-key-info",on:{click:function(t){e.showKeyInfo=!0}}},[e._v("\n ? What are keys?\n ")])]),e._v(" "),e._m(0),e._v(" "),o("div",{staticClass:"keys-warning"},[e._v("\n â Write these down or store them in a password manager before continuing.\n ")]),e._v(" "),o("div",{staticClass:"key-block"},[e._m(1),e._v(" "),o("div",{staticClass:"key-value-row"},[o("code",{staticClass:"key-value"},[e._v(e._s(e.keys.posting.private))]),e._v(" "),o("button",{staticClass:"btn-copy",on:{click:function(t){return e.copy(e.keys.posting.private,"posting")}}},[e._v("\n "+e._s("posting"===e.copied?"Copied!":"Copy")+"\
1n ")])])]),e._v(" "),o("div",{staticClass:"key-block"},[e._m(2),e._v(" "),o("div",{staticClass:"key-value-row"},[o("code",{staticClass:"key-value"},[e._v(e._s(e.keys.active.private))]),e._v(" "),o("button",{staticClass:"btn-copy",on:{click:function(t){return e.copy(e.keys.active.private,"active")}}},[e._v("\n "+e._s("active"===e.copied?"Copied!":"Copy")+"\n ")])])]),e._v(" "),e.showAllKeys?o("div",[o("div",{staticClass:"key-block"},[e._m(3),e._v(" "),o("div",{staticClass:"key-value-row"},[o("code",{staticClass:"key-value"},[e._v(e._s(e.keys.owner.private))]),e._v(" "),o("button",{staticClass:"btn-copy",on:{click:function(t){return e.copy(e.keys.owner.private,"owner")}}},[e._v("\n "+e._s("owner"===e.copied?"Copied!":"Copy")+"\n ")])])]),e._v(" "),o("div",{staticClass:"key-block"},[e._m(4),e._v(" "),o("div",{staticClass:"key-value-row"},[o("code",{staticClass:"key-value"},[e._v(e._s(e.keys.memo.private))]),e._v(" "),o("button",{staticClass:"btn-copy",on:{click:function(t){return e.copy(e.keys.memo.private,"memo")}}},[e._v("\n "+e._s("memo"===e.copied?"Copied!":"Copy")+"\n ")])])])]):e._e(),e._v(" "),o("button",{staticClass:"btn-show-all",on:{click:function(t){e.showAllKeys=!e.showAllKeys}}},[e._v("\n "+e._s(e.showAllKeys?"Hide owner & memo keys":"Show all keys")+"\n ")]),e._v(" "),o("div",{staticClass:"key-actions"},[o("button",{staticClass:"btn-key-action",on:{click:e.downloadKeys}},[o("svg",{staticClass:"mr-1",attrs:{viewBox:"0 0 16 16",fill:"none",width:"14",height:"14"}},[o("path",{attrs:{d:"M8 2v8M5 7l3 3 3-3M2 12h12",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}})]),e._v("\n Download Keys\n ")]),e._v(" "),o("button",{staticClass:"btn-key-action",class:{active:e.showSmartLockSetup},on:{click:function(t){e.showSmartLockSetup=!e.showSmartLockSetup}}},[o("svg",{staticClass:"mr-1",attrs:{viewBox:"0 0 16 16",fill:"none",width:"14",height:"14"}},[o("rect",{attrs:{x:"3",y:"7",width:"10",height:"7",rx:"1.5",stroke:"currentColor","stroke-width":"1.4"}}),e._v(" "),o("path",{attrs:{d:"M5 7V5a3 3 0 016 0v2",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"}})]),e._v("\n "+e._s(e.smartLockDone?"Smart Lock Set Up":"Set Up Smart Lock")+"\n ")])]),e._v(" "),e.showSmartLockSetup&&!e.smartLockDone?o("div",{staticClass:"smartlock-setup"},[o("div",{staticClass:"smartlock-setup-title"},[e._v("Set Up Smart Lock")]),e._v(" "),o("p",{staticClass:"smartlock-setup-desc"},[e._v("\n Choose a 5-digit PIN. All your keys will be encrypted and stored in your browser so you can log in and use all platform features, including transfers and staking, without pasting keys each time.\n ")]),e._v(" "),o("div",{staticClass:"smartlock-pin-label"},[e._v("Choose a PIN")]),e._v(" "),o("div",{staticClass:"smartlock-pin-wrap"},[o("pincode-input",{attrs:{length:5,secure:!0,placeholder:"0"},model:{value:e.slPin,callback:function(t){e.slPin=t},expression:"slPin"}})],1),e._v(" "),o("div",{staticClass:"smartlock-pin-label"},[e._v("Confirm PIN")]),e._v(" "),o("div",{staticClass:"smartlock-pin-wrap"},[o("pincode-input",{attrs:{length:5,secure:!0,placeholder:"0"},model:{value:e.slPinConfirm,callback:function(t){e.slPinConfirm=t},expression:"slPinConfirm"}})],1),e._v(" "),e.slError?o("div",{staticClass:"field-error text-center mt-2"},[e._v(e._s(e.slError))]):e._e(),e._v(" "),o("button",{staticClass:"btn-smartlock-save",attrs:{disabled:e.slPin.length<5||e.slPinConfirm.length<5||e.slSaving},on:{click:e.saveSmartLock}},[e.slSaving?o("b-spinner",{staticClass:"mr-1",attrs:{small:""}}):e._e(),e._v("\n "+e._s(e.slSaving?"Encryptingâ¦":"Save to Smart Lock")+"\n ")],1)]):e._e(),e._v(" "),e.smartLockDone?o("div",{staticClass:"smartlock-done"},[e._v("\n Smart Lock is ready. You'll log in with your PIN on the login screen.\n ")]):e._e(),e._v(" "),o("div",{staticClass:"key-confirm-row"},[o("label",{staticClass:"key-confirm-label"},[o("input",{directives:[{name:"model",rawName:"v-model",value:e.keysSaved,expression:"keysSaved"}],staticClass:"key-confirm-check",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.keysSaved)?e._i(e.keysSaved,null)>-1:e.keysSaved},on:{change:function(t){var o=e.keysSaved,r=t.target,n=!!r.checked;if(Array.isArray(o)){var c=e._i(o,null);r.checked?c<0&&(e.keysSaved=o.concat([null])):c>-1&&(e.keysSaved=o.slice(0,c).concat(o.slice(c+1)))}else e.keysSaved=n}}}),e._v("\n I have saved my keys in a safe place\n ")])]),e._v(" "),o("button",{staticClass:"btn-signup-primary",attrs:{disabled:!e.keysSaved||e.creating},on:{click:e.createAccount}},[e.creating?o("b-spinner",{staticClass:"mr-2",attrs:{small:""}}
1):e._e(),e._v("\n "+e._s(e.creating?"Creating your accountâ¦":"Create My Account")+"\n ")],1),e._v(" "),e.createError?o("div",{staticClass:"create-error",domProps:{innerHTML:e._s(e.createError)}}):e._e(),e._v(" "),o("button",{staticClass:"btn-back",on:{click:function(t){e.step=1}}},[e._v("â Back")])]),e._v(" "),e.$auth.loggedIn||3!==e.step?e._e():o("div",{staticClass:"success-panel"},[o("div",{staticClass:"success-icon"},[e._v("ðµ")]),e._v(" "),o("h1",{staticClass:"signup-title"},[e._v("You're on BlockTunes!")]),e._v(" "),o("p",{staticClass:"signup-subtitle"},[e._v("\n Your account "),o("strong",[e._v("@"+e._s(e.username))]),e._v(" is live on the Hive blockchain.\n ")]),e._v(" "),e.smartLockDone?o("div",{staticClass:"success-smartlock-done"},[o("div",{staticClass:"ssl-done-icon"},[o("svg",{attrs:{viewBox:"0 0 24 24",fill:"none",width:"28",height:"28"}},[o("rect",{attrs:{x:"4",y:"11",width:"16",height:"11",rx:"2",stroke:"currentColor","stroke-width":"1.6"}}),e._v(" "),o("path",{attrs:{d:"M8 11V7a4 4 0 018 0v4",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round"}}),e._v(" "),o("path",{attrs:{d:"M9 16l2 2 4-4",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"}})])]),e._v(" "),o("div",{staticClass:"ssl-done-text"},[o("div",{staticClass:"ssl-done-title"},[e._v("Smart Lock is ready")]),e._v(" "),o("div",{staticClass:"ssl-done-desc"},[e._v("On the login screen, click "),o("strong",[e._v("Smart Lock")]),e._v(", select "),o("strong",[e._v("@"+e._s(e.username))]),e._v(", and enter your PIN. That's it.")])])]):e._e(),e._v(" "),o("div",{staticClass:"success-login-box"},[o("div",{staticClass:"success-login-title"},[e._v("How to log in")]),e._v(" "),o("div",{staticClass:"success-option"},[e._m(5),e._v(" "),e.smartLockDone?o("div",{staticClass:"success-option-body"},[e._v("\n Already set up. Click "),o("strong",[e._v("Smart Lock")]),e._v(" on the login screen and enter your PIN.\n ")]):o("div",{staticClass:"success-option-body"},[e._v("\n No install required. On the login screen click "),o("strong",[e._v("Smart Lock")]),e._v(", then "),o("strong",[e._v("Add Account")]),e._v(". Enter your username and paste your "),o("strong",[e._v("Posting Key")]),e._v(" for everyday use, or add multiple keys for full access including transfers and staking. Choose a PIN and you're in.\n ")])]),e._v(" "),o("div",{staticClass:"login-option-divider"},[e._v("or")]),e._v(" "),e._m(6),e._v(" "),o("div",{staticClass:"login-option-divider"},[e._v("or")]),e._v(" "),o("div",{staticClass:"success-option"},[o("button",{staticClass:"success-advanced-toggle",on:{click:function(t){e.showAdvanced=!e.showAdvanced}}},[e._v("\n "+e._s(e.showAdvanced?"Hide advanced options":"Advanced: use keys manually")+"\n "),o("svg",{style:{transform:e.showAdvanced?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"},attrs:{viewBox:"0 0 16 16",fill:"none",width:"12",height:"12"}},[o("path",{attrs:{d:"M3 6l5 5 5-5",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}})])]),e._v(" "),e.showAdvanced?o("div",{staticClass:"success-advanced-body"},[o("p",[e._v("Your account has four keys, each with a different level of access. You downloaded them in the previous step. Here's when to use each one:")]),e._v(" "),e._m(7),e._v(" "),e._m(8),e._v(" "),e._m(9),e._v(" "),e._m(10),e._v(" "),o("p",{staticClass:"adv-note"},[e._v("All four keys can be regenerated at any time by going through the sign-up flow again with the same username and password.")])]):e._e()])]),e._v(" "),o("nuxt-link",{staticClass:"btn-signup-primary",attrs:{to:"/"}},[e._v("\n Go to BlockTunes\n ")])],1),e._v(" "),e.showKeyInfo?o("div",{staticClass:"key-info-overlay",on:{click:function(t){if(t.target!==t.currentTarget)return null;e.showKeyInfo=!1}}},[o("div",{staticClass:"key-info-panel"},[o("button",{staticClass:"key-info-close",on:{click:function(t){e.showKeyInfo=!1}}},[e._v("â")]),e._v(" "),o("h2",{staticClass:"key-info-title"},[e._v("What are keys?")]),e._v(" "),e._m(11),e._v(" "),e._m(12),e._v(" "),e._m(13),e._v(" "),e._m(14),e._v(" "),e._m(15),e._v(" "),o("div",{staticClass:"key-info-tip"},[e._v("\n ð¡ All four keys are derived from your username and password. If you ever lose them, you can regenerate them by signing up again with the same username and password, as long as you remember both.\n ")]),e._v(" "),o("button",{staticClass:"btn-signup-primary",staticStyle:{"margin-top":"1rem"},on:{click:function(t){e.showKeyInfo=!1}}}
1,[e._v("Got it")])])]):e._e()])])}),[function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("p",{staticClass:"signup-subtitle"},[e._v("\n Your keys are generated from your username and password and "),o("strong",[e._v("never stored on our servers")]),e._v(".\n If you lose your password, there is no reset. Save these now.\n ")])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"key-label"},[e._v("\n Posting Key "),o("span",{staticClass:"key-badge"},[e._v("Daily use: login, voting, posting")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"key-label"},[e._v("\n Active Key "),o("span",{staticClass:"key-badge"},[e._v("Transfers & staking")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"key-label"},[e._v("\n Owner Key "),o("span",{staticClass:"key-badge"},[e._v("Account recovery only: keep offline")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"key-label"},[e._v("\n Memo Key "),o("span",{staticClass:"key-badge"},[e._v("Encrypted messages")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"success-option-header"},[o("div",{staticClass:"success-option-badge recommended"},[e._v("Easiest")]),e._v(" "),o("div",{staticClass:"success-option-name"},[e._v("Smart Lock")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"success-option"},[o("div",{staticClass:"success-option-header"},[o("div",{staticClass:"success-option-badge"},[e._v("Most secure")]),e._v(" "),o("div",{staticClass:"success-option-name"},[e._v("Hive Keychain")])]),e._v(" "),o("div",{staticClass:"success-option-body"},[e._v("\n A free browser extension and mobile app that stores your keys securely on your device and signs transactions with one click. Nothing ever leaves your device.\n "),o("ol",{staticClass:"keychain-steps"},[o("li",[e._v("Install Keychain for your browser or phone using the links below")]),e._v(" "),o("li",[e._v("Open Keychain and add your account using your "),o("strong",[e._v("username and password")]),e._v(". Keychain will generate your keys automatically.")]),e._v(" "),o("li",[e._v("Come back to BlockTunes and log in with Keychain.")])]),e._v(" "),o("div",{staticClass:"keychain-links"},[o("a",{staticClass:"keychain-link",attrs:{href:"https://chrome.google.com/webstore/detail/hive-keychain/jcacnejopjdphbnjgfaaobbfafkihpep",target:"_blank",rel:"noopener"}},[e._v("Chrome / Brave")]),e._v(" "),o("a",{staticClass:"keychain-link",attrs:{href:"https://addons.mozilla.org/en-US/firefox/addon/hive-keychain/",target:"_blank",rel:"noopener"}},[e._v("Firefox")]),e._v(" "),o("a",{staticClass:"keychain-link",attrs:{href:"https://apps.apple.com/app/hive-keychain/id1552190010",target:"_blank",rel:"noopener"}},[e._v("iOS")]),e._v(" "),o("a",{staticClass:"keychain-link",attrs:{href:"https://play.google.com/store/apps/details?id=com.hivekeychain",target:"_blank",rel:"noopener"}},[e._v("Android")])])])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"adv-key-row"},[o("span",{staticClass:"adv-key-name posting"},[e._v("Posting Key")]),e._v(" "),o("span",{staticClass:"adv-key-desc"},[e._v("Log in, post, vote, comment, follow. Safe for everyday use. This is the key you paste into Smart Lock.")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"adv-key-row"},[o("span",{staticClass:"adv-key-name active"},[e._v("Active Key")]),e._v(" "),o("span",{staticClass:"adv-key-desc"},[e._v("Send tokens, stake, buy NFTs. Required for any action involving money. Keep it safe.")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"adv-key-row"},[o("span",{staticClass:"adv-key-name owner"},[e._v("Owner Key")]),e._v(" "),o("span",{staticClass:"adv-key-desc"},[e._v("Account recovery and key changes only. Store it somewhere offline. Never paste it into any website.")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"adv-key-row"},[o("span",{staticClass:"adv-key-name memo"},[e._v("Memo Key")]),e._v(" "),o("span",{staticClass:"adv-key-desc"},[e._v("Encrypting and decrypting private messages between Hive accounts.")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("p",{staticClass:"key-info-intro"}
1,[e._v('\n Think of your keys like a set of physical keys for your account. Each one opens a different door. There\'s no password reset, no support ticket, no "forgot my password". Your keys '),o("em",[e._v("are")]),e._v(" your identity on the Hive blockchain.\n ")])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"key-info-item"},[o("div",{staticClass:"key-info-name posting"},[e._v("Posting Key")]),e._v(" "),o("p",[e._v("Your everyday key. Use it to log in, like posts, vote, comment, and follow people. It's safe to use regularly and is what you'll enter into Smart Lock or Hive Keychain.")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"key-info-item"},[o("div",{staticClass:"key-info-name active"},[e._v("Active Key")]),e._v(" "),o("p",[e._v("A higher-security key for actions involving money: sending tokens, staking, buying NFTs. You'll be prompted for this when those actions come up. Don't share it casually.")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"key-info-item"},[o("div",{staticClass:"key-info-name owner"},[e._v("Owner Key")]),e._v(" "),o("p",[e._v("The master key. Only needed if you ever need to recover your account or change your other keys. Store this somewhere very safe, like a printed paper in a secure place. Never enter it on a website.")])])},function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"key-info-item"},[o("div",{staticClass:"key-info-name memo"},[e._v("Memo Key")]),e._v(" "),o("p",[e._v("Used to encrypt and decrypt private messages sent between Hive accounts. You won't need this often, but it's good to have saved.")])])}],!1,null,"f7970056",null);t.default=component.exports}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.