From 62272216c796d5c52ef46cde8d41be2dd4c0fe37 Mon Sep 17 00:00:00 2001 From: boreq Date: Tue, 24 Oct 2023 19:07:42 +0200 Subject: [PATCH] Mobile --- .../src/views/HomeView.vue | 10 ++++------ .../css/{app.87cc5009.css => app.d3a92ac3.css} | 2 +- service/ports/http/frontend/index.html | 2 +- .../frontend/js/{app.11f9e838.js => app.5e6ad394.js} | 4 ++-- .../js/{app.11f9e838.js.map => app.5e6ad394.js.map} | 2 +- 5 files changed, 9 insertions(+), 11 deletions(-) rename service/ports/http/frontend/css/{app.87cc5009.css => app.d3a92ac3.css} (83%) rename service/ports/http/frontend/js/{app.11f9e838.js => app.5e6ad394.js} (98%) rename service/ports/http/frontend/js/{app.11f9e838.js.map => app.5e6ad394.js.map} (64%) diff --git a/frontend/nos-crossposting-service-frontend/src/views/HomeView.vue b/frontend/nos-crossposting-service-frontend/src/views/HomeView.vue index 0c1e4b9..54acb35 100644 --- a/frontend/nos-crossposting-service-frontend/src/views/HomeView.vue +++ b/frontend/nos-crossposting-service-frontend/src/views/HomeView.vue @@ -186,10 +186,6 @@ button { .input { width: 500px; } - - .button { - - } } @media screen and (max-width: 1200px) { @@ -203,13 +199,15 @@ button { .link-npub-form { display: flex; + flex-flow: column nowrap; .input { - flex: 1; + width: auto; } .button { - + width: auto; + margin: 1em 0; } } } diff --git a/service/ports/http/frontend/css/app.87cc5009.css b/service/ports/http/frontend/css/app.d3a92ac3.css similarity index 83% rename from service/ports/http/frontend/css/app.87cc5009.css rename to service/ports/http/frontend/css/app.d3a92ac3.css index 2c98a07..be24525 100644 --- a/service/ports/http/frontend/css/app.87cc5009.css +++ b/service/ports/http/frontend/css/app.d3a92ac3.css @@ -1 +1 @@ -a[data-v-5ac017a3]{padding:15px;border-radius:10px;background-color:#fff;color:#19072c;font-size:24px;display:flex;align-items:center;font-weight:700;cursor:pointer}a .icon[data-v-5ac017a3]{margin-left:10px}header[data-v-41f23fd0]{display:flex;flex-flow:row nowrap;align-items:center}header .logo[data-v-41f23fd0]{display:block}header nav[data-v-41f23fd0]{font-size:24px;font-weight:600;flex:1;text-align:right}header nav ul[data-v-41f23fd0]{margin:0;padding:0;list-style-type:none}header nav ul li[data-v-41f23fd0]{display:inline-block;margin:0;padding:0 1em}header nav ul li[data-v-41f23fd0]:last-child{padding-right:0}header nav ul li[data-v-41f23fd0]:first-child{padding-left:0}header nav ul li a[data-v-41f23fd0]{color:#9379bf;text-decoration:none}header nav ul li a[data-v-41f23fd0]:hover{color:#fff}header .logout-button[data-v-41f23fd0]{margin-left:1em}@media screen and (max-width:1200px){header[data-v-41f23fd0]{flex-flow:column nowrap;text-align:center}header nav[data-v-41f23fd0]{margin:1em 0;text-align:center}header nav ul li[data-v-41f23fd0]{display:block;padding:.5em 0}header .logout-button[data-v-41f23fd0]{margin:1em 0}}.notifications[data-v-11301b3e]{margin:0;padding:0}.notifications .notification[data-v-11301b3e]{list-style-type:none;padding:1em;margin:1em;border-radius:10px;color:#fff;overflow:hidden;display:flex;flex-flow:row nowrap;align-items:center}.notifications .notification .text[data-v-11301b3e]{flex:1}.notifications .notification .button[data-v-11301b3e]{cursor:pointer}.notifications .notification.error[data-v-11301b3e]{background-color:#ef6155}.notifications .notification.success[data-v-11301b3e]{background-color:#2ecc71}@font-face{font-family:Clarity City;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ClarityCity-Regular.58b3eff6.otf) format("opentype")}@font-face{font-family:Clarity City;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ClarityCity-Medium.e68a804b.otf) format("opentype")}@font-face{font-family:Clarity City;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ClarityCity-SemiBold.41fce741.otf) format("opentype")}@font-face{font-family:Clarity City;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ClarityCity-Bold.952112b9.otf) format("opentype")}body,html{padding:0;margin:0;color:#fff;min-height:100vh;font-family:Clarity City,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}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 .wrapper{padding:4em}#app .wrapper .content{padding:0 4em}@media screen and (max-width:1200px){#app .wrapper .content{padding:0}}.explanation[data-v-5ace9f54]{text-align:left;margin:10em 0;max-width:700px}.explanation .large[data-v-5ace9f54]{font-size:60px;line-height:84px;font-weight:700;margin-bottom:.5em}.explanation .small[data-v-5ace9f54]{color:#9379bf;font-size:26px;font-weight:500;line-height:36px}@media screen and (max-width:1200px){.explanation[data-v-5ace9f54]{max-width:none}}a[data-v-58fab459]{display:inline-block;margin:1.5em 0;padding:5px;border-radius:10px;background:linear-gradient(#f08508,#f43f75)}a .img-wrapper[data-v-58fab459]{padding:1em 2em;background-color:#170d2b}a .img-wrapper img[data-v-58fab459]{display:block;margin:0 auto;height:52px}a:hover .img-wrapper[data-v-58fab459]{background-color:transparent}.current-user[data-v-bf1931c6]{display:grid;grid-template-columns:auto 50px;grid-template-rows:auto;grid-template-areas:"user-info checkmark";align-items:center;margin:1.5em 0}.current-user .user-info[data-v-bf1931c6]{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;background-color:#2a1b45}.current-user .user-info .image[data-v-bf1931c6]{grid-area:image;border-radius:75px;height:75px}.current-user .user-info .name[data-v-bf1931c6],.current-user .user-info .username[data-v-bf1931c6]{font-size:28px;font-style:normal}.current-user .user-info .username[data-v-bf1931c6]{grid-area:username;font-weight:500;color:#9379bf}.current-user .user-info .name[data-v-bf1931c6]{grid-area:name;font-weight:700;color:#fff}.current-user .user-info .logout-button[data-v-bf1931c6]{grid-area:logout-button;cursor:pointer}.current-user .checkmark[data-v-bf1931c6]{grid-area:checkmark;padding:0 15px}input[data-v-a3a07d36]{border-radius:10px;border:3px solid #fff;padding:30px;background-color:#1b122d;font-weight:700;font-size:32px;line-height:32px;color:#fff}input[data-v-a3a07d36]::-moz-placeholder{color:#fff}input[data-v-a3a07d36]::placeholder{color:#fff}input.disabled[data-v-a3a07d36]{cursor:not-allowed;background-color:#342255;border-color:hsla(0,0%,100%,.15)}input.disabled[data-v-a3a07d36]::-moz-placeholder{color:hsla(0,0%,100%,.25)}input.disabled[data-v-a3a07d36]::placeholder{color:hsla(0,0%,100%,.25)}button[data-v-6881488a]{background-image:linear-gradient(180deg,#f08508,#f43f75);padding:33px;border:0;border-radius:10px;color:#fff;font-size:32px;font-weight:700;text-shadow:0 2px 2px rgba(0,0,0,.25)}button[data-v-6881488a]:hover{cursor:pointer}button.disabled[data-v-6881488a]{cursor:not-allowed}.step[data-v-0a5bd406]{font-size:28px;margin-top:2em;font-weight:700}.link-npub-form[data-v-0a5bd406],.public-keys-wrapper[data-v-0a5bd406]{margin:28px 0}button[data-v-0a5bd406]{margin-left:1em}.current-user[data-v-0a5bd406]{width:550px}.public-keys[data-v-0a5bd406]{list-style-type:none;font-size:28px;margin:0;padding:0}.public-keys li[data-v-0a5bd406]{margin:1em 0;padding:0;color:#9379bf;font-style:normal;font-weight:700;display:flex;align-items:center;flex-flow:row nowrap}.public-keys li[data-v-0a5bd406]:first-child{margin-top:0}.public-keys li[data-v-0a5bd406]:last-child{margin-bottom:0}.public-keys li .npub[data-v-0a5bd406]{width:300px;overflow:hidden;text-overflow:ellipsis}.link-npub-form[data-v-0a5bd406]{display:flex}.link-npub-form .input[data-v-0a5bd406]{width:500px}@media screen and (max-width:1200px){.current-user[data-v-0a5bd406]{width:100%}.log-in-with-twitter-button[data-v-0a5bd406]{display:block}.link-npub-form[data-v-0a5bd406]{display:flex}.link-npub-form .input[data-v-0a5bd406]{flex:1}} \ No newline at end of file +a[data-v-5ac017a3]{padding:15px;border-radius:10px;background-color:#fff;color:#19072c;font-size:24px;display:flex;align-items:center;font-weight:700;cursor:pointer}a .icon[data-v-5ac017a3]{margin-left:10px}header[data-v-41f23fd0]{display:flex;flex-flow:row nowrap;align-items:center}header .logo[data-v-41f23fd0]{display:block}header nav[data-v-41f23fd0]{font-size:24px;font-weight:600;flex:1;text-align:right}header nav ul[data-v-41f23fd0]{margin:0;padding:0;list-style-type:none}header nav ul li[data-v-41f23fd0]{display:inline-block;margin:0;padding:0 1em}header nav ul li[data-v-41f23fd0]:last-child{padding-right:0}header nav ul li[data-v-41f23fd0]:first-child{padding-left:0}header nav ul li a[data-v-41f23fd0]{color:#9379bf;text-decoration:none}header nav ul li a[data-v-41f23fd0]:hover{color:#fff}header .logout-button[data-v-41f23fd0]{margin-left:1em}@media screen and (max-width:1200px){header[data-v-41f23fd0]{flex-flow:column nowrap;text-align:center}header nav[data-v-41f23fd0]{margin:1em 0;text-align:center}header nav ul li[data-v-41f23fd0]{display:block;padding:.5em 0}header .logout-button[data-v-41f23fd0]{margin:1em 0}}.notifications[data-v-11301b3e]{margin:0;padding:0}.notifications .notification[data-v-11301b3e]{list-style-type:none;padding:1em;margin:1em;border-radius:10px;color:#fff;overflow:hidden;display:flex;flex-flow:row nowrap;align-items:center}.notifications .notification .text[data-v-11301b3e]{flex:1}.notifications .notification .button[data-v-11301b3e]{cursor:pointer}.notifications .notification.error[data-v-11301b3e]{background-color:#ef6155}.notifications .notification.success[data-v-11301b3e]{background-color:#2ecc71}@font-face{font-family:Clarity City;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ClarityCity-Regular.58b3eff6.otf) format("opentype")}@font-face{font-family:Clarity City;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ClarityCity-Medium.e68a804b.otf) format("opentype")}@font-face{font-family:Clarity City;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ClarityCity-SemiBold.41fce741.otf) format("opentype")}@font-face{font-family:Clarity City;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ClarityCity-Bold.952112b9.otf) format("opentype")}body,html{padding:0;margin:0;color:#fff;min-height:100vh;font-family:Clarity City,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}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 .wrapper{padding:4em}#app .wrapper .content{padding:0 4em}@media screen and (max-width:1200px){#app .wrapper .content{padding:0}}.explanation[data-v-5ace9f54]{text-align:left;margin:10em 0;max-width:700px}.explanation .large[data-v-5ace9f54]{font-size:60px;line-height:84px;font-weight:700;margin-bottom:.5em}.explanation .small[data-v-5ace9f54]{color:#9379bf;font-size:26px;font-weight:500;line-height:36px}@media screen and (max-width:1200px){.explanation[data-v-5ace9f54]{max-width:none}}a[data-v-58fab459]{display:inline-block;margin:1.5em 0;padding:5px;border-radius:10px;background:linear-gradient(#f08508,#f43f75)}a .img-wrapper[data-v-58fab459]{padding:1em 2em;background-color:#170d2b}a .img-wrapper img[data-v-58fab459]{display:block;margin:0 auto;height:52px}a:hover .img-wrapper[data-v-58fab459]{background-color:transparent}.current-user[data-v-bf1931c6]{display:grid;grid-template-columns:auto 50px;grid-template-rows:auto;grid-template-areas:"user-info checkmark";align-items:center;margin:1.5em 0}.current-user .user-info[data-v-bf1931c6]{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;background-color:#2a1b45}.current-user .user-info .image[data-v-bf1931c6]{grid-area:image;border-radius:75px;height:75px}.current-user .user-info .name[data-v-bf1931c6],.current-user .user-info .username[data-v-bf1931c6]{font-size:28px;font-style:normal}.current-user .user-info .username[data-v-bf1931c6]{grid-area:username;font-weight:500;color:#9379bf}.current-user .user-info .name[data-v-bf1931c6]{grid-area:name;font-weight:700;color:#fff}.current-user .user-info .logout-button[data-v-bf1931c6]{grid-area:logout-button;cursor:pointer}.current-user .checkmark[data-v-bf1931c6]{grid-area:checkmark;padding:0 15px}input[data-v-a3a07d36]{border-radius:10px;border:3px solid #fff;padding:30px;background-color:#1b122d;font-weight:700;font-size:32px;line-height:32px;color:#fff}input[data-v-a3a07d36]::-moz-placeholder{color:#fff}input[data-v-a3a07d36]::placeholder{color:#fff}input.disabled[data-v-a3a07d36]{cursor:not-allowed;background-color:#342255;border-color:hsla(0,0%,100%,.15)}input.disabled[data-v-a3a07d36]::-moz-placeholder{color:hsla(0,0%,100%,.25)}input.disabled[data-v-a3a07d36]::placeholder{color:hsla(0,0%,100%,.25)}button[data-v-6881488a]{background-image:linear-gradient(180deg,#f08508,#f43f75);padding:33px;border:0;border-radius:10px;color:#fff;font-size:32px;font-weight:700;text-shadow:0 2px 2px rgba(0,0,0,.25)}button[data-v-6881488a]:hover{cursor:pointer}button.disabled[data-v-6881488a]{cursor:not-allowed}.step[data-v-6df21b34]{font-size:28px;margin-top:2em;font-weight:700}.link-npub-form[data-v-6df21b34],.public-keys-wrapper[data-v-6df21b34]{margin:28px 0}button[data-v-6df21b34]{margin-left:1em}.current-user[data-v-6df21b34]{width:550px}.public-keys[data-v-6df21b34]{list-style-type:none;font-size:28px;margin:0;padding:0}.public-keys li[data-v-6df21b34]{margin:1em 0;padding:0;color:#9379bf;font-style:normal;font-weight:700;display:flex;align-items:center;flex-flow:row nowrap}.public-keys li[data-v-6df21b34]:first-child{margin-top:0}.public-keys li[data-v-6df21b34]:last-child{margin-bottom:0}.public-keys li .npub[data-v-6df21b34]{width:300px;overflow:hidden;text-overflow:ellipsis}.link-npub-form[data-v-6df21b34]{display:flex}.link-npub-form .input[data-v-6df21b34]{width:500px}@media screen and (max-width:1200px){.current-user[data-v-6df21b34]{width:100%}.log-in-with-twitter-button[data-v-6df21b34]{display:block}.link-npub-form[data-v-6df21b34]{display:flex;flex-flow:column nowrap}.link-npub-form .input[data-v-6df21b34]{width:auto}.link-npub-form .button[data-v-6df21b34]{width:auto;margin:1em 0}} \ No newline at end of file diff --git a/service/ports/http/frontend/index.html b/service/ports/http/frontend/index.html index 18aa44e..c474855 100644 --- a/service/ports/http/frontend/index.html +++ b/service/ports/http/frontend/index.html @@ -1 +1 @@ -X Connect
\ No newline at end of file +X Connect
\ No newline at end of file diff --git a/service/ports/http/frontend/js/app.11f9e838.js b/service/ports/http/frontend/js/app.5e6ad394.js similarity index 98% rename from service/ports/http/frontend/js/app.11f9e838.js rename to service/ports/http/frontend/js/app.5e6ad394.js index 3069307..189c68c 100644 --- a/service/ports/http/frontend/js/app.11f9e838.js +++ b/service/ports/http/frontend/js/app.5e6ad394.js @@ -1,2 +1,2 @@ -(function(){"use strict";var e={3664:function(e,t,r){var o=r(9242),n=r(3396);const s={class:"wrapper"},i={class:"content"};function c(e,t,r,o,c,a){const l=(0,n.up)("Header"),u=(0,n.up)("Notifications"),d=(0,n.up)("router-view");return(0,n.wg)(),(0,n.iD)("div",s,[(0,n.Wm)(l),(0,n._)("div",i,[(0,n.Wm)(u),(0,n.Wm)(d)])])}var a,l=r(7327),u=r(6520),d=r(65),f=r(4161);class p{constructor(e,t){(0,l.Z)(this,"style",void 0),(0,l.Z)(this,"text",void 0),this.style=e,this.text=t}}(function(e){e["SetUser"]="setUser",e["PushNotificationError"]="pushNotificationError",e["DismissNotification"]="dismissNotification"})(a||(a={}));var h=(0,d.MT)({state:{user:void 0,notifications:[]},getters:{},mutations:{[a.SetUser](e,t){e.user=t},[a.PushNotificationError](e,t){e.notifications?.push(new p("error",t))},[a.DismissNotification](e,t){e.notifications?.splice(t,1)}},actions:{},modules:{}});class v{constructor(e){(0,l.Z)(this,"store",void 0),(0,l.Z)(this,"axios",f.Z.create()),this.store=e}currentUser(){const e="/api/current-user";return this.axios.get(e)}logout(){const e="/api/current-user";return this.axios.delete(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)}logoutCurrentUser(){return new Promise(((e,t)=>{this.logout().then((()=>{this.store.commit(a.SetUser,null),e()}),(e=>{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 b=e=>((0,n.dD)("data-v-41f23fd0"),e=e(),(0,n.Cn)(),e),y=b((()=>(0,n._)("a",{class:"logo",href:"/"},[(0,n._)("img",{src:g})],-1))),m=b((()=>(0,n._)("nav",null,[(0,n._)("ul",null,[(0,n._)("li",null,[(0,n._)("a",{href:"https://nos.social"},"Download Nos")]),(0,n._)("li",null,[(0,n._)("a",{href:"https://github.com/planetary-social/nos-crossposting-service"},"Source code")])])],-1)));function w(e,t,r,o,s,i){const c=(0,n.up)("LogoutButton");return(0,n.wg)(),(0,n.iD)("header",null,[y,m,e.userIsLoggedIn?((0,n.wg)(),(0,n.j4)(c,{key:0})):(0,n.kq)("",!0)])}var _=r.p+"img/logout_on_light.d9f6b5e8.svg";const k=e=>((0,n.dD)("data-v-5ac017a3"),e=e(),(0,n.Cn)(),e),D=k((()=>(0,n._)("div",{class:"label"}," Logout ",-1))),R=k((()=>(0,n._)("img",{class:"icon",src:_},null,-1))),O=[D,R];function P(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("a",{class:"logout-button",onClick:t[0]||(t[0]=(...t)=>e.logout&&e.logout(...t))},O)}var j=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let Z=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"apiService",new v((0,d.oR)())),(0,l.Z)(this,"store",(0,d.oR)())}logout(){this.apiService.logoutCurrentUser().catch((()=>{this.store.commit(a.PushNotificationError,"Error logging out the user.")}))}};Z=j([(0,u.Ei)({})],Z);var x=Z,C=r(89);const E=(0,C.Z)(x,[["render",P],["__scopeId","data-v-5ac017a3"]]);var U=E,I=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let K=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"store",(0,d.oR)())}get userIsLoggedIn(){return!!this.store.state.user}};K=I([(0,u.Ei)({components:{LogoutButton:U}})],K);var N=K;const S=(0,C.Z)(N,[["render",w],["__scopeId","data-v-41f23fd0"]]);var L=S,W=r(7139);const B={class:"notifications"},V={class:"text"},q=["onClick"];function z(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("ul",B,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(e.notifications,((t,r)=>((0,n.wg)(),(0,n.iD)("li",{class:(0,W.C_)(["notification",[t.style]]),key:r},[(0,n._)("div",V,(0,W.zw)(t.text),1),(0,n._)("div",{class:"button",onClick:t=>e.dismiss(r)}," X ",8,q)],2)))),128))])}var T=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let X=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"store",(0,d.oR)())}get notifications(){return this.store.state.notifications}dismiss(e){this.store.commit(a.DismissNotification,e)}};X=T([(0,u.Ei)({components:{}})],X);var H=X;const Y=(0,C.Z)(H,[["render",z],["__scopeId","data-v-11301b3e"]]);var M=Y,$=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let A=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"apiService",new v((0,d.oR)())),(0,l.Z)(this,"store",(0,d.oR)())}created(){this.apiService.refreshCurrentUser().catch((()=>{this.store.commit(a.PushNotificationError,"Error loading the user.")}))}};A=$([(0,u.Ei)({components:{Notifications:M,Header:L}})],A);var F=A;const G=(0,C.Z)(F,[["render",c]]);var J=G,Q=r(2483);const ee=e=>((0,n.dD)("data-v-0a5bd406"),e=e(),(0,n.Cn)(),e),te={class:"home"},re={key:0},oe=ee((()=>(0,n._)("div",{class:"step"}," 1. Link your X account: ",-1))),ne={key:1},se=ee((()=>(0,n._)("div",{class:"step"}," 1. Logged in as ",-1))),ie=ee((()=>(0,n._)("div",{class:"step"}," 2. Your nostr identities: ",-1))),ce={key:2,class:"public-keys-wrapper"},ae={key:0},le={key:1,class:"public-keys"},ue={class:"npub"},de={class:"link-npub-form"};function fe(e,t,r,o,s,i){const c=(0,n.up)("Explanation"),a=(0,n.up)("LogInWithTwitterButton"),l=(0,n.up)("CurrentUser"),u=(0,n.up)("Checkmark"),d=(0,n.up)("Input"),f=(0,n.up)("Button");return(0,n.wg)(),(0,n.iD)("div",te,[(0,n.Wm)(c),e.loadingUser||e.user?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)("div",re,[oe,(0,n.Wm)(a)])),!e.loadingUser&&e.user?((0,n.wg)(),(0,n.iD)("div",ne,[se,(0,n.Wm)(l,{user:e.user},null,8,["user"])])):(0,n.kq)("",!0),ie,!e.loadingUser&&e.user?((0,n.wg)(),(0,n.iD)("div",ce,[e.publicKeys?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)("div",ae," Loading public keys... ")),e.publicKeys&&e.publicKeys.publicKeys?.length>0?((0,n.wg)(),(0,n.iD)("ul",le,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(e.publicKeys.publicKeys,(e=>((0,n.wg)(),(0,n.iD)("li",{key:e.npub},[(0,n._)("div",ue,(0,W.zw)(e.npub),1),(0,n.Wm)(u)])))),128))])):(0,n.kq)("",!0)])):(0,n.kq)("",!0),(0,n._)("div",de,[(0,n.Wm)(d,{placeholder:"Paste your npub address",modelValue:e.npub,"onUpdate:modelValue":t[0]||(t[0]=t=>e.npub=t),disabled:e.formDisabled},null,8,["modelValue","disabled"]),(0,n.Wm)(f,{text:"Add",onClick:e.addPublicKey,disabled:e.formDisabled},null,8,["onClick","disabled"])])])}var pe=r(4815);const he=e=>((0,n.dD)("data-v-5ace9f54"),e=e(),(0,n.Cn)(),e),ve={class:"explanation"},ge=he((()=>(0,n._)("div",{class:"large"}," Start posting your Nostr content on X ",-1))),be=he((()=>(0,n._)("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))),ye=[ge,be];function me(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("div",ve,ye)}var we=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let _e=class extends u.w3{};_e=we([(0,u.Ei)({})],_e);var ke=_e;const De=(0,C.Z)(ke,[["render",me],["__scopeId","data-v-5ace9f54"]]);var Re=De,Oe=r.p+"img/login_with_x.b3cda31f.svg";const Pe=e=>((0,n.dD)("data-v-58fab459"),e=e(),(0,n.Cn)(),e),je={href:"/login",class:"log-in-with-twitter-button"},Ze=Pe((()=>(0,n._)("div",{class:"img-wrapper"},[(0,n._)("img",{src:Oe})],-1))),xe=[Ze];function Ce(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("a",je,xe)}var Ee=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let Ue=class extends u.w3{};Ue=Ee([(0,u.Ei)({})],Ue);var Ie=Ue;const Ke=(0,C.Z)(Ie,[["render",Ce],["__scopeId","data-v-58fab459"]]);var Ne=Ke,Se=r.p+"img/logout_on_dark.2eaec2bd.svg";const Le=e=>((0,n.dD)("data-v-bf1931c6"),e=e(),(0,n.Cn)(),e),We={class:"current-user"},Be={class:"user-info"},Ve=["src"],qe={class:"name"},ze={class:"username"},Te=Le((()=>(0,n._)("img",{src:Se},null,-1))),Xe=[Te];function He(e,t,r,o,s,i){const c=(0,n.up)("Checkmark");return(0,n.wg)(),(0,n.iD)("div",We,[(0,n._)("div",Be,[(0,n._)("img",{class:"image",src:e.user?.twitterProfileImageURL},null,8,Ve),(0,n._)("div",qe,(0,W.zw)(e.user.twitterName),1),(0,n._)("div",ze,"@"+(0,W.zw)(e.user.twitterUsername),1),(0,n._)("a",{class:"logout-button",onClick:t[0]||(t[0]=(...t)=>e.logout&&e.logout(...t))},Xe)]),(0,n.Wm)(c)])}class Ye{constructor(){(0,l.Z)(this,"accountID",void 0),(0,l.Z)(this,"twitterID",void 0),(0,l.Z)(this,"twitterName",void 0),(0,l.Z)(this,"twitterUsername",void 0),(0,l.Z)(this,"twitterProfileImageURL",void 0)}}var Me=r.p+"img/checkmark.3921dcf8.svg";const $e={class:"checkmark",src:Me};function Ae(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("img",$e)}var Fe=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let Ge=class extends u.w3{};Ge=Fe([(0,u.Ei)({})],Ge);var Je=Ge;const Qe=(0,C.Z)(Je,[["render",Ae]]);var et=Qe,tt=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let rt=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"user",void 0),(0,l.Z)(this,"apiService",new v((0,d.oR)())),(0,l.Z)(this,"store",(0,d.oR)())}logout(){this.apiService.logoutCurrentUser().catch((()=>{this.store.commit(a.PushNotificationError,"Error logging out the user.")}))}};rt=tt([(0,u.Ei)({components:{Checkmark:et},props:{user:Ye}})],rt);var ot=rt;const nt=(0,C.Z)(ot,[["render",He],["__scopeId","data-v-bf1931c6"]]);var st=nt;class it{constructor(e){(0,l.Z)(this,"npub",void 0),this.npub=e}}const ct=["placeholder","value","disabled"];function at(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("input",{type:"text",placeholder:e.placeholder,value:e.modelValue,class:(0,W.C_)(["input",{disabled:e.disabled}]),onInput:t[0]||(t[0]=(...t)=>e.onInput&&e.onInput(...t)),disabled:e.disabled},null,42,ct)}var lt=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let ut=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"placeholder",void 0),(0,l.Z)(this,"modelValue",void 0),(0,l.Z)(this,"disabled",void 0)}onInput(e){this.$emit("update:modelValue",e.target.value)}};ut=lt([(0,u.Ei)({props:{placeholder:String,modelValue:String,disabled:Boolean},emits:["update:modelValue"]})],ut);var dt=ut;const ft=(0,C.Z)(dt,[["render",at],["__scopeId","data-v-a3a07d36"]]);var pt=ft;function ht(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("button",{onClick:t[0]||(t[0]=(...t)=>e.onClick&&e.onClick(...t)),class:(0,W.C_)({button:!0,disabled:e.disabled})},(0,W.zw)(e.text),3)}var vt=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let gt=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"text",void 0),(0,l.Z)(this,"disabled",void 0)}onClick(e){this.$emit("click",e)}};gt=vt([(0,u.Ei)({props:{text:String,disabled:Boolean}})],gt);var bt=gt;const yt=(0,C.Z)(bt,[["render",ht],["__scopeId","data-v-6881488a"]]);var mt=yt,wt=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let _t=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"apiService",new v((0,d.oR)())),(0,l.Z)(this,"store",(0,d.oR)()),(0,l.Z)(this,"publicKeys",null),(0,l.Z)(this,"npub","")}get loadingUser(){return void 0===this.store.state.user}get user(){return this.store.state.user}get formDisabled(){return this.loadingUser||!this.user}watchUser(e,t){t?this.reloadPublicKeys():this.publicKeys={publicKeys:[]}}addPublicKey(){this.apiService.addPublicKey(new it(this.npub)).then((()=>{this.npub="",this.reloadPublicKeys()})).catch((()=>{this.store.commit(a.PushNotificationError,"Error adding the public key.")}))}reloadPublicKeys(){this.publicKeys=null,this.apiService.publicKeys().then((e=>{this.publicKeys=e.data})).catch((e=>{e.response&&401===e.response.status||this.store.commit(a.PushNotificationError,"Error loading the public keys.")}))}};wt([(0,pe.RL)("user")],_t.prototype,"watchUser",null),_t=wt([(0,u.Ei)({components:{Checkmark:et,Button:mt,CurrentUser:st,LogInWithTwitterButton:Ne,Explanation:Re,Input:pt}})],_t);var kt=_t;const Dt=(0,C.Z)(kt,[["render",fe],["__scopeId","data-v-0a5bd406"]]);var Rt=Dt;const Ot=[{path:"/",name:"home",component:Rt}],Pt=(0,Q.p7)({history:(0,Q.PO)("/"),routes:Ot});var jt=Pt;(0,o.ri)(J).use(h).use(jt).mount("#app")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var s=t[o]={exports:{}};return e[o].call(s.exports,s,s.exports,r),s.exports}r.m=e,function(){var e=[];r.O=function(t,o,n,s){if(!o){var i=1/0;for(u=0;u=s)&&Object.keys(r.O).every((function(e){return r.O[e](o[a])}))?o.splice(a--,1):(c=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[o,n,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 o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),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,o){var n,s,i=o[0],c=o[1],a=o[2],l=0;if(i.some((function(t){return 0!==e[t]}))){for(n in c)r.o(c,n)&&(r.m[n]=c[n]);if(a)var u=a(r)}for(t&&t(o);l{this.logout().then((()=>{this.store.commit(a.SetUser,null),e()}),(e=>{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 b=e=>((0,n.dD)("data-v-41f23fd0"),e=e(),(0,n.Cn)(),e),y=b((()=>(0,n._)("a",{class:"logo",href:"/"},[(0,n._)("img",{src:g})],-1))),m=b((()=>(0,n._)("nav",null,[(0,n._)("ul",null,[(0,n._)("li",null,[(0,n._)("a",{href:"https://nos.social"},"Download Nos")]),(0,n._)("li",null,[(0,n._)("a",{href:"https://github.com/planetary-social/nos-crossposting-service"},"Source code")])])],-1)));function w(e,t,r,o,s,i){const c=(0,n.up)("LogoutButton");return(0,n.wg)(),(0,n.iD)("header",null,[y,m,e.userIsLoggedIn?((0,n.wg)(),(0,n.j4)(c,{key:0})):(0,n.kq)("",!0)])}var _=r.p+"img/logout_on_light.d9f6b5e8.svg";const k=e=>((0,n.dD)("data-v-5ac017a3"),e=e(),(0,n.Cn)(),e),D=k((()=>(0,n._)("div",{class:"label"}," Logout ",-1))),R=k((()=>(0,n._)("img",{class:"icon",src:_},null,-1))),O=[D,R];function P(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("a",{class:"logout-button",onClick:t[0]||(t[0]=(...t)=>e.logout&&e.logout(...t))},O)}var j=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let Z=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"apiService",new v((0,d.oR)())),(0,l.Z)(this,"store",(0,d.oR)())}logout(){this.apiService.logoutCurrentUser().catch((()=>{this.store.commit(a.PushNotificationError,"Error logging out the user.")}))}};Z=j([(0,u.Ei)({})],Z);var x=Z,C=r(89);const E=(0,C.Z)(x,[["render",P],["__scopeId","data-v-5ac017a3"]]);var U=E,I=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let K=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"store",(0,d.oR)())}get userIsLoggedIn(){return!!this.store.state.user}};K=I([(0,u.Ei)({components:{LogoutButton:U}})],K);var N=K;const S=(0,C.Z)(N,[["render",w],["__scopeId","data-v-41f23fd0"]]);var L=S,W=r(7139);const B={class:"notifications"},V={class:"text"},q=["onClick"];function z(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("ul",B,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(e.notifications,((t,r)=>((0,n.wg)(),(0,n.iD)("li",{class:(0,W.C_)(["notification",[t.style]]),key:r},[(0,n._)("div",V,(0,W.zw)(t.text),1),(0,n._)("div",{class:"button",onClick:t=>e.dismiss(r)}," X ",8,q)],2)))),128))])}var T=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let X=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"store",(0,d.oR)())}get notifications(){return this.store.state.notifications}dismiss(e){this.store.commit(a.DismissNotification,e)}};X=T([(0,u.Ei)({components:{}})],X);var H=X;const Y=(0,C.Z)(H,[["render",z],["__scopeId","data-v-11301b3e"]]);var M=Y,$=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let A=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"apiService",new v((0,d.oR)())),(0,l.Z)(this,"store",(0,d.oR)())}created(){this.apiService.refreshCurrentUser().catch((()=>{this.store.commit(a.PushNotificationError,"Error loading the user.")}))}};A=$([(0,u.Ei)({components:{Notifications:M,Header:L}})],A);var F=A;const G=(0,C.Z)(F,[["render",c]]);var J=G,Q=r(2483);const ee=e=>((0,n.dD)("data-v-6df21b34"),e=e(),(0,n.Cn)(),e),te={class:"home"},re={key:0},oe=ee((()=>(0,n._)("div",{class:"step"}," 1. Link your X account: ",-1))),ne={key:1},se=ee((()=>(0,n._)("div",{class:"step"}," 1. Logged in as ",-1))),ie=ee((()=>(0,n._)("div",{class:"step"}," 2. Your nostr identities: ",-1))),ce={key:2,class:"public-keys-wrapper"},ae={key:0},le={key:1,class:"public-keys"},ue={class:"npub"},de={class:"link-npub-form"};function fe(e,t,r,o,s,i){const c=(0,n.up)("Explanation"),a=(0,n.up)("LogInWithTwitterButton"),l=(0,n.up)("CurrentUser"),u=(0,n.up)("Checkmark"),d=(0,n.up)("Input"),f=(0,n.up)("Button");return(0,n.wg)(),(0,n.iD)("div",te,[(0,n.Wm)(c),e.loadingUser||e.user?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)("div",re,[oe,(0,n.Wm)(a)])),!e.loadingUser&&e.user?((0,n.wg)(),(0,n.iD)("div",ne,[se,(0,n.Wm)(l,{user:e.user},null,8,["user"])])):(0,n.kq)("",!0),ie,!e.loadingUser&&e.user?((0,n.wg)(),(0,n.iD)("div",ce,[e.publicKeys?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)("div",ae," Loading public keys... ")),e.publicKeys&&e.publicKeys.publicKeys?.length>0?((0,n.wg)(),(0,n.iD)("ul",le,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(e.publicKeys.publicKeys,(e=>((0,n.wg)(),(0,n.iD)("li",{key:e.npub},[(0,n._)("div",ue,(0,W.zw)(e.npub),1),(0,n.Wm)(u)])))),128))])):(0,n.kq)("",!0)])):(0,n.kq)("",!0),(0,n._)("div",de,[(0,n.Wm)(d,{placeholder:"Paste your npub address",modelValue:e.npub,"onUpdate:modelValue":t[0]||(t[0]=t=>e.npub=t),disabled:e.formDisabled},null,8,["modelValue","disabled"]),(0,n.Wm)(f,{text:"Add",onClick:e.addPublicKey,disabled:e.formDisabled},null,8,["onClick","disabled"])])])}var pe=r(4815);const he=e=>((0,n.dD)("data-v-5ace9f54"),e=e(),(0,n.Cn)(),e),ve={class:"explanation"},ge=he((()=>(0,n._)("div",{class:"large"}," Start posting your Nostr content on X ",-1))),be=he((()=>(0,n._)("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))),ye=[ge,be];function me(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("div",ve,ye)}var we=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let _e=class extends u.w3{};_e=we([(0,u.Ei)({})],_e);var ke=_e;const De=(0,C.Z)(ke,[["render",me],["__scopeId","data-v-5ace9f54"]]);var Re=De,Oe=r.p+"img/login_with_x.b3cda31f.svg";const Pe=e=>((0,n.dD)("data-v-58fab459"),e=e(),(0,n.Cn)(),e),je={href:"/login",class:"log-in-with-twitter-button"},Ze=Pe((()=>(0,n._)("div",{class:"img-wrapper"},[(0,n._)("img",{src:Oe})],-1))),xe=[Ze];function Ce(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("a",je,xe)}var Ee=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let Ue=class extends u.w3{};Ue=Ee([(0,u.Ei)({})],Ue);var Ie=Ue;const Ke=(0,C.Z)(Ie,[["render",Ce],["__scopeId","data-v-58fab459"]]);var Ne=Ke,Se=r.p+"img/logout_on_dark.2eaec2bd.svg";const Le=e=>((0,n.dD)("data-v-bf1931c6"),e=e(),(0,n.Cn)(),e),We={class:"current-user"},Be={class:"user-info"},Ve=["src"],qe={class:"name"},ze={class:"username"},Te=Le((()=>(0,n._)("img",{src:Se},null,-1))),Xe=[Te];function He(e,t,r,o,s,i){const c=(0,n.up)("Checkmark");return(0,n.wg)(),(0,n.iD)("div",We,[(0,n._)("div",Be,[(0,n._)("img",{class:"image",src:e.user?.twitterProfileImageURL},null,8,Ve),(0,n._)("div",qe,(0,W.zw)(e.user.twitterName),1),(0,n._)("div",ze,"@"+(0,W.zw)(e.user.twitterUsername),1),(0,n._)("a",{class:"logout-button",onClick:t[0]||(t[0]=(...t)=>e.logout&&e.logout(...t))},Xe)]),(0,n.Wm)(c)])}class Ye{constructor(){(0,l.Z)(this,"accountID",void 0),(0,l.Z)(this,"twitterID",void 0),(0,l.Z)(this,"twitterName",void 0),(0,l.Z)(this,"twitterUsername",void 0),(0,l.Z)(this,"twitterProfileImageURL",void 0)}}var Me=r.p+"img/checkmark.3921dcf8.svg";const $e={class:"checkmark",src:Me};function Ae(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("img",$e)}var Fe=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let Ge=class extends u.w3{};Ge=Fe([(0,u.Ei)({})],Ge);var Je=Ge;const Qe=(0,C.Z)(Je,[["render",Ae]]);var et=Qe,tt=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let rt=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"user",void 0),(0,l.Z)(this,"apiService",new v((0,d.oR)())),(0,l.Z)(this,"store",(0,d.oR)())}logout(){this.apiService.logoutCurrentUser().catch((()=>{this.store.commit(a.PushNotificationError,"Error logging out the user.")}))}};rt=tt([(0,u.Ei)({components:{Checkmark:et},props:{user:Ye}})],rt);var ot=rt;const nt=(0,C.Z)(ot,[["render",He],["__scopeId","data-v-bf1931c6"]]);var st=nt;class it{constructor(e){(0,l.Z)(this,"npub",void 0),this.npub=e}}const ct=["placeholder","value","disabled"];function at(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("input",{type:"text",placeholder:e.placeholder,value:e.modelValue,class:(0,W.C_)(["input",{disabled:e.disabled}]),onInput:t[0]||(t[0]=(...t)=>e.onInput&&e.onInput(...t)),disabled:e.disabled},null,42,ct)}var lt=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let ut=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"placeholder",void 0),(0,l.Z)(this,"modelValue",void 0),(0,l.Z)(this,"disabled",void 0)}onInput(e){this.$emit("update:modelValue",e.target.value)}};ut=lt([(0,u.Ei)({props:{placeholder:String,modelValue:String,disabled:Boolean},emits:["update:modelValue"]})],ut);var dt=ut;const ft=(0,C.Z)(dt,[["render",at],["__scopeId","data-v-a3a07d36"]]);var pt=ft;function ht(e,t,r,o,s,i){return(0,n.wg)(),(0,n.iD)("button",{onClick:t[0]||(t[0]=(...t)=>e.onClick&&e.onClick(...t)),class:(0,W.C_)({button:!0,disabled:e.disabled})},(0,W.zw)(e.text),3)}var vt=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let gt=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"text",void 0),(0,l.Z)(this,"disabled",void 0)}onClick(e){this.$emit("click",e)}};gt=vt([(0,u.Ei)({props:{text:String,disabled:Boolean}})],gt);var bt=gt;const yt=(0,C.Z)(bt,[["render",ht],["__scopeId","data-v-6881488a"]]);var mt=yt,wt=function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};let _t=class extends u.w3{constructor(...e){super(...e),(0,l.Z)(this,"apiService",new v((0,d.oR)())),(0,l.Z)(this,"store",(0,d.oR)()),(0,l.Z)(this,"publicKeys",null),(0,l.Z)(this,"npub","")}get loadingUser(){return void 0===this.store.state.user}get user(){return this.store.state.user}get formDisabled(){return this.loadingUser||!this.user}watchUser(e,t){t?this.reloadPublicKeys():this.publicKeys={publicKeys:[]}}addPublicKey(){this.apiService.addPublicKey(new it(this.npub)).then((()=>{this.npub="",this.reloadPublicKeys()})).catch((()=>{this.store.commit(a.PushNotificationError,"Error adding the public key.")}))}reloadPublicKeys(){this.publicKeys=null,this.apiService.publicKeys().then((e=>{this.publicKeys=e.data})).catch((e=>{e.response&&401===e.response.status||this.store.commit(a.PushNotificationError,"Error loading the public keys.")}))}};wt([(0,pe.RL)("user")],_t.prototype,"watchUser",null),_t=wt([(0,u.Ei)({components:{Checkmark:et,Button:mt,CurrentUser:st,LogInWithTwitterButton:Ne,Explanation:Re,Input:pt}})],_t);var kt=_t;const Dt=(0,C.Z)(kt,[["render",fe],["__scopeId","data-v-6df21b34"]]);var Rt=Dt;const Ot=[{path:"/",name:"home",component:Rt}],Pt=(0,Q.p7)({history:(0,Q.PO)("/"),routes:Ot});var jt=Pt;(0,o.ri)(J).use(h).use(jt).mount("#app")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var s=t[o]={exports:{}};return e[o].call(s.exports,s,s.exports,r),s.exports}r.m=e,function(){var e=[];r.O=function(t,o,n,s){if(!o){var i=1/0;for(u=0;u=s)&&Object.keys(r.O).every((function(e){return r.O[e](o[a])}))?o.splice(a--,1):(c=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[o,n,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 o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),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,o){var n,s,i=o[0],c=o[1],a=o[2],l=0;if(i.some((function(t){return 0!==e[t]}))){for(n in c)r.o(c,n)&&(r.m[n]=c[n]);if(a)var u=a(r)}for(t&&t(o);l\n
\n
\n
\n \n \n
\n
\n\n\n\n\n\n","import {createStore} from 'vuex'\nimport {User} from \"@/dto/User\";\n\nclass Notification {\n constructor(\n public style: string,\n public text: string,\n ) {\n }\n}\n\nexport enum Mutation {\n SetUser = 'setUser',\n PushNotificationError = 'pushNotificationError',\n DismissNotification = 'dismissNotification',\n}\n\nexport class State {\n user?: User;\n notifications?: Notification[];\n}\n\nexport default createStore({\n state: {\n user: undefined,\n notifications: [],\n },\n getters: {},\n mutations: {\n [Mutation.SetUser](state: State, user: User): void {\n state.user = user;\n },\n [Mutation.PushNotificationError](state: State, text: string): void {\n state.notifications?.push(new Notification('error', text));\n },\n [Mutation.DismissNotification](state: State, index: number): void {\n state.notifications?.splice(index, 1);\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 private currentUser(): Promise> {\n const url = `/api/current-user`;\n return this.axios.get(url);\n }\n\n private logout(): Promise> {\n const url = `/api/current-user`;\n return this.axios.delete(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 logoutCurrentUser(): Promise {\n return new Promise((resolve, reject) => {\n this.logout()\n .then(\n () => {\n this.store.commit(Mutation.SetUser, null);\n resolve();\n },\n error => {\n reject(error);\n },\n );\n });\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, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, 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-41f23fd0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"logo\",\n href: \"/\"\n}, [\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\", { href: \"https://nos.social\" }, \"Download Nos\")\n ]),\n /*#__PURE__*/_createElementVNode(\"li\", null, [\n /*#__PURE__*/_createElementVNode(\"a\", { href: \"https://github.com/planetary-social/nos-crossposting-service\" }, \"Source code\")\n ])\n ])\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LogoutButton = _resolveComponent(\"LogoutButton\")!\n\n return (_openBlock(), _createElementBlock(\"header\", null, [\n _hoisted_1,\n _hoisted_2,\n (_ctx.userIsLoggedIn)\n ? (_openBlock(), _createBlock(_component_LogoutButton, { key: 0 }))\n : _createCommentVNode(\"\", true)\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\"\nimport _imports_0 from '../assets/logout_on_light.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5ac017a3\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"label\" }, \" Logout \", -1))\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"icon\",\n src: _imports_0\n}, null, -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(\"a\", {\n class: \"logout-button\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.logout && _ctx.logout(...args)))\n }, _hoisted_3))\n}","\n\n\n\n\n","import { render } from \"./LogoutButton.vue?vue&type=template&id=5ac017a3&scoped=true&ts=true\"\nimport script from \"./LogoutButton.vue?vue&type=script&lang=ts\"\nexport * from \"./LogoutButton.vue?vue&type=script&lang=ts\"\n\nimport \"./LogoutButton.vue?vue&type=style&index=0&id=5ac017a3&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-5ac017a3\"]])\n\nexport default __exports__","import { render } from \"./Header.vue?vue&type=template&id=41f23fd0&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=41f23fd0&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-41f23fd0\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-11301b3e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"notifications\" }\nconst _hoisted_2 = { class: \"text\" }\nconst _hoisted_3 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"ul\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.notifications, (notification, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"notification\", [notification.style]]),\n key: index\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(notification.text), 1),\n _createElementVNode(\"div\", {\n class: \"button\",\n onClick: ($event: any) => (_ctx.dismiss(index))\n }, \" X \", 8, _hoisted_3)\n ], 2))\n }), 128))\n ]))\n}","\n\n\n\n\n","import { render } from \"./Notifications.vue?vue&type=template&id=11301b3e&scoped=true&ts=true\"\nimport script from \"./Notifications.vue?vue&type=script&lang=ts\"\nexport * from \"./Notifications.vue?vue&type=script&lang=ts\"\n\nimport \"./Notifications.vue?vue&type=style&index=0&id=11301b3e&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-11301b3e\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=ea67d5b6&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=ea67d5b6&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-0a5bd406\"),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\" }\nconst _hoisted_11 = { class: \"link-npub-form\" }\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(\"div\", _hoisted_11, [\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 disabled: _ctx.formDisabled\n }, null, 8, [\"modelValue\", \"disabled\"]),\n _createVNode(_component_Button, {\n text: \"Add\",\n onClick: _ctx.addPublicKey,\n disabled: _ctx.formDisabled\n }, null, 8, [\"onClick\", \"disabled\"])\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-5ace9f54\"),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=5ace9f54&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=5ace9f54&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-5ace9f54\"]])\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-58fab459\"),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=58fab459&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=58fab459&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-58fab459\"]])\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-bf1931c6\"),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(\"img\", { src: _imports_0 }, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\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 _createElementVNode(\"a\", {\n class: \"logout-button\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.logout && _ctx.logout(...args)))\n }, _hoisted_7)\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=bf1931c6&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=bf1931c6&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-bf1931c6\"]])\n\nexport default __exports__","export class AddPublicKeyRequest {\n npub: string;\n\n constructor(npub: string) {\n this.npub = npub\n }\n}","import { normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a3a07d36\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"placeholder\", \"value\", \"disabled\"]\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 class: _normalizeClass([\"input\", { disabled: _ctx.disabled }]),\n onInput: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.onInput && _ctx.onInput(...args))),\n disabled: _ctx.disabled\n }, null, 42, _hoisted_1))\n}","\n\n\n\n\n","import { render } from \"./Input.vue?vue&type=template&id=a3a07d36&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=a3a07d36&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-a3a07d36\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, 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] = \n//@ts-ignore\n(...args) => (_ctx.onClick && _ctx.onClick(...args))),\n class: _normalizeClass({ button: true, disabled: _ctx.disabled })\n }, _toDisplayString(_ctx.text), 3))\n}","\n\n\n\n\n","import { render } from \"./Button.vue?vue&type=template&id=6881488a&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=6881488a&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-6881488a\"]])\n\nexport default __exports__","import { render } from \"./HomeView.vue?vue&type=template&id=0a5bd406&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=0a5bd406&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-0a5bd406\"]])\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__(3664); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","class","_hoisted_2","render","_ctx","_cache","$props","$setup","$data","$options","_component_Header","_resolveComponent","_component_Notifications","_component_router_view","_openBlock","_createElementBlock","_createVNode","_createElementVNode","Mutation","Notification","constructor","style","text","_defineProperty","createStore","state","user","undefined","notifications","getters","mutations","SetUser","PushNotificationError","push","DismissNotification","index","splice","actions","modules","APIService","store","axios","create","currentUser","url","this","get","logout","delete","publicKeys","addPublicKey","req","post","logoutCurrentUser","Promise","resolve","reject","then","commit","error","refreshCurrentUser","response","data","_withScopeId","n","_pushScopeId","_popScopeId","href","src","_imports_0","_component_LogoutButton","userIsLoggedIn","_createBlock","key","_createCommentVNode","_hoisted_3","onClick","args","LogOutButton","Vue","useStore","apiService","catch","__decorate","Options","__exports__","Header","components","LogoutButton","_Fragment","_renderList","notification","_normalizeClass","_toDisplayString","$event","dismiss","Notifications","App","created","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_component_Explanation","_component_LogInWithTwitterButton","_component_CurrentUser","_component_Checkmark","_component_Input","_component_Button","loadingUser","length","publicKey","npub","placeholder","modelValue","disabled","formDisabled","Explanation","LogInWithTwitterButton","twitterProfileImageURL","twitterName","twitterUsername","User","Checkmark","CurrentUser","props","AddPublicKeyRequest","type","value","onInput","Input","event","$emit","target","String","Boolean","emits","button","Button","HomeView","watchUser","oldUser","newUser","reloadPublicKeys","status","Watch","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","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","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/app.5e6ad394.js","mappings":"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","sources":["webpack://nos-crossposting-service-frontend/./src/App.vue?906f","webpack://nos-crossposting-service-frontend/./src/App.vue","webpack://nos-crossposting-service-frontend/./src/store/index.ts","webpack://nos-crossposting-service-frontend/./src/services/APIService.ts","webpack://nos-crossposting-service-frontend/./src/components/Header.vue?4330","webpack://nos-crossposting-service-frontend/./src/components/Header.vue","webpack://nos-crossposting-service-frontend/./src/components/LogoutButton.vue?83dc","webpack://nos-crossposting-service-frontend/./src/components/LogoutButton.vue","webpack://nos-crossposting-service-frontend/./src/components/LogoutButton.vue?2c4c","webpack://nos-crossposting-service-frontend/./src/components/Header.vue?801b","webpack://nos-crossposting-service-frontend/./src/components/Notifications.vue?fed1","webpack://nos-crossposting-service-frontend/./src/components/Notifications.vue","webpack://nos-crossposting-service-frontend/./src/components/Notifications.vue?e79f","webpack://nos-crossposting-service-frontend/./src/App.vue?7ccd","webpack://nos-crossposting-service-frontend/./src/views/HomeView.vue?4c94","webpack://nos-crossposting-service-frontend/./src/views/HomeView.vue","webpack://nos-crossposting-service-frontend/./src/components/Explanation.vue?0b4d","webpack://nos-crossposting-service-frontend/./src/components/Explanation.vue","webpack://nos-crossposting-service-frontend/./src/components/Explanation.vue?aef3","webpack://nos-crossposting-service-frontend/./src/components/LogInWithTwitterButton.vue?8e24","webpack://nos-crossposting-service-frontend/./src/components/LogInWithTwitterButton.vue","webpack://nos-crossposting-service-frontend/./src/components/LogInWithTwitterButton.vue?ca8f","webpack://nos-crossposting-service-frontend/./src/components/CurrentUser.vue?03c1","webpack://nos-crossposting-service-frontend/./src/components/CurrentUser.vue","webpack://nos-crossposting-service-frontend/./src/dto/User.ts","webpack://nos-crossposting-service-frontend/./src/components/Checkmark.vue?967d","webpack://nos-crossposting-service-frontend/./src/components/Checkmark.vue","webpack://nos-crossposting-service-frontend/./src/components/Checkmark.vue?60e3","webpack://nos-crossposting-service-frontend/./src/components/CurrentUser.vue?58e7","webpack://nos-crossposting-service-frontend/./src/dto/AddPublicKeyRequest.ts","webpack://nos-crossposting-service-frontend/./src/components/Input.vue?8662","webpack://nos-crossposting-service-frontend/./src/components/Input.vue","webpack://nos-crossposting-service-frontend/./src/components/Input.vue?f3d7","webpack://nos-crossposting-service-frontend/./src/components/Button.vue?a561","webpack://nos-crossposting-service-frontend/./src/components/Button.vue","webpack://nos-crossposting-service-frontend/./src/components/Button.vue?4e0d","webpack://nos-crossposting-service-frontend/./src/views/HomeView.vue?1da1","webpack://nos-crossposting-service-frontend/./src/router/index.ts","webpack://nos-crossposting-service-frontend/./src/main.ts","webpack://nos-crossposting-service-frontend/webpack/bootstrap","webpack://nos-crossposting-service-frontend/webpack/runtime/chunk loaded","webpack://nos-crossposting-service-frontend/webpack/runtime/compat get default export","webpack://nos-crossposting-service-frontend/webpack/runtime/define property getters","webpack://nos-crossposting-service-frontend/webpack/runtime/global","webpack://nos-crossposting-service-frontend/webpack/runtime/hasOwnProperty shorthand","webpack://nos-crossposting-service-frontend/webpack/runtime/publicPath","webpack://nos-crossposting-service-frontend/webpack/runtime/jsonp chunk loading","webpack://nos-crossposting-service-frontend/webpack/startup"],"sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"wrapper\" }\nconst _hoisted_2 = { class: \"content\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Header = _resolveComponent(\"Header\")!\n const _component_Notifications = _resolveComponent(\"Notifications\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Header),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Notifications),\n _createVNode(_component_router_view)\n ])\n ]))\n}","\n\n\n\n\n","import {createStore} from 'vuex'\nimport {User} from \"@/dto/User\";\n\nclass Notification {\n constructor(\n public style: string,\n public text: string,\n ) {\n }\n}\n\nexport enum Mutation {\n SetUser = 'setUser',\n PushNotificationError = 'pushNotificationError',\n DismissNotification = 'dismissNotification',\n}\n\nexport class State {\n user?: User;\n notifications?: Notification[];\n}\n\nexport default createStore({\n state: {\n user: undefined,\n notifications: [],\n },\n getters: {},\n mutations: {\n [Mutation.SetUser](state: State, user: User): void {\n state.user = user;\n },\n [Mutation.PushNotificationError](state: State, text: string): void {\n state.notifications?.push(new Notification('error', text));\n },\n [Mutation.DismissNotification](state: State, index: number): void {\n state.notifications?.splice(index, 1);\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 private currentUser(): Promise> {\n const url = `/api/current-user`;\n return this.axios.get(url);\n }\n\n private logout(): Promise> {\n const url = `/api/current-user`;\n return this.axios.delete(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 logoutCurrentUser(): Promise {\n return new Promise((resolve, reject) => {\n this.logout()\n .then(\n () => {\n this.store.commit(Mutation.SetUser, null);\n resolve();\n },\n error => {\n reject(error);\n },\n );\n });\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, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, 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-41f23fd0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"logo\",\n href: \"/\"\n}, [\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\", { href: \"https://nos.social\" }, \"Download Nos\")\n ]),\n /*#__PURE__*/_createElementVNode(\"li\", null, [\n /*#__PURE__*/_createElementVNode(\"a\", { href: \"https://github.com/planetary-social/nos-crossposting-service\" }, \"Source code\")\n ])\n ])\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LogoutButton = _resolveComponent(\"LogoutButton\")!\n\n return (_openBlock(), _createElementBlock(\"header\", null, [\n _hoisted_1,\n _hoisted_2,\n (_ctx.userIsLoggedIn)\n ? (_openBlock(), _createBlock(_component_LogoutButton, { key: 0 }))\n : _createCommentVNode(\"\", true)\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\"\nimport _imports_0 from '../assets/logout_on_light.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5ac017a3\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"label\" }, \" Logout \", -1))\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"icon\",\n src: _imports_0\n}, null, -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(\"a\", {\n class: \"logout-button\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.logout && _ctx.logout(...args)))\n }, _hoisted_3))\n}","\n\n\n\n\n","import { render } from \"./LogoutButton.vue?vue&type=template&id=5ac017a3&scoped=true&ts=true\"\nimport script from \"./LogoutButton.vue?vue&type=script&lang=ts\"\nexport * from \"./LogoutButton.vue?vue&type=script&lang=ts\"\n\nimport \"./LogoutButton.vue?vue&type=style&index=0&id=5ac017a3&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-5ac017a3\"]])\n\nexport default __exports__","import { render } from \"./Header.vue?vue&type=template&id=41f23fd0&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=41f23fd0&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-41f23fd0\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-11301b3e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"notifications\" }\nconst _hoisted_2 = { class: \"text\" }\nconst _hoisted_3 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"ul\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.notifications, (notification, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"notification\", [notification.style]]),\n key: index\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(notification.text), 1),\n _createElementVNode(\"div\", {\n class: \"button\",\n onClick: ($event: any) => (_ctx.dismiss(index))\n }, \" X \", 8, _hoisted_3)\n ], 2))\n }), 128))\n ]))\n}","\n\n\n\n\n","import { render } from \"./Notifications.vue?vue&type=template&id=11301b3e&scoped=true&ts=true\"\nimport script from \"./Notifications.vue?vue&type=script&lang=ts\"\nexport * from \"./Notifications.vue?vue&type=script&lang=ts\"\n\nimport \"./Notifications.vue?vue&type=style&index=0&id=11301b3e&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-11301b3e\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=ea67d5b6&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=ea67d5b6&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-6df21b34\"),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\" }\nconst _hoisted_11 = { class: \"link-npub-form\" }\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(\"div\", _hoisted_11, [\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 disabled: _ctx.formDisabled\n }, null, 8, [\"modelValue\", \"disabled\"]),\n _createVNode(_component_Button, {\n text: \"Add\",\n onClick: _ctx.addPublicKey,\n disabled: _ctx.formDisabled\n }, null, 8, [\"onClick\", \"disabled\"])\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-5ace9f54\"),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=5ace9f54&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=5ace9f54&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-5ace9f54\"]])\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-58fab459\"),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=58fab459&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=58fab459&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-58fab459\"]])\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-bf1931c6\"),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(\"img\", { src: _imports_0 }, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\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 _createElementVNode(\"a\", {\n class: \"logout-button\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.logout && _ctx.logout(...args)))\n }, _hoisted_7)\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=bf1931c6&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=bf1931c6&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-bf1931c6\"]])\n\nexport default __exports__","export class AddPublicKeyRequest {\n npub: string;\n\n constructor(npub: string) {\n this.npub = npub\n }\n}","import { normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a3a07d36\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"placeholder\", \"value\", \"disabled\"]\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 class: _normalizeClass([\"input\", { disabled: _ctx.disabled }]),\n onInput: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.onInput && _ctx.onInput(...args))),\n disabled: _ctx.disabled\n }, null, 42, _hoisted_1))\n}","\n\n\n\n\n","import { render } from \"./Input.vue?vue&type=template&id=a3a07d36&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=a3a07d36&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-a3a07d36\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, 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] = \n//@ts-ignore\n(...args) => (_ctx.onClick && _ctx.onClick(...args))),\n class: _normalizeClass({ button: true, disabled: _ctx.disabled })\n }, _toDisplayString(_ctx.text), 3))\n}","\n\n\n\n\n","import { render } from \"./Button.vue?vue&type=template&id=6881488a&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=6881488a&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-6881488a\"]])\n\nexport default __exports__","import { render } from \"./HomeView.vue?vue&type=template&id=6df21b34&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=6df21b34&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-6df21b34\"]])\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__(4362); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","class","_hoisted_2","render","_ctx","_cache","$props","$setup","$data","$options","_component_Header","_resolveComponent","_component_Notifications","_component_router_view","_openBlock","_createElementBlock","_createVNode","_createElementVNode","Mutation","Notification","constructor","style","text","_defineProperty","createStore","state","user","undefined","notifications","getters","mutations","SetUser","PushNotificationError","push","DismissNotification","index","splice","actions","modules","APIService","store","axios","create","currentUser","url","this","get","logout","delete","publicKeys","addPublicKey","req","post","logoutCurrentUser","Promise","resolve","reject","then","commit","error","refreshCurrentUser","response","data","_withScopeId","n","_pushScopeId","_popScopeId","href","src","_imports_0","_component_LogoutButton","userIsLoggedIn","_createBlock","key","_createCommentVNode","_hoisted_3","onClick","args","LogOutButton","Vue","useStore","apiService","catch","__decorate","Options","__exports__","Header","components","LogoutButton","_Fragment","_renderList","notification","_normalizeClass","_toDisplayString","$event","dismiss","Notifications","App","created","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_component_Explanation","_component_LogInWithTwitterButton","_component_CurrentUser","_component_Checkmark","_component_Input","_component_Button","loadingUser","length","publicKey","npub","placeholder","modelValue","disabled","formDisabled","Explanation","LogInWithTwitterButton","twitterProfileImageURL","twitterName","twitterUsername","User","Checkmark","CurrentUser","props","AddPublicKeyRequest","type","value","onInput","Input","event","$emit","target","String","Boolean","emits","button","Button","HomeView","watchUser","oldUser","newUser","reloadPublicKeys","status","Watch","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","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","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file