From 78776a3eff31d1741bfeadb7070ddacbe595a60e Mon Sep 17 00:00:00 2001 From: boreq Date: Tue, 24 Oct 2023 01:48:10 +0200 Subject: [PATCH] Fix background logo not being full height --- frontend/nos-crossposting-service-frontend/src/App.vue | 9 ++------- service/ports/http/frontend/css/app.3d640c83.css | 1 + service/ports/http/frontend/css/app.7ac321a6.css | 1 - service/ports/http/frontend/index.html | 2 +- service/ports/http/frontend/js/app.72af3fab.js | 2 ++ service/ports/http/frontend/js/app.72af3fab.js.map | 1 + service/ports/http/frontend/js/app.80787f4b.js | 2 -- service/ports/http/frontend/js/app.80787f4b.js.map | 1 - 8 files changed, 7 insertions(+), 12 deletions(-) create mode 100644 service/ports/http/frontend/css/app.3d640c83.css delete mode 100644 service/ports/http/frontend/css/app.7ac321a6.css create mode 100644 service/ports/http/frontend/js/app.72af3fab.js create mode 100644 service/ports/http/frontend/js/app.72af3fab.js.map delete mode 100644 service/ports/http/frontend/js/app.80787f4b.js delete mode 100644 service/ports/http/frontend/js/app.80787f4b.js.map diff --git a/frontend/nos-crossposting-service-frontend/src/App.vue b/frontend/nos-crossposting-service-frontend/src/App.vue index 7732a92..eee7273 100644 --- a/frontend/nos-crossposting-service-frontend/src/App.vue +++ b/frontend/nos-crossposting-service-frontend/src/App.vue @@ -2,7 +2,7 @@
- {{ user }} + {{ user }}
@@ -12,16 +12,11 @@ html, body { padding: 0; margin: 0; color: #fff; + height: 100%; } html { background: linear-gradient(#160f24, #281945); - min-height: 100%; -} - -body { - min-height: 100%; - height: auto; } body { diff --git a/service/ports/http/frontend/css/app.3d640c83.css b/service/ports/http/frontend/css/app.3d640c83.css new file mode 100644 index 0000000..3d2c0cd --- /dev/null +++ b/service/ports/http/frontend/css/app.3d640c83.css @@ -0,0 +1 @@ +header[data-v-5f2e3f63]{display:flex;flex-flow:row nowrap;align-items:center}header .logo[data-v-5f2e3f63]{display:block}header nav[data-v-5f2e3f63]{font-size:24px;font-weight:600;flex:1;text-align:right}header nav ul[data-v-5f2e3f63]{margin:0;padding:0;list-style-type:none}header nav ul li[data-v-5f2e3f63]{display:inline-block;margin:0;padding:0 1em}header nav ul li[data-v-5f2e3f63]:last-child{padding-right:0}header nav ul li[data-v-5f2e3f63]:first-child{padding-left:0}body,html{padding:0;margin:0;color:#fff;height:100%}html{background:linear-gradient(#160f24,#281945)}body{background-image:url(/img/background.4c146daa.svg);background-position:100%;background-repeat:no-repeat;background-size:auto 100%}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app .wrapper{padding:4em}.explanation[data-v-2a823115]{text-align:left;margin:10em 0;max-width:700px}.explanation .large[data-v-2a823115]{font-size:60px;line-height:84px;font-weight:700}.explanation .small[data-v-2a823115]{color:#9379bf;font-size:26px;font-weight:500;line-height:36px}a[data-v-2398ccb5]{display:inline-block;margin:1.5em 0;padding:5px;border-radius:10px;background:linear-gradient(#f08508,#f43f75)}a .img-wrapper[data-v-2398ccb5]{padding:1em 2em;background-color:#170d2b}a .img-wrapper img[data-v-2398ccb5]{display:block;height:52px}.current-user[data-v-4ec55186]{display:grid;grid-template-columns:500px 50px;grid-template-rows:auto;grid-template-areas:"user-info checkmark";align-items:center;margin:1.5em 0}.current-user .user-info[data-v-4ec55186]{grid-area:user-info;border-radius:10px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto;grid-template-areas:"image name logout-button" "image username logout-button";align-items:center;border:3px solid #9379bf;gap:5px 20px;padding:20px}.current-user .user-info .image[data-v-4ec55186]{grid-area:image;border-radius:75px;height:75px}.current-user .user-info .name[data-v-4ec55186],.current-user .user-info .username[data-v-4ec55186]{font-size:28px;font-style:normal}.current-user .user-info .username[data-v-4ec55186]{grid-area:username;font-weight:500;color:#9379bf}.current-user .user-info .name[data-v-4ec55186]{grid-area:name;font-weight:700;color:#fff}.current-user .user-info .logout-button[data-v-4ec55186]{grid-area:logout-button}.current-user .checkmark[data-v-4ec55186]{grid-area:checkmark;padding:0 15px}input[data-v-79eeeb90]{border-radius:10px;border:3px solid hsla(0,0%,100%,.15);padding:16px;background-color:#342255;min-width:500px;font-weight:700;font-size:32px;line-height:32px;color:#fff}input[data-v-79eeeb90]::-moz-placeholder{color:hsla(0,0%,100%,.25)}input[data-v-79eeeb90]::placeholder{color:hsla(0,0%,100%,.25)}button[data-v-4ed4367c]{background-image:linear-gradient(180deg,#f08508,#f43f75);padding:19px;border:0;border-radius:10px;color:#fff;font-size:32px;font-weight:700}button[data-v-4ed4367c]:hover{cursor:pointer}.step[data-v-76ba074c]{font-size:28px;margin-top:2em}.public-keys-wrapper[data-v-76ba074c],form[data-v-76ba074c]{margin:28px 0}button[data-v-76ba074c]{margin-left:1em}.public-keys[data-v-76ba074c]{list-style-type:none;font-size:28px;margin:0;padding:0}.public-keys li[data-v-76ba074c]{margin:1em 0;padding:0;color:#9379bf;font-style:normal;font-weight:700}.public-keys li[data-v-76ba074c]:first-child{margin-top:0}.public-keys li[data-v-76ba074c]:last-child{margin-bottom:0}.public-keys li .checkmark[data-v-76ba074c],.public-keys li .npub[data-v-76ba074c]{display:inline-block}.public-keys li .npub[data-v-76ba074c]{width:300px;overflow:hidden;text-overflow:ellipsis} \ No newline at end of file diff --git a/service/ports/http/frontend/css/app.7ac321a6.css b/service/ports/http/frontend/css/app.7ac321a6.css deleted file mode 100644 index b33773b..0000000 --- a/service/ports/http/frontend/css/app.7ac321a6.css +++ /dev/null @@ -1 +0,0 @@ -header[data-v-5f2e3f63]{display:flex;flex-flow:row nowrap;align-items:center}header .logo[data-v-5f2e3f63]{display:block}header nav[data-v-5f2e3f63]{font-size:24px;font-weight:600;flex:1;text-align:right}header nav ul[data-v-5f2e3f63]{margin:0;padding:0;list-style-type:none}header nav ul li[data-v-5f2e3f63]{display:inline-block;margin:0;padding:0 1em}header nav ul li[data-v-5f2e3f63]:last-child{padding-right:0}header nav ul li[data-v-5f2e3f63]:first-child{padding-left:0}body,html{padding:0;margin:0;color:#fff}html{background:linear-gradient(#160f24,#281945)}body,html{min-height:100%}body{height:auto;background-image:url(/img/background.4c146daa.svg);background-position:100%;background-repeat:no-repeat;background-size:auto 100%}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app .wrapper{padding:4em}.explanation[data-v-2a823115]{text-align:left;margin:10em 0;max-width:700px}.explanation .large[data-v-2a823115]{font-size:60px;line-height:84px;font-weight:700}.explanation .small[data-v-2a823115]{color:#9379bf;font-size:26px;font-weight:500;line-height:36px}a[data-v-2398ccb5]{display:inline-block;margin:1.5em 0;padding:5px;border-radius:10px;background:linear-gradient(#f08508,#f43f75)}a .img-wrapper[data-v-2398ccb5]{padding:1em 2em;background-color:#170d2b}a .img-wrapper img[data-v-2398ccb5]{display:block;height:52px}.current-user[data-v-4ec55186]{display:grid;grid-template-columns:500px 50px;grid-template-rows:auto;grid-template-areas:"user-info checkmark";align-items:center;margin:1.5em 0}.current-user .user-info[data-v-4ec55186]{grid-area:user-info;border-radius:10px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto;grid-template-areas:"image name logout-button" "image username logout-button";align-items:center;border:3px solid #9379bf;gap:5px 20px;padding:20px}.current-user .user-info .image[data-v-4ec55186]{grid-area:image;border-radius:75px;height:75px}.current-user .user-info .name[data-v-4ec55186],.current-user .user-info .username[data-v-4ec55186]{font-size:28px;font-style:normal}.current-user .user-info .username[data-v-4ec55186]{grid-area:username;font-weight:500;color:#9379bf}.current-user .user-info .name[data-v-4ec55186]{grid-area:name;font-weight:700;color:#fff}.current-user .user-info .logout-button[data-v-4ec55186]{grid-area:logout-button}.current-user .checkmark[data-v-4ec55186]{grid-area:checkmark;padding:0 15px}input[data-v-79eeeb90]{border-radius:10px;border:3px solid hsla(0,0%,100%,.15);padding:16px;background-color:#342255;min-width:500px;font-weight:700;font-size:32px;line-height:32px;color:#fff}input[data-v-79eeeb90]::-moz-placeholder{color:hsla(0,0%,100%,.25)}input[data-v-79eeeb90]::placeholder{color:hsla(0,0%,100%,.25)}button[data-v-4ed4367c]{background-image:linear-gradient(180deg,#f08508,#f43f75);padding:19px;border:0;border-radius:10px;color:#fff;font-size:32px;font-weight:700}button[data-v-4ed4367c]:hover{cursor:pointer}.step[data-v-76ba074c]{font-size:28px;margin-top:2em}.public-keys-wrapper[data-v-76ba074c],form[data-v-76ba074c]{margin:28px 0}button[data-v-76ba074c]{margin-left:1em}.public-keys[data-v-76ba074c]{list-style-type:none;font-size:28px;margin:0;padding:0}.public-keys li[data-v-76ba074c]{margin:1em 0;padding:0;color:#9379bf;font-style:normal;font-weight:700}.public-keys li[data-v-76ba074c]:first-child{margin-top:0}.public-keys li[data-v-76ba074c]:last-child{margin-bottom:0}.public-keys li .checkmark[data-v-76ba074c],.public-keys li .npub[data-v-76ba074c]{display:inline-block}.public-keys li .npub[data-v-76ba074c]{width:300px;overflow:hidden;text-overflow:ellipsis} \ No newline at end of file diff --git a/service/ports/http/frontend/index.html b/service/ports/http/frontend/index.html index a9c3af6..5156c6b 100644 --- a/service/ports/http/frontend/index.html +++ b/service/ports/http/frontend/index.html @@ -1 +1 @@ -nos-crossposting-service-frontend
\ No newline at end of file +nos-crossposting-service-frontend
\ No newline at end of file diff --git a/service/ports/http/frontend/js/app.72af3fab.js b/service/ports/http/frontend/js/app.72af3fab.js new file mode 100644 index 0000000..b890ca6 --- /dev/null +++ b/service/ports/http/frontend/js/app.72af3fab.js @@ -0,0 +1,2 @@ +(function(){"use strict";var e={927:function(e,t,r){var n=r(9242),o=r(3396),s=r(7139);const c={class:"wrapper"};function i(e,t,r,n,i,a){const u=(0,o.up)("Header"),l=(0,o.up)("router-view");return(0,o.wg)(),(0,o.iD)("div",c,[(0,o.Wm)(u),(0,o.Uk)(" "+(0,s.zw)(e.user)+" ",1),(0,o.Wm)(l)])}var a,u=r(7327),l=r(6520),d=r(65),p=r(4161);(function(e){e["SetUser"]="setUser"})(a||(a={}));var f=(0,d.MT)({state:{user:void 0},getters:{},mutations:{[a.SetUser](e,t){e.user=t}},actions:{},modules:{}});class v{constructor(e){(0,u.Z)(this,"store",void 0),(0,u.Z)(this,"axios",p.Z.create()),this.store=e}currentUser(){const e="/api/current-user";return this.axios.get(e)}publicKeys(){const e="/api/public-keys";return this.axios.get(e)}addPublicKey(e){const t="/api/public-keys";return this.axios.post(t,e)}refreshCurrentUser(){return new Promise(((e,t)=>{this.currentUser().then((t=>{this.store.commit(a.SetUser,t.data.user),e(t.data)}),(e=>{t(e)}))}))}}var g=r.p+"img/logo.79c97fb0.svg";const h=e=>((0,o.dD)("data-v-5f2e3f63"),e=e(),(0,o.Cn)(),e),b=h((()=>(0,o._)("a",{class:"logo"},[(0,o._)("img",{src:g})],-1))),y=h((()=>(0,o._)("nav",null,[(0,o._)("ul",null,[(0,o._)("li",null,[(0,o._)("a",null,"Link 1")]),(0,o._)("li",null,[(0,o._)("a",null,"Link 2")])])],-1))),w=[b,y];function m(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("header",null,w)}var _=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let k=class extends l.w3{};k=_([(0,l.Ei)({})],k);var O=k,j=r(89);const D=(0,j.Z)(O,[["render",m],["__scopeId","data-v-5f2e3f63"]]);var R=D,P=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let x=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"apiService",new v((0,d.oR)()))}created(){this.loadCurrentUser()}loadCurrentUser(){this.apiService.refreshCurrentUser()}};x=P([(0,l.Ei)({components:{Header:R}})],x);var Z=x;const U=(0,j.Z)(Z,[["render",i]]);var C=U,I=r(2483);const K=e=>((0,o.dD)("data-v-76ba074c"),e=e(),(0,o.Cn)(),e),E={class:"home"},S={key:0},W=K((()=>(0,o._)("div",{class:"step"}," 1. Link your X account: ",-1))),L={key:1},V=K((()=>(0,o._)("div",{class:"step"}," 1. Logged in as ",-1))),q=K((()=>(0,o._)("div",{class:"step"}," 2. Your nostr identities: ",-1))),z={key:2,class:"public-keys-wrapper"},N={key:0},T={key:1,class:"public-keys"},B={class:"npub"};function X(e,t,r,n,c,i){const a=(0,o.up)("Explanation"),u=(0,o.up)("LogInWithTwitterButton"),l=(0,o.up)("CurrentUser"),d=(0,o.up)("Checkmark"),p=(0,o.up)("Input"),f=(0,o.up)("Button");return(0,o.wg)(),(0,o.iD)("div",E,[(0,o.Wm)(a),e.loadingUser||e.user?(0,o.kq)("",!0):((0,o.wg)(),(0,o.iD)("div",S,[W,(0,o.Wm)(u)])),!e.loadingUser&&e.user?((0,o.wg)(),(0,o.iD)("div",L,[V,(0,o.Wm)(l,{user:e.user},null,8,["user"])])):(0,o.kq)("",!0),q,!e.loadingUser&&e.user?((0,o.wg)(),(0,o.iD)("div",z,[e.publicKeys?(0,o.kq)("",!0):((0,o.wg)(),(0,o.iD)("div",N," Loading public keys... ")),e.publicKeys&&e.publicKeys.publicKeys?.length>0?((0,o.wg)(),(0,o.iD)("ul",T,[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(e.publicKeys.publicKeys,(e=>((0,o.wg)(),(0,o.iD)("li",{key:e.npub},[(0,o._)("div",B,(0,s.zw)(e.npub),1),(0,o.Wm)(d)])))),128))])):(0,o.kq)("",!0)])):(0,o.kq)("",!0),(0,o._)("form",null,[(0,o.Wm)(p,{placeholder:"Paste your npub address",modelValue:e.npub,"onUpdate:modelValue":t[0]||(t[0]=t=>e.npub=t)},null,8,["modelValue"]),(0,o.Wm)(f,{text:"Add",onClick:e.addPublicKey},null,8,["onClick"])])])}const H=e=>((0,o.dD)("data-v-2a823115"),e=e(),(0,o.Cn)(),e),M={class:"explanation"},Y=H((()=>(0,o._)("div",{class:"large"}," Start posting your Nostr content on X ",-1))),$=H((()=>(0,o._)("div",{class:"small"}," Log in to your X account and add your Nostr identities so that everything you publish on Nostr will be mirrored on X ",-1))),A=[Y,$];function F(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("div",M,A)}var G=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let J=class extends l.w3{};J=G([(0,l.Ei)({})],J);var Q=J;const ee=(0,j.Z)(Q,[["render",F],["__scopeId","data-v-2a823115"]]);var te=ee,re=r.p+"img/login_with_x.b3cda31f.svg";const ne=e=>((0,o.dD)("data-v-2398ccb5"),e=e(),(0,o.Cn)(),e),oe={href:"/login",class:"log-in-with-twitter-button"},se=ne((()=>(0,o._)("div",{class:"img-wrapper"},[(0,o._)("img",{src:re})],-1))),ce=[se];function ie(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("a",oe,ce)}var ae=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let ue=class extends l.w3{};ue=ae([(0,l.Ei)({})],ue);var le=ue;const de=(0,j.Z)(le,[["render",ie],["__scopeId","data-v-2398ccb5"]]);var pe=de,fe=r.p+"img/logout_on_dark.2eaec2bd.svg";const ve=e=>((0,o.dD)("data-v-4ec55186"),e=e(),(0,o.Cn)(),e),ge={class:"current-user"},he={class:"user-info"},be=["src"],ye={class:"name"},we={class:"username"},me=ve((()=>(0,o._)("a",{class:"logout-button"},[(0,o._)("img",{src:fe})],-1)));function _e(e,t,r,n,c,i){const a=(0,o.up)("Checkmark");return(0,o.wg)(),(0,o.iD)("div",ge,[(0,o._)("div",he,[(0,o._)("img",{class:"image",src:e.user?.twitterProfileImageURL},null,8,be),(0,o._)("div",ye,(0,s.zw)(e.user.twitterName),1),(0,o._)("div",we,"@"+(0,s.zw)(e.user.twitterUsername),1),me]),(0,o.Wm)(a)])}class ke{constructor(){(0,u.Z)(this,"accountID",void 0),(0,u.Z)(this,"twitterID",void 0),(0,u.Z)(this,"twitterName",void 0),(0,u.Z)(this,"twitterUsername",void 0),(0,u.Z)(this,"twitterProfileImageURL",void 0)}}var Oe=r.p+"img/checkmark.3921dcf8.svg";const je={class:"checkmark",src:Oe};function De(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("img",je)}var Re=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let Pe=class extends l.w3{};Pe=Re([(0,l.Ei)({})],Pe);var xe=Pe;const Ze=(0,j.Z)(xe,[["render",De]]);var Ue=Ze,Ce=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let Ie=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"user",void 0)}};Ie=Ce([(0,l.Ei)({components:{Checkmark:Ue},props:{user:ke}})],Ie);var Ke=Ie;const Ee=(0,j.Z)(Ke,[["render",_e],["__scopeId","data-v-4ec55186"]]);var Se=Ee;class We{constructor(e){(0,u.Z)(this,"npub",void 0),this.npub=e}}const Le=["placeholder","value"];function Ve(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("input",{type:"text",placeholder:e.placeholder,value:e.modelValue,onInput:t[0]||(t[0]=(...t)=>e.onInput&&e.onInput(...t))},null,40,Le)}var qe=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let ze=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"placeholder",void 0),(0,u.Z)(this,"modelValue",void 0)}onInput(e){this.$emit("update:modelValue",e.target.value)}};ze=qe([(0,l.Ei)({props:{placeholder:String,modelValue:String},emits:["update:modelValue"]})],ze);var Ne=ze;const Te=(0,j.Z)(Ne,[["render",Ve],["__scopeId","data-v-79eeeb90"]]);var Be=Te;function Xe(e,t,r,n,c,i){return(0,o.wg)(),(0,o.iD)("button",{onClick:t[0]||(t[0]=t=>e.$emit("click",t))},(0,s.zw)(e.text),1)}var He=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let Me=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"text",void 0)}};Me=He([(0,l.Ei)({props:{text:String}})],Me);var Ye=Me;const $e=(0,j.Z)(Ye,[["render",Xe],["__scopeId","data-v-4ed4367c"]]);var Ae=$e,Fe=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let Ge=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"apiService",new v((0,d.oR)())),(0,u.Z)(this,"store",(0,d.oR)()),(0,u.Z)(this,"publicKeys",null),(0,u.Z)(this,"npub","")}get loadingUser(){return void 0===this.store.state.user}get user(){return this.store.state.user}created(){this.apiService.publicKeys().then((e=>{this.publicKeys=e.data}))}addPublicKey(){this.apiService.addPublicKey(new We(this.npub)).then((e=>{console.log("added",e)})).catch((e=>{console.log("error",e)}))}};Ge=Fe([(0,l.Ei)({components:{Checkmark:Ue,Button:Ae,CurrentUser:Se,LogInWithTwitterButton:pe,Explanation:te,Input:Be}})],Ge);var Je=Ge;const Qe=(0,j.Z)(Je,[["render",X],["__scopeId","data-v-76ba074c"]]);var et=Qe;const tt=[{path:"/",name:"home",component:et}],rt=(0,I.p7)({history:(0,I.PO)("/"),routes:tt});var nt=rt;(0,n.ri)(C).use(f).use(nt).mount("#app")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}r.m=e,function(){var e=[];r.O=function(t,n,o,s){if(!n){var c=1/0;for(l=0;l=s)&&Object.keys(r.O).every((function(e){return r.O[e](n[a])}))?n.splice(a--,1):(i=!1,s0&&e[l-1][2]>s;l--)e[l]=e[l-1];e[l]=[n,o,s]}}(),function(){r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,{a:t}),t}}(),function(){r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){r.p="/"}(),function(){var e={143:0};r.O.j=function(t){return 0===e[t]};var t=function(t,n){var o,s,c=n[0],i=n[1],a=n[2],u=0;if(c.some((function(t){return 0!==e[t]}))){for(o in i)r.o(i,o)&&(r.m[o]=i[o]);if(a)var l=a(r)}for(t&&t(n);u\n
\n
\n\n {{ user }}\n \n
\n\n\n\n\n\n","import {createStore} from 'vuex'\nimport {User} from \"@/dto/User\";\n\nexport enum Mutation {\n SetUser = 'setUser',\n}\n\nexport class State {\n user?: User;\n}\n\nexport default createStore({\n state: {\n user: undefined,\n },\n getters: {},\n mutations: {\n [Mutation.SetUser](state: State, user: User): void {\n state.user = user;\n },\n },\n actions: {},\n modules: {}\n})\n","import axios, {AxiosResponse} from 'axios';\nimport {CurrentUser} from \"@/dto/CurrentUser\";\nimport {Mutation, State} from '@/store';\nimport {PublicKeys} from \"@/dto/PublicKeys\";\nimport {AddPublicKeyRequest} from \"@/dto/AddPublicKeyRequest\";\nimport {Store} from \"vuex\";\n\nexport class APIService {\n\n private readonly axios = axios.create();\n\n constructor(private store: Store) {\n }\n\n currentUser(): Promise> {\n const url = `/api/current-user`;\n return this.axios.get(url);\n }\n\n publicKeys(): Promise> {\n const url = `/api/public-keys`;\n return this.axios.get(url);\n }\n\n addPublicKey(req: AddPublicKeyRequest): Promise> {\n const url = `/api/public-keys`;\n return this.axios.post(url, req);\n }\n\n refreshCurrentUser(): Promise {\n return new Promise((resolve, reject) => {\n this.currentUser()\n .then(\n response => {\n this.store.commit(Mutation.SetUser, response.data.user);\n resolve(response.data);\n },\n error => {\n reject(error);\n },\n );\n });\n }\n}","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '../assets/logo.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5f2e3f63\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", { class: \"logo\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_0 })\n], -1))\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"nav\", null, [\n /*#__PURE__*/_createElementVNode(\"ul\", null, [\n /*#__PURE__*/_createElementVNode(\"li\", null, [\n /*#__PURE__*/_createElementVNode(\"a\", null, \"Link 1\")\n ]),\n /*#__PURE__*/_createElementVNode(\"li\", null, [\n /*#__PURE__*/_createElementVNode(\"a\", null, \"Link 2\")\n ])\n ])\n], -1))\nconst _hoisted_3 = [\n _hoisted_1,\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"header\", null, _hoisted_3))\n}","\n\n\n\n\n","import { render } from \"./Header.vue?vue&type=template&id=5f2e3f63&scoped=true&ts=true\"\nimport script from \"./Header.vue?vue&type=script&lang=ts\"\nexport * from \"./Header.vue?vue&type=script&lang=ts\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=5f2e3f63&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5f2e3f63\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=71f1509e&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=71f1509e&lang=scss\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-76ba074c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"home\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"step\" }, \" 1. Link your X account: \", -1))\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"step\" }, \" 1. Logged in as \", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"step\" }, \" 2. Your nostr identities: \", -1))\nconst _hoisted_7 = {\n key: 2,\n class: \"public-keys-wrapper\"\n}\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = {\n key: 1,\n class: \"public-keys\"\n}\nconst _hoisted_10 = { class: \"npub\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Explanation = _resolveComponent(\"Explanation\")!\n const _component_LogInWithTwitterButton = _resolveComponent(\"LogInWithTwitterButton\")!\n const _component_CurrentUser = _resolveComponent(\"CurrentUser\")!\n const _component_Checkmark = _resolveComponent(\"Checkmark\")!\n const _component_Input = _resolveComponent(\"Input\")!\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Explanation),\n (!_ctx.loadingUser && !_ctx.user)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _hoisted_3,\n _createVNode(_component_LogInWithTwitterButton)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.loadingUser && _ctx.user)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _hoisted_5,\n _createVNode(_component_CurrentUser, { user: _ctx.user }, null, 8, [\"user\"])\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_6,\n (!_ctx.loadingUser && _ctx.user)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n (!_ctx.publicKeys)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, \" Loading public keys... \"))\n : _createCommentVNode(\"\", true),\n (_ctx.publicKeys && _ctx.publicKeys.publicKeys?.length > 0)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_9, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.publicKeys.publicKeys, (publicKey) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: publicKey.npub\n }, [\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(publicKey.npub), 1),\n _createVNode(_component_Checkmark)\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", null, [\n _createVNode(_component_Input, {\n placeholder: \"Paste your npub address\",\n modelValue: _ctx.npub,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.npub) = $event))\n }, null, 8, [\"modelValue\"]),\n _createVNode(_component_Button, {\n text: \"Add\",\n onClick: _ctx.addPublicKey\n }, null, 8, [\"onClick\"])\n ])\n ]))\n}","\n\n\n\n\n","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2a823115\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"explanation\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"large\" }, \" Start posting your Nostr content on X \", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"small\" }, \" Log in to your X account and add your Nostr identities so that everything you publish on Nostr will be mirrored on X \", -1))\nconst _hoisted_4 = [\n _hoisted_2,\n _hoisted_3\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, _hoisted_4))\n}","\n\n\n\n\n","import { render } from \"./Explanation.vue?vue&type=template&id=2a823115&scoped=true&ts=true\"\nimport script from \"./Explanation.vue?vue&type=script&lang=ts\"\nexport * from \"./Explanation.vue?vue&type=script&lang=ts\"\n\nimport \"./Explanation.vue?vue&type=style&index=0&id=2a823115&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2a823115\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '../assets/login_with_x.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2398ccb5\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n href: \"/login\",\n class: \"log-in-with-twitter-button\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"img-wrapper\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_0 })\n], -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"a\", _hoisted_1, _hoisted_3))\n}","\n\n\n\n\n","import { render } from \"./LogInWithTwitterButton.vue?vue&type=template&id=2398ccb5&scoped=true&ts=true\"\nimport script from \"./LogInWithTwitterButton.vue?vue&type=script&lang=ts\"\nexport * from \"./LogInWithTwitterButton.vue?vue&type=script&lang=ts\"\n\nimport \"./LogInWithTwitterButton.vue?vue&type=style&index=0&id=2398ccb5&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2398ccb5\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '../assets/logout_on_dark.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4ec55186\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"current-user\" }\nconst _hoisted_2 = { class: \"user-info\" }\nconst _hoisted_3 = [\"src\"]\nconst _hoisted_4 = { class: \"name\" }\nconst _hoisted_5 = { class: \"username\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", { class: \"logout-button\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_0 })\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Checkmark = _resolveComponent(\"Checkmark\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"img\", {\n class: \"image\",\n src: _ctx.user?.twitterProfileImageURL\n }, null, 8, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, _toDisplayString(_ctx.user.twitterName), 1),\n _createElementVNode(\"div\", _hoisted_5, \"@\" + _toDisplayString(_ctx.user.twitterUsername), 1),\n _hoisted_6\n ]),\n _createVNode(_component_Checkmark)\n ]))\n}","\n\n\n\n\n","export class User {\n accountID?: string;\n twitterID?: number;\n twitterName?: string;\n twitterUsername?: string;\n twitterProfileImageURL?: string;\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\nimport _imports_0 from '../assets/checkmark.svg'\n\n\nconst _hoisted_1 = {\n class: \"checkmark\",\n src: _imports_0\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"img\", _hoisted_1))\n}","\n\n\n","import { render } from \"./Checkmark.vue?vue&type=template&id=4ebda3e8&ts=true\"\nimport script from \"./Checkmark.vue?vue&type=script&lang=ts\"\nexport * from \"./Checkmark.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./CurrentUser.vue?vue&type=template&id=4ec55186&scoped=true&ts=true\"\nimport script from \"./CurrentUser.vue?vue&type=script&lang=ts\"\nexport * from \"./CurrentUser.vue?vue&type=script&lang=ts\"\n\nimport \"./CurrentUser.vue?vue&type=style&index=0&id=4ec55186&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ec55186\"]])\n\nexport default __exports__","export class AddPublicKeyRequest {\n npub: string;\n\n constructor(npub: string) {\n this.npub = npub\n }\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-79eeeb90\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"placeholder\", \"value\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"input\", {\n type: \"text\",\n placeholder: _ctx.placeholder,\n value: _ctx.modelValue,\n onInput: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.onInput && _ctx.onInput(...args)))\n }, null, 40, _hoisted_1))\n}","\n\n\n\n\n","import { render } from \"./Input.vue?vue&type=template&id=79eeeb90&scoped=true&ts=true\"\nimport script from \"./Input.vue?vue&type=script&lang=ts\"\nexport * from \"./Input.vue?vue&type=script&lang=ts\"\n\nimport \"./Input.vue?vue&type=style&index=0&id=79eeeb90&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-79eeeb90\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$emit('click', $event)))\n }, _toDisplayString(_ctx.text), 1))\n}","\n\n\n\n\n","import { render } from \"./Button.vue?vue&type=template&id=4ed4367c&scoped=true&ts=true\"\nimport script from \"./Button.vue?vue&type=script&lang=ts\"\nexport * from \"./Button.vue?vue&type=script&lang=ts\"\n\nimport \"./Button.vue?vue&type=style&index=0&id=4ed4367c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ed4367c\"]])\n\nexport default __exports__","import { render } from \"./HomeView.vue?vue&type=template&id=76ba074c&scoped=true&ts=true\"\nimport script from \"./HomeView.vue?vue&type=script&lang=ts\"\nexport * from \"./HomeView.vue?vue&type=script&lang=ts\"\n\nimport \"./HomeView.vue?vue&type=style&index=0&id=76ba074c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-76ba074c\"]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\nimport HomeView from '../views/HomeView.vue'\n\nconst routes: Array = [\n {\n path: '/',\n name: 'home',\n component: HomeView\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes\n})\n\nexport default router\n","import { createApp } from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\n\ncreateApp(App).use(store).use(router).mount('#app')\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknos_crossposting_service_frontend\"] = self[\"webpackChunknos_crossposting_service_frontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(927); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_Header","_resolveComponent","_component_router_view","_openBlock","_createElementBlock","_createVNode","_createTextVNode","_toDisplayString","user","Mutation","createStore","state","undefined","getters","mutations","SetUser","actions","modules","APIService","constructor","store","_defineProperty","axios","create","currentUser","url","this","get","publicKeys","addPublicKey","req","post","refreshCurrentUser","Promise","resolve","reject","then","response","commit","data","error","_withScopeId","n","_pushScopeId","_popScopeId","_createElementVNode","src","_imports_0","_hoisted_2","_hoisted_3","Header","Vue","__decorate","Options","__exports__","App","args","useStore","created","loadCurrentUser","apiService","components","key","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_component_Explanation","_component_LogInWithTwitterButton","_component_CurrentUser","_component_Checkmark","_component_Input","_component_Button","loadingUser","_createCommentVNode","length","_Fragment","_renderList","publicKey","npub","placeholder","modelValue","$event","text","onClick","Explanation","href","LogInWithTwitterButton","twitterProfileImageURL","twitterName","twitterUsername","User","Checkmark","CurrentUser","props","AddPublicKeyRequest","type","value","onInput","Input","event","$emit","target","String","emits","Button","HomeView","console","log","catch","routes","path","name","component","router","createRouter","history","createWebHistory","process","createApp","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/service/ports/http/frontend/js/app.80787f4b.js b/service/ports/http/frontend/js/app.80787f4b.js deleted file mode 100644 index d1a3316..0000000 --- a/service/ports/http/frontend/js/app.80787f4b.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var e={6350:function(e,t,r){var n=r(9242),o=r(3396),s=r(7139);const c={class:"wrapper"};function i(e,t,r,n,i,a){const u=(0,o.up)("Header"),l=(0,o.up)("router-view");return(0,o.wg)(),(0,o.iD)("div",c,[(0,o.Wm)(u),(0,o.Uk)(" "+(0,s.zw)(e.user)+" ",1),(0,o.Wm)(l)])}var a,u=r(7327),l=r(6520),d=r(65),p=r(4161);(function(e){e["SetUser"]="setUser"})(a||(a={}));var f=(0,d.MT)({state:{user:void 0},getters:{},mutations:{[a.SetUser](e,t){e.user=t}},actions:{},modules:{}});class v{constructor(e){(0,u.Z)(this,"store",void 0),(0,u.Z)(this,"axios",p.Z.create()),this.store=e}currentUser(){const e="/api/current-user";return this.axios.get(e)}publicKeys(){const e="/api/public-keys";return this.axios.get(e)}addPublicKey(e){const t="/api/public-keys";return this.axios.post(t,e)}refreshCurrentUser(){return new Promise(((e,t)=>{this.currentUser().then((t=>{this.store.commit(a.SetUser,t.data.user),e(t.data)}),(e=>{t(e)}))}))}}var g=r.p+"img/logo.79c97fb0.svg";const h=e=>((0,o.dD)("data-v-5f2e3f63"),e=e(),(0,o.Cn)(),e),b=h((()=>(0,o._)("a",{class:"logo"},[(0,o._)("img",{src:g})],-1))),y=h((()=>(0,o._)("nav",null,[(0,o._)("ul",null,[(0,o._)("li",null,[(0,o._)("a",null,"Link 1")]),(0,o._)("li",null,[(0,o._)("a",null,"Link 2")])])],-1))),w=[b,y];function m(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("header",null,w)}var _=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let k=class extends l.w3{};k=_([(0,l.Ei)({})],k);var O=k,j=r(89);const D=(0,j.Z)(O,[["render",m],["__scopeId","data-v-5f2e3f63"]]);var R=D,P=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let x=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"apiService",new v((0,d.oR)()))}created(){this.loadCurrentUser()}loadCurrentUser(){this.apiService.refreshCurrentUser()}};x=P([(0,l.Ei)({components:{Header:R}})],x);var Z=x;const U=(0,j.Z)(Z,[["render",i]]);var C=U,I=r(2483);const K=e=>((0,o.dD)("data-v-76ba074c"),e=e(),(0,o.Cn)(),e),E={class:"home"},S={key:0},W=K((()=>(0,o._)("div",{class:"step"}," 1. Link your X account: ",-1))),L={key:1},V=K((()=>(0,o._)("div",{class:"step"}," 1. Logged in as ",-1))),q=K((()=>(0,o._)("div",{class:"step"}," 2. Your nostr identities: ",-1))),z={key:2,class:"public-keys-wrapper"},N={key:0},T={key:1,class:"public-keys"},B={class:"npub"};function X(e,t,r,n,c,i){const a=(0,o.up)("Explanation"),u=(0,o.up)("LogInWithTwitterButton"),l=(0,o.up)("CurrentUser"),d=(0,o.up)("Checkmark"),p=(0,o.up)("Input"),f=(0,o.up)("Button");return(0,o.wg)(),(0,o.iD)("div",E,[(0,o.Wm)(a),e.loadingUser||e.user?(0,o.kq)("",!0):((0,o.wg)(),(0,o.iD)("div",S,[W,(0,o.Wm)(u)])),!e.loadingUser&&e.user?((0,o.wg)(),(0,o.iD)("div",L,[V,(0,o.Wm)(l,{user:e.user},null,8,["user"])])):(0,o.kq)("",!0),q,!e.loadingUser&&e.user?((0,o.wg)(),(0,o.iD)("div",z,[e.publicKeys?(0,o.kq)("",!0):((0,o.wg)(),(0,o.iD)("div",N," Loading public keys... ")),e.publicKeys&&e.publicKeys.publicKeys?.length>0?((0,o.wg)(),(0,o.iD)("ul",T,[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(e.publicKeys.publicKeys,(e=>((0,o.wg)(),(0,o.iD)("li",{key:e.npub},[(0,o._)("div",B,(0,s.zw)(e.npub),1),(0,o.Wm)(d)])))),128))])):(0,o.kq)("",!0)])):(0,o.kq)("",!0),(0,o._)("form",null,[(0,o.Wm)(p,{placeholder:"Paste your npub address",modelValue:e.npub,"onUpdate:modelValue":t[0]||(t[0]=t=>e.npub=t)},null,8,["modelValue"]),(0,o.Wm)(f,{text:"Add",onClick:e.addPublicKey},null,8,["onClick"])])])}const H=e=>((0,o.dD)("data-v-2a823115"),e=e(),(0,o.Cn)(),e),M={class:"explanation"},Y=H((()=>(0,o._)("div",{class:"large"}," Start posting your Nostr content on X ",-1))),$=H((()=>(0,o._)("div",{class:"small"}," Log in to your X account and add your Nostr identities so that everything you publish on Nostr will be mirrored on X ",-1))),A=[Y,$];function F(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("div",M,A)}var G=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let J=class extends l.w3{};J=G([(0,l.Ei)({})],J);var Q=J;const ee=(0,j.Z)(Q,[["render",F],["__scopeId","data-v-2a823115"]]);var te=ee,re=r.p+"img/login_with_x.b3cda31f.svg";const ne=e=>((0,o.dD)("data-v-2398ccb5"),e=e(),(0,o.Cn)(),e),oe={href:"/login",class:"log-in-with-twitter-button"},se=ne((()=>(0,o._)("div",{class:"img-wrapper"},[(0,o._)("img",{src:re})],-1))),ce=[se];function ie(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("a",oe,ce)}var ae=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let ue=class extends l.w3{};ue=ae([(0,l.Ei)({})],ue);var le=ue;const de=(0,j.Z)(le,[["render",ie],["__scopeId","data-v-2398ccb5"]]);var pe=de,fe=r.p+"img/logout_on_dark.2eaec2bd.svg";const ve=e=>((0,o.dD)("data-v-4ec55186"),e=e(),(0,o.Cn)(),e),ge={class:"current-user"},he={class:"user-info"},be=["src"],ye={class:"name"},we={class:"username"},me=ve((()=>(0,o._)("a",{class:"logout-button"},[(0,o._)("img",{src:fe})],-1)));function _e(e,t,r,n,c,i){const a=(0,o.up)("Checkmark");return(0,o.wg)(),(0,o.iD)("div",ge,[(0,o._)("div",he,[(0,o._)("img",{class:"image",src:e.user?.twitterProfileImageURL},null,8,be),(0,o._)("div",ye,(0,s.zw)(e.user.twitterName),1),(0,o._)("div",we,"@"+(0,s.zw)(e.user.twitterUsername),1),me]),(0,o.Wm)(a)])}class ke{constructor(){(0,u.Z)(this,"accountID",void 0),(0,u.Z)(this,"twitterID",void 0),(0,u.Z)(this,"twitterName",void 0),(0,u.Z)(this,"twitterUsername",void 0),(0,u.Z)(this,"twitterProfileImageURL",void 0)}}var Oe=r.p+"img/checkmark.3921dcf8.svg";const je={class:"checkmark",src:Oe};function De(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("img",je)}var Re=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let Pe=class extends l.w3{};Pe=Re([(0,l.Ei)({})],Pe);var xe=Pe;const Ze=(0,j.Z)(xe,[["render",De]]);var Ue=Ze,Ce=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let Ie=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"user",void 0)}};Ie=Ce([(0,l.Ei)({components:{Checkmark:Ue},props:{user:ke}})],Ie);var Ke=Ie;const Ee=(0,j.Z)(Ke,[["render",_e],["__scopeId","data-v-4ec55186"]]);var Se=Ee;class We{constructor(e){(0,u.Z)(this,"npub",void 0),this.npub=e}}const Le=["placeholder","value"];function Ve(e,t,r,n,s,c){return(0,o.wg)(),(0,o.iD)("input",{type:"text",placeholder:e.placeholder,value:e.modelValue,onInput:t[0]||(t[0]=(...t)=>e.onInput&&e.onInput(...t))},null,40,Le)}var qe=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let ze=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"placeholder",void 0),(0,u.Z)(this,"modelValue",void 0)}onInput(e){this.$emit("update:modelValue",e.target.value)}};ze=qe([(0,l.Ei)({props:{placeholder:String,modelValue:String},emits:["update:modelValue"]})],ze);var Ne=ze;const Te=(0,j.Z)(Ne,[["render",Ve],["__scopeId","data-v-79eeeb90"]]);var Be=Te;function Xe(e,t,r,n,c,i){return(0,o.wg)(),(0,o.iD)("button",{onClick:t[0]||(t[0]=t=>e.$emit("click",t))},(0,s.zw)(e.text),1)}var He=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let Me=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"text",void 0)}};Me=He([(0,l.Ei)({props:{text:String}})],Me);var Ye=Me;const $e=(0,j.Z)(Ye,[["render",Xe],["__scopeId","data-v-4ed4367c"]]);var Ae=$e,Fe=function(e,t,r,n){var o,s=arguments.length,c=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(c=(s<3?o(c):s>3?o(t,r,c):o(t,r))||c);return s>3&&c&&Object.defineProperty(t,r,c),c};let Ge=class extends l.w3{constructor(...e){super(...e),(0,u.Z)(this,"apiService",new v((0,d.oR)())),(0,u.Z)(this,"store",(0,d.oR)()),(0,u.Z)(this,"publicKeys",null),(0,u.Z)(this,"npub","")}get loadingUser(){return void 0===this.store.state.user}get user(){return this.store.state.user}created(){this.apiService.publicKeys().then((e=>{this.publicKeys=e.data}))}addPublicKey(){this.apiService.addPublicKey(new We(this.npub)).then((e=>{console.log("added",e)})).catch((e=>{console.log("error",e)}))}};Ge=Fe([(0,l.Ei)({components:{Checkmark:Ue,Button:Ae,CurrentUser:Se,LogInWithTwitterButton:pe,Explanation:te,Input:Be}})],Ge);var Je=Ge;const Qe=(0,j.Z)(Je,[["render",X],["__scopeId","data-v-76ba074c"]]);var et=Qe;const tt=[{path:"/",name:"home",component:et}],rt=(0,I.p7)({history:(0,I.PO)("/"),routes:tt});var nt=rt;(0,n.ri)(C).use(f).use(nt).mount("#app")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}r.m=e,function(){var e=[];r.O=function(t,n,o,s){if(!n){var c=1/0;for(l=0;l=s)&&Object.keys(r.O).every((function(e){return r.O[e](n[a])}))?n.splice(a--,1):(i=!1,s0&&e[l-1][2]>s;l--)e[l]=e[l-1];e[l]=[n,o,s]}}(),function(){r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,{a:t}),t}}(),function(){r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){r.p="/"}(),function(){var e={143:0};r.O.j=function(t){return 0===e[t]};var t=function(t,n){var o,s,c=n[0],i=n[1],a=n[2],u=0;if(c.some((function(t){return 0!==e[t]}))){for(o in i)r.o(i,o)&&(r.m[o]=i[o]);if(a)var l=a(r)}for(t&&t(n);u\n
\n
\n\n {{ user }}\n \n
\n\n\n\n\n\n","import {createStore} from 'vuex'\nimport {User} from \"@/dto/User\";\n\nexport enum Mutation {\n SetUser = 'setUser',\n}\n\nexport class State {\n user?: User;\n}\n\nexport default createStore({\n state: {\n user: undefined,\n },\n getters: {},\n mutations: {\n [Mutation.SetUser](state: State, user: User): void {\n state.user = user;\n },\n },\n actions: {},\n modules: {}\n})\n","import axios, {AxiosResponse} from 'axios';\nimport {CurrentUser} from \"@/dto/CurrentUser\";\nimport {Mutation, State} from '@/store';\nimport {PublicKeys} from \"@/dto/PublicKeys\";\nimport {AddPublicKeyRequest} from \"@/dto/AddPublicKeyRequest\";\nimport {Store} from \"vuex\";\n\nexport class APIService {\n\n private readonly axios = axios.create();\n\n constructor(private store: Store) {\n }\n\n currentUser(): Promise> {\n const url = `/api/current-user`;\n return this.axios.get(url);\n }\n\n publicKeys(): Promise> {\n const url = `/api/public-keys`;\n return this.axios.get(url);\n }\n\n addPublicKey(req: AddPublicKeyRequest): Promise> {\n const url = `/api/public-keys`;\n return this.axios.post(url, req);\n }\n\n refreshCurrentUser(): Promise {\n return new Promise((resolve, reject) => {\n this.currentUser()\n .then(\n response => {\n this.store.commit(Mutation.SetUser, response.data.user);\n resolve(response.data);\n },\n error => {\n reject(error);\n },\n );\n });\n }\n}","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '../assets/logo.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5f2e3f63\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", { class: \"logo\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_0 })\n], -1))\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"nav\", null, [\n /*#__PURE__*/_createElementVNode(\"ul\", null, [\n /*#__PURE__*/_createElementVNode(\"li\", null, [\n /*#__PURE__*/_createElementVNode(\"a\", null, \"Link 1\")\n ]),\n /*#__PURE__*/_createElementVNode(\"li\", null, [\n /*#__PURE__*/_createElementVNode(\"a\", null, \"Link 2\")\n ])\n ])\n], -1))\nconst _hoisted_3 = [\n _hoisted_1,\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"header\", null, _hoisted_3))\n}","\n\n\n\n\n","import { render } from \"./Header.vue?vue&type=template&id=5f2e3f63&scoped=true&ts=true\"\nimport script from \"./Header.vue?vue&type=script&lang=ts\"\nexport * from \"./Header.vue?vue&type=script&lang=ts\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=5f2e3f63&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5f2e3f63\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=1f734ea0&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=1f734ea0&lang=scss\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-76ba074c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"home\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"step\" }, \" 1. Link your X account: \", -1))\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"step\" }, \" 1. Logged in as \", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"step\" }, \" 2. Your nostr identities: \", -1))\nconst _hoisted_7 = {\n key: 2,\n class: \"public-keys-wrapper\"\n}\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = {\n key: 1,\n class: \"public-keys\"\n}\nconst _hoisted_10 = { class: \"npub\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Explanation = _resolveComponent(\"Explanation\")!\n const _component_LogInWithTwitterButton = _resolveComponent(\"LogInWithTwitterButton\")!\n const _component_CurrentUser = _resolveComponent(\"CurrentUser\")!\n const _component_Checkmark = _resolveComponent(\"Checkmark\")!\n const _component_Input = _resolveComponent(\"Input\")!\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Explanation),\n (!_ctx.loadingUser && !_ctx.user)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _hoisted_3,\n _createVNode(_component_LogInWithTwitterButton)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.loadingUser && _ctx.user)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _hoisted_5,\n _createVNode(_component_CurrentUser, { user: _ctx.user }, null, 8, [\"user\"])\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_6,\n (!_ctx.loadingUser && _ctx.user)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n (!_ctx.publicKeys)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, \" Loading public keys... \"))\n : _createCommentVNode(\"\", true),\n (_ctx.publicKeys && _ctx.publicKeys.publicKeys?.length > 0)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_9, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.publicKeys.publicKeys, (publicKey) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: publicKey.npub\n }, [\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(publicKey.npub), 1),\n _createVNode(_component_Checkmark)\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", null, [\n _createVNode(_component_Input, {\n placeholder: \"Paste your npub address\",\n modelValue: _ctx.npub,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.npub) = $event))\n }, null, 8, [\"modelValue\"]),\n _createVNode(_component_Button, {\n text: \"Add\",\n onClick: _ctx.addPublicKey\n }, null, 8, [\"onClick\"])\n ])\n ]))\n}","\n\n\n\n\n","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2a823115\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"explanation\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"large\" }, \" Start posting your Nostr content on X \", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"small\" }, \" Log in to your X account and add your Nostr identities so that everything you publish on Nostr will be mirrored on X \", -1))\nconst _hoisted_4 = [\n _hoisted_2,\n _hoisted_3\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, _hoisted_4))\n}","\n\n\n\n\n","import { render } from \"./Explanation.vue?vue&type=template&id=2a823115&scoped=true&ts=true\"\nimport script from \"./Explanation.vue?vue&type=script&lang=ts\"\nexport * from \"./Explanation.vue?vue&type=script&lang=ts\"\n\nimport \"./Explanation.vue?vue&type=style&index=0&id=2a823115&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2a823115\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '../assets/login_with_x.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2398ccb5\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n href: \"/login\",\n class: \"log-in-with-twitter-button\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"img-wrapper\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_0 })\n], -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"a\", _hoisted_1, _hoisted_3))\n}","\n\n\n\n\n","import { render } from \"./LogInWithTwitterButton.vue?vue&type=template&id=2398ccb5&scoped=true&ts=true\"\nimport script from \"./LogInWithTwitterButton.vue?vue&type=script&lang=ts\"\nexport * from \"./LogInWithTwitterButton.vue?vue&type=script&lang=ts\"\n\nimport \"./LogInWithTwitterButton.vue?vue&type=style&index=0&id=2398ccb5&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2398ccb5\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '../assets/logout_on_dark.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4ec55186\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"current-user\" }\nconst _hoisted_2 = { class: \"user-info\" }\nconst _hoisted_3 = [\"src\"]\nconst _hoisted_4 = { class: \"name\" }\nconst _hoisted_5 = { class: \"username\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", { class: \"logout-button\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_0 })\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Checkmark = _resolveComponent(\"Checkmark\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"img\", {\n class: \"image\",\n src: _ctx.user?.twitterProfileImageURL\n }, null, 8, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, _toDisplayString(_ctx.user.twitterName), 1),\n _createElementVNode(\"div\", _hoisted_5, \"@\" + _toDisplayString(_ctx.user.twitterUsername), 1),\n _hoisted_6\n ]),\n _createVNode(_component_Checkmark)\n ]))\n}","\n\n\n\n\n","export class User {\n accountID?: string;\n twitterID?: number;\n twitterName?: string;\n twitterUsername?: string;\n twitterProfileImageURL?: string;\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\nimport _imports_0 from '../assets/checkmark.svg'\n\n\nconst _hoisted_1 = {\n class: \"checkmark\",\n src: _imports_0\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"img\", _hoisted_1))\n}","\n\n\n","import { render } from \"./Checkmark.vue?vue&type=template&id=4ebda3e8&ts=true\"\nimport script from \"./Checkmark.vue?vue&type=script&lang=ts\"\nexport * from \"./Checkmark.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./CurrentUser.vue?vue&type=template&id=4ec55186&scoped=true&ts=true\"\nimport script from \"./CurrentUser.vue?vue&type=script&lang=ts\"\nexport * from \"./CurrentUser.vue?vue&type=script&lang=ts\"\n\nimport \"./CurrentUser.vue?vue&type=style&index=0&id=4ec55186&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ec55186\"]])\n\nexport default __exports__","export class AddPublicKeyRequest {\n npub: string;\n\n constructor(npub: string) {\n this.npub = npub\n }\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-79eeeb90\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"placeholder\", \"value\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"input\", {\n type: \"text\",\n placeholder: _ctx.placeholder,\n value: _ctx.modelValue,\n onInput: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.onInput && _ctx.onInput(...args)))\n }, null, 40, _hoisted_1))\n}","\n\n\n\n\n","import { render } from \"./Input.vue?vue&type=template&id=79eeeb90&scoped=true&ts=true\"\nimport script from \"./Input.vue?vue&type=script&lang=ts\"\nexport * from \"./Input.vue?vue&type=script&lang=ts\"\n\nimport \"./Input.vue?vue&type=style&index=0&id=79eeeb90&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-79eeeb90\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$emit('click', $event)))\n }, _toDisplayString(_ctx.text), 1))\n}","\n\n\n\n\n","import { render } from \"./Button.vue?vue&type=template&id=4ed4367c&scoped=true&ts=true\"\nimport script from \"./Button.vue?vue&type=script&lang=ts\"\nexport * from \"./Button.vue?vue&type=script&lang=ts\"\n\nimport \"./Button.vue?vue&type=style&index=0&id=4ed4367c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ed4367c\"]])\n\nexport default __exports__","import { render } from \"./HomeView.vue?vue&type=template&id=76ba074c&scoped=true&ts=true\"\nimport script from \"./HomeView.vue?vue&type=script&lang=ts\"\nexport * from \"./HomeView.vue?vue&type=script&lang=ts\"\n\nimport \"./HomeView.vue?vue&type=style&index=0&id=76ba074c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-76ba074c\"]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\nimport HomeView from '../views/HomeView.vue'\n\nconst routes: Array = [\n {\n path: '/',\n name: 'home',\n component: HomeView\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes\n})\n\nexport default router\n","import { createApp } from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\n\ncreateApp(App).use(store).use(router).mount('#app')\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknos_crossposting_service_frontend\"] = self[\"webpackChunknos_crossposting_service_frontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(6350); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_Header","_resolveComponent","_component_router_view","_openBlock","_createElementBlock","_createVNode","_createTextVNode","_toDisplayString","user","Mutation","createStore","state","undefined","getters","mutations","SetUser","actions","modules","APIService","constructor","store","_defineProperty","axios","create","currentUser","url","this","get","publicKeys","addPublicKey","req","post","refreshCurrentUser","Promise","resolve","reject","then","response","commit","data","error","_withScopeId","n","_pushScopeId","_popScopeId","_createElementVNode","src","_imports_0","_hoisted_2","_hoisted_3","Header","Vue","__decorate","Options","__exports__","App","args","useStore","created","loadCurrentUser","apiService","components","key","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_component_Explanation","_component_LogInWithTwitterButton","_component_CurrentUser","_component_Checkmark","_component_Input","_component_Button","loadingUser","_createCommentVNode","length","_Fragment","_renderList","publicKey","npub","placeholder","modelValue","$event","text","onClick","Explanation","href","LogInWithTwitterButton","twitterProfileImageURL","twitterName","twitterUsername","User","Checkmark","CurrentUser","props","AddPublicKeyRequest","type","value","onInput","Input","event","$emit","target","String","emits","Button","HomeView","console","log","catch","routes","path","name","component","router","createRouter","history","createWebHistory","process","createApp","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file