PageSourceSearch

https://thespinoff.co.nz/_next/static/chunks/9655-4c7a729ee0d6dc98.js

js thespinoff.co.nz collected 2026-10-01 08:49:12 UTC 194,337 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9655],{95870:function(e,t){t.Z={src:"/_next/static/media/twoticks-nl.e805bc88.png",height:351,width:1214,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAYAAABllJ3tAAAATUlEQVR4nGP09fX6/+f3XwZ2djaGr9++Mpia2TBISkkzvHn9moGdn5+BsbgocwsjAyMDKxsrAzsb6//X736y6utp6b18+fLKs6cPfwIABdQZj2vh2LYAAAAASUVORK5CYII=",blurWidth:8,blurHeight:2}},33687:function(e,t){t.Z={src:"/_next/static/media/boilup.fc3ee78e.png",height:339,width:1200,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAYAAABllJ3tAAAAS0lEQVR4nGNcc+7K////GRhABDMTI4PSz80MLH+eMnzg9mT4xCLPwLj06Jm4v39+Mfz6x/pPmOUVl+r/xSVs/6//+v7HSPI5c8hVAD2oIUwCkbXgAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:2}},48490:function(e,t){t.Z={src:"/_next/static/media/bulletin.3dafc94f.png",height:626,width:1666,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAAVklEQVR42gFLALT/AOjo6O7u7NnZ1oiHgpiXk9TU0evr6uvr6ADc3OrMzey+wN2LjryhosCsrs2+wN7R0u0A6Ojp4eHo39/mwcHKpaWwzc7W19fc5OXqaQM5u9MgPbgAAAAASUVORK5CYII=",blurWidth:8,blurHeight:3}},20996:function(e,t){t.Z={src:"/_next/static/media/daily.d5bcaf5c.png",height:630,width:1666,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAASUlEQVR42h2LsQ3AMAgEvb0VCeEgGIApmISe9A5khZBc8fribgAAIoqIqh4/ZubuI67IzKrazb3r+U5EjDlnW0TUy8xdr3Mh4gtmUjHT5SmdVgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:3}},25437:function(e,t){t.Z={src:"/_next/static/media/recroom.e26d53ce.png",height:614,width:1646,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAAVUlEQVR42mMIDw5YtWLZpClTO1qbvV0d0jKzg0JCLa2sGSa21uxYObe1qmDZ7EmrZ/fN7mtat3Dq5PYahogAz8z4sMykmMqS/MrCrPzUmN62+pLcDAD2uSGtL3xNJQAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:3}},32485:function(e,t){t.Z={src:"/_next/static/media/theweekend.8917c403.png",height:325,width:853,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAIAAAAhqtkfAAAAVklEQVR42gFLALT/AI6OjsDAwMbExMrCwt3c3NXV1WdnZwUHBwB7e3vc29vg39/g3t7Z2dnV1dXHx8e8vLwAnp6epqWlurq6zc3Nurm5yMjIysrKtaioSKsy+Y0ka9gAAAAASUVORK5CYII=",blurWidth:8,blurHeight:3}},57753:function(e,t,n){n.d(t,{$s:function(){return g},Cx:function(){return E},Ee:function(){return w},IX:function(){return b},JM:function(){return f},KQ:function(){return x},L4:function(){return y},R$:function(){return j},fO:function(){return v},hL:function(){return N},qE:function(){return m},sl:function(){return l},tU:function(){return C},wA:function(){return u}});var r=n(26042),i=n(85893),s=n(25675),a=n.n(s),o=n(67294),c="image://",l=function(e,t){return d({src:e,width:t})},u=function(e){if(!e||!e.startsWith(c))return e;var t="https://".concat(e.substr(c.length));try{var n=new URL(t),r=n.searchParams;return r.set("w","1600"),r.set("h","900"),r.set("fit","crop"),r.has("q")||r.set("q","80"),r.has("auto")||r.set("auto","compress,format"),n.toString()}catch(i){return t}},d=function(e){var t=e.src,n=e.width,r=e.quality;if(t&&t.startsWith(c)){var i="https://".concat(t.substr(c.length)),s=new URLSearchParams;return n&&s.set("w",n.toString()),r&&s.set("q",r.toString()),s.set("fm","auto"),s.set("auto","compress,format"),"".concat(i).concat(s.toString()?"?".concat(s.toString()):"")}if(t&&t.startsWith("/")){var a=new URLSearchParams;return n&&a.set("w",n.toString()),r&&a.set("q",r.toString()),a.set("f","webp"),"".concat(t).concat(a.toString()?"?".concat(a.toString()):"")}return t||""},m=function(e){return e.src?(0,i.jsx)("div",{className:"avatar-mask",children:(0,i.jsx)(w,{layout:"fill",objectFit:"cover",src:e.src,alt:e.alt,className:"avatar",sizes:"110px"})}):null},p=function(e){var t=e.src,n=e.width;if(t&&t.startsWith(c)){var r=t.replace(c,"https://"),i=r.includes("?");return"".concat(r).concat(i?"&":"?","w=").concat(n)}return t},h=function(e){var t=e.src,n=e.width;if(t&&t.startsWith(c)){var r=t.replace(c,"https://"),i=r.includes("?");return"".concat(r).concat(i?"&":"?","w=").concat(n)}return t},f=function(e){var t=["".concat(h({src:e.src,width:640})," 640w"),"".concat(h({src:e.src,width:768})," 768w"),"".concat(h({src:e.src,width:1024})," 1024w"),"".concat(h({src:e.src,width:1290})," 1290w")].join(", "),n=h({src:e.src,width:1024});return(0,i.jsx)("img",{src:n,srcSet:t,sizes:"(max-width: 767px) 100v
1w, 850px",alt:e.alt,loading:e.priorityImage?"eager":"lazy",decoding:"async",style:{width:"100%",height:"auto",display:"block"}})},g=function(e){return e.isFrame?(0,i.jsx)(w,{layout:"responsive",sizes:"(max-width: 767px) 100vw, 850px",width:"5",height:"3",src:e.src,loader:p,alt:e.alt,priority:e.priorityImage}):e.isFaux?(0,i.jsx)("img",{style:{width:"0px",height:"0px",overflow:"hidden",opacity:"0",margin:"0px",padding:"0px",display:"block"},src:e.src,alt:e.alt}):(0,i.jsx)(w,{layout:"responsive",sizes:"(max-width: 767px) 100vw, 850px",width:"5",height:"3",src:e.src,alt:e.alt,priority:e.priorityImage})},v=function(e){return e.isNarrow?(0,i.jsx)(w,{layout:"intrinsic",width:e.width,height:e.height,src:e.src,alt:e.alt}):(0,i.jsx)(w,{layout:"responsive",sizes:"700px",width:e.width,height:e.height,src:e.src,alt:e.alt})},b=function(e){return(0,i.jsx)(w,{layout:"responsive",sizes:"640px",unoptimized:!0,width:"10",height:"10",src:e.src,alt:e.alt})},y=function(e){return(0,i.jsx)(w,{layout:"responsive",objectFit:"cover",objectPosition:"center center",width:"16",height:"9",src:e.src,alt:e.alt,sizes:"640px"})},x=(0,o.forwardRef)((function(e,t){var n=e.src,r=e.alt,s=e.width;return(0,i.jsx)("img",{ref:t,style:{maxWidth:"100%"},src:d({src:n,width:s,quality:75}),alt:r})})),N=function(e){return(0,i.jsx)(w,{layout:"responsive",objectFit:"cover",objectPosition:"center center",width:"1800",height:"800",src:e.src,alt:e.alt,sizes:"100vw",priority:!0})},w=function(e){var t=e.src&&"string"===typeof e.src&&e.src.startsWith(c);return(0,i.jsx)(a(),(0,r.Z)({loader:t?d:void 0},e))},j=function(e){var t=e.src,n=e.caption;return(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)("div",{className:"wide-image",children:[(0,i.jsx)("img",{src:t,alt:""}),(0,i.jsx)("figcaption",{children:n})]})})},C=function(e){return(0,i.jsx)("div",{style:{position:"relative",width:"100%",aspectRatio:"5/4",maxWidth:"525px"},children:(0,i.jsx)(w,{src:e.src,alt:e.alt,width:525,height:420,layout:"responsive",sizes:"(max-width: 525px) 100vw, 525px",quality:85})})},E=function(e){var t=e.src,n=e.caption,r=e.alignment;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("hr",{className:"clear"}),(0,i.jsxs)("div",{className:"".concat(r,"-image"),children:[(0,i.jsx)("img",{src:t,alt:""}),(0,i.jsx)("figcaption",{children:n})]})]})};x.displayName="SponsorLogo"},86234:function(e,t,n){n.d(t,{Z:function(){return g}});var r=n(85893),i=n(94184),s=n.n(i),a=n(21190),o=n(11808),c=n(19073),l=n(57321),u=n(10646),d=n(11163),m=n(67294),p=n(94971),h=n(13e3),f=n(22447);function g(e){var t=e.isVisible,n=e.defaultEmail,i=e.loginHeadline,g=e.loginPrompt,v=e.onClose,b=e.align,y=e.isEmbedded,x=e.isDonationForm,N=e.onUpgradeToMember,w=e.returnFromPayment,j=e.wasExistingMember,C=e.initialStep,E=e.startRegistering,S=e.skipEnhancedSignup,_=e.registrationSource,A=(0,m.useState)(!1),T=A[0],P=A[1],k=(0,m.useState)(""),O=k[0],R=k[1],D=(0,d.useRouter)(),I=(0,l.K)(),F=I.user,U=I.member,M=(0,u.Vb)();M.showTreasureHunt,M.showBirthdayElements;return(0,c.q)(v),(0,m.useEffect)((function(){if(S&&F){var e=setTimeout((function(){v()}),0);return function(){return clearTimeout(e)}}}),[S,F,v]),t&&(E&&!T&&P(!0),C&&O!==C&&R(C)),(0,r.jsx)(a.M,{children:t&&(0,r.jsx)(o.E.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{ease:"anticipate",duration:0},className:s()("member-modal-background",("emailPrompt"===O||"passwordPrompt"===O||"upgradePrompt"===O||"newsletterSelection"===O||"podcastDiscovery"===O||"appPromotion"===O)&&"enhanced-signup-active"),children:(0,r.jsxs)("div",{className:s()("member-modal",b&&"align-".concat(b),T&&"upgradePrompt"!==O&&"upgrade-modal",("emailPrompt"===O||"passwordPrompt"===O||"registrationPrompt"===O)&&"auth-step",("upgradePrompt"===O||"newsletterSelection"===O||"podcastDiscovery"===O||"appPromotion"===O)&&"enhanced-signup-step",("upgradePrompt"===O||"newsletterSelection"===O||"podcastDiscovery"===O||"appPromotion"===O)&&"content-step",F&&!T&&!["newsletterSelection","podcastDiscovery","appPromotion","signupComplete"].includes(O)&&"profile-options-modal"),children:[(0,r.jsx)(h.Z,{onClick:v,className:"close-login-button",loading:!1,children:"\xd7"}),(!F||T||["newsletterSelection","podcastDiscovery","appPromotion","signupComplete"].includes(O))&&(0,r.jsx)(f.U,{isEmbed:x,defaultEmail:n,loginHeadline:i,loginPrompt:g,onCancel:v,onRegisteringChange:P,onUpgradeToMember:N,onLoginStepChange:R,returnFromPayment:w,wasExistingMember:j,skipEnhancedSignup:S,registrationSource:_}),F&&!y&&!T&&!S&&!["newsletterSelection","podcastDiscovery","appPromotion","signupComplete"].includes(O)&&(0,r.jsxs)("div",{className:"member-profile",children:[(0,r.jsx)("h1",{children:(0,r.jsxs)("span",{children:["Kia ora ",(0,r.jsx)("span",{style:{textTransform:"capitalize"},children:(null===U||void 0===U?void 0:U.firstName)?" ".concat(null===U||void 0===U?void 0:U.firstName):""})]})}),(0,r.jsxs)("div",{className:"form-actions step2",children:[(0,r.jsx)(h.Z,{loading:!1,className:"profile-button",onClick:function(){(0,p.loginModalNavigation)("Profile"),v(),D.push("/profile")},children:"Go to my profile"}),(0,r.jsx)(h.Z,{loading:!1,className:"primary",onClick:function(){v(),D.push("/")},children:"Go to home page"})]})]}),F&&y&&(0,r.jsx)(h.Z,{loading:!0})]})},"element")})}},24397:function(e,t,n){n.d(t,{L:function(){return r}});var r={"rec room":{title:"Rec Room",description:"Culture, books and entertainment recommendations.",cta:"","ac-id":"rec-room"},"the daily":{title:"The Daily",description:"Everything published on the Spinoff that day.",cta:"","ac-id":"the-daily"},"the bulletin":{title:"The Bulletin",description:"The Spinoff's morning wrap of NZ news.",cta:"","ac-id":"the-bulletin"},"the world bulletin":{title:"The World Bulletin",description:"The biggest stories from around the world. Sent exclusively to Spinoff Members.",cta:"","ac-id":"the-world-bulletin"},"the weekend":{title:"The Weekend",description:"The best of The Spinoff each Saturday.",cta:"","ac-id":"the-weekend"},"the boil up":{title:"The Boil Up",description:"Our best kai stories of the month",cta:"","ac-id":"the-boil-up"},"two ticks":{title:"Two Ticks",description:"All the big and batshit news from the campaign trail, straight to your inbox every Friday.",cta:"","ac-id":"two-ticks"},"the spinoff members":{title:"The Spinoff Members",description:"",cta:"","ac-id":"the-spinoff-members-20250305020002"},"the spinoff members nl":{title:"The Spinoff Members",description:"",cta:"","ac-id":"the-spinoff-members-newsletter-updates"},"the spinoff live - updates":{title:"The Spinoff Live - Updates",description:"Get updates about The Spinoff Live events, tickets, and more.",cta:"","ac-id":"thespinofflive-updates"}}},57170:function(e,t,n){n.d(t,{r:function(){return l}});var r=n(85893),i=n(57753),s=n(13e3),a=n(99215),o=n(60058),c=n(97204);function l(e){var t=e.onComplete,n=e.onCancel,l=e.selectedNewsletters,u=void 0===l?[]:l,d=e.hideSaveLater,m=e.onStepChange;e.isEmbed;console.log("AppPromotionStep props:",{onComplete:t,onCancel:n,selectedNewsletters:u,hideSaveLater:d,onStepChange:m});(0,o.wd)();return(0,r.jsxs)("div",{className:"app-promotion",children:[(0,r.jsx)("h1",{children:"Download The Spinoff app"}),(0,r.jsxs)("div",{className:"app-content",children:[(0,r.jsxs)("div",{className:"app-text",children:[(0,r.jsx)("p",{className:"app-promotion-text",children:"Thanks for signing up. You can always subscribe to newsletters from your profile."}),(0,r.jsx)("p",{className:"app-promotion-text",style:{color:"#000"},children:"Never miss a beat. Get local and independent journalism on your device with The Spinoff app. "})]}),(0,r.jsx)("div",{className:"hand-phone-illustration",children:(0,r.jsx)("img",{src:"/images/handphone.webp",alt:"The Spinoff app on mobile"})}),(0,r.jsxs)("div",{className:"app-download-buttons",children:[(0,r.jsx)("a",{href:"https://apps.apple.com/nz/app/the-spinoff/id1194728952",target:"_blank",rel:"noopener noreferrer",children:(0,r.jsx)(s.Z,{className:"app-download-button apple members-orange",loading:!1,children:(0,r.jsx)(i.Ee,{src:"/icons/app_applestore.webp",alt:"Download on the App Store",width:155,height:50})})}),(0,r.jsx)("a",{href:"https://play.google.com/store/apps/details?id=com.thespinoff&hl=en_NZ",target:"_blank",rel:"noopener noreferrer",children:(0,r.jsx)(s.Z,{className:"app-download-button google members-orange",loading:!1,children:(0,r.jsx)(i.Ee,{src:"/icons/app_googleplay.webp",alt:"Get it on Google Play",width:155,height:50})})})]})]}),(0,r.jsxs)("div",{className:"app-actions",children:[n&&!d&&(0,r.jsx)("a",{href:"#",className:"save-later-link",onClick:function(e){e.preventDefault(),n()},children:"Save and complete later"}),(0,r.jsx)(s.Z,{className:"enhanced-signup-button members-orange gtm-app-continue",onClick:t,loading:!1,children:"Continue"})]}),(0,r.jsx)(a.Y,{currentStep:c.ne.ENHANCED_APP_PROMOTION,onStepChange:function(e){console.log("AppPromotionStep received onStepChange c
1all with:",e),console.log("onStepChange function exists:",!!m),null===m||void 0===m||m(e)}})]})}},70523:function(e,t,n){n.d(t,{Y:function(){return E}});var r=n(47568),i=n(29815),s=n(70655),a=n(85893),o=n(57753),c=n(13e3),l=n(97204),u=n(30824),d=n(10646),m=n(67294),p=n(26671),h=n(99215),f=n(24397),g=n(60058),v=n(33687),b=n(48490),y=n(20996),x=n(25437),N=n(32485),w=n(95870),j=[{id:"the bulletin",name:"The Bulletin",frequency:"Weekdays 7am",description:"The Spinoff's morning wrap of NZ news.",image:b.Z,imageAlt:"The Bulletin"},{id:"the daily",name:"The Daily",frequency:"Weekdays 5pm",description:"Everything published on the Spinoff that day",image:y.Z,imageAlt:"The Daily"},{id:"the boil up",name:"The Boil Up",frequency:"Monthly",description:"Our best kai stories of the month",image:v.Z,imageAlt:"The Boil Up"},{id:"two ticks",name:"Two Ticks",frequency:"Friday",description:"All the big and batshit news from the campaign trail, straight to your inbox every Friday.",image:w.Z,imageAlt:"Two Ticks"},{id:"rec room",name:"Rec Room",frequency:"Friday",description:"Culture, books and entertainment recommendations.",image:x.Z,imageAlt:"Rec Room"},{id:"the weekend",name:"The Weekend",frequency:"Saturday",description:"The best of the week, delivered to your inbox every Saturday.",image:N.Z,imageAlt:"The Weekend"}];function C(e){var t=e.newsletter,n=e.isSelected,r=e.onToggle,i=e.isDisabled;return(0,a.jsxs)("div",{className:"newsletter-card ".concat(t.id.replace(" ","-")," ").concat(n?"selected":""," ").concat(i?"already-subscribed":""),onClick:function(e){e.stopPropagation(),i||r(t.id)},children:[(0,a.jsxs)("div",{className:"newsletter-content",children:[(0,a.jsxs)("div",{className:"newsletter-header",children:[(0,a.jsx)("h2",{children:t.name}),(0,a.jsx)("span",{className:"frequency",children:t.frequency})]}),(0,a.jsx)("p",{className:"description",children:t.description})]}),(0,a.jsx)("div",{className:"newsletter-image",children:(0,a.jsx)("div",{style:{position:"relative",width:"100%",aspectRatio:"1666/626",maxWidth:"400px",margin:"0 auto"},children:(0,a.jsx)(o.Ee,{src:t.image,alt:t.imageAlt,width:400,height:150,layout:"fill",objectFit:"contain",quality:85})})}),(0,a.jsxs)("div",{className:"checkbox-wrapper",children:[(0,a.jsxs)("div",{className:"checkbox ".concat(n?"checked":""," ").concat(i?"disabled":""),children:[(0,a.jsx)("span",{children:i||n?"\u2713":"+"}),(0,a.jsx)("span",{children:i?"Subscribed":n?"Selected":"Subscribe"})]}),(0,a.jsxs)("div",{className:"slider-switch",children:[(0,a.jsx)("input",{type:"checkbox",className:"toggle-checkbox",checked:n,readOnly:!0}),(0,a.jsx)("label",{className:"toggle-label"})]})]})]})}function E(e){var t=e.onContinue,n=e.onCancel,o=e.cameFromDonation,v=e.returnFromPayment,b=(e.member,e.email),y=e.hideSaveLater,x=e.onStepChange,N=(0,m.useState)([]),w=N[0],E=N[1],S=(0,m.useState)(!1),_=S[0],A=S[1],T=((0,g.wd)(),(0,u.u)()),P=T.isSubscribed,k=T.refreshSubscriptions,O=(0,d.Vb)().showBoilUp,R=(0,m.useMemo)((function(){return O?j:j.filter((function(e){return"the boil up"!==e.id}))}),[O]),D=function(e){var t=f.L[e],n=null===t||void 0===t?void 0:t["ac-id"];n&&P(n)||E((function(t){return t.includes(e)?t.filter((function(t){return t!==e})):(0,i.Z)(t).concat([e])}))},I=function(){var e=(0,r.Z)((function(){var e,n;return(0,s.__generator)(this,(function(i){switch(i.label){case 0:if(!(w.length>0))return[3,6];A(!0),i.label=1;case 1:return i.trys.push([1,4,5,6]),e=w.map(function(){var e=(0,r.Z)((function(e){var t,n,r,i,a,o,c,l,u;return(0,s.__generator)(this,(function(s){switch(s.label){case 0:return(t=f.L[e])?(n=t["ac-id"])?(a=(0,p.getFirebaseAuth)(),[4,null===(r=a.currentUser)||void 0===r?void 0:r.getIdToken()]):[3,4]:(console.warn('Newsletter "'.concat(e,'" not found in NewsletterRef')),[2]);case 1:return o=s.sent(),(c=b&&b.trim()?b:(null===(i=a.currentUser)||void 0===i?void 0:i.email)||"")&&o?[4,fetch("/api/tsom/newsletters/subscribe-newsletter",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(o)},body:JSON.stringify({email:c,listId:n,source:e})})]:(console.warn("Skipping subscription due to missing email or token",{emailToUsePresent:!!c,hasToken:!!o}),[2]);case 2:return(l=s.sent()).ok?[3,4]:[4,l.text()];case 3:throw u=s.sent(),console.error("Newsletter subscription failed for ".concat(e,":"),l.status,u),new Error("Newsletter subscription failed: ".concat(l.status," - ").concat(u));case 4:return[2]}}
1))}));return function(t){return e.apply(this,arguments)}}()),[4,Promise.all(e)];case 2:return i.sent(),[4,k()];case 3:return i.sent(),[3,6];case 4:return n=i.sent(),console.error("Error subscribing to newsletters:",n),[3,6];case 5:return A(!1),[7];case 6:return t(),[2]}}))}));return function(){return e.apply(this,arguments)}}();return(0,a.jsxs)("div",{className:"newsletter-selection",children:[(0,a.jsx)("h1",{children:o||v?"Cheers - your donation went through":"Get the best of The Spinoff in your inbox."}),(0,a.jsx)("p",{children:"Select which newsletters you'd like to receive"}),(0,a.jsx)("div",{className:"newsletters-grid",children:R.map((function(e){var t=f.L[e.id],n=null===t||void 0===t?void 0:t["ac-id"],r=!!n&&P(n);return(0,a.jsx)(C,{newsletter:e,isSelected:w.includes(e.id),isDisabled:r,onToggle:D},e.id)}))}),(0,a.jsxs)("div",{className:"newsletter-actions",children:[n&&!y&&(0,a.jsx)("a",{href:"#",className:"save-later-link",onClick:function(e){e.preventDefault(),n()},children:"Save and complete later"}),(0,a.jsx)(c.Z,{className:"enhanced-signup-button members-orange gtm-newsletter-continue",onClick:I,loading:_,children:"Continue"})]}),(0,a.jsx)(h.Y,{currentStep:l.ne.ENHANCED_NEWSLETTER_SELECTION,onStepChange:function(e){console.log("NewsletterSelectionStep received onStepChange call with:",e),console.log("onStepChange function exists:",!!x),null===x||void 0===x||x(e)}})]})}},39353:function(e,t,n){n.d(t,{g:function(){return p}});var r=n(47568),i=n(70655),s=n(85893),a=n(13e3),o=n(67294),c=n(733),l=n.n(c),u=n(99215),d=n(60058),m=n(97204);function p(e){var t,n,c=e.onContinue,p=e.onCancel,h=e.hideSaveLater,f=e.onStepChange;console.log("PodcastDiscoveryStep props:",{onContinue:c,onCancel:p,hideSaveLater:h,onStepChange:f});var g=(0,o.useState)(null),v=g[0],b=g[1],y=(0,o.useState)(!0),x=y[0],N=y[1];(0,d.wd)();(0,o.useEffect)((function(){var e=function(){var e=(0,r.Z)((function(){var e,t,n;return(0,i.__generator)(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,4,5]),N(!0),[4,fetch("/api/podcastseries")];case 1:return[4,r.sent().json()];case 2:return e=r.sent(),(t=e.find((function(e){return"gone-by-lunchtime"===e.slug})))&&b(t),[3,5];case 3:return n=r.sent(),console.error("Error fetching Gone By Lunchtime podcast:",n),[3,5];case 4:return N(!1),[7];case 5:return[2]}}
1))}));return function(){return e.apply(this,arguments)}}();e()}),[]);var w=function(e){if(e)return e.startsWith("http://")||e.startsWith("https://")?e:"https://".concat(e)},j=v||{name:"Gone By Lunchtime",description:"A New Zealand politics podcast with Annabelle Lee Mather, Ben Thomas and The Spinoff editor Toby Manhire.",cover_image:"https://images.dev-hsf7znd8478c.thespinoff.co.nz/1/2021/09/[email protected]",links:{apple_url:"https://podcasts.apple.com/nz/podcast/gone-by-lunchtime/id1468023651",spotify_url:"https://open.spotify.com/show/6pycV3OJR6CzmGJWF3eC2c",youtube_url:"https://www.youtube.com/@thespinofftv"}};return j.cover_image&&(j.cover_image=function(e){if(e)return e.startsWith("image://")?e.replace("image://","https://"):e}(j.cover_image)),j.links?j.links.youtube_url="https://www.youtube.com/@thespinofftv":j.links={youtube_url:"https://www.youtube.com/@thespinofftv"},(0,s.jsxs)("div",{className:"podcast-discovery",children:[x?(0,s.jsxs)("div",{style:{textAlign:"center",padding:"40px"},children:[(0,s.jsx)(l(),{type:"bubbles",height:40,width:80}),(0,s.jsx)("p",{style:{marginTop:"20px",color:"#666"},children:"Loading podcast information..."})]}):(0,s.jsxs)("div",{className:"podcast-content",children:[(0,s.jsxs)("div",{className:"podcast-info",children:[(0,s.jsx)("h1",{children:"Last but not least"}),(0,s.jsx)("p",{className:"subheader",children:"We also have some great podcasts. Here's one we think you'll like."}),(0,s.jsx)("p",{className:"podcast-description",children:"Follow Gone By Lunchtime, a New Zealand politics podcast with Annabelle Lee-Mather, Ben Thomas and The Spinoff's editor-at-large, Toby Manhire."}),(0,s.jsx)("p",{className:"podcast-subscribe-text",children:(0,s.jsx)("strong",{children:"Follow on your preferred podcast platform"})}),(0,s.jsxs)("div",{className:"podcast-platforms",children:[(0,s.jsxs)(a.Z,{className:"podcast-platform-button youtube members-orange",loading:!1,onClick:function(){var e;return window.open(w(null===(e=j.links)||void 0===e?void 0:e.youtube_url),"_blank")},children:[(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",style:{width:"20px",height:"20px",marginRight:"8px"},children:(0,s.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z",fill:"currentColor"})}),"Watch on YouTube"]}),(null===(t=j.links)||void 0===t?void 0:t.spotify_url)&&(0,s.jsxs)(a.Z,{className:"podcast-platform-button spotify members-orange",loading:!1,onClick:function(){var e;return window.open(w(null===(e=j.links)||void 0===e?void 0:e.spotify_url),"_blank")},children:[(0,s.jsx)("svg",{className:"podIcon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",style:{width:"20px",height:"20px",marginRight:"8px"},children:(0,s.jsx)("path",{d:"M256 0C114.5 0 0 114.5 0 256s114.5 256 256 256 256-114.5 256-256S397.5 0 256 0zm104.3 377c-3.7 0-6.5-1.9-11.2-3.7-37.2-22.3-83.8-34.4-132.2-34.4-27 0-54.9 3.7-81 9.3-4.7.9-9.3 2.8-13 2.8-9.3 0-15.8-7.4-15.8-15.8 0-11.2 6.5-15.8 14-17.7 31.7-7.4 63.3-11.2 95.9-11.2 55.9 0 106.1 13 148.9 38.2 6.5 3.7 10.2 7.4 10.2 16.8 0 8.3-7.5 15.7-15.8 15.7zm27.9-67.9c-5.6 0-9.3-1.9-13-4.7-41.9-25.1-99.6-41-162.9-41-32.6 0-60.5 4.7-83.8 11.2-4.7.9-7.4 2.8-12.1 2.8-11.2 0-19.5-9.3-19.5-20.5s5.6-18.6 15.8-21.4c28.9-7.4 57.7-14 100.5-14 67 0 132.2 16.8 182.5 47.5 8.4 4.7 12.1 11.2 12.1 20.5-.1 10.3-9.4 19.6-19.6 19.6zm31.6-79.2c-5.6 0-8.4-.9-13-3.7-46.5-27.9-118.2-42.8-188-42.8-34.4 0-69.8 3.7-102.4 12.1-3.7.9-8.4 2.8-13 2.8-14 0-24.2-11.2-24.2-24.2 0-14 8.4-21.4 17.7-24.2 36.3-11.2 77.3-15.8 121.9-15.8 75.4 0 154.5 15.8 212.2 49.3 7.4 4.7 13 11.2 13 23.3 0 13.9-11.1 23.2-24.2 23.2z",fill:"currentColor"})}),"Listen and follow on Spotify"]}),(null===(n=j.links)||void 0===n?void 0:n.apple_url)&&(0,s.jsxs)(a.Z,{className:"podcast-platform-button apple members-orange",loading:!1,onClick:function(){var e;return window.open(w(null===(e=j.links)||void 0===e?void 0:e.apple_url),"_blank")},children:[(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",style:{width:"20px",height:"20px",marginRight:"8px",transform:"translateY(4px)"}
1,children:(0,s.jsx)("path",{d:"M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z",fill:"currentColor"})}),"Listen and follow on Apple Podcasts"]})]})]}),j.cover_image&&(0,s.jsx)("div",{className:"podcast-image",children:(0,s.jsx)("div",{className:"podcast-cover",children:(0,s.jsx)("img",{src:j.cover_image,alt:"".concat(j.name," podcast cover"),style:{width:"100%",height:"100%",objectFit:"cover"}})})})]}),(0,s.jsxs)("div",{className:"podcast-actions",children:[p&&!h&&(0,s.jsx)("a",{href:"#",className:"save-later-link",onClick:function(e){e.preventDefault(),p()},children:"Save and complete later"}),(0,s.jsx)(a.Z,{className:"enhanced-signup-button members-orange gtm-podcast-continue",onClick:c,loading:!1,children:"Continue"})]}),(0,s.jsx)(u.Y,{currentStep:m.ne.ENHANCED_PODCAST_DISCOVERY,onStepChange:function(e){console.log("PodcastDiscoveryStep received onStepChange call with:",e),console.log("onStepChange function exists:",!!f),null===f||void 0===f||f(e)}})]})}},99215:function(e,t,n){n.d(t,{Y:function(){return l}});var r,i=n(14924),s=n(85893),a=n(97204),o=[a.ne.ENHANCED_NEWSLETTER_SELECTION,a.ne.ENHANCED_PODCAST_DISCOVERY,a.ne.ENHANCED_APP_PROMOTION],c=(r={},(0,i.Z)(r,a.ne.ENHANCED_NEWSLETTER_SELECTION,"Newsletter Selection"),(0,i.Z)(r,a.ne.ENHANCED_PODCAST_DISCOVERY,"Podcast Discovery"),(0,i.Z)(r,a.ne.ENHANCED_APP_PROMOTION,"App Promotion"),r);function l(e){var t=e.currentStep,n=e.onStepChange;return(0,s.jsx)("div",{className:"progress-indicator",children:o.map((function(e){return(0,s.jsx)("div",{className:"progress-dot clickable ".concat(t===e?"active":""),onClick:function(){console.log("ProgressIndicator clicked, step:",e),null===n||void 0===n||n(e)},title:c[e]},e)}))})}},54279:function(e,t,n){n.d(t,{Z:function(){return Ve}});var r=n(26042),i=n(85893),s=n(94184),a=n.n(s),o=n(23439),c=n(97204),l=n(88865),u=n(21190),d=n(11808),m=n(19073),p=n(67294),h=n(73935),f=n(47568),g=n(70655),v=n(86664),b=n(54465),y=n(90873),x=n(11752),N=n.n(x),w=n(13e3),j=n(48370);function C(){var e,t,n=(0,j.b)(),r=n.setStep,s=n.state,a=n.setPaymentError,o=n.setError,l=(null===(e=s.paymentError)||void 0===e?void 0:e.message)||s.error,u=(null===l||void 0===l?void 0:l.includes("account"))||(null===l||void 0===l?void 0:l.includes("setup")),d=(null===l||void 0===l?void 0:l.includes("payment"))||(null===l||void 0===l?void 0:l.includes("card")),m=(null===l||void 0===l?void 0:l.includes("network"))||(null===l||void 0===l?void 0:l.includes("connection")),p=(null===l||void 0===l?void 0:l.includes("declined"))||(null===l||void 0===l?void 0:l.includes("insufficient")),h=!0,f=!1;return(null===l||void 0===l?void 0:l.includes("gift"))||(null===l||void 0===l?void 0:l.includes("code"))||(null===l||void 0===l?void 0:l.includes("redeem"))?(t=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Whoops, a gift code error"}),(0,i.jsx)("p",{className:"error",children:"There was an issue with your gift code."}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:"What you can do:"})}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"Check that you entered the gift code correctly"}),(0,i.jsxs)("li",{children:["Contact ",(0,i.jsx)("a",{href:"mailto:[email protected]",children:"support"})," if you continue to have issues"]})]})]}),h=!0,f=!0):u?(t=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Payment Successful - Account Setup Issue"}),(0,i.jsx)("p",{className:"error",children:l||"Your payment was successful but we were unable to finish creating your account. This is a rare issue and our team can help you complete the setup."}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:"What happens next:"})}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"Your payment has been processed successfully"}),(0,i.jsx)("li",{children:"You won't be charged again"}),(0,i.jsxs)("li",{children:["Please contact us at ",(0,i.jsx)("a",{href:"mailto:[email protected]",children:"[email protected]"})," to complete your account setup"]})]})]}),h=!1,f=!0):t=p?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Card Declined"}),(0,i.jsx)("p",{className:"error",children:l||"Your card was declined by your bank."}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:"Common reasons:"})}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"Insufficient funds"}),(0,i.jsx)("li",{children:"Card expired or incorrect details"}),(0,i.jsx)("li",{children:"Bank security measures"})]})]}
1):m?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Network Connection Issue"}),(0,i.jsx)("p",{className:"error",children:l||"A network error occurred. This is usually temporary."}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:"What you can do:"})}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"Check your internet connection"}),(0,i.jsx)("li",{children:"Wait a moment and try again"}),(0,i.jsx)("li",{children:"If the problem continues, try refreshing the page"})]})]}):d?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Payment Processing Error"}),(0,i.jsx)("p",{className:"error",children:l||"There was an error processing your payment."}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:"What you can do:"})}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"Check your card details are correct"}),(0,i.jsx)("li",{children:"Try a different payment method"}),(0,i.jsx)("li",{children:"Contact your bank if the issue persists"})]})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h3",{children:"Something went wrong"}),(0,i.jsx)("p",{className:"error",children:l||"An unexpected error occurred. We're sorry for the inconvenience."}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:"What you can do:"})}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"Try again in a moment"}),(0,i.jsx)("li",{children:"Check your internet connection"}),(0,i.jsx)("li",{children:"Contact support if the problem continues"})]})]}),(0,i.jsxs)("div",{className:"error-step",children:[t,(0,i.jsxs)("div",{className:"form-actions",children:[h&&(0,i.jsx)(w.Z,{type:"button",className:"primary",onClick:function(){try{a&&a(null),o&&o(""),r(c.ne.BUDGET_SELECT)}catch(e){console.error("\ud83d\udd0d ErrorStep: Error in handleTryAgain:",e)}},loading:!1,children:"Try Again"}),f&&(0,i.jsx)(w.Z,{type:"button",className:"login-forgot-button",onClick:function(){var e=encodeURIComponent("Payment Issue - Need Help"),t=encodeURIComponent("Hi,\n\nI encountered an issue during my donation process.\n\nError details: ".concat(l||"Unknown error","\n\nPlease help me complete my donation."));window.open("mailto:[email protected]?subject=".concat(e,"&body=").concat(t))},loading:!1,children:"Contact Support"})]})]})}var E=n(86234),S=n(57321),_=n(60058);function A(e){var t=e.targetStep,n=void 0===t?c.ne.BUDGET_SELECT:t,r=e.onClick,s=e.className,a=void 0===s?"":s,o=e.children,l=void 0===o?"Back":o,u=(0,j.b)().setStep;return(0,i.jsx)("div",{style:{textAlign:"center",marginTop:"16px"},children:(0,i.jsx)("button",{type:"button",onClick:function(){r?r():u(n)},"aria-label":"Go back to previous step",className:"back-button ".concat(a),style:{background:"none",border:"none",color:"#666",textDecoration:"underline",cursor:"pointer",fontSize:"14px",padding:"0",fontFamily:"inherit"},children:l})})}var T=function(e){var t=e.defaultEmail;return(0,i.jsx)("div",{className:"inlineMemberModal",children:(0,i.jsx)(E.Z,{isEmbedded:!0,defaultEmail:t,isVisible:!0,isDonationForm:!0,onClose:function(){}})})};function P(){var e=(0,j.b)(),t=e.state.email,n=e.setStep,r=(0,S.K)(),s=r.user,a=r.member,o=r.authenticating,l=(0,_.wd)();return(0,p.useEffect)((function(){!o&&a&&n(l?c.ne.ACCOUNT_SETUP:c.ne.PAYMENT_FORM)}),[s,a,o,n,l]),(0,i.jsxs)("div",{className:"donation-budget-selector",children:[(0,i.jsx)("h2",{children:l?"Sign in to redeem your gift":"Welcome back!"}),(0,i.jsx)("p",{children:"We found an account for ".concat(t,l?". Please sign in to redeem your gift membership.":". Please sign in to continue your donation.")}),(0,i.jsx)(T,{defaultEmail:t}),!l&&(0,i.jsx)("div",{className:"donation-form-footnote",children:(0,i.jsx)(A,{targetStep:c.ne.BUDGET_SELECT})})]})}var k=n(69396);function O(){var e=(0,j.b)(),t=e.setStep,n=e.setPaymentError,s=e.setFirstName,a=e.setLastName,o=(0,S.K)().member,u=(0,l.f2)(),d=u.setMember,m=(0,_.wd)(),h=(0,p.useState)((null===o||void 0===o?void 0:o.firstName)||""),v=h[0],b=h[1],y=(0,p.useState)((null===o||void 0===o?void 0:o.lastName)||""),x=y[0],N=y[1],w=(0,p.useState)(!1),C=w[0],E=w[1],A=(0,p.useState)(!1),T=A[0],P=A[1],O=v.trim().length>0&&x.trim().length>0,R=function(){var e=(0,f.Z)((function(e){var i,l,p,h,f,b,y;return(0,g.__generator)(this,(function(g){switch(g.label){case 0:if(e.preventDefault(),!O||C||T)return[2];P(!0),E(!0),n&&n(null),g.label=1;case 1:return g.trys.push([1,6,7,8]),[4,u.getToken()];case 2:if(!(l=g.sent()))throw new Error("No authentication token found");return p={firstName:v.trim(),lastName:x.trim(),email:(null===o||void 0===o?void 0:o.email)||(null===(i=u.user)||void 0===i?void 0:i.email)},[4,fetch("/api/tsom/members/update-profile",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(l)},body:JSON.stringify(p)})];case 3:return(h=g.sent()).ok?[3,5]:[4,h.json().catch((function(){return{}}))];case 4:if("MEMBER_RECORD_MISSING"===(null===(f=g.sent())||void 0===f?void 0:f.code)||409===h.status)return s&&s(v.trim()),a&&a(x.trim()),t(c.ne.ACCOUNT_SETUP),[2];throw new Error(f.error||"Failed to update profile");case 5:return o&&(b=(0,k.Z)((0,r.Z)({},o),{firstName:v.trim(),lastName:x.trim(),name:"".concat(v.trim()," ").concat(x.trim())}),d(b)),s&&s(v.trim()),a&&a(x.trim()),t(m?c.ne.NEWSLETTERS:c.ne.PAYMENT_FORM),[3,8];case 6:return y=g.sent(),n&&n({message:y.message||"Failed to update your profile. Please try again."}),[3,8];case 7:return E(!1),[7];case 8:return[2]}}
1))}));return function(t){return e.apply(this,arguments)}}();return(0,i.jsxs)("div",{className:"name-collection-step",children:[(0,i.jsxs)("form",{onSubmit:R,noValidate:!0,className:"name-collection-form",children:[(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"first-name",children:"First Name *"})}),(0,i.jsx)("input",{type:"text",id:"first-name",value:v,onChange:function(e){return b(e.target.value)},placeholder:"Enter your first name",autoComplete:"given-name",required:!0,className:""})]}),(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"last-name",children:"Last Name *"})}),(0,i.jsx)("input",{type:"text",id:"last-name",value:x,onChange:function(e){return N(e.target.value)},placeholder:"Enter your last name",autoComplete:"family-name",required:!0,className:""})]}),(0,i.jsx)("div",{className:"form-actions",children:(0,i.jsx)("button",{type:"submit",className:"primary",disabled:!O||C,"aria-busy":C,children:C?"Updating...":m?"Continue":"Continue to Payment"})})]}),(0,i.jsx)("button",{type:"button",className:"back-button",onClick:function(){t(m?c.ne.ACCOUNT_SETUP:c.ne.BUDGET_SELECT)},disabled:C,style:{textAlign:"center",width:"100%"},children:"Back"})]})}var R=n(29815),D=n(30824),I=n(26671),F=n(24397);function U(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(e.memberId,(0,j.b)()),n=t.state,r=t.setStep,s=(0,p.useState)([]),a=s[0],o=s[1],l=(0,p.useState)(!1),u=l[0],d=l[1],m=(0,_.wd)(),h=(0,D.u)(),v=h.isSubscribed,b=h.refreshSubscriptions,x=F.L["the bulletin"],N=F.L["the daily"],C=F.L["the weekend"],E=F.L["the spinoff members"],S=F.L["the spinoff members nl"],A="ac-id",T=new Set([S[A],E[A]]);(0,p.useEffect)((function(){var e=[];[x,N,C].forEach((function(t){var n=t[A];n&&v(n)&&e.push(n)})),e.length>0&&o(e)}),[v,x,N,C,A]);var P=function(e){v(e)||o((function(t){return t.includes(e)?t.filter((function(t){return t!==e})):(0,R.Z)(t).concat([e])}))},k=function(){var e=(0,f.Z)((function(){var e,t,i,s;return(0,g.__generator)(this,(function(o){switch(o.label){case 0:if(!n.email)return[2];d(!0),o.label=1;case 1:return o.trys.push([1,5,6,7]),e=(0,I.getFirebaseAuth)(),[4,null===(t=e.currentUser)||void 0===t?void 0:t.getIdToken()];case 2:if(!(i=o.sent()))throw new Error("No authentication token found");return s=new Set((0,R.Z)(a).concat((0,R.Z)(T))),[4,Promise.all(Array.from(s).map((function(e){return y.default.newsletters().subscribeNewsletter(n.email?n.email:"",e,i,"newsletter_signup").catch((function(t){console.error("Error subscribing to newsletter:",e,t)}))})))];case 3:return o.sent(),[4,b()];case 4:return o.sent(),r(m?c.ne.ENHANCED_NEWSLETTER_SELECTION:c.ne.THANK_YOU),[3,7];case 5:return o.sent(),r(m?c.ne.ENHANCED_NEWSLETTER_SELECTION:c.ne.THANK_YOU),[3,7];case 6:return d(!1),[7];case 7:return[2]}}
1))}));return function(){return e.apply(this,arguments)}}(),O=function(e,t){return(0,i.jsxs)("div",{className:"donation-form-newsletters",children:[(0,i.jsxs)("span",{children:[(0,i.jsx)("h4",{children:t}),(0,i.jsx)("p",{children:e.description})]}),(0,i.jsxs)("div",{className:"slider-switch ".concat(u?"is-loading":""," ").concat(v(e[A])?"is-subscribed":""),children:[(0,i.jsx)("input",{type:"checkbox",id:"register-".concat(e[A]),className:"toggle-checkbox",checked:a.includes(e[A])||v(e[A]),onChange:function(){return P(e[A])},disabled:u||v(e[A])}),(0,i.jsx)("label",{htmlFor:"register-".concat(e[A]),className:"toggle-label"})]})]},e[A])};return(0,i.jsxs)("div",{className:"donation-newsletter-signup",children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:'\n        .donation-newsletter-signup .slider-switch {\n          position: relative;\n          width: 60px;\n          height: 34px;\n          margin-left: 1rem;\n        }\n\n        .donation-newsletter-signup .slider-switch.is-loading {\n          opacity: 0.7;\n          pointer-events: none;\n        }\n\n        .donation-newsletter-signup .slider-switch input {\n          opacity: 0;\n          width: 0;\n          height: 0;\n        }\n\n        .donation-newsletter-signup .toggle-label {\n          position: absolute;\n          cursor: pointer;\n          top: 0;\n          left: 0;\n          right: 0;\n          bottom: 0;\n          background-color: #ccc;\n          transition: .4s;\n          border-radius: 34px;\n        }\n\n        .donation-newsletter-signup .toggle-label:before {\n          position: absolute;\n          content: "";\n          height: 26px;\n          width: 26px;\n          left: 4px;\n          bottom: 4px;\n          background-color: white;\n          transition: .4s;\n          border-radius: 50%;\n        }\n\n        .donation-newsletter-signup .slider-switch input:checked + .toggle-label {\n          background-color: #2196F3;\n        }\n\n        .donation-newsletter-signup .slider-switch input:checked + .toggle-label:before {\n          transform: translateX(26px);\n        }\n\n        .donation-newsletter-signup .slider-switch input:disabled + .toggle-label {\n          cursor: not-allowed;\n          opacity: 0.7;\n        }\n      '}}),(0,i.jsxs)("form",{onSubmit:function(e){return e.preventDefault()},children:[O(x,"The Bulletin"),O(N,"The Daily"),O(C,"The Weekend"),(0,i.jsx)("div",{className:"form-actions multi",children:(0,i.jsx)(w.Z,{type:"button",loading:u,className:"primary",onClick:k,children:u?"Subscribing...":m?"Continue":"Next"})})]})]})}function M(e){var t=e.onClose,n=(e.isInline,e.isUpdate),r=(0,j.b)().state,s=window.location.pathname.includes("/profile"),a=n||s;return(0,i.jsxs)("div",{className:"donation-thank-you",children:[(0,i.jsx)("img",{style:{width:"100%"},src:"/images/hifive-o.gif",alt:"Thank you"}),(0,i.jsx)("h2",{style:{color:"#1da331",marginTop:"16px",marginBottom:"12px"},children:""}),(0,i.jsx)("p",{style:{marginBottom:"20px",fontSize:"16px",lineHeight:"1.4"},children:function(){if(a&&r.amount){r.interval;return""}if(r.amount){"YEARLY"===r.interval||r.interval;return""}return"Thank you for supporting independent journalism!"}()}),(0,i.jsx)("button",{className:"primary",onClick:function(){t(),s||(window.location.href="/profile")},children:s?"Close":"Go to my profile"})]})}var L=n(57170),Z=n(70523),Y=n(39353);function H(e,t){return B.apply(this,arguments)}function B(){return(B=(0,f.Z)((function(e,t){var r,i,s,a,o,c,l,u;return(0,g.__generator)(this,(function(d){switch(d.label){case 0:r=[],d.label=1;case 1:return d.trys.push([1,11,,13]),i=null,e.password?[4,q(e)]:[3,3];case 2:return i=d.sent(),r.push({type:"deleteFirebaseUser",data:{uid:i.uid},completed:!1}),[3,5];case 3:return[4,Promise.resolve().then(n.bind(n,9083))];case 4:if(s=d.sent().getAuth,!(a=s().currentUser))throw new Error("Cannot create account: no password was provided and no Firebase user is signed in. Sign in to the existing Firebase account before retrying, or provide a password.");if(a.email&&e.email&&a.email.toLowerCase()!==e.email.toLowerCase())throw new Error("Signed-in Firebase account does not match the email being repaired. Please sign out and try again.");i=a,d.label=5;
1case 5:return[4,z(e,i)];case 6:return o=d.sent(),r.push({type:"deleteAudienceUser",data:{id:o.id},completed:!1}),i&&o?(l=t)?[3,8]:[4,i.getIdToken()]:[3,10];case 7:l=d.sent(),d.label=8;case 8:return c=l,[4,K(i.uid,o.id,c)];case 9:d.sent(),r.push({type:"removeCustomClaims",data:{uid:i.uid},completed:!1}),d.label=10;case 10:return r.forEach((function(e){return e.completed=!0})),[2,{success:!0,firebaseUser:i,audienceUser:o,rollbackSteps:r}];case 11:return u=d.sent(),[4,Q(r.reverse())];case 12:return d.sent(),[2,{success:!1,error:u.message||"Failed to create user atomically",rollbackSteps:r}];case 13:return[2]}}))}))).apply(this,arguments)}function G(e){return W.apply(this,arguments)}function W(){return(W=(0,f.Z)((function(e){var t,n,i,s,a,o,c,l,u,d,m,p,h,f,v,b;return(0,g.__generator)(this,(function(g){switch(g.label){case 0:t=[],g.label=1;case 1:if(g.trys.push([1,19,,21]),!e.password)throw new Error("Password is required to create Firebase account for existing audience user");return[4,q(e)];case 2:return n=g.sent(),t.push({type:"deleteFirebaseUser",data:{uid:n.uid},completed:!1}),i={"Content-Type":"application/json"},[4,n.getIdToken()];case 3:return s=g.sent(),i.Authorization="Bearer ".concat(s),[4,fetch("/api/tsom/members/get-user-id",{method:"POST",headers:i,body:JSON.stringify({email:e.email})})];case 4:if(!(a=g.sent()).ok)throw new Error("Failed to verify existing audience user");return[4,a.json()];case 5:return o=g.sent(),console.log("\ud83d\udd0d userCreation: Authenticated check response:",o),o.exists&&o.id?[3,12]:(console.log("\ud83d\udd0d userCreation: User not found in authenticated endpoint, falling back to create new audience user"),console.log("\ud83d\udd0d userCreation: Donation form data:",{email:e.email,firstName:e.firstName,lastName:e.lastName}),[4,fetch("/api/tsom/members",{method:"POST",headers:i,body:JSON.stringify({email:e.email,firstName:e.firstName,lastName:e.lastName,source:e.source})})]);case 6:return c=g.sent(),console.log("\ud83d\udd0d userCreation: Fallback creation response status:",c.status),c.ok?[3,8]:[4,c.json().catch((function(){return{}}))];case 7:throw l=g.sent(),console.log("\ud83d\udd0d userCreation: Fallback creation error:",l),new Error(l.message||"Failed to create audience service user");case 8:return[4,c.json()];case 9:return u=g.sent(),console.log("\ud83d\udd0d userCreation: Fallback creation success, audience user:",u),d=u.member,s?[4,K(n.uid,d.id,s)]:[3,11];case 10:g.sent(),g.label=11;case 11:return t.forEach((function(e){return e.completed=!0})),[2,{success:!0,firebaseUser:n,audienceUser:d,rollbackSteps:t}];case 12:return m=o.id,console.log("\ud83d\udd0d userCreation: Found existing user ID:",m),console.log("\ud83d\udd0d userCreation: Updating with donation form names:",{firstName:e.firstName,lastName:e.lastName}),[4,fetch("/api/tsom/members/update-profile",{method:"POST",headers:(0,k.Z)((0,r.Z)({},i),{"x-member-id":m}),body:JSON.stringify({id:m,firstName:e.firstName,lastName:e.lastName})})];case 13:return p=g.sent(),console.log("\ud83d\udd0d userCreation: Update response status:",p.status),p.ok?[3,15]:[4,p.json().catch((function(){return{}}))];case 14:throw h=g.sent(),console.log("\ud83d\udd0d userCreation: Update error:",h),new Error(h.message||"Failed to update existing audience service user");case 15:return[4,p.json()];case 16:return f=g.sent(),console.log("\ud83d\udd0d userCreation: Update success, updated user:",f),v=(0,r.Z)({id:m},f),t.push({type:"deleteAudienceUser",data:{id:v.id},completed:!1}),s?[4,K(n.uid,v.id,s)]:[3,18];case 17:g.sent(),g.label=18;case 18:return t.push({type:"removeCustomClaims",data:{uid:n.uid},completed:!1}),t.forEach((function(e){return e.completed=!0})),[2,{success:!0,firebaseUser:n,audienceUser:v,rollbackSteps:t}];case 19:return b=g.sent(),console.error("\ud83d\udea8 userCreation: Audience-only user handling failed:",b),[4,Q(t.reverse())];case 20:return g.sent(),[2,{success:!1,error:b.message||"Failed to handle audience-only user",rollbackSteps:t}];case 21:return[2]}}
1))}))).apply(this,arguments)}function q(e){return V.apply(this,arguments)}function V(){return(V=(0,f.Z)((function(e){var t,r,i,s,a;return(0,g.__generator)(this,(function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),[4,Promise.resolve().then(n.bind(n,9083))];case 1:return t=o.sent(),r=t.getAuth,i=t.createUserWithEmailAndPassword,s=r(),[4,i(s,e.email,e.password)];case 2:return[2,o.sent().user];case 3:throw a=o.sent(),console.error("\ud83d\udea8 userCreation: Firebase user creation failed:",a),new Error("Firebase user creation failed: ".concat(a.message));case 4:return[2]}}))}))).apply(this,arguments)}function z(e,t){return J.apply(this,arguments)}function J(){return(J=(0,f.Z)((function(e,t){var n,i,s,a,o,c,l;return(0,g.__generator)(this,(function(u){switch(u.label){case 0:return u.trys.push([0,10,,11]),n={"Content-Type":"application/json"},t?[4,t.getIdToken()]:[3,2];case 1:i=u.sent(),n.Authorization="Bearer ".concat(i),u.label=2;case 2:return[4,fetch("/api/tsom/members/get-user-id",{method:"POST",headers:n,body:JSON.stringify({email:e.email})})];case 3:return(s=u.sent()).ok?[4,s.json()]:[3,5];case 4:if((a=u.sent()).exists)return[2,(0,r.Z)({id:a.id},a)];u.label=5;case 5:return[4,fetch("/api/tsom/members",{method:"POST",headers:n,body:JSON.stringify({email:e.email,firstName:e.firstName,lastName:e.lastName,source:e.source})})];case 6:return(o=u.sent()).ok?[3,8]:[4,o.json().catch((function(){return{}}))];case 7:throw c=u.sent(),new Error(c.message||"Failed to create audience service user");case 8:return[4,o.json()];case 9:return[2,u.sent().member];case 10:throw l=u.sent(),console.error("\ud83d\udea8 userCreation: Audience user creation/update failed:",l),new Error("Audience user creation/update failed: ".concat(l.message));case 11:return[2]}}
1))}))).apply(this,arguments)}function K(e,t,n){return $.apply(this,arguments)}function $(){return($=(0,f.Z)((function(e,t,n){var r,i,s;return(0,g.__generator)(this,(function(a){switch(a.label){case 0:return a.trys.push([0,4,,5]),[4,fetch("/api/auth/setCustomClaim",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(n)},body:JSON.stringify({uid:e,memberId:t})})];case 1:return(r=a.sent()).ok?[3,3]:[4,r.json().catch((function(){return{}}))];case 2:throw i=a.sent(),new Error(i.message||"Failed to set custom claims");case 3:return[3,5];case 4:throw s=a.sent(),console.error("\ud83d\udea8 userCreation: Custom claims setting failed:",s),new Error("Custom claims setting failed: ".concat(s.message));case 5:return[2]}}))}))).apply(this,arguments)}function Q(e){return X.apply(this,arguments)}function X(){return(X=(0,f.Z)((function(e){var t,n,r,i,s,a,o,c;return(0,g.__generator)(this,(function(l){switch(l.label){case 0:console.log("\ud83d\udd0d userCreation: Executing minimal rollback for",e.length,"steps"),t=!0,n=!1,r=void 0,l.label=1;case 1:l.trys.push([1,11,12,13]),i=e[Symbol.iterator](),l.label=2;case 2:if(t=(s=i.next()).done)return[3,10];if((a=s.value).completed)return console.log("\ud83d\udd0d userCreation: Skipping completed step:",a.type),[3,9];l.label=3;case 3:return l.trys.push([3,8,,9]),"removeCustomClaims"!==a.type?[3,5]:[4,ne(a.data.uid)];case 4:return l.sent(),console.log("\ud83d\udd0d userCreation: Custom claims removed successfully:",a.data.uid),[3,7];case 5:return[4,ee(a)];case 6:l.sent(),l.label=7;case 7:return[3,9];case 8:return o=l.sent(),console.error("\ud83d\udea8 userCreation: Rollback step failed:",a.type,o),[3,9];case 9:return t=!0,[3,2];case 10:return[3,13];case 11:return c=l.sent(),n=!0,r=c,[3,13];case 12:try{t||null==i.return||i.return()}finally{if(n)throw r}return[7];case 13:return[2]}}
1))}))).apply(this,arguments)}function ee(e){return te.apply(this,arguments)}function te(){return(te=(0,f.Z)((function(e){return(0,g.__generator)(this,(function(t){switch(t.label){case 0:switch(e.type){case"removeCustomClaims":return[3,1];case"deleteFirebaseUser":return[3,3];case"deleteAudienceUser":return[3,4]}return[3,5];case 1:return[4,ne(e.data.uid)];case 2:return t.sent(),[3,6];case 3:return console.warn("\ud83d\udd0d userCreation: Manual cleanup needed for "+e.type+":",e.data),console.warn("\ud83d\udd0d userCreation: This prevents potential data loss and authentication issues"),[3,6];case 4:return console.log("\ud83d\udd0d userCreation: Audience user cleanup not needed:",e.data),console.log("\ud83d\udd0d userCreation: Audience service handles updates automatically on retry"),[3,6];case 5:console.warn("\ud83d\udd0d userCreation: Unknown rollback step type:",e.type),t.label=6;case 6:return[2]}}))}))).apply(this,arguments)}function ne(e){return re.apply(this,arguments)}function re(){return(re=(0,f.Z)((function(e){return(0,g.__generator)(this,(function(t){try{console.log("\ud83d\udd0d userCreation: Removing custom claims for:",e),console.warn("\ud83d\udd0d userCreation: Manual cleanup needed - remove custom claims for Firebase UID:",e),console.warn("\ud83d\udd0d userCreation: Use Firebase Admin SDK or API endpoint to remove custom claims"),console.warn("\ud83d\udd0d userCreation: Command: firebase.auth().setCustomUserClaims(uid, { tso_member_id: null })")}catch(n){throw console.error("\ud83d\udea8 userCreation: Custom claims removal logging failed:",n),n}return[2]}))}))).apply(this,arguments)}function ie(e){e.onComplete;var t=(0,j.b)(),n=t.state,r=t.setStep,s=t.setPaymentError,a=t.setFirstName,o=t.setLastName,u=(0,l.f2)(),d=((0,S.K)().member,(0,_.wd)()),m=(0,p.useState)(""),h=m[0],v=m[1],b=(0,p.useState)(""),y=b[0],x=b[1],N=(0,p.useState)(""),C=N[0],E=N[1],T=(0,p.useState)(""),P=T[0],k=T[1],O=(0,p.useState)(""),R=O[0],D=O[1],I=(0,p.useState)(null),F=I[0],U=(I[1],(0,p.useState)(!1)),M=U[0],L=U[1];(0,p.useEffect)((function(){var e=new URLSearchParams(window.location.search).get("utm_source")||"";v(e)}),[]);var Z=function(){var e=(0,f.Z)((function(){return(0,g.__generator)(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,Promise.race([u.refreshMember(),new Promise((function(e){return setTimeout(e,3e3)}))])];case 1:return e.sent(),[3,3];case 2:return e.sent(),[3,3];case 3:return[2]}}
1))}));return function(){return e.apply(this,arguments)}}();if(n.step!==c.ne.ACCOUNT_SETUP)return null;!function(){var e=(0,f.Z)((function(){var e;return(0,g.__generator)(this,(function(t){switch(t.label){case 0:if(u.user||M)return[3,5];L(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,u.signInWithExternalProvider("google.com",!0,n.email)];case 2:return t.sent(),[3,5];case 3:return e=t.sent(),console.error("\ud83d\udea8 AccountSetup: Google sign-up error:",e),null===s||void 0===s||s({message:e.message||"Failed to sign up with Google"}),r(c.ne.ERROR),[3,5];case 4:return L(!1),[7];case 5:return[2]}}))}))}();var Y=function(){var e=(0,f.Z)((function(e){var t,i,a,o,l,m,p,f,v,b,x,N;return(0,g.__generator)(this,(function(g){switch(g.label){case 0:if(e.preventDefault(),null===s||void 0===s||s(null),M)return[2];if(t=!n.hasFirebase,!y||!C||t&&!P)return null===s||void 0===s||s({message:"Please fill out all fields"}),[2];L(!0),g.label=1;case 1:return g.trys.push([1,18,19,20]),n.hasFirebase||!n.hasAudience?[3,6]:(i="comments"===n.widget?"donation-comments":"donation-".concat(h||"direct"),[4,G({email:n.email,firstName:y,lastName:C,password:P,source:i})]);case 2:return(a=g.sent()).success?[4,Z()]:[3,4];case 3:return g.sent(),r(d?c.ne.NEWSLETTERS:c.ne.PAYMENT_FORM),[3,5];case 4:null===s||void 0===s||s({message:a.error||"Failed to create account"}),r(c.ne.ERROR),g.label=5;case 5:return[3,17];case 6:return!n.hasFirebase||n.hasAudience?[3,12]:(o="comments"===n.widget?"donation-comments":"donation-".concat(h||"direct"),l={email:n.email,firstName:y,lastName:C,source:o},[4,u.getToken()]);case 7:return m=g.sent(),[4,H(l,m)];case 8:return(p=g.sent()).success?[4,Z()]:[3,10];case 9:return g.sent(),r(d?c.ne.NEWSLETTERS:c.ne.PAYMENT_FORM),[3,11];case 10:null===s||void 0===s||s({message:p.error||"Failed to create account"}),r(c.ne.ERROR),g.label=11;case 11:return[3,17];case 12:return f="comments"===n.widget?"donation-comments":"donation-".concat(h||"direct"),v={email:n.email,firstName:y,lastName:C,password:P,source:f},[4,u.getToken()];case 13:return b=g.sent(),[4,H(v,b)];case 14:return(x=g.sent()).success?[4,Z()]:[3,16];case 15:return g.sent(),r(d?c.ne.NEWSLETTERS:c.ne.PAYMENT_FORM),[3,17];case 16:null===s||void 0===s||s({message:x.error||"Failed to create account"}),r(c.ne.ERROR),g.label=17;case 17:return[3,20];case 18:return N=g.sent(),console.error("Account setup error:",N),null===s||void 0===s||s({message:N.message||"Failed to create account"}),r(c.ne.ERROR),[3,20];case 19:return L(!1),[7];case 20:return[2]}}
1))}));return function(t){return e.apply(this,arguments)}}();n.hasFirebase;return(0,i.jsxs)("div",{className:"donation-account-setup",children:[(0,i.jsx)("h2",{children:d?"Create your account":"Complete your account"}),(0,i.jsx)("p",{children:d?"Please enter your details to redeem your gift membership.":"Please enter your details to continue with your donation."}),(0,i.jsxs)("form",{onSubmit:Y,className:"signup-form",children:[M&&(0,i.jsx)("div",{className:"form-overlay","aria-hidden":"true",children:(0,i.jsxs)("div",{className:"spinner-container",children:[(0,i.jsx)("div",{className:"spinner","aria-label":"Loading"}),(0,i.jsx)("div",{className:"processing-text",children:"Creating your account..."})]})}),(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("label",{htmlFor:"email",children:"Email"}),(0,i.jsx)("input",{type:"email",id:"email",value:n.email,disabled:!0,className:"input-disabled"})]}),(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("label",{htmlFor:"firstName",children:"First Name *"}),(0,i.jsx)("input",{type:"text",id:"firstName",value:y,onChange:function(e){x(e.target.value),null===a||void 0===a||a(e.target.value)},required:!0,autoComplete:"given-name",disabled:M})]}),(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("label",{htmlFor:"lastName",children:"Last Name *"}),(0,i.jsx)("input",{type:"text",id:"lastName",value:C,onChange:function(e){E(e.target.value),null===o||void 0===o||o(e.target.value)},required:!0,autoComplete:"family-name",disabled:M})]}),!n.hasFirebase&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("label",{htmlFor:"password",children:"Create a password *"}),(0,i.jsx)("input",{type:"password",id:"password",value:P,onChange:function(e){return k(e.target.value)},required:!0,minLength:8,autoComplete:"new-password",disabled:M}),(0,i.jsx)("small",{children:"Must be at least 8 characters long"})]}),(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("label",{htmlFor:"confirmPassword",children:"Confirm Password *"}),(0,i.jsx)("input",{type:"password",id:"confirmPassword",value:R,onChange:function(e){return D(e.target.value)},required:!0,autoComplete:"new-password",disabled:M})]})]}),F&&(0,i.jsx)("div",{className:"error-message",children:F}),(0,i.jsx)("div",{className:"form-actions",children:(0,i.jsx)(w.Z,{type:"submit",className:"primary",loading:M,disabled:M,children:M?"Creating Account...":d?"Continue":"Next"})})]}),!d&&(0,i.jsx)("div",{className:"donation-form-footnote",children:(0,i.jsx)(A,{targetStep:c.ne.BUDGET_SELECT})})]})}var se=n(41664),ae=n.n(se),oe=n(51438),ce=n(28668),le=n(10253),ue=n(25892),de=n(76166),me=n(9083);function pe(e){return he.apply(this,arguments)}function he(){return(he=(0,f.Z)((function(e){var t,r,i,s;return(0,g.__generator)(this,(function(a){switch(a.label){case 0:return a.trys.push([0,3,,4]),[4,Promise.resolve().then(n.bind(n,9083))];case 1:return t=a.sent().getAuth,r=t(),[4,(0,me.fetchSignInMethodsForEmail)(r,e)];case 2:return[2,{exists:(i=a.sent()).length>0,methods:i,error:null}];case 3:return s=a.sent(),console.error("Firebase check failed:",s),[2,{exists:!1,methods:[],error:s}];case 4:return[2]}}
1))}))).apply(this,arguments)}function fe(e){return ge.apply(this,arguments)}function ge(){return(ge=(0,f.Z)((function(e){var t,n,r;return(0,g.__generator)(this,(function(i){switch(i.label){case 0:return i.trys.push([0,3,,4]),[4,fetch("/api/tsom/members/check-user-exists-public",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e})})];case 1:if(!(t=i.sent()).ok)throw new Error("Audience service check failed: ".concat(t.statusText));return[4,t.json()];case 2:return n=i.sent(),console.log("\ud83d\udd0d userValidation: Public endpoint response for",e,":",n),[2,{exists:n.exists,id:void 0,error:null}];case 3:return r=i.sent(),console.error("Audience service check failed:",r),[2,{exists:!1,id:void 0,error:r}];case 4:return[2]}}))}))).apply(this,arguments)}function ve(e){return be.apply(this,arguments)}function be(){return(be=(0,f.Z)((function(e){var t,n,r,i,s,a;return(0,g.__generator)(this,(function(o){switch(o.label){case 0:if(!e)throw new ye("Email is required");return[4,Promise.all([pe(e),fe(e)])];case 1:if(t=le.Z.apply(void 0,[o.sent(),2]),n=t[0],r=t[1],n.error&&r.error)throw new ye("Failed to validate user state");return i=n.exists,s=r.exists,[2,{state:a=i||s?s&&!i?"audience_only":i&&!s?"firebase_only":"complete":"completely_new",hasFirebase:i,hasAudience:s,needsLogin:i,needsSignup:!i,needsProfileUpdate:!1,requiresRepair:"firebase_only"===a,audienceServiceId:r.id}]}}))}))).apply(this,arguments)}var ye=function(e){(0,ce.Z)(n,e);var t=(0,de.Z)(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"VALIDATION_ERROR",s=arguments.length>2?arguments[2]:void 0;return(0,oe.Z)(this,n),(r=t.call(this,e)).name="ValidationError",r.code=i,r.details=s,r}return n}((0,ue.Z)(Error)),xe={MONTHLY:[1500,2500,5e3],YEARLY:[12e3,17e3,25e3],ONE_OFF:[5e3,1e4,2e4]};function Ne(e){var t,n,r,s,a=e.isInline,u=e.hideOneOff,d=e.onlyOneOff,m=e.submitButtonText,h=(0,j.b)(),v=h.setAmount,b=h.setInterval,y=h.setStep,x=h.setEmail,N=h.setIsNewUser,C=h.state,E=h.setValidationState,_=h.subscription,A=C.subscriptionLoading,T=null!==(r=null===C||void 0===C?void 0:C.interval)&&void 0!==r?r:o.y.MONTHLY,P=(null===C||void 0===C?void 0:C.amount)&&C.amount>=100?C.amount:15,k=(0,p.useState)(P),O=k[0],R=k[1],D=(0,p.useState)(T),I=D[0],F=D[1],U=(0,p.useState)(null!==(s=null===C||void 0===C?void 0:C.email)&&void 0!==s?s:""),M=U[0],L=U[1],Z=(0,p.useState)(""),Y=Z[0],H=Z[1],B=(0,p.useState)(""),G=B[0],W=B[1],q=(0,p.useState)(""),V=q[0],z=q[1],J=(0,p.useState)(!1),K=J[0],$=J[1],Q=(0,p.useState)(!0),X=Q[0],ee=Q[1],te=(0,S.K)().member,ne=(0,l.f2)(),re=!!te||!!ne.user,ie=(0,p.useState)(!1),se=ie[0],oe=ie[1],ce=(0,p.useState)(!1),le=ce[0],ue=ce[1],de=(0,p.useState)(""),me=de[0],pe=de[1];if((0,p.useEffect)((function(){if(C.step===c.ne.BUDGET_SELECT){if(d)return I!==o.y.ONE_OFF&&F(o.y.ONE_OFF),void b(o.y.ONE_OFF);var e=re?o.y.ONE_OFF:o.y.MONTHLY;(!C.interval||re&&_&&"BUDGET_SELECT"===C.step&&C.interval===o.y.MONTHLY)&&(I!==e&&F(e),b(e))}}),[C.step,re,_,C.interval,d]),(0,p.useEffect)((function(){(console.log("state.step",C.step),C.step===c.ne.BUDGET_SELECT)&&((!C.amount||C.amount<100)&&(1500!==O&&R(1500),v(1500)))}),[C.step]),C.step!==c.ne.BUDGET_SELECT)return null;var he=function(){var e=(0,f.Z)((function(e){var t,n,r,i,s,a;return(0,g.__generator)(this,(function(l){switch(l.label){case 0:if(e.preventDefault(),H(""),W(""),!O)return H("Please enter a donation amount."),[2];if(O<100)return H("Minimum donation amount is $1."),[2];if(!I)return H("Please select a donation frequency."),[2];if(!re&&!M)return H("Please enter your email address."),[2];if(re)return[3,6];if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(M))return H("Please enter a valid email address."),[2];$(!0),oe(!0),l.label=1;case 1:return l.trys.push([1,3,4,5]),[4,ve(M)];case 2:return r=l.sent(),v(O),b(I),x(M),N&&N(!r.hasAudience),E&&E({hasAudience:r.hasAudience,hasFirebase:r.hasFirebase}),r.requiresRepair?(ue(!0),W("Account found! Please sign in to continue."),[2]):r.needsLogin?(ue(!0),W("Account found! Please sign in to continue."),[2]):(y(c.ne.ACCOUNT_SETUP),[3,5]);case 3:return i=l.sent(),H(i.message||"Error setting up donation. Please try again."),[3,5];case 4:return $(!1),oe(!1),[7];case 5:return[2];case 6:if(s=(null===te||void 0===te?void 0:te.email)||(null===(t=ne.user)||void 0===t?void 0:t.email),!ne.user||!s)return[3,11];$(!0),l.label=7;case 7:return l.trys.push([7,9,10,11]),[4,ve(s)];case 8:return a=l.sent(),E&&E({hasAudience:a.hasAudience,hasFirebase:a.hasFirebase}),a.requiresRepair?(v(O),b(I),x(s),y(c.ne.ACCOUNT_SETUP),$(!1),[2]):[3,11];case 9:return l.sent(),[3,11];case 10:return $(!1),[7];case 11:return $(!0),v(O),b(I),x((null===te||void 0===te?void 0:te.email)||(null===(n=ne.user)||void 0===n?void 0:n.email)||M),!te||te.firstName&&te.lastName?re&&_&&I!==o.y.ONE_OFF?(y(c.ne.UPDATE),$(!1),[2]):(y(c.ne.PAYMENT_FORM),$(!1),[2]):(y(c.ne.NAME_COLLECTION),$(!1),[2])}}))}));return function(t){return e.apply(this,arguments)}}(),fe=function(){var e=(0,f.Z)((function(){var e,t,n,r,i;return(0,g.__generator)(this,(function(s){switch(s.label){case 0:if(!me)return H("Please enter your password."),[2];$(!0),H(""),z(""),s.label=1;case 1:return s.trys.push([1,15,20,21]),[4,ne.signIn(M,me)];case 2:s.sent(),O&&v(O),I&&b(I),x(M),s.label=3;case 3:return s.trys.push([3,13,,14]),[4,ve(M)];case 4:return e=s.sent(),E&&E({hasAudience:e.hasAudience,hasFirebase:e.hasFirebase}),e.requiresRepair?(y(c.ne.ACCOUNT_SETUP),[3,12]):[3,5];case 5:return e.hasAudience?[4,ne.getToken()]:[3,11];
1case 6:return t=s.sent(),[4,fetch("/api/tsom/members/get-member",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(t)},body:JSON.stringify({email:M})})];case 7:return(n=s.sent()).ok?[4,n.json()]:[3,9];case 8:return r=s.sent(),i=Boolean(null===r||void 0===r?void 0:r.firstName)&&Boolean(null===r||void 0===r?void 0:r.lastName),y(i?c.ne.PAYMENT_FORM:c.ne.ACCOUNT_SETUP),[3,10];case 9:n.status,y(c.ne.ACCOUNT_SETUP),s.label=10;case 10:return[3,12];case 11:y(c.ne.ACCOUNT_SETUP),s.label=12;case 12:return[3,14];case 13:return s.sent(),y(c.ne.ACCOUNT_SETUP),[3,14];case 14:return[3,21];case 15:if("auth/user-not-found"!==s.sent().code)return[3,19];s.label=16;case 16:return s.trys.push([16,18,,19]),[4,ve(M)];case 17:return"audience_only"===s.sent().state?(H("Please create a password to continue. This email is registered for newsletters but needs a password to donate."),[2]):[3,19];case 18:return s.sent(),[3,19];case 19:return H("Login was unsuccessful. Please check your details."),[3,21];case 20:return $(!1),[7];case 21:return[2]}}
1))}));return function(){return e.apply(this,arguments)}}(),ge=function(){var e=(0,f.Z)((function(){return(0,g.__generator)(this,(function(e){switch(e.label){case 0:H(""),z(""),$(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,ne.sendPasswordResetEmail(M)];case 2:return e.sent(),z("Password reset email sent! Please check your inbox and follow the link to reset your password."),[3,5];case 3:return e.sent(),H("Failed to send password reset email. Please try again."),[3,5];case 4:return $(!1),[7];case 5:return[2]}}))}));return function(){return e.apply(this,arguments)}}(),be=(function(){var e=(0,f.Z)((function(){var e,t,n,r;return(0,g.__generator)(this,(function(i){switch(i.label){case 0:$(!0),i.label=1;case 1:return i.trys.push([1,11,12,13]),[4,ne.signInWithExternalProvider("google.com",!0,M)];case 2:i.sent(),O&&v(O),I&&b(I),x(M),i.label=3;case 3:return i.trys.push([3,9,,10]),[4,ne.getToken()];case 4:return e=i.sent(),[4,fetch("/api/tsom/members/get-member",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({email:M})})];case 5:return(t=i.sent()).ok?[4,t.json()]:[3,7];case 6:return n=i.sent(),r=Boolean(null===n||void 0===n?void 0:n.firstName)&&Boolean(null===n||void 0===n?void 0:n.lastName),y(r?c.ne.PAYMENT_FORM:c.ne.ACCOUNT_SETUP),[3,8];case 7:t.status,y(c.ne.ACCOUNT_SETUP),i.label=8;case 8:return[3,10];case 9:return i.sent(),y(c.ne.ACCOUNT_SETUP),[3,10];case 10:return[3,13];case 11:return i.sent(),H("Google login failed. Please try again or use email/password."),[3,13];case 12:return $(!1),[7];case 13:return[2]}}
1))}))}(),function(e){var t;F(e),b(e);var n=null===(t=xe[e])||void 0===t?void 0:t[1];n&&R(n)});!function(){var e=(0,f.Z)((function(){return(0,g.__generator)(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,ne.signOut()];case 1:return e.sent(),[3,3];case 2:return e.sent(),[3,3];case 3:return[2]}}))}))}();return(0,i.jsxs)("div",{className:"donation-budget-selector",children:[re&&A&&(0,i.jsxs)("div",{className:"spinner-container",children:[(0,i.jsx)("div",{className:"spinner"}),(0,i.jsx)("p",{className:"processing-text",children:"Checking your subscription..."})]}),re&&!A&&(0,i.jsx)("div",{className:"logged-in-status",children:(0,i.jsxs)("p",{children:[(0,i.jsx)("strong",{children:(null===te||void 0===te?void 0:te.email)||(null===(t=ne.user)||void 0===t?void 0:t.email)}),(0,i.jsx)("br",{}),te?(0,i.jsxs)(i.Fragment,{children:["Want to use a different email? Your email can be updated in your ",(0,i.jsx)(ae(),{href:"/profile",className:"profile-link",children:"profile"}),"."]}):(0,i.jsx)(i.Fragment,{children:"You're signed in and ready to make a donation."})]})}),!d&&!A&&(0,i.jsx)("div",{className:"buttons-row ".concat(re&&_?"single":re?"tri":u?"deux":"tri"),children:re&&_?(0,i.jsx)(i.Fragment,{children:(0,i.jsx)("button",{type:"button",className:"preset-amount-button ".concat(I===o.y.ONE_OFF?"selected":""),onClick:function(){return be(o.y.ONE_OFF)},children:"Just once"})}):re?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("button",{type:"button",className:"preset-amount-button ".concat(I===o.y.MONTHLY?"selected":""),onClick:function(){return be(o.y.MONTHLY)},children:"Monthly"}),(0,i.jsx)("button",{type:"button",className:"preset-amount-button ".concat(I===o.y.YEARLY?"selected":""),onClick:function(){return be(o.y.YEARLY)},children:"Yearly"}),(0,i.jsx)("button",{type:"button",className:"preset-amount-button ".concat(I===o.y.ONE_OFF?"selected":""),onClick:function(){return be(o.y.ONE_OFF)},children:"Just once"})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("button",{type:"button",className:"preset-amount-button ".concat(I===o.y.MONTHLY?"selected":""),onClick:function(){return be(o.y.MONTHLY)},children:"Monthly"}),(0,i.jsx)("button",{type:"button",className:"preset-amount-button ".concat(I===o.y.YEARLY?"selected":""),onClick:function(){return be(o.y.YEARLY)},children:"Yearly"}),!u&&(0,i.jsx)("button",{type:"button",className:"preset-amount-button ".concat(I===o.y.ONE_OFF?"selected":""),onClick:function(){return be(o.y.ONE_OFF)},children:"Just once"})]})}),I&&!A&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{style:{margin:"9px 0px 9px 0px"},className:"amount-label text-center",children:"Choose an amount"}),(0,i.jsx)("div",{className:"buttons-row tri",children:null===(n=xe[I])||void 0===n?void 0:n.map((function(e){return(0,i.jsx)("button",{type:"button",className:"preset-amount-button ".concat(O===e?"selected":""),onClick:function(){return function(e){R(e),ee(!0)}(e)},children:(t=e,"$".concat((t/100).toFixed(0)))},e);var t}))})]}),!A&&(0,i.jsxs)("form",{onSubmit:he,children:[(0,i.jsxs)("div",{className:"form-label",children:[(0,i.jsx)("label",{htmlFor:"customAmount",children:"Custom amount"}),!X&&(0,i.jsx)("span",{className:"error-text",children:"Minimum $1"})]}),(0,i.jsx)("input",{value:O?(O/100).toString():"",type:"text",name:"customAmount",id:"customAmount",inputMode:"decimal",className:"input--custom-budget ".concat(X?"":"input-error"),placeholder:"Or, enter custom amount...",onChange:function(e){var t=e.target.value;if(""===t)return R(null),void ee(!0);var n=parseFloat(t);if(isNaN(n))return R(null),void ee(!0);var r=Math.round(100*n);R(r),ee(!(r<100))},onBlur:function(){},onWheel:function(e){return e.currentTarget.blur()}}),!re&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"email",children:"Email"})}),(0,i.jsx)("input",{type:"email",id:"email",placeholder:"Email",value:M,onChange:function(e){return L(e.target.value)},className:"input--custom-budget"})]}),Y&&(0,i.jsx)("div",{className:"donation-form-note",children:(0,i.jsx)("p",{className:"error",children:Y})}),V&&(0,i.jsx)("div",{className:"donation-form-note",children:(0,i.jsx)("p",{className:"success",children:V})}),G&&(0,i.jsx)("div",{className:"donation-form-note",children:(0,i.jsx)("p",{className:"info-text",children:G})}),le?(0,i.jsxs)("div",{className:"login-prompt",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"loginPassword",children:"Password"})}),(0,i.jsx)("input",{type:"password",id:"loginPassword",placeholder:"Enter your password",value:me,onChange:function(e){return pe(e.target.value)},className:"input--custom-budget",onKeyDown:function(e){"Enter"===e.key&&fe()}}),(0,i.jsx)("div",{className:"form-actions",children:(0,i.jsx)(w.Z,{type:"button",onClick:fe,className:"primary",loading:K,disabled:K||!me,children:K?"Signing in...":"Sign In"})}),(0,i.jsxs)("div",{className:"form-separator",children:[(0,i.jsx)("hr",{}),(0,i.jsx)("span",{children:"or"})]}),(0,i.jsxs)("div",{className:"login-buttons-grid",children:[(0,i.jsx)(w.Z,{type:"button",onClick:ge,className:"secondary login-forgot-button",disabled:K,loading:K,children:K?"Sending...":"Forgot Password?"}),(0,i.jsx)(w.Z,{type:"button",onClick:function(){ue(!1),H(""),W(""),z("")},className:"tertiary login-different-email-button",loading:!1,children:"Try Different Email"})]})]}):(0,i.jsx)("div",{className:"form-actions",children:(0,i.jsx)(w.Z,{type:"submit",className:"primary",loading:K||se,disabled:K||se,children:se?"Checking account...":K?"Processing...":m||(re&&_&&I===o.y.MONTHLY||re&&_&&I===o.y.YEARLY?"Update my donation":re&&_&&I===o.y.ONE_OFF?"Make one-off donation":re?"Donate ".concat(O?"$".concat(O/100):""," ").concat(I===o.y.MONTHLY?"monthly":I===o.y.YEARLY?"yearly":"one-off"):"Donate $".concat(O?"".concat(O/100):""," ").concat(I===o.y.MONTHLY?"monthly":I===o.y.YEARLY?"yearly":"one-off"))})})]}),!a&&!A&&(0,i.jsx)("div",{className:"donation-form-footnote",children:(0,i.jsx)("a",{href:"/members",target:"_blank",rel:"noopener noreferrer",children:"More info on The Spinoff Members"})})]})}var we=n(35384),je=n(94971),Ce=n(96309);function Ee(e){var t=e.onPaymentMethodSelected,n=e.paymentMethods,r=e.loading,s=e.error,a=e.defaultPaymentMethodId,o=(0,p.useState)(a&&n.some((function(e){return e.id===a}))?a:n.length>0?n[0].id:"new"),c=o[0],l=o[1],u=(0,p.useState)(n.length>0?"existing":"new"),d=u[0],m=u[1];(0,p.useEffect)((function(){a&&n.some((function(e){return e.id===a}))?(l(a),t(a)):n.length>0&&"new"===c&&(l(n[0].id),t(n[0].id))}),[a,n]);var h=function(e){m(e),"existing"===e&&n.length>0?(l(n[0].id),t(n[0].id)):"new"===e&&(l("new"),t("new"))};return r?(0,i.jsx)(i.Fragment,{}):s?(0,i.jsx)("div",{style:{color:"red"},children:s}):(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"stripe-radio-group",children:[(0,i.jsxs)("label",{className:"stripe-like-radio-label",children:[(0,i.jsx)("input",{type:"radio",name:"paymentMode",value:"existing",checked:"existing"===d,onChange:function(){return h("existing")},disabled:0===n.length,className:"stripe-like-radio"}),(0,i.jsx)("span",{children:"Use existing card"})]}),(0,i.jsxs)("label",{className:"stripe-like-radio-label",children:[(0,i.jsx)("input",{type:"radio",name:"paymentMode",value:"new",checked:"new"===d,onChange:function(){return h("new")},className:"stripe-like-radio"}),(0,i.jsx)("span",{children:"Use new card"})]})]}),"existing"===d&&n.length>0&&(0,i.jsx)("select",{className:"stripe-like-select",value:c,onChange:function(e){l(e.target.value),t(e.target.value)},children:n.map((function(e){return(0,i.jsxs)("option",{value:e.id,children:["Card ending ",e.last4," ",e.expiry]},e.id)}))})]})}var Se={theme:"stripe",variables:{colorPrimary:"#0570de",colorBackgroun
1d:"#F6FDF7",colorText:"#000000",colorDanger:"#df1b41",spacingUnit:"2px",borderRadius:"4px"}},_e=N()().publicRuntimeConfig.STRIPE_PUBLISHABLE_KEY,Ae={base:{fontSize:"16px",color:"#333",backgroundColor:"#fff",border:"3px #e3f0fa solid",borderRadius:"8px",lineHeight:"1.5",fontFamily:"inherit","::placeholder":{color:"#888"}},invalid:{color:"#fa755a",iconColor:"#fa755a"}};function Te(e){e.onComplete;var t=e.onPaymentSuccess,s=e.widget,a=(0,j.b)(),o=a.state,u=a.setStep,d=a.setPaymentError,m=(a.setEmail,(0,p.useState)("")),h=m[0],b=m[1],y=(0,p.useState)(!1),x=y[0],N=y[1],w=(0,p.useState)(!1),C=w[0],E=(w[1],(0,p.useState)(!1)),_=(E[0],E[1],(0,p.useState)(!1)),T=_[0],P=_[1],O=(0,p.useState)(!0),R=O[0],D=O[1],I=(0,p.useState)(!1),F=I[0],U=I[1],M=(0,p.useState)(""),L=M[0],Z=M[1],Y=(0,p.useState)({number:!1,expiry:!1,cvc:!1}),H=Y[0],B=Y[1],G=(0,S.K)(),W=G.member,q=G.user,V=(G.signIn,G.refreshMember),z=(0,we.n)().trackPayment,J=function(e,t){try{z({eventType:e,amount:t.amount_dollars,currency:"NZD",interval:t.interval,widget:t.source,utm_source:t.utm_source,utm_campaign:t.utm_campaign,email:null===W||void 0===W?void 0:W.email,reason:t.reason,error_message:t.error_message})}catch(p){}try{var n,r,i,a,c,l=s||o.widget||"tsom_v2",u=null!==(r=t.amount_dollars)&&void 0!==r?r:(null!==(n=t.amount)&&void 0!==n?n:0)/100,d=null!==(i=t.interval)&&void 0!==i?i:"";if("checkout_error"===e)(0,je.checkoutErrorEvent)(l,null!==(c=null!==(a=t.error_type)&&void 0!==a?a:t.type)&&void 0!==c?c:"unknown",u,d);else if("payment_abandoned"===e){var m;(0,je.checkoutAbandonedEvent)(l,u,d,null!==(m=t.reason)&&void 0!==m?m:"unknown")}}catch(h){}},K=function(e,t){var n=JSON.stringify({event:e,type:t.type,amount:t.amount,amount_dollars:t.amount_dollars,currency:t.currency,interval:t.interval,source:t.source,utm_source:t.utm_source,utm_campaign:t.utm_campaign,payment_method:t.payment_method});(0,je.trackActiveCampaignEvent)(e,n)},$=(0,l.f2)(),Q=(0,v.useStripe)(),X=(0,v.useElements)(),ee=(0,p.useState)({}),te=ee[0],ne=ee[1],re=(0,p.useState)(!1),ie=re[0],se=re[1],oe=o.firstName||(null===W||void 0===W?void 0:W.firstName)||"",ce=o.lastName||(null===W||void 0===W?void 0:W.lastName)||"",le=!oe||!ce,ue=(0,p.useState)("new"),de=ue[0],me=ue[1],pe=(0,p.useState)(!1),he=pe[0],fe=pe[1],ge=(0,p.useState)([]),ve=ge[0],be=ge[1],ye=(0,p.useState)(!1),xe=ye[0],Ne=ye[1],Te=(0,p.useState)(""),Pe=Te[0],ke=Te[1],Oe=(0,p.useRef)(0),Re=(0,p.useState)(""),De=Re[0],Ie=Re[1],Fe=(0,p.useRef)(Math.random().toString(36).substring(2,15)).current,Ue=(0,p.useState)(!1),Me=Ue[0],Le=Ue[1],Ze=(0,p.useState)(!1),Ye=Ze[0],He=Ze[1],Be=(0,p.useState)(!1),Ge=(Be[0],Be[1]),We=(0,p.useRef)(!1);(0,p.useEffect)((function(){(0,Ce.Td)();var e=(0,Ce.SD)();ne(e)}),[]),(0,p.useEffect)((function(){if(W){(0,Ce.Td)();var e=(0,Ce.SD)();ne(e)}}),[W]),(0,p.useEffect)((function(){if(W){var e,t,n,r="member"!==W.type;if(He(r),r&&!Me)Le(!0),Ge(!0),We.current=!0,J("payment_started",{type:"first_time_user",amount:null!==(t=null===o||void 0===o?void 0:o.amount)&&void 0!==t?t:0,amount_dollars:(null!==(n=null===o||void 0===o?void 0:o.amount)&&void 0!==n?n:0)/100,interval:null===o||void 0===o||null===(e=o.interval)||void 0===e?void 0:e.toLowerCase(),source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign})}}),[W,o.amount,o.interval,te,Me]),(0,p.useEffect)((function(){return function(){var e,t,n;Me&&!F&&We.current&&J("payment_abandoned",{type:Ye?"first_time_user":"returning_user",is_first_time_user:Ye,amount:null!==(t=null===o||void 0===o?void 0:o.amount)&&void 0!==t?t:0,amount_dollars:(null!==(n=null===o||void 0===o?void 0:o.amount)&&void 0!==n?n:0)/100,interval:null===o||void 0===o||null===(e=o.interval)||void 0===e?void 0:e.toLowerCase(),source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,reason:"user_navigated_away",error_message:"User closed modal, navigated away, or closed browser tab"})}}),[]),(0,p.useEffect)((function(){Ie(C?"Loading your account details...":x?"Processing your payment. Please wait...":F?"Payment successful! Thank you for your donation.":h?"Error: ".concat(h):"")}),[C,x,F,h]),(0,p.useEffect)((function(){W&&(Ne(!0),(0,f.Z)((function(){var e,t,r;return(0,g.__generator)(this,(function(i){switch(i.label){case 0:return i.trys.push([0,4,5,6]),[4,$.getToken()];case 1:return(e=i.sent())?[4,Promise.resolve().then(n.bind(n,90873))]:[2];case 2:return[4,i.sent().default.payments().getPaymentMethods(e)];case 3:return t=i.sent(),be(t||[]),[3,6];case 4:return r=i.sent(),ke(r.message||"Failed to fetch payment methods"),be([]),[3,6];case 5:return Ne(!1),[7];case 6:return[2]}}
1))}))())}),[W,$]),(0,p.useEffect)((function(){$.user&&!$.user.isAnonymous||(b("Authentication required. Please sign in first."),u(c.ne.ERROR))}),[$.user,u]),(0,p.useEffect)((function(){W&&ve.length>0?(me(ve[0].id),fe(!1)):(me("new"),fe(!0))}),[W,ve.length]),(0,p.useEffect)((function(){"ONE_OFF"!==o.interval&&D(!0)}),[o.interval]);var qe=("member"===(null===W||void 0===W?void 0:W.type)||T)&&(!he||H.number&&H.expiry&&H.cvc)&&!x&&!L&&$.user&&!C,Ve=function(){var e=(0,f.Z)((function(e){var i,a,l,m,p,h,y,x,w,j,C,E,S,_,A,T,P,k,O,D,I,F,M,L,Z,Y,H,G,z,ee,ne,re,ie,ae,oe,ce,ue,me,pe,he,fe,ge,ve,be,ye,xe,Ne,we,Ee,Se,_e,Ae,Te,Pe,ke,Re,De,Ie,Ue,Me,Le,Ze,He,Be,Ve,ze,Je,Ke,$e,Qe,Xe,et,tt,nt,rt,it,st,at,ot,ct,lt,ut,dt;return(0,g.__generator)(this,(function(mt){switch(mt.label){case 0:if(e.preventDefault(),(i=Date.now())-Oe.current<2e3)return b("Please wait a moment before trying again."),[2];if(Oe.current=i,b(""),U(!1),se(!0),le)return u(c.ne.NAME_COLLECTION),[2];if(W&&W.subscriptions&&W.subscriptions.length>0&&W.subscriptions.some((function(e){return"active"===e.status||"trialing"===e.status})))return b("You already have an active subscription. Please check your account or contact support if you need to make changes."),[2];if(!qe)return b("Please fill out all required fields correctly."),[2];N(!0),a=null===W||void 0===W?void 0:W.id,mt.label=1;case 1:if(mt.trys.push([1,36,37,38]),a||!$.user||$.user.isAnonymous)return[3,10];mt.label=2;case 2:return mt.trys.push([2,9,,10]),[4,$.getToken()];case 3:return(l=mt.sent())?(m=(0,Ce.SD)(),p="donation-".concat(m.utm_source||"direct"),[4,fetch("/api/tsom/members",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(l)},body:JSON.stringify({email:$.user.email||o.email,firstName:(null===W||void 0===W?void 0:W.firstName)||"",lastName:(null===W||void 0===W?void 0:W.lastName)||"",source:p})})]):[3,8];case 4:return(h=mt.sent()).ok?[4,h.json()]:[3,6];case 5:return x=mt.sent(),a=null===(y=x.member)||void 0===y?void 0:y.id,[3,8];case 6:return[4,h.json().catch((function(){return{}}))];case 7:if("PROFILE_INCOMPLETE"===mt.sent().code)return b("Please complete your profile information to continue."),u(c.ne.ACCOUNT_SETUP),N(!1),[2];mt.label=8;case 8:return[3,10];case 9:return mt.sent(),[3,10];case 10:return a?!o.amount||o.amount<100?(b(_="Please enter a donation amount of at least $1."),Ge(!1),We.current=!1,J("checkout_error",{type:"validation_error",amount:null!==(A=null===o||void 0===o?void 0:o.amount)&&void 0!==A?A:0,amount_dollars:(null!==(T=null===o||void 0===o?void 0:o.amount)&&void 0!==T?T:0)/100,interval:null===o||void 0===o||null===(S=o.interval)||void 0===S?void 0:S.toLowerCase(),currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,error_message:_,error_type:"invalid_donation_amount"}),u(c.ne.ERROR),N(!1),[2]):(P=de,"new"!==de?[3,17]:X?(M=X.getElement(v.CardNumberElement))?Q?(G=(null===W||void 0===W?void 0:W.email)||o.email||(null===(k=$.user)||void 0===k?void 0:k.email)||"")?[4,Q.createPaymentMethod({type:"card",card:M,billing_details:{email:G}})]:(b("We could not find your email address. Please contact support."),N(!1),[2]):(b(Z="Stripe.js has not loaded yet."),Ge(!1),We.current=!1,J("checkout_error",{type:"stripe_js_error",amount:null!==(Y=null===o||void 0===o?void 0:o.amount)&&void 0!==Y?Y:0,amount_dollars:(null!==(H=null===o||void 0===o?void 0:o.amount)&&void 0!==H?H:0)/100,interval:null===o||void 0===o||null===(L=o.interval)||void 0===L?void 0:L.toLowerCase(),currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,error_message:Z,error_type:"stripe_js_not_loaded"}),u(c.ne.ERROR),N(!1),[2]):(b("Card number is not entered."),N(!1),[2]):(b(D="Stripe elements not loaded."),Ge(!1),We.current=!1,J("checkout_error",{type:"stripe_elements_error",amount:null!==(I=null===o||void 0===o?void 0:o.amount)&&void 0!==I?I:0,amount_dollars:(null!==(F=null===o||void 0===o?void 0:o.amount)&&void 0!==F?F:0)/100,interval:null===o||void 0===o||null===(O=o.interval)||void 0===O?void 0:O.toLowerCase(),currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,error_message:D,error_type:"stripe_elements_not_loaded"}),u(c.ne.ERROR),N(!1),[2])):(b(j="Member record not found. Please try again."),Ge(!1),We.current=!1,J("checkout_error",{type:"member_record_error",amount:null!==(C=null===o||void 0===o?void 0:o.amount)&&void 0!==C?C:0,amount_dollars:(null!==(E=null===o||void 0===o?void 0:o.amount)&&void 0!==E?E:0)/100,interval:null===o||void 0===o||null===(w=o.interval)||void 0===w?void 0:w.toLowerCase(),currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,error_message:j,error_type:"member_record_not_found"}),u(c.ne.ERROR),N(!1),[2]);case 11:if(z=mt.sent(),ee=z.paymentMethod,ne=z.error)return null===d||void 0===d||d({message:ne.message||"A payment error occurred. Please try again."}
1),"expired_card"===ne.code||"incorrect_cvc"===ne.code?(b(ne.message||"Failed to create payment method."),N(!1),[2]):(b(ne.message||"A payment error occurred. Please try again."),u(c.ne.ERROR),N(!1),[2]);if(!ee)return b(ie="Failed to create payment method."),Ge(!1),We.current=!1,J("checkout_error",{type:"payment_method_error",amount:null!==(ae=null===o||void 0===o?void 0:o.amount)&&void 0!==ae?ae:0,amount_dollars:(null!==(oe=null===o||void 0===o?void 0:o.amount)&&void 0!==oe?oe:0)/100,interval:null===o||void 0===o||null===(re=o.interval)||void 0===re?void 0:re.toLowerCase(),currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,error_message:ie,error_type:"payment_method_creation_failed"}),u(c.ne.ERROR),N(!1),[2];if(P=ee.id,!("ONE_OFF"!==o.interval||R))return[3,17];mt.label=12;case 12:return mt.trys.push([12,16,,17]),[4,$.getToken()];case 13:if(!mt.sent())throw new Error("No authentication token found");return[4,Promise.resolve().then(n.bind(n,90873))];case 14:return[4,mt.sent().default.payments().createPaymentMethod(ee.id,"ONE_OFF"!==o.interval)];case 15:return mt.sent(),[3,17];case 16:return mt.sent(),[3,17];case 17:ce=(o.interval||"").toLowerCase(),ue="monthly"===ce?"month":"yearly"===ce?"year":void 0,pe=[a||o.email||"",null!==(me=o.amount)&&void 0!==me?me:0,o.interval||"",P||"",Fe].join(":"),mt.label=18;case 18:return mt.trys.push([18,21,,22]),ve="number"===typeof o.amount&&o.amount<100?Math.round(100*o.amount):null!==(ge=o.amount)&&void 0!==ge?ge:0,be={email:(null===W||void 0===W?void 0:W.email)||o.email||"",paymentMethodId:P||void 0,price:ve,description:"".concat(null===(fe=o.interval)||void 0===fe?void 0:fe.toLowerCase()," donation"),billingInterval:ue,metadata:(0,r.Z)({},(0,Ce.Qv)(te,o,W,s))},[4,Promise.resolve().then(n.bind(n,90873))];case 19:return[4,mt.sent().default.payments().createPayment(be,pe)];case 20:return he=mt.sent(),[3,22];case 21:return ye=mt.sent(),Ee=null===(xe=ye.response)||void 0===xe?void 0:xe.status,Se=null===(Ne=ye.response)||void 0===Ne?void 0:Ne.data,_e=!Ee||402===Ee||500===Ee,Ae=409===Ee?"You already have an active subscription. Please check your account or contact support if you need to make changes.":429===Ee?"Too many payment attempts. Please wait a moment and try again.":402===Ee||"card_error"===(null===Se||void 0===Se?void 0:Se.type)?(null===Se||void 0===Se?void 0:Se.error)||"Your card was declined. Please check your card details and try again.":"There was a problem processing your payment. Please check your card details and try again.",null===d||void 0===d||d({message:Ae}),J("checkout_error",{type:"payment_error",amount:null!==(Te=null===o||void 0===o?void 0:o.amount)&&void 0!==Te?Te:0,amount_dollars:(null!==(Pe=null===o||void 0===o?void 0:o.amount)&&void 0!==Pe?Pe:0)/100,interval:null===o||void 0===o||null===(we=o.interval)||void 0===we?void 0:we.toLowerCase(),currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,error_message:Ae,error_type:"payment_processing_failed"}),_e?(b(Ae),B({number:!1,expiry:!1,cvc:!1}),N(!1),[2]):(Ge(!1),We.current=!1,u(c.ne.ERROR),N(!1),[2]);case 22:if(!(null===he||void 0===he?void 0:he.clientSecret))return null===d||void 0===d||d({message:"There was a problem processing your payment. Please try again."}),b("There was a problem processing your payment. Please try again."),u(c.ne.ERROR),N(!1),[2];mt.label=23;case 23:return mt.trys.push([23,27,,28]),$.user&&$.user.uid&&a?[4,$.getToken()]:[3,26];case 24:return(ke=mt.sent())?[4,fetch("/api/auth/setCustomClaim",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(ke)},body:JSON.stringify({uid:$.user.uid,memberId:a})})]:[3,26];case 25:mt.sent(),mt.label=26;case 26:return[3,28];case 27:return Re=mt.sent(),console.error("[Post-payment custom claim error]",Re),[3,28];case 28:return Q?[4,Q.confirmCardPayment(he.clientSecret)]:(b("Stripe.js has not loaded yet."),u(c.ne.ERROR),N(!1),[2]);case 29:if(De=mt.sent(),Ie=De.paymentIntent,Ue=De.error)return Le=Ue.message||"A payment error occurred. Please try again.",b(Le),Ze=["incorrect_number","incorrect_cvc","incorrect_zip","expired_card","card_velocity_exceeded"],Ue.code&&Ze.includes(Ue.code)&&B({number:!1,expiry:!1,cvc:!1}),J("checkout_error",{type:"stripe_confirmation_error",amount:null!==(He=null===o||void 0===o?void 0:o.amount)&&void 0!==He?He:0,amount_dollars:(null!==(Be=null===o||void 0===o?void 0:o.amount)&&void 0!==Be?Be:0)/100,interval:null===o||void 0===o||null===(Me=o.interval)||void 0===Me?void 0:Me.toLowerCase(),currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,error_message:Le,error_type:"stripe_confirmation_failed",stripe_error_code:Ue.code||"unknown"}),N(!1),[2];if("succeeded"!==(null===Ie||void 0===Ie?void 0:Ie.status))return b(ze="Payment was not successful. Please try again."),J("checkout_error",{type:"payment_status_error",amount:null!==(Je=null===o||void 0===o?void 0:o.amount)&&void 0!==Je?Je:0,amount_dollars:(null!==(Ke=null===o||void 0===o?void 0:o.amount)&&void 0!==Ke?Ke:0)/100,interval:null===o||void 0===o||null===(Ve=o.interval)||void 0===Ve?void 0:Ve.toLowerCase(),currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,error_message:ze,error_type:"payment_status_failed",payment_status:(null===Ie||void 0===Ie?void 0:Ie.status)||"unknown"}),u(c.ne.ERROR),N(!1),[2];try{"ONE_OFF"===o.interval?((0,je.trackUnifiedConversion)({type:"donation",label:"tsom_v2 One-off Donation",amount:null!==($e=null===o||void 0===o?void 0:o.amount)&&void 0!==$e?$e:0,currency:"NZD",widget:s||o.widget||"tsom_v2",utm_source:te.utm_source,utm_medium:te.utm_medium,utm_campaign:te.utm_campaign,utm_c
1ontent:te.utm_content,utm_term:te.utm_term,utm_id:te.utm_id,utm_creative_format:te.utm_creative_format,member:W,user:q}),K("donation_completed",{type:"one_off",amount:null!==(Qe=null===o||void 0===o?void 0:o.amount)&&void 0!==Qe?Qe:0,amount_dollars:(null!==(Xe=null===o||void 0===o?void 0:o.amount)&&void 0!==Xe?Xe:0)/100,currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,payment_method:"card"})):((0,je.trackUnifiedConversion)({type:"subscription",label:"tsom_v2 Membership Subscription",amount:null!==(nt=null===o||void 0===o?void 0:o.amount)&&void 0!==nt?nt:0,interval:null===o||void 0===o||null===(et=o.interval)||void 0===et?void 0:et.toLowerCase(),currency:"NZD",widget:s||o.widget||"tsom_v2",utm_source:te.utm_source,utm_medium:te.utm_medium,utm_campaign:te.utm_campaign,utm_content:te.utm_content,utm_term:te.utm_term,utm_id:te.utm_id,utm_creative_format:te.utm_creative_format,member:W,user:q}),K("subscription_created",{type:"subscription",amount:null!==(rt=null===o||void 0===o?void 0:o.amount)&&void 0!==rt?rt:0,amount_dollars:(null!==(it=null===o||void 0===o?void 0:o.amount)&&void 0!==it?it:0)/100,interval:null===o||void 0===o||null===(tt=o.interval)||void 0===tt?void 0:tt.toLowerCase(),currency:"NZD",source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,payment_method:"card"}))}catch(pt){console.warn("[Analytics] Tracking blocked/failed (payment still succeeded):",pt)}mt.label=30;case 30:return mt.trys.push([30,34,,35]),$.user&&$.user.uid&&a?[4,$.getToken()]:[3,33];case 31:return(st=mt.sent())?[4,fetch("/api/auth/setCustomClaim",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(st)},body:JSON.stringify({uid:$.user.uid,memberId:a})})]:[3,33];case 32:mt.sent(),mt.label=33;case 33:return[3,35];case 34:return at=mt.sent(),console.error("[Custom Claim Error] Failed to set custom claims after payment:",at),[3,35];case 35:U(!0);try{J("payment_success",{type:Ye?"first_time_user":"returning_user",is_first_time_user:Ye,amount:null!==(ct=null===o||void 0===o?void 0:o.amount)&&void 0!==ct?ct:0,amount_dollars:(null!==(lt=null===o||void 0===o?void 0:o.amount)&&void 0!==lt?lt:0)/100,interval:null===o||void 0===o||null===(ot=o.interval)||void 0===ot?void 0:ot.toLowerCase(),source:"tsom_v2",utm_source:te.utm_source,utm_campaign:te.utm_campaign,payment_intent_id:null===Ie||void 0===Ie?void 0:Ie.id,success_reason:"payment_completed_successfully"})}catch(ht){console.warn("[Analytics] Payment success tracking blocked/failed:",ht)}return t&&t(),Ge(!1),We.current=!1,!a||"succeeded"!==(null===Ie||void 0===Ie?void 0:Ie.status)||W&&"member"===W.type||setTimeout((0,f.Z)((function(){var e,t,n,r,i,s;return(0,g.__generator)(this,(function(o){switch(o.label){case 0:return o.trys.push([0,18,,19]),Ie&&"succeeded"===Ie.status?V?[4,V()]:[3,2]:(console.warn("[Member Update] Payment not confirmed, skipping client-side update"),[2]);case 1:o.sent(),o.label=2;case 2:return[4,new Promise((function(e){return setTimeout(e,1e3)}))];case 3:o.sent(),o.label=4;case 4:return o.trys.push([4,16,,17]),[4,$.getToken()];case 5:return(e=o.sent())?[4,fetch("/api/tsom/members?memberId=".concat(a),{headers:{Authorization:"Bearer ".concat(e)}})]:[3,15];case 6:return(t=o.sent()).ok?[4,t.json()]:[3,15];case 7:return n=o.sent(),(r=n.member)&&"member"!==r.type?[4,fetch("/api/tsom/members/update-member",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)},body:JSON.stringify({memberId:a,type:"member"})})]:[3,13];case 8:return o.sent().ok?V?[4,V()]:[3,10]:[3,11];case 9:o.sent(),setTimeout((function(){V&&V()}),500),o.label=10;case 10:return[3,12];case 11:console.warn("[Member Update] Client-side fallback failed, webhook will handle retry"),o.label=12;case 12:return[3,15];case 13:return r&&"member"===r.type&&V?[4,V()]:[3,15];case 14:o.sent(),o.label=15;case 15:return[3,17];case 16:return i=o.sent(),console.warn("[Member Update] Client-side fallback error (webhook will retry):",i),[3,17];case 17:return[3,19];case 18:return s=o.sent(),console.warn("[Member Update] Error checking member type (webhook will handle):",s),[3,19];case 19:return[2]}}
1))})),2e3),ut=!W||"member"!==W.type,u(ut?c.ne.ENHANCED_NEWSLETTER_SELECTION:c.ne.THANK_YOU),[3,38];case 36:return dt=mt.sent(),null===d||void 0===d||d({message:dt.message||"We were unable to finish creating your account after a successful payment. Please contact [email protected] for help completing your account setup."}),u(c.ne.ERROR),[3,38];case 37:return N(!1),[7];case 38:return[2]}}))}));return function(t){return e.apply(this,arguments)}}();return(0,i.jsxs)("form",{onSubmit:Ve,noValidate:!0,className:"payment-form",children:[(x||C)&&(0,i.jsx)("div",{className:"form-overlay","aria-hidden":"true",children:(0,i.jsxs)("div",{className:"spinner-container",children:[(0,i.jsx)("div",{className:"spinner","aria-label":"Loading"}),(0,i.jsx)("div",{className:"processing-text",children:C?"Loading your account details...":De||"Processing your payment. Please wait..."})]})}),(0,i.jsx)("div",{role:"status","aria-live":"polite",className:"sr-only",children:De}),(0,i.jsxs)("div",{role:"form","aria-label":"Payment details",children:[W&&(0,i.jsx)("div",{role:"region","aria-label":"Saved payment methods",children:xe?(0,i.jsx)("div",{className:"form-overlay","aria-hidden":"true",children:(0,i.jsxs)("div",{className:"spinner-container",children:[(0,i.jsx)("div",{className:"spinner","aria-label":"Loading"}),(0,i.jsx)("div",{className:"processing-text",children:"Loading payment methods..."})]})}):(0,i.jsx)(i.Fragment,{children:ve.length>0?(0,i.jsx)(Ee,{onPaymentMethodSelected:function(e){me(e),fe("new"===e),"new"!==e&&(B({number:!1,expiry:!1,cvc:!1}),Z(""))},stripePromise:_e,appearance:Se,paymentMethods:ve,loading:xe,error:Pe}):null})}),he&&(0,i.jsxs)("div",{role:"region","aria-label":"Card details",children:[(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"card-number",children:"Card Number"})}),(0,i.jsx)(v.CardNumberElement,{id:"card-number",onChange:function(e){B((function(t){return(0,k.Z)((0,r.Z)({},t),{number:e.complete})})),e.error?Z(e.error.message):Z("")},options:{style:Ae,placeholder:"Enter your card number"},className:"StripeElement","aria-label":"Credit or debit card number"})]}),(0,i.jsxs)("div",{className:"buttons-row deux",children:[(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"card-expiry",children:"Expiry"})}),(0,i.jsx)(v.CardExpiryElement,{id:"card-expiry",onChange:function(e){B((function(t){return(0,k.Z)((0,r.Z)({},t),{expiry:e.complete})})),e.error?Z(e.error.message):Z("")},options:{style:Ae,placeholder:"MM/YY"},className:"StripeElement","aria-label":"Credit or debit card expiration date"})]}),(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"card-cvc",children:"CVC"})}),(0,i.jsx)(v.CardCvcElement,{id:"card-cvc",onChange:function(e){B((function(t){return(0,k.Z)((0,r.Z)({},t),{cvc:e.complete})})),e.error?Z(e.error.message):Z("")},options:{style:Ae,placeholder:"CVC"},className:"StripeElement","aria-label":"Credit or debit card CVC/security code"})]})]})]}),L&&(0,i.jsx)("div",{className:"error",role:"alert","aria-live":"assertive",children:L}),h&&(0,i.jsx)("div",{className:"error",role:"alert","aria-live":"assertive",children:h}),F&&(0,i.jsx)("div",{className:"success",role:"alert","aria-live":"polite",children:"Payment successful!"}),"ONE_OFF"===o.interval&&W&&(0,i.jsxs)("div",{className:"donation-form-newsletters",children:[(0,i.jsx)("h4",{children:(0,i.jsxs)("label",{style:{cursor:"pointer"},children:[(0,i.jsx)("span",{children:"Save this payment method for future donations"}),(0,i.jsx)("input",{type:"checkbox",checked:R,onChange:function(e){return D(e.target.checked)},style:{marginLeft:8}})]})}),(0,i.jsx)("p",{style:{fontSize:"14px",color:"#666",marginTop:"4px"},children:"Your card details will be securely saved for faster checkout next time"})]}),"member"!==(null===W||void 0===W?void 0:W.type)&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"donation-form-newsletters",children:(0,i.jsx)("h4",{children:(0,i.jsxs)("label",{style:{cursor:"pointer"},children:[(0,i.jsxs)("span",{children:["I agree to The Spinoff"," ",(0,i.jsx)(ae(),{href:"/the-spinoff
1-members-terms",passHref:!0,legacyBehavior:!0,children:(0,i.jsx)("a",{style:{textDecoration:"underline"},target:"_blank",rel:"noopener noreferrer",onClick:function(e){return e.stopPropagation()},children:"Members terms"})}),"."]}),(0,i.jsx)("input",{type:"checkbox",checked:T,onChange:function(e){P(e.target.checked),se(!0)},required:!0,"aria-invalid":!T&&ie,"aria-describedby":!T&&ie?"agreedError":void 0,style:{marginLeft:8}})]})})}),!T&&ie&&(0,i.jsx)("p",{className:"error",id:"agreedError",children:"You must agree to the terms and conditions."})]}),(0,i.jsxs)("div",{className:"donation-note",children:[(0,i.jsx)("span",{children:"Amount due today:"})," ",(0,i.jsxs)("span",{children:["$",o.amount?(o.amount/100).toFixed(0):"0"]})]}),(0,i.jsx)("button",{type:"submit",className:"primary".concat(x?" muted":""),disabled:x,"aria-disabled":x,"aria-busy":x,children:x?"Processing...":"Donate $".concat(o.amount?(o.amount/100).toFixed(0):"0")+(o.interval&&"ONE_OFF"!==o.interval?" ".concat("MONTHLY"===o.interval?"monthly":"YEARLY"===o.interval?"yearly":""):"")}),!x&&(0,i.jsx)(A,{targetStep:c.ne.BUDGET_SELECT})]})]})}var Pe=n(98147),ke=n(78420),Oe=N()().publicRuntimeConfig,Re=(0,b.J)(Oe.STRIPE_PUBLISHABLE_KEY),De={theme:"stripe",variables:{colorPrimary:"#0570de",colorBackground:"#F6FDF7",colorText:"#000000",colorDanger:"#df1b41",spacingUnit:"2px",borderRadius:"4px"}},Ie={base:{fontSize:"16px",color:"#333",backgroundColor:"#fff",border:"3px #e3f0fa solid",borderRadius:"8px",lineHeight:"1.5",fontFamily:"inherit","::placeholder":{color:"#888"}},invalid:{color:"#fa755a",iconColor:"#fa755a"}},Fe=(0,p.forwardRef)((function(e,t){var n=e.onError,s=e.cardholderName,a=(0,v.useStripe)(),o=(0,v.useElements)(),c=(0,p.useState)(null),l=(c[0],c[1]),u=(0,p.useState)(""),d=u[0],m=u[1],h=(0,p.useState)({number:!1,expiry:!1,cvc:!1}),b=(h[0],h[1]);return(0,p.useImperativeHandle)(t,(function(){return{createPaymentMethod:(0,f.Z)((function(){var e,t,r,i;return(0,g.__generator)(this,(function(c){switch(c.label){case 0:return l(null),a&&o?(e=o.getElement(v.CardNumberElement))?s.trim()?[4,a.createPaymentMethod({type:"card",card:e,billing_details:{name:s.trim()}})]:(l("Cardholder name is required."),n&&n("Cardholder name is required."),[2,null]):(l("Card number is not entered."),n&&n("Card number is not entered."),[2,null]):(l("Stripe is not initialized."),n&&n("Stripe is not initialized."),[2,null]);case 1:return t=c.sent(),r=t.paymentMethod,(i=t.error)||!r?(l((null===i||void 0===i?void 0:i.message)||"Failed to create payment method."),n&&n((null===i||void 0===i?void 0:i.message)||"Failed to create payment method."),[2,null]):[2,r.id]}}))}))}})),(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"card-number",children:"Card Number"})}),(0,i.jsx)(v.CardNumberElement,{id:"card-number",onChange:function(e){b((function(t){return(0,k.Z)((0,r.Z)({},t),{number:e.complete})})),e.error?m(e.error.message):m("")},options:{style:Ie},className:"StripeElement"})]}),(0,i.jsxs)("div",{className:"buttons-row deux",children:[(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"card-expiry",children:"Expiry"})}),(0,i.jsx)(v.CardExpiryElement,{id:"card-expiry",onChange:function(e){b((function(t){return(0,k.Z)((0,r.Z)({},t),{expiry:e.complete})})),e.error?m(e.error.message):m("")},options:{style:Ie},className:"StripeElement"})]}),(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"card-cvc",children:"CVC"})}),(0,i.jsx)(v.CardCvcElement,{id:"card-cvc",onChange:function(e){b((function(t){return(0,k.Z)((0,r.Z)({},t),{cvc:e.complete})})),e.error?m(e.error.message):m("")},options:{style:Ie},className:"StripeElement"})]})]}),d&&(0,i.jsx)("div",{className:"error",children:d})]})}));function Ue(e){var t=e.currentSubAmount,r=e.onComplete,s=e.onlyCardUpdate,a=void 0!==s&&s,o=e.defaultPaymentMethodId,u=(0,j.b)(),d=u.setStep,m=(u.state,u.setAmount),h=u.setPaymentError,b=(0,l.f2)(),y=((0,S.K)().member,(0,p.useState)("")),x=y[0],N=y[1],w=(0,p.useState)(!1),C=w[0],E=w[1],_=(0,p.useState)(!1),A=_[0],T=_[1],P=(0,p.useState)(!0),k=P[0],O=P[1],R=(0,p.useState)(t),D=R[0],I=R[1],F=(0,p.useState)(!1),U=(F[0],F[1]),M=(0,p.useState)("MONTHLY"),L=M[0],Z=M[1],Y=(0,p.useState)([]),H=Y[0],B=Y[1],G=(0,p.useState)("new"),W=G[0],q=G[1],V=(0,p.useState)(!1),z=V[0],J=V[1],K=(0,p.useRef)(null),$=(0,p.useState)(null),Q=$[0],X=$[1],ee=(0,p.useState)(""),te=ee[0],ne=ee[1],re=(0,p.useState)(""),ie=re[0],se=re[1],ae=(0,p.useState)(!1),oe=ae[0],ce=ae[1];(0,p.useEffect)((function(){"number"!==typeof t||isNaN(t)||(m(t),I(t))}),[t,m]),(0,p.useEffect)((function(){function e(){return e=(0,f.Z)((function(){var e,t;return(0,g.__generator)(this,(function(r){switch(r.label){case 0:if(a)return B([]),q("new"),J(!0),T(!1),N(""),[2];T(!0),r.label=1;case 1:return r.trys.push([1,5,6,7]),[4,b.getToken()];case 2:return(e=r.sent())?[4,Promise.resolve().then(n.bind(n,90873))]:[2];case 3:return[4,r.sent().default.payments().getPaymentMethods(e)];case 4:return(t=r.sent())&&0!==t.length?(B(t),o&&t.some((function(e){return e.id===o}))?(q(o),J(!1)):(q(t[0].id||""),J(!1))):(B([]),q("new"),J(!0),N("")),[3,7];case 5:return r.sent(),B([]),q("new"),J(!0),N(""),[3,7];case 6:return T(!1),[7];case 7:return[2]}}
1))})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[b,a]),(0,p.useEffect)((function(){return z||E(!1),function(){E(!1)}}),[z]),(0,p.useEffect)((function(){function e(){return e=(0,f.Z)((function(){var e,t,r;return(0,g.__generator)(this,(function(i){switch(i.label){case 0:O(!0),i.label=1;case 1:return i.trys.push([1,5,6,7]),[4,b.getToken()];case 2:return(e=i.sent())?[4,Promise.resolve().then(n.bind(n,90873))]:[2];case 3:return[4,i.sent().default.payments().useSubscriptions(e)];case 4:return t=i.sent(),(r=Array.isArray(t)?t.find((function(e){return!e.deletedAt})):null)&&(X(r),"month"===r.billingInterval?Z("MONTHLY"):"year"===r.billingInterval&&Z("YEARLY"),r.nextBillingDate&&ne((0,Pe.Z)((0,ke.Z)(r.nextBillingDate),"dd-MM-yyyy"))),[3,7];case 5:return i.sent(),[3,7];case 6:return O(!1),[7];case 7:return[2]}}))})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[b]);var le,ue=function(e){var t=Math.max(1,Math.round((null!==D&&void 0!==D?D:100)/100)+e);I(100*t),m(100*t),U(!1)},de=function(){var e=(0,f.Z)((function(e){var t,i,s,o,l,u,m,p,f,v,y,x,w,j,S,_,T,P,k;return(0,g.__generator)(this,(function(g){switch(g.label){case 0:if(e.preventDefault(),N(""),!a){if(!D)return N("Please enter a donation amount."),[2];if(D<100)return N("Minimum donation amount is $1."),[2];if(!L)return N("Please select a billing frequency."),[2]}if(C||A)return[2];E(!0),ce(!0),g.label=1;case 1:return g.trys.push([1,34,35,36]),[4,b.getToken()];case 2:if(!(t=g.sent()))throw new Error("Not authenticated");return i="string"===typeof W?W:"",z&&K.current?[4,K.current.createPaymentMethod()]:[3,7];case 3:return(s=g.sent())?(i="string"===typeof s?s:"")?[4,Promise.resolve().then(n.bind(n,90873))]:[3,6]:(N("Please check your card details and try again."),E(!1),[2]);case 4:return[4,g.sent().default.payments().createPaymentMethod(i,!0)];case 5:g.sent(),g.label=6;case 6:return[3,8];case 7:if(!z&&i&&"new"!==i){if(!H.some((function(e){return e.id===i})))return N("Selected payment method not found. Please try again."),E(!1),[2]}else if(!z&&(!i||"new"===i))return N("Please select a payment method."),E(!1),[2];g.label=8;case 8:return[4,Promise.resolve().then(n.bind(n,90873))];case 9:return[4,g.sent().default.payments().useSubscriptions(t)];case 10:if(o=g.sent(),l=Array.isArray(o)?o.find((function(e){return!e.deletedAt})):null,!a)return[3,13];if(!l)throw new Error("No active subscription found. Please use the full update flow.");return[4,Promise.resolve().then(n.bind(n,90873))];case 11:return[4,g.sent().default.payments().updateSubscription(l.id,{memberId:l.memberId,subscriptionId:l.id,billingInterval:l.billingInterval,amount:l.price,paymentMethodId:i},t)];case 12:return(null===(u=g.sent())||void 0===u?void 0:u.paymentMethodId)?l.paymentMethodId=u.paymentMethodId:i&&(l.paymentMethodId=i),(0,je.subscriptionUpdateEvent)(l.id,"".concat(l.price),"month"===l.billingInterval?"MONTHLY":"YEARLY"),[3,33];case 13:return l?(m=D,[4,Promise.resolve().then(n.bind(n,90873))]):[3,30];case 14:return[4,g.sent().default.payments().updateSubscription(l.id,{memberId:l.memberId,subscriptionId:l.id,billingInterval:"MONTHLY"===L?"month":"year",amount:m,paymentMethodId:i},t)];case 15:if((null===(p=g.sent())||void 0===p?void 0:p.paymentMethodId)?l.paymentMethodId=p.paymentMethodId:i&&(l.paymentMethodId=i),!i||"new"===i)return[3,29];g.label=16;case 16:return g.trys.push([16,28,,29]),[4,b.getToken()];case 17:return(f=g.sent())?[4,new Promise((function(e){return setTimeout(e,500)}))]:[3,27];case 18:g.sent(),g.label=19;case 19:return g.trys.push([19,22,,23]),[4,Promise.resolve().then(n.bind(n,90873))];case 20:return[4,g.sent().default.payments().createPaymentMethod(i,!0)];case 21:return g.sent(),[3,23];case 22:return g.sent(),[3,23];case 23:return[4,new Promise((function(e){return setTimeout(e,500)}))];case 24:return g.sent(),[4,Promise.resolve().then(n.bind(n,90873))];case 25:return[4,g.sent().default.payments().getPaymentMethods(f)];case 26:v=g.sent(),(null===(y=v.find((function(e){return e.id===i})))||void 0===y?void 0:y.default)||console.warn("[SubscriptionUpdateV2] Payment method was not set as default after update",{paymentMethodId:i,updatedMethod:y}),g.label=27;case 27:return[3,29];case 28:return g.sent(),[3,29];case 29:return(0,je.subscriptionUpdateEvent)(l.id,"".concat(m),L),[3,33];case 30:if(!(null===(x=b.user)||void 0===x?void 0:x.email))throw new Error("User email not found");return w=D,[4,Promise.resolve().then(n.bind(n,90873))];case 31:return[4,g.sent().default.payments().createPayment({email:x.email,paymentMethodId:i,price:w,billingInterval:"MONTHLY"===L?"month":"year",description:"Spinoff membership subscription",metadata:{type:"subscription",interval:L.toLowerCase()}})];case 32:g.sent(),(0,je.subscriptionUpdateEvent)("new","".concat(w),L),g.label=33;case 33:return null===r||void 0===r||r(),d(c.ne.THANK_YOU),[3,36];case 34:return j=g.sent(),T=(null===(S=j.response)||void 0===S||null===(_=S.data)||void 0===_?void 0:_.message)||j.message||"",P=
1/status code [45]\d\d|network error|timeout|ECONNREFUSED|ETIMEDOUT/i.test(T),N(k=P?a?"We couldn't update your card details. Please check your card number, expiry, and CVC, then try again.":"We couldn't update your subscription. Please try again.":T||"An unexpected error occurred. Please try again."),null===h||void 0===h||h(k),[3,36];case 35:return E(!1),[7];case 36:return[2]}}))}));return function(t){return e.apply(this,arguments)}}(),me=Q&&("MONTHLY"===L&&"year"===Q.billingInterval||"YEARLY"===L&&"month"===Q.billingInterval),pe=Q&&!me&&D!==Q.price;return(0,i.jsxs)("form",{onSubmit:de,className:"subscription-update-form",children:[(A||k||C)&&(0,i.jsx)("div",{className:"form-overlay","aria-hidden":"true",children:(0,i.jsxs)("div",{className:"spinner-container",children:[(0,i.jsx)("div",{className:"spinner","aria-label":"Loading"}),(0,i.jsx)("div",{className:"processing-text",children:k||k?"Fetching your details...":"Processing your update..."})]})}),!a&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"buttons-row deux",style:{marginBottom:6},children:[(0,i.jsx)("button",{type:"button",id:"popup-update-donation",className:"preset-amount-button selected",disabled:!0,children:Q?"Update my donation":"Start my donation"}),(0,i.jsx)("button",{type:"button",id:"popup-new-donation",className:"preset-amount-button",onClick:function(){d(c.ne.BUDGET_SELECT)},children:"One-off donation"})]}),(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"billing-frequency",children:"Billing Frequency"})}),(0,i.jsx)("div",{className:"select-wrap",children:(0,i.jsxs)("select",{id:"billing-frequency",value:L,onChange:function(e){return t=e.target.value,Z(t),void U(!D||D<100);var t},children:[(0,i.jsx)("option",{value:"MONTHLY",children:"Monthly"}),(0,i.jsx)("option",{value:"YEARLY",children:"Yearly"})]})})]}),(0,i.jsxs)("div",{className:"increment-wrap",children:[(0,i.jsx)("button",{type:"button",className:"preset-amount-button",onClick:function(){return ue(-1)},children:"-"}),(0,i.jsx)("input",{type:"number",name:"customAmount",inputMode:"numeric",className:"input--custom-budget",placeholder:"Or, enter custom amount...",style:{marginBottom:"0px"},value:void 0!==D&&null!==D&&D>0?Math.round(D/100):"",onChange:function(e){var t=e.target.value.replace(/[^0-9]/g,"");if(""===t)U(!0),I(0);else{var n=parseInt(t,10);isNaN(n)&&(n=0),U(n<1),I(100*n),m(100*n)}},min:1}),(0,i.jsx)("button",{type:"button",className:"preset-amount-button",onClick:function(){return ue(1)},children:"+"})]}),(0,i.jsx)("div",{className:"donation-form-note",style:{margin:"0px 0px 10px 0px"},children:(0,i.jsx)("div",{className:"addendum",children:"*Amounts in NZD"})}),me&&(0,i.jsx)("div",{className:"donation-note",style:{backgroundColor:"#fff",border:"3px solid #D8F4F5",borderRadius:"4px",padding:"12px",margin:"16px 0",color:"#666"},children:"Note: Changing your billing frequency will result in an immediate charge for the new billing cycle. Your next payment will be processed today."}),Q&&(0,i.jsxs)("p",{children:["Current frequency: ",(0,i.jsx)("b",{children:(le=Q.billingInterval||"","month"===le?"Monthly":"year"===le?"Yearly":le)})]}),(0,i.jsxs)("p",{children:[Q?"New frequency: ":"Billing frequency: ",(0,i.jsx)("b",{children:"MONTHLY"===L?"Monthly":"Yearly"})]})]}),A?(0,i.jsx)("div",{className:"form-overlay","aria-hidden":"true",children:(0,i.jsxs)("div",{className:"spinner-container",children:[(0,i.jsx)("div",{className:"spinner","aria-label":"Loading"}),(0,i.jsx)("div",{className:"processing-text",children:"Loading payment methods..."})]})}):(0,i.jsxs)(i.Fragment,{children:[!a&&(0,i.jsx)(Ee,{onPaymentMethodSelected:function(e){var t=e||"";q(t),J("new"===t),E(!1)},stripePromise:Re,appearance:De,paymentMethods:H,loading:A,error:x,defaultPaymentMethodId:o}),z&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"form-control",children:[(0,i.jsx)("div",{className:"form-label",children:(0,i.jsx)("label",{htmlFor:"cardholder-name",children:"Cardholder Name"})}),(0,i.jsx)("input",{type:"text",id:"cardholder-name",value:ie,onChange:function(e){se(e.target.value),ce(!0)},placeholder:"Name on card",autoComplete:"cc-name",required:!0,"aria-invalid":0===ie.trim().length&&oe,"aria-describedby":0===ie.trim().length&&oe?"cardholderNameError":void 0,className:0===ie.trim().length&&oe?"input-error":""}),0===ie.trim().length&&oe&&(0,i.jsx)("p",{className:"error",id:"cardholderNameError",children:"Cardholder name is required."})]}),(0,i.jsx)(v.Elements,{stripe:Re,options:{appearance:De},children:(0,i.jsx)(Fe,{ref:K,cardholderName:ie,cardholderNameTouched:oe})})]})]}),!a&&(0,i.jsx)(i.Fragment,{children:pe?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"donation-note",children:[(0,i.jsx)("span",{children:"Amount due:"})," ",(0,i.jsx)("span",{children:"$0.00"})]}),te&&(0,i.jsxs)("div",{className:"donation-note",children:[(0,i.jsx)("span",{children:"Your next donation date:"})," ",(0,i.jsx)("span",{children:te})]})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"donation-note",children:[(0,i.jsx)("span",{children:"Amount due:"})," ",(0,i.jsxs)("span",{children:["$",D?(D/100).toFixed(0):"0"]})]}),(0,i.jsxs)("div",{className:"donation-note",children:[(0,i.jsx)("span",{children:"Your next donation date:"})," ",(0,i.jsx)("span",{children:"Today"})]})]})}),a&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"donation-note",style:{backgroundColor:"#F6FDF7",border:"1px solid #D8F4F5",borderRadius:"4px",padding:"12px",margin:"16px 0",color:"#333",fontSize:"14px",lineHeight:"1.5"},children:"This card will be saved and used for all future subscription payments."}),te&&(0,i.jsxs)("div",{className:"donation-note",children:[(0,i.jsx)("span",{children:"Your next donation date:"})," ",(0,i.jsx)("span",{children:te})]})]}),(0,i.jsx)("button",{type:"submit",className:"primary",disabled:C||A,children:C?Q?"Updating...":"Creating...":a?"Update card":Q?"Update donation":"Start donation"}),x&&(0,i.jsx)("div",{className:"error",children:x})]})}var Me=[c.ne.ENHANCED_NEWSLETTER_SELECTION,c.ne.ENHANCED_PODCAST_DISCOVERY,c.ne.ENHANCED_APP_PROMOTION],Le=function(e){return Me.includes(e)},Ze=function(e){var t=e.title,n=e.message,r=e.className,s=e.children;return(0,i.jsxs)("div",{className:"donate-form".concat(r?" ".concat(r):""),children:[t&&(0,i.jsx)("div",{className:"form-header",children:(0,i.jsx)("h1",{children:t})}),n&&(0,i.jsx)("p",{children:n}),s]})},Ye=N()().publicRuntimeConfig,He=(0,b.J)(Ye.STRIPE_PUBLISHABLE_KEY),Be={theme:"stripe",variables:{colorPrimary:"#0570de",colorBackgroun
1d:"#F3F3F3",colorText:"#000000",colorDanger:"#df1b41",spacingUnit:"2px",borderRadius:"4px"},rules:{".Input":{border:"3px solid ".concat("#D8F4F5"),padding:"10px 10px",boxShadow:"none"},".Input:focus":{outline:"0px",borderColor:"#00FA82",boxShadow:"none"},".Label":{fontSize:"12px",marginTop:"10px"}}};function Ge(e){var t=e.onClose,n=e.isInline,r=e.onlyUpdate,s=e.onlyOneOff,a=e.onlyCardUpdate,u=e.widget,d=e.hideOneOff,m=e.hideIntervalSelection,h=e.submitButtonText,b=e.onPaymentSuccess,x=e.defaultPaymentMethodId,N=(0,j.b)(),w=N.state,E=N.setInterval,S=N.setStep,_=N.setAmount,A=(0,l.f2)(),T=(0,p.useState)(!1),k=T[0],R=T[1],D=(0,p.useState)(!1),I=D[0],F=D[1];(0,p.useEffect)((function(){F(!1)}),[]),(0,p.useEffect)((function(){function e(){return e=(0,f.Z)((function(){var e,t,n,i,s;return(0,g.__generator)(this,(function(a){switch(a.label){case 0:if(w.step!==c.ne.UPDATE)return[3,6];R(!0),r&&F(!0),a.label=1;case 1:return a.trys.push([1,4,5,6]),[4,A.getToken()];case 2:return(e=a.sent())?[4,y.default.payments().useSubscriptions(e)]:[2];case 3:return t=a.sent(),(null===(n=Array.isArray(t)?t.find((function(e){return!e.deletedAt})):null)||void 0===n?void 0:n.amount)&&_(n.amount),[3,6];case 4:return 404===(null===(i=a.sent())||void 0===i||null===(s=i.response)||void 0===s?void 0:s.status)||"ERR_BAD_REQUEST"===(null===i||void 0===i?void 0:i.code)?[2]:(S(c.ne.ERROR),[3,6]);case 5:return R(!1),[7];case 6:return[2]}}
1))})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[w.step,A,_,r]),(0,p.useEffect)((function(){function e(){return(e=(0,f.Z)((function(){var e,t;return(0,g.__generator)(this,(function(n){switch(n.label){case 0:if(!A.user||!A.member||r||s||"BUDGET_SELECT"===w.step)return[3,5];n.label=1;case 1:return n.trys.push([1,4,,5]),[4,A.getToken()];case 2:return(e=n.sent())?[4,y.default.payments().useSubscriptions(e)]:[2];case 3:return t=n.sent(),(Array.isArray(t)?t.find((function(e){return!e.deletedAt})):null)?(S(c.ne.UPDATE),F(!0),[2]):[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}}))}))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[A.user,A.member,r,s,S]),(0,p.useEffect)((function(){r||a?(S(c.ne.UPDATE),F(!0)):s&&S(c.ne.BUDGET_SELECT)}),[r,a,s,S]);var H=function(){var e=(0,f.Z)((function(){var e;return(0,g.__generator)(this,(function(n){switch(n.label){case 0:return(null===(e=A.user)||void 0===e?void 0:e.isAnonymous)?[4,A.signOut()]:[3,2];case 1:n.sent(),n.label=2;case 2:return E(o.y.MONTHLY),S(c.ne.BUDGET_SELECT),t&&t(),[2]}}))}));return function(){return e.apply(this,arguments)}}(),B="",G="";switch(w.step){case c.ne.BUDGET_SELECT:B="Give support. Get great journalism.",G="Along with fewer interruptions, exclusive content, access to Spinoff events and more.";break;case c.ne.THANK_YOU:I?(B="Your donation has been updated!",G="Thank you for your continued support."):(B="Thank you for your donation",G="You've supported our independent journalism.");break;case c.ne.UPDATE:B=a?"Update my card details":"Update your donation",G="";break;case c.ne.PAYMENT_FORM:B="Payment Details",G="";break;case c.ne.NAME_COLLECTION:B="Payment details (step 1 of 2)",G="";break;case c.ne.ACCOUNT_SETUP:B="",G="";break;case c.ne.ERROR:B="Something went wrong",G="Oh no! We're sorry about that.";break;case c.ne.NEWSLETTERS:B="Subscribe to our newsletters",G="Stay up to date with our latest stories and exclusive content.";break;case c.ne.ENHANCED_NEWSLETTER_SELECTION:case c.ne.ENHANCED_PODCAST_DISCOVERY:case c.ne.ENHANCED_APP_PROMOTION:B="",G=""}var W=null;switch(w.step){case c.ne.BUDGET_SELECT:W=(0,i.jsx)(Ne,{isInline:n,hideOneOff:d,onlyOneOff:s,hideIntervalSelection:m,submitButtonText:h});break;case c.ne.LOGIN_PROMPT:W=(0,i.jsx)(P,{});break;case c.ne.ACCOUNT_SETUP:W=(0,i.jsx)(ie,{onComplete:function(){return S(c.ne.PAYMENT_FORM)}});break;case c.ne.NAME_COLLECTION:W=(0,i.jsx)(O,{});break;case c.ne.PAYMENT_FORM:W=(0,i.jsx)(v.Elements,{stripe:He,options:{appearance:Be},children:(0,i.jsx)(Te,{onPaymentSuccess:b,widget:u})});break;case c.ne.UPDATE:var q;W=k?(0,i.jsx)("div",{className:"loading-spinner",children:"Loading current subscription..."}):(0,i.jsx)(Ue,{currentSubAmount:null!==(q=w.amount)&&void 0!==q?q:0,onComplete:b,onlyCardUpdate:a,defaultPaymentMethodId:x});break;case c.ne.THANK_YOU:W=(0,i.jsx)(M,{onClose:H,isInline:n,isUpdate:I});break;case c.ne.ERROR:W=(0,i.jsx)(C,{});break;case c.ne.NEWSLETTERS:var V;if(w.giftCode)return S(c.ne.ENHANCED_NEWSLETTER_SELECTION),null;W=(0,i.jsx)(U,{memberId:null===(V=A.member)||void 0===V?void 0:V.uid});break;case c.ne.ENHANCED_NEWSLETTER_SELECTION:W=(0,i.jsx)(Z.Y,{onContinue:function(){return S(c.ne.ENHANCED_PODCAST_DISCOVERY)},cameFromDonation:!0,member:A.member,email:w.email,onStepChange:function(e){return S(e)}});break;case c.ne.ENHANCED_PODCAST_DISCOVERY:W=(0,i.jsx)(Y.g,{onContinue:function(){return S(c.ne.ENHANCED_APP_PROMOTION)},onStepChange:function(e){return S(e)}});break;case c.ne.ENHANCED_APP_PROMOTION:W=(0,i.jsx)(L.r,{onComplete:function(){return S(c.ne.THANK_YOU)},onStepChange:function(e){return S(e)}});break;default:W=null}return(0,i.jsx)("div",{className:"donate-card ".concat(Le(w.step)?"enhanced-signup-step content-step":""),children:(0,i.jsx)(Ze,{title:B,message:G,children:W})})}var We=n(14271);function qe(e){var t=e.onClose,r=e.align,s=void 0===r?"center":r,u=e.isInline,d=e.widget,h=e.onlyUpdate,f=e.onlyOneOff,g=e.onlyCardUpdate,v=e.hideOneOff,b=e.hideIntervalSelection,y=e.submitButtonText,x=e.onPaymentSuccess,N=e.initialInterval,C=e.initialAmount,E=(e.initialEmail,e.initialIsNewUser,e.defaultPaymentMethodId),S=function(){R.step===c.ne.PAYMENT_FORM&&Promise.resolve().then(n.bind(n,94971)).then((function(e){var t,n,r=e.trackActiveCampaignEvent,i=e.checkoutAbandonedEvent,s=(R.amount||0)/100,a=null!==(n=null===(t=R.interval)||void 0===t?void 0:t.toLowerCase())&&void 0!==n?n:"",o=R.widget||"tsom_v2";r("payment_abandoned",JSON.stringify({type:"user_closed_modal",amount:R.amount||0,amount_dollars:s,interval:a,source:o,reason:"user_closed_modal",error_message:"User closed modal before completing payment"})),i(o,s,a,"user_closed_modal")})),A(o.y.MONTHLY),T(c.ne.BUDGET_SELECT),t&&t()},_=(0,j.b)(),A=_.setInterval,T=_.setStep,P=_.setIsNewUser,k=_.setAmount,O=_.setWidget,R=_.state,D=(0,l.f2)();return(0,m.q)(S),(0,p.useEffect)((function(){h?(T(c.ne.UPDATE),P&&P(!1)):f?(T(c.ne.BUDGET_SELECT),P&&P(!0)):P&&P(!0)}),[h,f,T,P]),(0,p.useEffect)((function(){N&&A(N)}),[N,A]),(0,p.useEffect)((function(){C&&k(C)}),[C,k]),(0,p.useEffect)((function(){d&&O&&O(d)}),[d,O]),(0,p.useEffect)((function(){var e=function(){var e;(null===(e=D.user)||void 0===e?void 0:e.isAnonymous)&&D.signOut()};return window.addEventListener("beforeunload",e),function(){var t;window.removeEventListener("beforeunload",e),(null===(t=D.user)||void 0===t?void 0:t.isAnonymous)&&D.signOut()}}),[D]),Le(R.step)?(0,i.jsx)("div",{className:"enhanced-signup-container",children:(0,i.jsxs)("div",{className:"donate-card enhanced-signup-step content-step",children:[R.step===c.ne.ENHANCED_NEWSLETTER_SELECTION&&(0,i.jsx)(Z.Y,{onContinue:function(){return T(c.ne.ENHANCED_PODCAST_DISCOVERY)},isEmbed:u,cameFromDonation:!0,member:D.member,email:R.email}),R.step===c.ne.ENHANCED_PODCAST_DISCOVERY&&(0,i.jsx)(Y.g,{onContinue:function(){return T(c.ne.ENHANCED_APP_PROMOTION)},isEmbed:u}),R.step===c.ne.ENHANCED_APP_PROMOTION&&(0,i.jsx)(L.r,{onComplete:function(){T(c.ne.THANK_YOU),null===t||void 0===t||t()},isEmbed:u})]})}):(0,i.jsxs)("div",{style:u?{border:"none",outline:"none",boxShadow:"none",background:"transparent"}:{border:"1px #EC822D solid"},className:a()("donation-modal",s&&"align-".concat(s)),children:[!u&&(0,i.jsx)("div",{className:"close-donation-button-container",children:(0,i.jsx)(w.Z,{onClick:S,className:"close-donation-button",loading:!1,children:"Close"})}),(0,i.jsx)(Ge,{widget:d,onlyUpdate:h,onlyOneOff:f,onlyCardUpdate:g,hideOneOff:v,hideIntervalSelection:b,submitButtonText:y,onClose:S,isInline:u,defaultPaymentMethodId:E,onPaymentSuccess:function(){var e;"member"!==(null===(e=D.member)||void 0===e?void 0:e.type)||h||g?null===x||void 0===x||x():T(c.ne.ENHANCED_NEWSLETTER_SELECTION)}})]})}function Ve(e){var t=e.isVisible,n=(e.align,e.isInline),s=(e.widget,e.onlyUpdate),a=(e.onlyOneOff,e.onlyCardUpdate,e.hideOneOff,e.hideIntervalSelection,e.submitButtonText,e.onPaymentSuccess,e.onClose,e.initialInterval),l=e.initialAmount,m=e.initialEmail,f=e.initialIsNewUser,g=(0,p.useRef)(null),v=(0,p.useState)(!1),b=v[0],y=v[1],x=(0,We.DT)();(0,p.useEffect)((function(){y(!0)}),[]);var N=x||m||"",w=n?(0,i.jsx)(j.M,{initialStep:s?c.ne.UPDATE:c.ne.BUDGET_SELECT,initialIsNewUser:void 0!==f?f:!s,initialAmount:l||null,initialInterval:a||o.y.MONTHLY,initialEmail:N,children:(0,i.jsx)(qe,(0,r.Z)({},e))}):(0,i.jsx)(u.M,{children:t&&(0,i.jsx)(d.E.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{ease:"anticipate",duration:0},className:"donation-modal-background",ref:g,children:(0,i.jsx)(j.M,{initialStep:s?c.ne.UPDATE:c.ne.BUDGET_SELECT,initialIsNewUser:void 0!==f?f:!s,initialAmount:l||null,initialInterval:a||o.y.MONTHLY,initialEmail:N,children:(0,i.jsx)(qe,(0,r.Z)({},e))})},"element")});if(b){if(n)return t?w:null;var C=document.getElementById("modal-portal");if(C)return h.createPortal(w,C)}return null}},60058:function(e,t,n){n.d(t,{MC:function(){return L},wd:function(){return M}});var r=n(85893),i=n(57321),s=n(11163),a=n(67294),o=n(47568),c=n(26042),l=n(10253),u=n(70655),d=n(99717),m=n(88865);function p(e){return h.apply(this,arguments)}function h(){return(h=(0,o.Z)((function(e){var t,n;return(0,u.__generator)(this,(function(r){switch(r.label){case 0:return t=encodeURIComponent(e.trim()),[4,fetch("/api/validate-gift-code/".concat(t))];case 1:return(n=r.sent()).ok?[4,n.json()]:[2,{valid:!1,error:"Failed to redeem gift code"}];case 2:return[2,r.sent()]}}))}))).apply(this,arguments)}function f(e,t,n,r){return g.apply(this,arguments)}function g(){return(g=(0,o.Z)((function(e,t,n,r){var i,s,a,o,c;return(0,u.__generator)(this,(function(l){switch(l.label){case 0:return i=e.trim(),s={"Content-Type":"application/json"},r&&(s.Authorization="Bearer ".concat(r)),a={giftCode:i,email:t,name:n||""},console.log("[Gift Redemption] API Request",{url:"/api/redeem-gift-code",method:"POST",body:a,hasToken:!!r}),[4,fetch("/api/redeem-gift-code",{method:"POST",headers:s,body:JSON.stringify(a)})];case 1:return o=l.sent(),console.log("[Gift Redemption] API Response",{status:o.status,statusText:o.statusText,ok:o.ok}),o.ok?[3,3]:[4,o.json().catch((function(){return{}}))];case 2:return c=l.sent(),console.error("[Gift Redemption] API Error",{status:o.status,errorData:c}),[2,{success:!1,error:c.error||"Failed to redeem gift code (".concat(o.status,")")}];case 3:return[4,o.json()];case 4:return[2,l.sent()]}}))}))).apply(this,arguments)}var v=n(69396),b=n(4723),y=n(62494),x=(0,b.C)({id:"giftRedemption",initial:"determiningFlow",predictableActionArguments:!0,context:{giftCode:"",giftCodeDetails:null,email:"",user:null,member:null,authenticating:!1,wasAlreadyMember:void 0,error:null,firstName:void 0,lastName:void 0},states:{determiningFlow:{always:[{target:"loggedInValidatingCode",cond:"isLoggedInUser"},{target:"validatingCode"}],on:{SET_GIFT_CODE:{actions:(0,y.f0)({giftCode:function(e,t){return t.giftCode}})},AUTH_STATE_CHANGED:[{target:"loggedInValidatingCode",cond:"isLoggedInUser",actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})},{actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})}]}},loggedInValidatingCode:{on:{CODE_VALIDATED:[{target:"loggedInRedeeming",cond:"hasUser",actions:(0,y.f0)({giftCode:function(e,t){return t.giftCode},giftCodeDetails:function(e,t){return t.giftCodeDetails}})},{target:"loggedInValidatingCode",actions:(0,y.f0)({giftCode:function(e,t){return t.giftCode},giftCodeDetails:function(e,t){return t.giftCodeDetails}})}],VALIDATION_ERROR:{target:"error",actions:(0,y.f0)({error:function(e,t){return t.error}})},SET_GIFT_CODE:{actions:(0,y.f0)({giftCode:function(e,t){return t.giftCode}})},AUTH_STATE_CHANGED:[{target:"loggedInRedeeming",cond:function(e,t){return!t.authenticating&&!!t.user&&!!e.giftCodeDetails},actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})},{actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})}]}},loggedInRedeeming:{entry:function(e){e.user||console.error("[Gift Redemption] User not available in loggedInRedeeming state")},invoke:{src:"redeemGiftCodeForLoggedInUser",onDone:{target:"determiningNextStep",actions:(0,y.f0)({giftCodeDetails:function(e,t){return(0,v.Z)((0,c.Z)({},t.data.giftCodeDetails),{wasAlreadyMember:!!e.member})},wasAlreadyMember:function(e){return!!e.member}})},onError:{target:"error",actions:(0,y.f0)({error:function(e,t){var n;return(null===(n=t.data)||void 0===n?void 0:n.message)||"Failed to redeem gift co
1de"}})}},on:{AUTH_STATE_CHANGED:{actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})}}},validatingCode:{on:{CODE_VALIDATED:{target:"checkingUser",actions:(0,y.f0)({giftCode:function(e,t){return t.giftCode},giftCodeDetails:function(e,t){return t.giftCodeDetails},email:function(e,t){return t.email}})},VALIDATION_ERROR:{target:"error",actions:(0,y.f0)({error:function(e,t){return t.error}})},SET_GIFT_CODE:{actions:(0,y.f0)({giftCode:function(e,t){return t.giftCode}})},AUTH_STATE_CHANGED:[{target:"loggedInValidatingCode",cond:"isLoggedInUser",actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})},{actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})}]}},checkingUser:{invoke:{src:"checkUserExists",onDone:[{target:"loggingIn",cond:"userExists"},{target:"creatingAccount",cond:"userDoesNotExist"}],onError:{target:"error",actions:(0,y.f0)({error:function(e,t){var n;return(null===(n=t.data)||void 0===n?void 0:n.message)||"Failed to check user"}})}},on:{AUTH_STATE_CHANGED:[{target:"loggedInValidatingCode",cond:"isLoggedInUser",actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})},{actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})}]}},loggingIn:{on:{LOGIN:{target:"loggingInProcessing",actions:(0,y.f0)({password:function(e,t){return t.password}})},AUTH_STATE_CHANGED:[{target:"loggedInValidatingCode",cond:"isLoggedInUser",actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})},{actions:(0,y.f0)({user:function(e,t){return t.user},member:function(e,t){return t.member},authenticating:function(e,t){return t.authenticating}})}]}},loggingInProcessing:{invoke:{src:"loginUser",onDone:{target:"redeeming",actions:(0,y.f0)({user:function(e,t){return t.data.user},member:function(e,t){return t.data.member},wasAlreadyMember:function(e,t){return t.data.wasAlreadyMember}})},onError:{target:"error",actions:(0,y.f0)({error:function(e,t){var n;return(null===(n=t.data)||void 0===n?void 0:n.message)||"Failed to sign in"}})}}},creatingAccount:{on:{CREATE_ACCOUNT:{target:"creatingAccountProcessing",actions:(0,y.f0)({password:function(e,t){return t.password},confirmPassword:function(e,t){return t.confirmPassword},firstName:function(e,t){return t.firstName},lastName:function(e,t){return t.lastName}})}}},creatingAccountProcessing:{invoke:{src:"createAccount",onDone:{target:"redeeming",actions:(0,y.f0)({user:function(e,t){return t.data.user},member:function(e,t){return t.data.member},wasAlreadyMember:function(){return!1}})},onError:{target:"error",actions:(0,y.f0)({error:function(e,t){var n;return(null===(n=t.data)||void 0===n?void 0:n.message)||"Failed to create account"}})}}},redeeming:{invoke:{src:"redeemGiftCode",onDone:{target:"determiningNextStep",actions:(0,y.f0)({giftCodeDetails:function(e,t){return(0,v.Z)((0,c.Z)({},t.data.giftCodeDetails),{wasAlreadyMember:e.wasAlreadyMember})}})},onError:{target:"error",actions:(0,y.f0)({error:function(e,t){var n;return(null===(n=t.data)||void 0===n?void 0:n.message)||"Failed to redeem gift code"}})}}},determiningNextStep:{always:{target:"complete"}},enhancedSignup:{initial:"newsletter",states:{newsletter:{on:{ENHANCED_SIGNUP_CONTINUE:"podcast"}},podcast:{on:{ENHANCED_SIGNUP_CONTINUE:"appPromotion"}},appPromotion:{on:{ENHANCED_SIGNUP_COMPLETE:{target:"#giftRedemption.complete"}}}}},complete:{on:{START_ENHANCED_SIGNUP:{target:"enhancedSignup"},SET_GIFT_CODE:{target:"determiningFlow",actions:(0,y.f0)({giftCode:function(e,t){return t.giftCode},giftCodeDetails:function(){return null},email:function(){return""},error:function(){return null},wasAlreadyMember:function(){}})},RESET:{target:"determiningFlow",actions:(0,y.f0)({giftCode:function(){return""},giftCodeDetails:function(){return null},email:function(){return""},error:function(){return null},wasAlreadyMember:function(){},firstName:function(){},lastName:function(){}})}}},error:{on:{RETRY:"validatingCode",SET_GIFT_CODE:{target:"determiningFlow",actions:(0,y.f0)({giftCode:function(e,t){return t.giftCode},giftCodeDetails:function(){return null},email:function(){return""},error:function(){return null},wasAlreadyMember:function(){}})},RESET:{target:"determiningFlow",actions:(0,y.f0)({giftCode:function(){return""},giftCodeDetails:function(){return null},email:function(){return""},error:function(){return null},wasAlreadyMember:function(){},firstName:function(){},lastName:function(){}})}}}}},{guards:{isLoggedInUser:function(e,t){return"AUTH_STATE_CHANGED"===(null===t||void 0===t?void 0:t.type)?!t.authenticating&&!!t.user:!e.authenticating&&!!e.user},hasUser:function(e){return!!e.user},userExists:function(e,t){var n;return!0===(null===(n=t.data)||void 0===n?void 0:n.exists)},userDoesNotExist:function(e,t){var n;return!1===(null===(n=t.data)||void 0===n?void 0:n.exists)}},services:{}}),N=(0,a.createContext)(void 0),w=function(){var e=(0,a.useContext)(N);if(!e)throw new Error("useGiftRedemptionMachine must be used within GiftRedemptionProvider");return e};function j(e){var t=e.children,n=(0,m.f2)(),s=(0,i.K)(),h=s.user,g=s.member,v=s.authenticating,b=s.refreshMember,y=(0,a.useRef)({firebase:n,validateGiftCode:p,redeemGiftCode:f,refreshMember:b});(0,a.useEffect)((function(){y.current.firebase=n,y.current.refreshMember=b}),[n,b]);var w=(0,a.useMemo)((function(){return x.withConfig({guards:{isLoggedInUser:function(e,t){return"AUTH_STATE_CHANGED"===(null===t||void 0===t?void 0:t.type)?!t.authenticating&&!!t.user:!e.authenticating&&!!e.user},userExists:function(e,t){var n;return!0===(null===(n=t.data)||void 0===n?void 0:n.exists)},userDoesNotExist:function(e,t){var n;return!1===(null===(n=t.data)||void 0===n?void 0:n.exists)},shouldShowEnhancedSignup:function(e){return!1===e.wasAlreadyMember}},services:{checkUserExists:function(){var e=(0,o.Z)((function(e){var t,n;return(0,u.__generator)(this,(function(r){switch(r.label){case 0:if(!e.email.trim())throw new Error("Please enter your email");if(t=!1,!y.current.firebase)return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,y.current.firebase.fetchSignInMethodsForEmail(e.email)];case 2:return n=r.sent(),t=n.length>0,[3,4];case 3:return r.sent(),t=!1,[3,4];case 4:return[2,{exists:t}]}}))}));return function(t){return e.apply(this,arguments)}}(),loginUser:function(){var e=(0,o.Z)((function(e){var t,n,r,i,s,a,o;return(0,u.__generator)(this,(function(c){switch(c.label){case 0:if(!e.password||!y.current.firebase)throw new Error("Password and Firebase are required");return[4,y.current.firebase.signIn(e.email,e.password)];case 1:if(!(t=c.sent()))throw new Error("Invalid email or password");return[4,t.getIdToken()];case 2:if(!(n=c.sent()))throw new Error("Failed to get authentication token");r=null,i=!1,c.label=3;case 3:return c.trys.push([3,8,,9]),[4,fetch("/api/tsom/members/get
1-member?email=".concat(encodeURIComponent(e.email)),{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(n)}})];case 4:return(s=c.sent()).ok?[4,s.json()]:[3,6];case 5:return r=c.sent(),i="member"===(null===r||void 0===r?void 0:r.type)||"member"===(null===r||void 0===r?void 0:r.memberType),[3,7];case 6:s.status,c.label=7;case 7:return[3,9];case 8:return a=c.sent(),console.warn("Failed to fetch member data",a),[3,9];case 9:return i?[3,13]:[4,fetch("/api/tsom/members/update-member-status",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(n)},body:JSON.stringify({email:e.email,type:"member"})})];case 10:return(o=c.sent()).ok&&y.current.refreshMember?[4,y.current.refreshMember()]:[3,12];case 11:return c.sent(),[3,13];case 12:o.ok||console.warn("Failed to update member status, but continuing with redemption"),c.label=13;case 13:return[2,{user:t,member:r,wasAlreadyMember:i}]}}))}));return function(t){return e.apply(this,arguments)}}(),createAccount:function(){var e=(0,o.Z)((function(e){var t,n,r,i,s,a,o,l,d,m,p,h,f,g,v,b,x,N,w,j,C,E,S,_,A,T,P;return(0,u.__generator)(this,(function(u){switch(u.label){case 0:if(!e.password||!y.current.firebase)throw new Error("Password and Firebase are required");if(e.password!==e.confirmPassword)throw new Error("Passwords do not match");s=null,u.label=1;case 1:return u.trys.push([1,3,,10]),[4,y.current.firebase.signUp({email:e.email,password:e.password})];case 2:return s=u.sent(),[3,10];case 3:if("auth/email-already-in-use"!==(a=u.sent()).code)return[3,8];u.label=4;case 4:return u.trys.push([4,6,,7]),[4,y.current.firebase.signIn(e.email,e.password)];case 5:return s=u.sent(),[3,7];case 6:throw u.sent(),new Error("Account exists but password is incorrect. Please try signing in instead.");case 7:return[3,9];case 8:throw a;case 9:return[3,10];case 10:if(!s)throw new Error("Failed to create or sign in to Firebase user");return[4,s.getIdToken()];case 11:if(!(o=u.sent()))throw new Error("Failed to get authentication token");l=null,d=null,u.label=12;case 12:return u.trys.push([12,17,,18]),[4,fetch("/api/tsom/members/get-member?email=".concat(encodeURIComponent(e.email)),{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(o)}})];case 13:return(m=u.sent()).ok?[4,m.json()]:[3,15];case 14:return l=u.sent(),d=(null===l||void 0===l?void 0:l.id)||null,[3,16];case 15:m.status,u.label=16;case 16:return[3,18];case 17:return u.sent(),[3,18];case 18:return d?[3,23]:[4,fetch("/api/tsom/members",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(o)},body:JSON.stringify({email:e.email,firstName:e.firstName||(null===(p=e.giftCodeDetails)||void 0===p||null===(h=p.recipientName)||void 0===h?void 0:h.split(" ")[0])||"Gift",lastName:e.lastName||(null===(f=e.giftCodeDetails)||void 0===f||null===(g=f.recipientName)||void 0===g?void 0:g.split(" ").slice(1).join(" "))||"Recipient",source:"gift-code-redemption"})})];case 19:return(v=u.sent()).ok?[3,21]:[4,v.json().catch((function(){return{}}))];case 20:throw b=u.sent(),new Error(b.message||"Failed to create audience service user");case 21:return[4,v.json()];case 22:return x=u.sent(),l=x.member,[3,27];case 23:if(E=e.firstName||(null===(N=e.giftCodeDetails)||void 0===N||null===(w=N.recipientName)||void 0===w?void 0:w.split(" ")[0]),S=e.lastName||(null===(j=e.giftCodeDetails)||void 0===j||null===(C=j.recipientName)||void 0===C?void 0:C.split(" ").slice(1).join(" ")),!E&&!S)return[3,27];u.label=24;case 24:return u.trys.push([24,26,,27]),[4,fetch("/api/tsom/members/update-profile",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(o)},body:JSON.stringify((0,c.Z)({email:e.email},E&&{firstName:E},S&&{lastName:S}))})];case 25:return u.sent(),[3,27];case 26:return u.sent(),console.warn("Failed to update profile with names, but continuing with redemption"),[3,27];case 27:return(null===l||void 0===l?void 0:l.id)?[4,fetch("/api/auth/setCustomClaim",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(o)},body:JSON.stringify({uid:s.uid,memberId:l.id})}).catch((function(){console.warn("Failed to set custom claims, but continuing with redemption")}))]:[3,29];case 28:u.sent(),u.label=29;case 29:return _=(null===l||void 0===l?void 0:l.type)||(null===l||void 0===l?void 0:l.memberType),!l||"standard"===_||!_?[4,fetch("/api/tsom/members/update-member-status",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(o)},body:JSON.stringify({email:e.email,type:"member"})})]:[3,40];case 30:return u.sent().ok?y.current.refreshMember?[4,y.current.refreshMember()]:[3,32]:[3,39];case 31:u.sent(),u.label=32;case 32:return u.trys.push([32,37,,38]),[4,fetch("/api/tsom/members/get
1-member?email=".concat(encodeURIComponent(e.email)),{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(o)}})];case 33:return(A=u.sent()).ok?[4,A.json()]:[3,35];case 34:return l=u.sent(),[3,36];case 35:A.status,u.label=36;case 36:return[3,38];case 37:return u.sent(),console.warn("Failed to refresh member data after status update"),[3,38];case 38:return[3,40];case 39:console.warn("Failed to update member status, but continuing with redemption"),u.label=40;case 40:if(T=e.firstName||(null===(t=e.giftCodeDetails)||void 0===t||null===(n=t.recipientName)||void 0===n?void 0:n.split(" ")[0]),P=e.lastName||(null===(r=e.giftCodeDetails)||void 0===r||null===(i=r.recipientName)||void 0===i?void 0:i.split(" ").slice(1).join(" ")),!T&&!P||!(null===l||void 0===l?void 0:l.id))return[3,46];if(!(T&&l.firstName!==T||P&&l.lastName!==P))return[3,46];u.label=41;case 41:return u.trys.push([41,45,,46]),[4,fetch("/api/tsom/members/update-profile",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(o)},body:JSON.stringify((0,c.Z)({email:e.email},T&&{firstName:T},P&&{lastName:P}))})];case 42:return u.sent(),y.current.refreshMember?[4,y.current.refreshMember()]:[3,44];case 43:u.sent(),u.label=44;case 44:return[3,46];case 45:return u.sent(),console.warn("Failed to update profile with names, but continuing with redemption"),[3,46];case 46:return[2,{user:s,member:l}]}}))}));return function(t){return e.apply(this,arguments)}}(),redeemGiftCode:function(){var e=(0,o.Z)((function(e){var t,n,r,i,s,a;return(0,u.__generator)(this,(function(o){switch(o.label){case 0:if(!y.current.redeemGiftCode)throw new Error("Redemption service not available");return(null===(t=e.user)||void 0===t?void 0:t.getIdToken)?[4,e.user.getIdToken()]:[3,2];case 1:return i=o.sent(),[3,3];case 2:i=void 0,o.label=3;case 3:return r=i,s=e.firstName&&e.lastName?"".concat(e.firstName," ").concat(e.lastName):(null===(n=e.giftCodeDetails)||void 0===n?void 0:n.recipientName)||"",[4,y.current.redeemGiftCode(e.giftCode,e.email,s,r)];case 4:if(!(a=o.sent())||!a.success)throw new Error((null===a||void 0===a?void 0:a.error)||"Failed to redeem gift code");return[2,{giftCodeDetails:a.giftCode}]}}))}));return function(t){return e.apply(this,arguments)}}(),redeemGiftCodeForLoggedInUser:function(){var e=(0,o.Z)((function(e){var t,n,r,i,s,a;return(0,u.__generator)(this,(function(o){switch(o.label){case 0:if(!y.current.redeemGiftCode||!e.user)throw new Error("Redemption service or user not available. Please ensure you are logged in.");if(!(r=e.user.email||("object"===typeof e.user&&"email"in e.user?e.user.email:"")))throw new Error("User email is required");return(null===(t=e.user)||void 0===t?void 0:t.getIdToken)?[4,e.user.getIdToken()]:[3,2];case 1:return s=o.sent(),[3,3];case 2:s=void 0,o.label=3;case 3:return i=s,[4,y.current.redeemGiftCode(e.giftCode,r,(null===(n=e.giftCodeDetails)||void 0===n?void 0:n.recipientName)||"",i)];case 4:if(!(a=o.sent())||!a.success)throw new Error((null===a||void 0===a?void 0:a.error)||"Failed to redeem gift code");return[2,{giftCodeDetails:a.giftCode}]}}))}));return function(t){return e.apply(this,arguments)}}()}})}),[]),j=(0,l.Z)((0,d.e)(w),2),C=j[0],E=j[1],S=(0,a.useRef)(C.value);(0,a.useEffect)((function(){S.current!==C.value&&(S.current=C.value)}),[C.value]);var _=(0,a.useRef)(null);return(0,a.useEffect)((function(){var e="string"===typeof C.value?C.value:JSON.stringify(C.value);if(!("complete"===e||"error"===e)){var t=_.current;if(!t||t.user!==h||t.member!==g||t.authenticating!==v){_.current={user:h,member:g,authenticating:v};0,E({type:"AUTH_STATE_CHANGED",user:h,member:g,authenticating:v})}}}),[h,g,v,E]),(0,r.jsx)(N.Provider,{value:{state:C,send:E},children:t})}var C=n(13e3);function E(){var e=w(),t=e.state,n=e.send,i=t.context.error;return(0,r.jsxs)("div",{className:"error-step",children:[(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h3",{children:"Whoops, a gift code error"}),(0,r.jsx)("p",{className:"error",children:"There was an issue with your gift code."}),(0,r.jsx)("p",{children:(0,r.jsx)("strong",{children:"What you can do:"})}),(0,r.jsxs)("ul",{children:[(0,r.jsx)("li",{children:"Check that you entered the gift co
1de correctly"}),(0,r.jsxs)("li",{children:["Contact ",(0,r.jsx)("a",{href:"mailto:[email protected]",children:"support"})," if you continue to have issues"]})]})]}),(0,r.jsxs)("div",{className:"form-actions",children:[(0,r.jsx)(C.Z,{type:"button",className:"primary",onClick:function(){n({type:"RETRY"})},loading:!1,children:"Try Again"}),(0,r.jsx)(C.Z,{type:"button",className:"login-forgot-button",onClick:function(){var e=encodeURIComponent("Gift Code Redemption Issue"),n=t.context.giftCode||"Not provided",r=encodeURIComponent("Hi,\n\nI encountered an issue redeeming my gift code.\n\nGift code entered: ".concat(n,"\nError: ").concat(i||"Unknown error"));window.open("mailto:[email protected]?subject=".concat(e,"&body=").concat(r))},loading:!1,children:"Contact Support"})]})]})}function S(){var e=(0,a.useState)(!1),t=e[0],n=e[1],r=(0,a.useState)(null),i=r[0],s=r[1],c=function(){var e=(0,o.Z)((function(e){var t,r;return(0,u.__generator)(this,(function(i){switch(i.label){case 0:if(!e.trim())return s("Please enter a gift code"),[2,null];n(!0),s(null),i.label=1;case 1:return i.trys.push([1,3,4,5]),[4,p(e)];case 2:return(t=i.sent()).valid?[2,t]:(s(t.error||"Invalid gift code"),[2,null]);
1case 3:return r=i.sent(),console.error("Gift code validation error:",r),s("Network error. Please check your connection and try again."),[2,null];case 4:return n(!1),[7];case 5:return[2]}}))}));return function(t){return e.apply(this,arguments)}}();return{validate:c,loading:t,error:i,setError:s}}function _(){var e=S(),t=e.validate,n=e.loading,s=e.error,c=w(),l=c.state,d=c.send,p=(0,i.K)().user,h=(0,m.f2)(),f=(null===p||void 0===p?void 0:p.email)||"",g=!!p,v=(0,a.useState)(f||""),b=v[0],y=v[1],x=l.context.giftCode||"",N=(0,a.useState)(x),j=N[0],C=N[1],E=(0,a.useState)(""),_=E[0],A=E[1],T=(0,a.useState)(""),P=T[0],k=T[1],O=(0,a.useState)(""),R=O[0],D=O[1],I=(0,a.useState)(""),F=I[0],U=I[1],M=(0,a.useState)(""),L=M[0],Z=M[1],Y=(0,a.useState)(""),H=Y[0],B=Y[1],G=(0,a.useState)(!1),W=G[0],q=G[1],V=(0,a.useRef)(x),z=l.context,J=l.value;a.useEffect((function(){var e=V.current;x!==e&&(console.log("[Gift Redemption Step] Machine code changed, syncing:",{prev:e,new:x}),C(x),V.current=x)}),[x]),a.useEffect((function(){g&&f&&b!==f&&(console.log("[Gift Redemption Step] Auto-filling logged-in user email"),y(f))}),[g,f,b]);var K,$,Q,X,ee=function(){var e=(0,o.Z)((function(){var e,n;return(0,u.__generator)(this,(function(r){switch(r.label){case 0:return e=g?f:b,[4,t(j)];case 1:return(null===(n=r.sent())||void 0===n?void 0:n.valid)&&n.giftCode?d({type:"CODE_VALIDATED",giftCode:j,giftCodeDetails:n.giftCode,email:e}):null===n&&d({type:"VALIDATION_ERROR",error:s||"Failed to redeem gift code"}),[2]}}))}));return function(){return e.apply(this,arguments)}}(),te=function(){var e=(0,o.Z)((function(e){var t;return(0,u.__generator)(this,(function(n){switch(n.label){case 0:if(e.preventDefault(),Z(""),B(""),q(!0),!(t=z.email||b))return Z("Please enter your email address first"),q(!1),[2];n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,h.sendPasswordResetEmail(t)];case 2:return n.sent(),B("Password reset email sent! Please check your inbox and follow the link to reset your password."),[3,5];case 3:return n.sent(),Z("Failed to send password reset email. Please try again."),[3,5];case 4:return q(!1),[7];case 5:return[2]}}
1))}));return function(t){return e.apply(this,arguments)}}();return"validatingCode"===J||"checkingUser"===J?(0,r.jsx)("div",{className:"gift-code-validation",children:(0,r.jsxs)("div",{className:"gift-code-validation-content",children:[(0,r.jsx)("h1",{children:"Redeem Your Gift Membership"}),(0,r.jsx)("p",{children:g?"Enter your gift code below to activate your membership.":"Enter your email and gift code to activate your membership."}),(0,r.jsxs)("form",{onSubmit:function(e){e.preventDefault(),ee()},className:"gift-code-form",children:[(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"email",children:"Email Address"}),(0,r.jsx)("input",{type:"email",id:"email",value:b,onChange:function(e){g||y(e.target.value)},placeholder:"[email protected]",required:!0,disabled:n||g,className:g?"input-disabled":""})]}),(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"giftCode",children:"Gift Code"}),(0,r.jsx)("input",{type:"text",id:"giftCode",value:j,onChange:function(e){C(e.target.value.toUpperCase())},placeholder:"SPINOFF-ABC123",required:!0,disabled:n,className:""})]}),(z.error||s)&&(0,r.jsx)("div",{className:"error-message",children:z.error||s}),z.giftCodeDetails&&(0,r.jsx)("div",{className:"success-message",children:"\u2705 Gift code validated successfully! Checking account status..."}),(0,r.jsx)("button",{type:"submit",disabled:n||!j.trim()||!g&&!b.trim(),className:"gift-code-button primary",children:n?"Redeeming...":"Redeem your gift membership"})]})]})}):"loggingIn"===J?(0,r.jsx)("div",{className:"gift-code-validation",children:(0,r.jsxs)("div",{className:"gift-code-validation-content",children:[(0,r.jsx)("h1",{children:"Sign in to Redeem Your Gift"}),(0,r.jsx)("p",{children:"We found an account with this email. Sign in to redeem your gift membership."}),(null===(K=z.giftCodeDetails)||void 0===K?void 0:K.giverName)&&(null===($=z.giftCodeDetails)||void 0===$?void 0:$.recipientName)&&(0,r.jsxs)("div",{className:"gift-details",children:[(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"Gift from:"})," ",z.giftCodeDetails.giverName]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"For:"})," ",z.giftCodeDetails.recipientName]})]}),(0,r.jsxs)("form",{onSubmit:function(e){e.preventDefault(),_.trim()?d({type:"LOGIN",password:_}):d({type:"LOGIN_ERROR",error:"Please enter your password"})},className:"gift-code-form",children:[(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"email",children:"Email Address"}),(0,r.jsx)("input",{type:"email",id:"email",value:z.email,disabled:!0,className:"input-disabled"})]}),(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"password",children:"Password"}),(0,r.jsx)("input",{type:"password",id:"password",value:_,onChange:function(e){return A(e.target.value)},placeholder:"Enter your password",required:!0,disabled:"loggingInProcessing"===J})]}),z.error&&(0,r.jsx)("div",{className:"error-message",children:z.error}),L&&(0,r.jsx)("div",{className:"error-message",children:L}),H&&(0,r.jsx)("div",{className:"success-message",children:H}),(0,r.jsx)("button",{type:"submit",disabled:"loggingInProcessing"===J||!_.trim(),className:"gift-code-button primary",children:"loggingInProcessing"===J?"Signing in...":"Redeem Gift Membership"})]}),(0,r.jsx)("div",{className:"form-footer",children:(0,r.jsx)("p",{children:(0,r.jsx)("a",{href:"#",onClick:te,style:{cursor:W?"wait":"pointer"},children:W?"Sending...":"Forgot your password?"})})})]})}):"creatingAccount"===J?(0,r.jsx)("div",{className:"gift-code-validation",children:(0,r.jsxs)("div",{className:"gift-code-validation-content",children:[(0,r.jsx)("h1",{children:"Complete Your Account"}),(0,r.jsx)("p",{children:"Create a password to activate your gift membership."}),(null===(Q=z.giftCodeDetails)||void 0===Q?void 0:Q.giverName)&&(null===(X=z.giftCodeDetails)||void 0===X?void 0:X.recipientName)&&(0,r.jsxs)("div",{className:"gift-details",children:[(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"Gift from:"})," ",z.giftCodeDetails.giverName]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"For:"})," ",z.giftCodeDetails.recipientName]})]}),(0,r.jsxs)("form",{onSubmit:function(e){e.preventDefault(),R.trim()?F.trim()?_.trim()?d(_===P?{type:"CREATE_ACCOUNT",password:_,confirmPassword:P,firstName:R.trim(),lastName:F.trim()}:{type:"ACCOUNT_ERROR",error:"Passwords do not match"}):d({type:"ACCOUNT_ERROR",error:"Please enter a password"}):d({type:"ACCOUNT_ERROR",error:"Please enter your last name"}):d({type:"ACCOUNT_ERROR",error:"Please enter your first name"})},className:"gift-code-form",children:[(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"email",children:"Email Address"}),(0,r.jsx)("input",{type:"email",id:"email",value:z.email,disabled:!0,className:"input-disabled"})]}),(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"firstName",children:"First Name"}),(0,r.jsx)("input",{type:"text",id:"firstName",value:R,onChange:function(e){return D(e.target.value)},placeholder:"Enter your first name",required:!0,disabled:"creatingAccountProcessing"===J})]}),(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"lastName",children:"Last Name"}),(0,r.jsx)("input",{type:"text",id:"lastName",value:F,onChange:function(e){return U(e.target.value)},placeholder:"Enter your last name",required:!0,disabled:"creatingAccountProcessing"===J})]}),(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"password",children:"Create Password"}
1),(0,r.jsx)("input",{type:"password",id:"password",value:_,onChange:function(e){return A(e.target.value)},placeholder:"Choose a secure password",required:!0,minLength:8,disabled:"creatingAccountProcessing"===J}),(0,r.jsx)("small",{children:"Must be at least 8 characters long"})]}),(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"confirmPassword",children:"Confirm Password"}),(0,r.jsx)("input",{type:"password",id:"confirmPassword",value:P,onChange:function(e){return k(e.target.value)},placeholder:"Confirm your password",required:!0,minLength:8,disabled:"creatingAccountProcessing"===J})]}),z.error&&(0,r.jsx)("div",{className:"error-message",children:z.error}),(0,r.jsx)("button",{type:"submit",disabled:"creatingAccountProcessing"===J||!R.trim()||!F.trim()||!_.trim()||!P.trim(),className:"gift-code-button primary",children:"creatingAccountProcessing"===J?"Creating Account...":"Complete your account"})]})]})}):"loggingInProcessing"===J||"creatingAccountProcessing"===J||"redeeming"===J?(0,r.jsxs)("div",{className:"gift-card-redemption loading",children:[(0,r.jsx)("div",{className:"loading-spinner"}),(0,r.jsxs)("p",{children:["loggingInProcessing"===J&&"Signing in...","creatingAccountProcessing"===J&&"Creating your account...","redeeming"===J&&"Redeeming your gift..."]})]}):"error"===J?(0,r.jsx)("div",{className:"gift-code-validation",children:(0,r.jsxs)("div",{className:"gift-code-validation-content",children:[(0,r.jsx)("h1",{children:"Error"}),(0,r.jsx)("p",{children:z.error||"An error occurred"}),(0,r.jsx)("button",{onClick:function(){return d({type:"RETRY"})},className:"gift-code-button primary",children:"Try Again"})]})}):null}function A(e){var t=e.onCodeValidated,n=e.onError,i=e.sendToMachine,s=e.useMachine,c=void 0!==s&&s,l=S(),d=l.validate,m=l.loading,p=l.error,h=null,f="";try{var g,v=w();h=(null===v||void 0===v?void 0:v.state)||null,f=(null===h||void 0===h||null===(g=h.context)||void 0===g?void 0:g.giftCode)||""}catch(C){f=""}var b=(0,a.useState)(f||""),y=b[0],x=b[1],N=(0,a.useRef)(f);(0,a.useEffect)((function(){if(c){var e=N.current;f!==e&&(x(f),N.current=f)}}),[c,f]);var j=function(){var e=(0,o.Z)((function(){var e,r;return(0,u.__generator)(this,(function(s){switch(s.label){case 0:return[4,d(y)];case 1:return(null===(e=s.sent())||void 0===e?void 0:e.valid)&&e.giftCode?c&&i?i({type:"CODE_VALIDATED",giftCode:y,giftCodeDetails:e.giftCode,email:""}):t&&t(e.giftCode):null===e&&(r=p||"Invalid gift code",c&&i?i({type:"VALIDATION_ERROR",error:r}):n&&n(r)),[2]}}))}));return function(){return e.apply(this,arguments)}}();return(0,r.jsx)("div",{className:"gift-code-validation",children:(0,r.jsxs)("div",{className:"gift-code-validation-content",children:[(0,r.jsx)("h1",{children:"Redeem your gift membership"}),(0,r.jsx)("p",{children:"Enter your gift code below to activate your membership."}),(0,r.jsxs)("form",{onSubmit:function(e){e.preventDefault(),j()},className:"gift-code-form",children:[(0,r.jsxs)("div",{className:"form-group",children:[(0,r.jsx)("label",{htmlFor:"giftCode",children:"Gift Code"}),(0,r.jsx)("input",{type:"text",id:"giftCode",value:y,onChange:function(e){return x(e.target.value)},placeholder:"spinoff-ABC123",required:!0,disabled:m,className:p?"error":""})]}),p&&(0,r.jsx)("div",{className:"error-message",children:p}),(0,r.jsx)("button",{type:"submit",className:"gift-code-button primary",disabled:m||!y.trim(),children:m?"Validating...":"Redeem Gift Code"})]})]})})}var T=n(25675),P=n.n(T),k=n(41664),O=n.n(k);function R(e){e.onClose,e.giftCode;var t=e.recipientName,n=(e.giverName,e.wasAlreadyMember),i=e.onExploreClick;return(0,r.jsx)("div",{className:"gift-thank-you",children:(0,r.jsxs)("div",{className:"gift-thank-you-content",children:[(0,r.jsx)("h1",{children:n?"Your support means the world to us":"Welcome to The Spinoff Members"}),(0,r.jsx)("div",{className:"gift-thank-you-message",children:n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:t}),", your gift membership has been successfully activated."]}
1),(0,r.jsx)("p",{children:"Thanks so much for choosing to support The Spinoff. Your membership helps us continue to bring you quality content that is uniquely for, and of, Aotearoa."}),(0,r.jsx)("p",{children:"Your support allows us to expand our coverage, empowering our team to work on stories that are impossible for us to sustainably fund otherwise."})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{children:t?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("strong",{children:t}),", your gift membership has been successfully activated."]}):(0,r.jsx)(r.Fragment,{children:"Your gift membership has been successfully activated."})}),(0,r.jsx)("p",{children:"It's a whole new way to experience The Spinoff, all while supporting independent journalism made for Aotearoa. Spinoff Members fund 75% of The Spinoff's work. Our membership programme helps keep our work free for all and allows us to invest in more with courage and confidence."}),(0,r.jsx)("p",{children:"As a Spinoff member you get:"}),(0,r.jsxs)("ul",{children:[(0,r.jsx)("li",{children:"Exclusive newsletters and updates"}),(0,r.jsx)("li",{children:"No member popups and more ways to read The Spinoff without interruptions"}),(0,r.jsx)("li",{children:"VIP access to live events"}),(0,r.jsx)("li",{children:"The ability to join the conversation by commenting on site"}),(0,r.jsx)("li",{children:"A place in a community who values quality, independent journalism"})]})]})}),(0,r.jsxs)("div",{className:"gift-thank-you-actions",children:[i?(0,r.jsx)("button",{className:"gift-thank-you-button primary",onClick:function(e){i&&(e.preventDefault(),i())},children:"Explore The Spinoff"}):(0,r.jsx)(O(),{href:"/your-guide-to-the-spinoff",children:(0,r.jsx)("button",{className:"gift-thank-you-button primary",children:"Explore The Spinoff"})}),(0,r.jsx)(O(),{href:"/profile",children:(0,r.jsx)("button",{className:"gift-thank-you-button secondary",children:"View your profile"})})]}),(0,r.jsx)("div",{className:"gift-thank-you-image",children:(0,r.jsx)(P(),{src:"/images/gift-a-membership/ExploreTSOImage.png",alt:"The Spinoff content on mobile device",width:600,height:400,priority:!0})}),(0,r.jsx)("div",{className:"gift-thank-you-footer",children:(0,r.jsxs)("p",{children:["Want to know more about Spinoff Members? View our members page"," ",(0,r.jsx)(O(),{href:"/members",className:"gift-thank-you-link",children:"here"}),"."]})})]})})}var D=n(57170),I=n(70523),F=n(39353),U=a.createContext(!1),M=function(){return a.useContext(U)};function L(e){var t=e.giftCode,n=e.onClose,i=e.onSuccess,s=t?"gift-".concat(t):"no-code";return console.log("[Gift Redemption Flow] Rendering with key:",s,{giftCode:t}),(0,r.jsx)(U.Provider,{value:!0,children:(0,r.jsx)(j,{children:(0,r.jsx)(Z,{giftCode:t,onClose:n,onSuccess:i})},s)})}function Z(e){var t=e.giftCode,n=e.onClose,o=e.onSuccess,c=(0,i.K)(),l=c.user,u=c.member,d=(0,s.useRouter)(),m=w(),p=m.state,h=m.send,f=p.context,g=p.value;a.useEffect((function(){if(d.isReady){var e=d.query.gift_code?decodeURIComponent(d.query.gift_code).trim():"";e!==t&&console.error("[Gift Redemption] \u26a0\ufe0f MISMATCH: URL gift code doesn't match prop!",{urlGiftCode:e,propGiftCode:t})}}),[d.isReady,d.query,t]);var v=(0,a.useCallback)((function(){h({type:"ENHANCED_SIGNUP_CONTINUE"})}),[h]),b=(0,a.useCallback)((function(){d.push("/")}),[d]),y=(0,a.useCallback)((function(){h({type:"START_ENHANCED_SIGNUP"})}),[h]),x=(0,a.useRef)(t);if((0,a.useEffect)((function(){var e=(t||"").trim(),n=(x.current||"").trim();e?e!==f.giftCode&&(h({type:"RESET"}),setTimeout((function(){h({type:"SET_GIFT_CODE",giftCode:e})}),0)):n&&!e&&h({type:"RESET"}),x.current=t}),[t,f.giftCode,h,p.value]),(0,a.useEffect)((function(){"complete"===g&&o&&o()}),[g,o]),"error"===g&&f.error)return(0,r.jsx)(E,{});if("loggedInValidatingCode"===g)return(0,r.jsx)(A,{sendToMachine:h,useMachine:!0});if("loggedInRedeeming"===g)return(0,r.jsxs)("div",{className:"gift-card-redemption loading",children:[(0,r.jsx)("div",{className:"loading-spinner"}),(0,r.jsx)("p",{children:"Redeeming your gift membership..."})]});var N="object"===typeof g&&g.enhancedSignup?g.enhancedSignup:null;if(l&&u&&N){if("newsletter"===N)return(0,r.jsx)(I.Y,{onContinue:v});if("podcast"===N)return(0,r.jsx)(F.g,{onContinue:v});if("appPromotion"===N)return(0,r.jsx)(D.r,{onComplete:b})}if("complete"===g){var j,C,S,T=null!==(S=f.wasAlreadyMember)&&void 0!==S&&S;return(0,r.jsx)(R,{onClose:n||function(){},giftCode:t,recipientName:null===(j=f.giftCodeDetails)||void 0===j?void 0:j.recipientName,giverName:null===(C=f.giftCodeDetails)||void 0===C?void 0:C.giverName,wasAlreadyMember:T,onExploreClick:y})}return"redeeming"===g||"determiningNextStep"===g||"checkingUser"===g||"loggingInProcessing"===g||"creatingAccountProcessing"===g?(0,r.jsxs)("div",{className:"gift-card-redemption loading",children:[(0,r.jsx)("div",{className:"loading-spinner"}),(0,r.jsx)("p",{children:"Setting up your membership..."})]}):(0,r.jsx)(_,{})}},48370:function(e,t,n){n.d(t,{M:function(){return m},b:function(){return p}});var r=n(47568),i=n(10253),s=n(70655),a=n(85893),o=n(90873),c=n(97204),l=n(88865),u=n(67294),d=(0,u.createContext)(void 0);function m(e){var t=e.children,m=e.initialStep,p=void 0===m?c.ne.BUDGET_SELECT:m,h=e.initialIsNewUser,f=void 0===h||h,g=e.initialAmount,v=void 0===g?null:g,b=e.initialInterval,y=void 0===b?null:b,x=e.initialEmail,N=void 0===x?"":x,w=(0,u.useState)(v),j=w[0],C=w[1],E=(0,u.useState)(y),S=E[0],_=E[1],A=(0,u.useState)(N),T=A[0],P=A[1],k=(0,u.useState)(p),O=k[0],R=k[1],D=(0,u.useCallback)((function(e){R(e)}),[]),I=(0,u.useState)(null),F=I[0],U=I[1],M=(0,u.useState)(""),L=M[0],Z=M[1],Y=(0,u.useState)(""),H=Y[0],B=Y[1],G=(0,u.useState)(""),W=G[0],q=G[1],V=(0,u.useState)(null),z=V[0],J=V[1],K=(0,u.useState)(f),$=K[0],Q=K[1],X=(0,u.useState)(!1),ee=X[0],te=X[1],ne=(0,u.useState)(!1),re=ne[0],ie=ne[1],se=(0,u.useState)(null),ae=se[0],oe=se[1],ce=(0,u.useState)(!0),le=ce[0],ue=ce[1],de=(0,u.useState)(""),me=de[0],pe=de[1],he=(0,u.useState)(null),fe=he[0],ge=he[1],ve=(0,u.useState)(""),be=ve[0],ye=ve[1],xe=(0,u.useState)(""),Ne=xe[0],we=xe[1],je=(0,u.useState)(!1),Ce=je[0],Ee=je[1],Se=(0,u.useState)(!1),_e=Se[0],Ae=Se[1],Te=(0,l.f2)(),Pe=Te.member,ke=Te.authenticating,Oe=(0,u.useMemo)((function(){return null===Pe||void 0===Pe?void 0:Pe.uid}),[null===Pe||void 0===Pe?void 0:Pe.uid]);(0,u.useEffect)((function(){function e(){return e=(0,r.Z)((function(){var e,t,r,a,c,l,u,d;return(0,s.__generator)(this,(function(s){switch(s.label){case 0:if(!Oe||ke)return[3,8];s.label=1;case 1:return s.trys.push([1,5,6,7]),[4,Promise.resolve().then(n.bind(n,26671))];case 2:return t=s.sent().getFirebaseAuth,r=t(),[4,null===(e=r.currentUser)||void 0===e?void 0:e.getIdToken()];case 3:return(a=s.sent())?[4,o.default.payments().useSubscriptions(a)]:(oe(null),[2]);case 4:return c=i.Z.apply(void 0,[s.sent(),1]),l=c[0],oe("undefined"===typeof l?null:l),[3,7];case 5:return 404!==(null===(u=s.sent())||void 0===u||null===(d=u.response)||void 0===d?void 0:d.status)&&(null===u||void 0===u||u.code),oe(null),[3,7];case 6:return ue(!1),[7];case 7:return[3,9];case 8:Oe||(oe(null),ue(!1)),s.label=9;case 9:return[2]}}
1))})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[Oe,ke]);return(0,a.jsx)(d.Provider,{value:{state:{amount:j,interval:S,email:T,step:O,paymentError:F,firstName:L,lastName:H,widget:W,donationLocation:z,isNewUser:$,hasAudience:ee,hasFirebase:re,subscriptionLoading:le,giftCode:me,giftCodeDetails:fe,name:be,error:Ne,success:Ce,newsletterSignup:_e},setAmount:C,setInterval:_,setEmail:P,setStep:D,setPaymentError:U,setFirstName:Z,setLastName:B,setWidget:q,setDonationLocation:J,setIsNewUser:Q,setValidationState:function(e){te(e.hasAudience),ie(e.hasFirebase)},subscription:ae,setSubscription:oe,setGiftCode:pe,setGiftCodeDetails:ge,setName:ye,setError:we,setSuccess:Ee,setNewsletterSignup:Ae},children:t})}function p(){var e=(0,u.useContext)(d);if(!e)throw new Error("useDonationContext must be used within a DonationProvider");return e}},13e3:function(e,t,n){n.d(t,{Z:function(){return d}});var r=n(26042),i=n(69396),s=n(99534),a=n(85893),o=n(94184),c=n.n(o),l=n(733),u=n.n(l);function d(e){var t,n,o,l,d,m,p=e.loading,h=(0,s.Z)(e,["loading"]);switch(!0){case null===(t=e.className)||void 0===t?void 0:t.includes("members-orange"):case null===(n=e.className)||void 0===n?void 0:n.includes("primary"):m="#EC822D";break;case null===(o=e.className)||void 0===o?void 0:o.includes("secondary"):m="#ff5733";break;case null===(l=e.className)||void 0===l?void 0:l.includes("atea"):m="#F1EFDA";break;case null===(d=e.className)||void 0===d?void 0:d.includes("success"):m="#28a745";break;default:m="#EC822D"}return(0,a.jsxs)("button",(0,i.Z)((0,r.Z)({},h),{className:c()(e.className,{loading:p}),children:[(0,a.jsx)("span",{className:"button-content",children:e.children}),p&&(0,a.jsx)("span",{className:"loader",children:(0,a.jsx)(u(),{type:"bubbles",color:m,height:20,width:40})})]}))}},22447:function(e,t,n){n.d(t,{U:function(){return S}});var r=n(47568),i=n(26042),s=n(69396),a=n(70655),o=n(85893),c=n(90873),l=n(13e3),u=n(79511),d=n(97204),m=n(88865),p=n(57321),h=n(10646),f=n(11163),g=n(67294),v=n(733),b=n.n(v),y=n(17650),x=n(14271),N=n(57170),w=n(70523),j=n(39353),C=n(54279),E=function(){return Promise.resolve().then(n.bind(n,26671))},S=function(e){var t=e.defaultEmail,v=e.loginHeadline,S=e.loginPrompt,_=e.isEmbed,A=e.hideBack,T=e.onRegisteringChange,P=e.onCancel,k=e.onLoginStepChange,O=e.cameFromDonation,R=e.returnFromPayment,D=e.wasExistingMember,I=e.initialStep,F=e.startRegistering,U=e.hideSaveLater,M=e.forceUpgradePrompt,L=e.skipEnhancedSignup,Z=e.registrationSource,Y=(0,f.useRouter)(),H=null!==Z&&void 0!==Z?Z:L?"comments":"enhanced_signup",B=(0,h.Vb)().commentReactions,G="/register"===Y.pathname||"/donate"===Y.pathname||"/members/login"===Y.pathname||"/sign-in"===Y.pathname,W=(0,p.K)(),q=W.authenticating,V=W.user,z=W.member,J=W.signIn,K=W.fetchSignInMethodsForEmail,$=W.sendPasswordResetEmail,Q=(0,m.f2)().setMember,X=(0,f.useRouter)(),ee=X.push,te=X.query,ne=(0,x.DT)(),re=(0,g.useState)(M?"upgradePrompt":I||(t?"passwordPrompt":"emailPrompt")),ie=re[0],se=re[1];(0,g.useEffect)((function(){null===k||void 0===k||k(ie)}),[ie,k]);var ae=ne&&!V?ne:t||"",oe=(0,g.useState)(ae),ce=oe[0],le=oe[1];(0,g.useEffect)((function(){ne&&!V&&le(ne)}),[ne,V]);var ue=(0,g.useState)(!1),de=ue[0],me=ue[1],pe=(0,g.useState)(""),he=pe[0],fe=pe[1],ge=(0,g.useState)(null),ve=ge[0],be=ge[1],ye=(0,g.useState)(null),xe=ye[0],Ne=ye[1],we=(0,g.useState)(""),je=we[0],Ce=we[1],Ee=(0,g.useState)(null),Se=Ee[0],_e=Ee[1],Ae=(0,g.useState)(""),Te=Ae[0],Pe=Ae[1],ke=(0,g.useState)(""),Oe=ke[0],Re=ke[1],De=(0,g.useState)(null),Ie=De[0],Fe=De[1],Ue=(0,g.useState)(null),Me=Ue[0],Le=Ue[1],Ze=(0,g.useState)("new"),Ye=Ze[0],He=Ze[1],Be=(0,g.useState)(!!F),Ge=Be[0],We=Be[1],qe=(0,g.useState)(O||!1),Ve=qe[0],ze=qe[1],Je=(0,g.useState)(!1),Ke=Je[0],$e=Je[1],Qe=(0,g.useState)(!1),Xe=Qe[0],et=Qe[1];(0,g.useEffect)((function(){if(R&&V&&z){if(L)return void nt();if(!1===D&&"member"===(null===z||void 0===z?void 0:z.type))return void se("newsletterSelection");nt()}}),[R,V,z,D,L]),(0,g.useEffect)((function(){if(V&&z&&"upgradePrompt"===ie&&!Ke){var e,t,n=null===(e=z.type)||void 0===e?void 0:e.toLowerCase(),r=!!(null===(t=z.subscriptions)||void 0===t?void 0:t.length),i=!!z.payment_intent_id;("member"===n||r||i)&&(Ke||nt())}["newsletterSelection","podcastDiscovery","appPromotion","signupComplete"].includes(ie)}),[V,z,ie,Ke]);var tt=function(){var e=(0,r.Z)((function(){return(0,a.__generator)(this,(function(e){return se("newsletterSelection"),[2]}))}
1));return function(){return e.apply(this,arguments)}}();(0,g.useEffect)((function(){V&&Ge&&"registrationPrompt"===ie&&!Ke&&se("upgradePrompt")}),[V,Ge,ie,Ke]);var nt=function(){var e=(0,r.Z)((function(){var e;return(0,a.__generator)(this,(function(t){return it(!1),e=te.r,L?(e&&ee(e),se("loginDone"),[2]):!1===D&&"member"===(null===z||void 0===z?void 0:z.type)?(se("newsletterSelection"),[2]):(e&&ee(e),se("loginDone"),[2])}))}));return function(){return e.apply(this,arguments)}}(),rt=(0,f.useRouter)().pathname.startsWith("/profile");(0,g.useEffect)((function(){P&&("loginDone"!==ie?L&&V&&!("registrationPrompt"===ie||"nameCollection"===ie||"upgradePrompt"===ie)&&P():P())}),[L,V,ie,P]),(0,g.useEffect)((function(){}),[rt,V,z,Ve]),(0,g.useEffect)((function(){V&&z&&Ge&&"nameCollection"===ie&&sessionStorage.setItem("enhancedSignupActive","true")}),[V,z,Ge,ie]),(0,g.useEffect)((function(){var e=function(){var e=(0,r.Z)((function(){var e,t,n,i;return(0,a.__generator)(this,(function(s){switch(s.label){case 0:return[4,E()];case 1:return e=s.sent(),t=e.getFirebaseAuth,n=e.getRedirectResult,i=t(),n(i).then(function(){var e=(0,r.Z)((function(e){var t,n,r,s;return(0,a.__generator)(this,(function(a){switch(a.label){case 0:if(!e)return[2];if(!((null===(t=i.currentUser)||void 0===t?void 0:t.metadata.creationTime)===(null===(n=i.currentUser)||void 0===n?void 0:n.metadata.lastSignInTime))||!i.currentUser)return[3,5];s=null!==(r=i.currentUser.email)&&void 0!==r?r:"invalid email",a.label=1;case 1:return a.trys.push([1,3,,4]),[4,i.currentUser.delete()];case 2:return a.sent(),[3,4];case 3:return a.sent(),[3,4];case 4:throw new Error("Sorry, we couldn't find an account with that email (".concat(s,")."));case 5:nt(),a.label=6;case 6:return[2]}}
1))}));return function(t){return e.apply(this,arguments)}}()).catch((function(e){var t=e.message;Ne(t)})).finally((function(){it(!1)})),[2]}}))}));return function(){return e.apply(this,arguments)}}();e()}),[]);var it=function(e){new y.K(window.navigator.userAgent||window.navigator.vendor).isSpinoffApp&&window.ReactNativeWebView&&window.ReactNativeWebView.postMessage('{"preventRedirect" : '.concat(e,"}"))},st=function(){var e=(0,r.Z)((function(e){var t,n,r,i;return(0,a.__generator)(this,(function(s){switch(s.label){case 0:if(!(t=e.trim()))return[2];s.label=1;case 1:return s.trys.push([1,4,,5]),[4,K(t)];case 2:return s.sent().length>0?(se("passwordPrompt"),[2]):[4,c.default.users().getMemberType(t)];case 3:return n=s.sent(),r=n.type,"member"===(i=null!=r?String(r):"")||"Member"===i?(se("passwordPrompt"),[2]):"newsletter"===i||"Newsletter"===i?(He("newsletter"),se("registrationPrompt"),[2]):(He("new"),se("registrationPrompt"),[3,5]);case 4:return s.sent(),He("new"),se("registrationPrompt"),[3,5];case 5:return[2]}}))}));return function(t){return e.apply(this,arguments)}}(),at=function(){var e=(0,r.Z)((function(e){var t;return(0,a.__generator)(this,(function(n){switch(n.label){case 0:if(e.preventDefault(),!(t=ce.trim()))return Ne("Email is required"),[2];le(t),me(!0),be(null),Ne(null),n.label=1;case 1:return n.trys.push([1,,3,4]),[4,st(t)];case 2:return n.sent(),[3,4];case 3:return me(!1),[7];case 4:return[2]}}
1))}));return function(t){return e.apply(this,arguments)}}(),ot=function(){var e=(0,r.Z)((function(e){var t;return(0,a.__generator)(this,(function(n){switch(n.label){case 0:e.preventDefault(),n.label=1;case 1:return n.trys.push([1,3,,4]),be(null),[4,J(ce,he)];case 2:return n.sent(),nt(),[3,4];case 3:return(t=n.sent()).message.includes("auth/wrong-password")?be('That password didn\'t work. If you have forgotten your password, try a <a href="/members/forgot-password">password reset</a>.'):t.message.includes("auth/user-not-found")?be("User not found"):t.message.includes("auth/popup-closed-by-user")?be(null):be(t.message),[3,4];case 4:return[2]}}))}));return function(t){return e.apply(this,arguments)}}(),ct=function(){var e=(0,r.Z)((function(e){var t,r,i,s,o,c,l,u,d,m,p,h,f,g,v,b,y,x,N,w,j;return(0,a.__generator)(this,(function(a){switch(a.label){case 0:if(e.preventDefault(),me(!0),We(!0),null===T||void 0===T||T(!0),be(null),_e(null),Ne(null),sessionStorage.setItem("enhancedSignupActive","true"),!he)return be("Password is required"),me(!1),We(!1),null===T||void 0===T||T(!1),[2];if(!je)return _e("Please confirm your password"),me(!1),We(!1),null===T||void 0===T||T(!1),[2];if(he!==je)return _e("Passwords don't match"),me(!1),We(!1),null===T||void 0===T||T(!1),[2];a.label=1;case 1:return a.trys.push([1,32,33,34]),[4,fetch("/api/tsom/members/simple-registration-public",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:ce,source:H})})];case 2:r=a.sent(),i=null,a.label=3;case 3:return a.trys.push([3,5,,6]),[4,r.json()];case 4:return i=a.sent(),[3,6];case 5:return a.sent(),i={},[3,6];case 6:if(!r.ok)throw s="string"===typeof(null===i||void 0===i?void 0:i.error)&&i.error||"string"===typeof(null===i||void 0===i?void 0:i.details)&&i.details||"We could not complete registration (".concat(r.status,"). Please try again."),new Error(s);if(!(o=null===i||void 0===i||null===(t=i.member)||void 0===t?void 0:t.id))throw new Error("Registration incomplete. Please try again.");return[4,E()];case 7:return c=a.sent().createUserWithEmailAndPassword,[4,E()];case 8:return l=a.sent().getFirebaseAuth(),[4,c(l,ce,he)];case 9:return a.sent(),[4,E()];case 10:if(u=a.sent().getFirebaseAuth,d=u(),!(m=d.currentUser))return[3,31];a.label=11;case 11:return a.trys.push([11,14,,15]),[4,m.getIdToken()];case 12:return h=a.sent(),[4,fetch("/api/auth/setCustomClaim",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(h)},body:JSON.stringify({uid:m.uid,memberId:o})})];case 13:return a.sent(),[3,15];case 14:return f=a.sent(),console.warn("Error setting custom claims:",f),[3,15];case 15:g=0,v=10,a.label=16;case 16:return g<v?(b=d.currentUser)&&b.uid?[3,18]:[4,new Promise((function(e){return setTimeout(e,100)}))]:[3,18];case 17:return a.sent(),g++,[3,16];case 18:return[4,null===(p=d.currentUser)||void 0===p?void 0:p.getIdToken()];case 19:if(!(y=a.sent())||!(Te&&Te.trim()||Oe&&Oe.trim()))return[3,23];a.label=20;case 20:return a.trys.push([20,22,,23]),[4,fetch("/api/tsom/members/update-member",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(y)},body:JSON.stringify({firstName:Te.trim(),lastName:Oe.trim()})})];case 21:return a.sent(),[3,23];case 22:return x=a.sent(),console.warn("Failed to update name during registration:",x),[3,23];case 23:return a.trys.push([23,25,,26]),[4,Promise.resolve().then(n.bind(n,94971))];case 24:return(0,a.sent().signUpEvent)("email",H),[3,26];case 25:return a.sent(),[3,26];case 26:if(Ve)return[3,31];a.label=27;case 27:return a.trys.push([27,30,,31]),[4,Promise.resolve().then(n.bind(n,94971))];case 28:return N=a.sent().trackActiveCampaignEvent,w={email:ce,userType:Ye,source:H,timestamp:(new Date).toISOString(),registrationLocation:G?Y.pathname:"login_form",hasName:!(!Te||!Oe)},[4,N("registered_reader_created",JSON.stringify(w),ce)];case 29:return a.sent(),[3,31];case 30:return a.sent(),[3,31];case 31:return G||ze(!1),[3,34];case 32:return(j=a.sent()).message.includes("auth/email-already-in-use")?Ne("An account with this email already exists. Please try signing in instead."):j.message.includes("auth/weak-password")?be("Password should be at least 6 characters"):Ne(j.message),We(!1),null===T||void 0===T||T(!1),[3,34];case 33:return me(!1),[7];case 34:return[2]}}
1))}));return function(t){return e.apply(this,arguments)}}(),lt=function(e){e.preventDefault();var t=e.target.value;le(t),Ne((function(e){return e?"Email is required"===e||e.includes("is not a valid email")?null:e:null}))},ut=function(e){e.preventDefault();var t=e.target.value;t.length?be(null):be("Password is required"),fe(t)},dt=q||!!V&&!Ge;return(0,o.jsx)(o.Fragment,{children:(0,o.jsxs)("div",{className:"login-card ".concat("upgradePrompt"===ie?"upgrade-modal":""," ").concat("newsletterSelection"===ie?"newsletter-selection-modal":""," ").concat(["upgradePrompt","newsletterSelection","podcastDiscovery","appPromotion"].includes(ie)?"enhanced-signup-step":""," ").concat(["emailPrompt","passwordPrompt","registrationPrompt","nameCollection"].includes(ie)?"auth-step":""," ").concat(["upgradePrompt","newsletterSelection","podcastDiscovery","appPromotion"].includes(ie)?"content-step":""," ").concat("nameCollection"===ie?"nameCollection":""),children:["upgradePrompt"===ie&&Xe&&(0,o.jsx)("div",{className:"payment-form-wrapper",children:(0,o.jsx)(C.Z,{isVisible:!0,isInline:!0,onClose:function(){return et(!1)},onPaymentSuccess:function(){et(!1),tt()},widget:"enhanced_signup"})}),q&&(0,o.jsx)("div",{className:"login-overlay",children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{children:"Just a second..."}),(0,o.jsx)(b(),{type:"bubbles",height:20,width:40})]})}),V&&!Ge&&!["newsletterSelection","podcastDiscovery","appPromotion","nameCollection","upgradePrompt","loginDone","signupComplete"].includes(ie)&&"loginDone"!==ie&&(0,o.jsx)("div",{className:"login-overlay logged-in",children:(0,o.jsx)("div",{children:(0,o.jsxs)("h2",{children:["Thanks",V.displayName?" ".concat(V.displayName):"",", you're signed in."]})})}),"emailPrompt"===ie&&(0,o.jsxs)("form",{className:"login-wrap",onSubmit:at,children:[(0,o.jsx)("h1",{children:v||"Sign in or sign up for your free account"}),(0,o.jsx)("p",{style:{marginBottom:"20px",color:"#666"},children:S||(B?"React to comments, access your account, newsletter subscriptions and recommended reading":"Access your account, newsletter subscriptions and recommended reading")}),(0,o.jsx)("div",{className:"login-form",children:(0,o.jsxs)("div",{className:"form-control",children:[(0,o.jsx)("div",{className:"form-label",children:(0,o.jsx)("label",{htmlFor:"email",children:"Email address"})}),(0,o.jsx)("input",{id:"email",type:"email",value:ce,onChange:lt,disabled:dt})]})}),xe&&(0,o.jsx)("div",{className:"error",dangerouslySetInnerHTML:{__html:xe}}),(0,o.jsx)("div",{className:"form-actions step2",children:(0,o.jsx)(l.Z,{loading:q||de,type:"submit",className:"primary",disabled:dt,children:"Continue"})})]}),"failedLogin"===ie&&(0,o.jsxs)("form",{className:"login-wrap",onSubmit:at,children:[(0,o.jsx)("h1",{children:"Sign in"}),(0,o.jsx)("div",{className:"login-form",children:(0,o.jsxs)("div",{className:"form-control",children:[(0,o.jsx)("div",{className:"form-label",children:(0,o.jsx)("label",{htmlFor:"email",children:"Email"})}),(0,o.jsx)("input",{id:"email",type:"email",value:ce,onChange:lt,disabled:dt})]})}),xe&&(0,o.jsx)("div",{className:"error",dangerouslySetInnerHTML:{__html:xe}}),(0,o.jsx)("div",{className:"form-actions step2",children:(0,o.jsx)(l.Z,{loading:q||de,type:"submit",className:"primary",disabled:dt,children:"Sign in"})})]}),"magicLinkSent"===ie&&(0,o.jsxs)("div",{className:"member-profile member-message",children:[(0,o.jsx)("h1",{children:"You got it!"}),(0,o.jsx)("p",{children:'Nice. Check your inbox for an email titled "Sign in to Spinoff Members". To complete your sign in you just need to click the link in that email.'}),(0,o.jsx)("p",{children:"If you can't find the email, make sure to check your spam folder."})]}),"pressPatronEmailSent"===ie&&(0,o.jsxs)("div",{className:"member-profile",children:[(0,o.jsx)("h1",{children:"Welcome Press Patron User!"}),(0,o.jsx)("p",{children:"Kia ora, it looks like you're a member who has donated via Press Patron. We've sent you an email to set up a new password for your Spinoff account. Please check your spam if it's not in your inbox."})]}),"forgotPasswordSent"===ie&&(0,o.jsxs)("div",{className:"member-profile member-message",children:[(0,o.jsx)("h1",{children:"You got it!"}),(0,o.jsx)("p",{children:"We've sent you an email to reset your password. Please check your spam if it's not in your inbox."})]}),"passwordPrompt"===ie&&(0,o.jsxs)("form",{onSubmit:ot,children:[(0,o.jsx)("h1",{children:v||"Sign in or sign up for your free account"}),(0,o.jsx)("p",{style:{marginBottom:"20px",color:"#666"},children:S||"Access your account, newsletter subscriptions and recommended reading"}),(0,o.jsxs)("div",{className:"login-form",children:[(0,o.jsxs)("div",{className:"form-control",children:[(0,o.jsx)("div",{className:"form-label",children:(0,o.jsx)("label",{htmlFor:"email",children:"Email address"})}),(0,o.jsx)("input",{id:"email",type:"email",autoComplete:"username",disabled:!!t,value:ce,readOnly:!0})]}),xe&&(0,o.jsx)("div",{className:"error",dangerouslySetInnerHTML:{__html:xe}}),(0,o.jsxs)("div",{className:"form-control",children:[(0,o.jsx)("div",{className:"form-label",children:(0,o.jsx)("label",{htmlFor:"password",children:"Password"})}),(0,o.jsx)("input",{id:"password",type:"password",value:he,autoComplete:"current-password",onChange:ut,disabled:dt})]}),(0,o.jsx)("div",{className:"forgot-password",onClick:function(e){e.preventDefault(),me(!0),be(null),Ne(null),$(ce,"".concat(window.location.origin).concat(u.at)).then((function(){window.localStorage&&window.localStorage.setItem("emailForSignIn",ce),se("forgotPasswordSent")})).catch((function(e){se("passwordPrompt"),be(e.message)})).finally((function(){me(!1)}))},children:"Forgot password?"}),ve&&(0,o.jsx)("div",{className:"error",dangerouslySetInnerHTML:{__html:ve}}),(0,o.jsx)("div",{className:"form-actions step2",children:(0,o.jsx)(l.Z,{loading:q,type:"submit",className:"primary",disabled:dt,children:"Sign in"})}),!_&&(0,o.jsx)("p",{style:{margin:"0px",textAlign:"center",textDecoration:"underline"},className:"cancel",onClick:function(){se("emailPrompt")},children:"Back"})]})]}),"registrationPrompt"===ie&&(0,o.jsxs)("form",{onSubmit:ct,children:[(0,o.jsx)("h1",{children:"Set up free account"}),(0,o.jsx)("p",{style:{marginBottom:"20px",color:"#666"},children:"Create your free account to manage your newsletters, get recommended reading and more."}),(0,o.jsxs)("div",{className:"login-form",children:[(0,o.jsxs)("div",{className:"form-control",children:[(0,o.jsx)("div",{className:"form-label",children:(0,o.jsx)("label",{htmlFor:"email",children:"Email address"})}),(0,o.jsx)("input",{id:"email",type:"email",autoComplete:"username",disabled:!!t,value:ce,onChange:lt})]}),(0,o.jsxs)("div",{className:"form-control",children:[(0,o.jsx)("div",{className:"form-label",children:(0,o.jsx)("label",{htmlFor:"password",children:"Create password"})}),(0,o.jsx)("input",{id:"password",type:"password",value:he,autoComplete:"new-password",onChange:ut,disabled:dt})]}),ve&&(0,o.jsx)("div",{className:"error",children:ve}),(0,o.jsxs)("div",{className:"form-control",children:[(0,o.jsx)("div",{className:"form-label",children:(0,o.jsx)("label",{htmlFor:"confirmPassword",children:"Re-enter password"})}),(0,o.jsx)("input",{id:"confirmPassword",type:"password",value:je,autoComplete:"new-password",onChange:function(e){e.preventDefault();var t=e.target.value;t.length?_e(t!==he?"Passwords don't match":null):_e("Please confirm your password"),Ce(t)},disabled:dt})]}),Se&&(0,o.jsx)("div",{className:"error",children:Se}),(0,o.jsx)("div",{className:"form-control",children:(0,o.jsxs)("p",{style:{fontSize:"14px",color:"#666",lineHeight:"1.4"},children:["By signing up to The Spinoff you agree to our"," ",(0,o.jsx)("a",{href:"/privacy-policy",target:"_blank",rel:"noopener noreferrer",style:{textDecoration:"underline"},children:"privacy policy"}),"."]})})]}),xe&&(0,o.jsx)("div",{className:"error",children:xe}),(0,o.jsx)("div",{className:"form-actions step2",children:(0,o.jsx)(l.Z,{loading:q||de,type:"submit",className:"primary gtm-create-free-account",disabled:dt,children:"newsletter"===Ye?"Activate free account":"Create free account"})}),!_&&!A&&(0,o.jsx)("p",{style:{margin:"0px",textAlign:"center",textDecoration:"underline"},className:"cancel",onClick:function(){se("emailPrompt")},children:"Back"})]}),"nameCollection"===ie&&(!(z&&z.firstName&&z.lastName&&z.firstName.trim()&&z.lastName.trim()&&!Ke)||(se("upgradePrompt"),null))&&(0,o.jsxs)("form",{className:"login-wrap",onSubmit:function(){var e=(0,r.Z)((function(e){var t,n,r,o,c,l,u,d,m,p,h,f;return(0,a.__generator)(this,(function(a){switch(a.label){case 0:if(e.preventDefault(),t=!1,Te.trim()?Fe(null):(Fe("First name is required"),t=!0),Oe.trim()?Le(null):(Le("Last name is required"),t=!0),t)return[2];me(!0),a.label=1;case 1:return a.trys.push([1,12,13,14]),[4,E()];
1case 2:return n=a.sent().getFirebaseAuth,r=n(),(o=r.currentUser)?[4,o.getIdToken()]:[3,11];case 3:return c=a.sent(),[4,fetch("/api/tsom/members/update-member",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(c)},body:JSON.stringify({firstName:Te.trim(),lastName:Oe.trim()})})];case 4:a.sent(),a.label=5;case 5:return a.trys.push([5,10,,11]),[4,fetch("/api/tsom/members/get-member",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(c)}})];case 6:return(l=a.sent()).ok?[4,l.json()]:[3,8];case 7:return u=a.sent(),Q(u),z&&(d=(0,s.Z)((0,i.Z)({},z),{firstName:Te.trim(),lastName:Oe.trim(),name:"".concat(Te.trim()," ").concat(Oe.trim())}),Q(d)),[3,9];case 8:console.warn("Failed to refresh member data from API, using local update"),z&&(m=(0,s.Z)((0,i.Z)({},z),{firstName:Te.trim(),lastName:Oe.trim(),name:"".concat(Te.trim()," ").concat(Oe.trim())}),Q(m)),a.label=9;case 9:return[3,11];case 10:return p=a.sent(),console.warn("Failed to refresh member data:",p),z&&(h=(0,s.Z)((0,i.Z)({},z),{firstName:Te.trim(),lastName:Oe.trim(),name:"".concat(Te.trim()," ").concat(Oe.trim())}),Q(h)),[3,11];case 11:return[3,14];case 12:return f=a.sent(),console.warn("Name collection update failed",f),[3,14];case 13:return me(!1),Ke||se("upgradePrompt"),[7];case 14:return[2]}}
1))}));return function(t){return e.apply(this,arguments)}}(),children:[(0,o.jsx)("h1",{children:"Tell us your name"}),(0,o.jsxs)("div",{className:"login-form",children:[(0,o.jsxs)("div",{className:"form-control",children:[(0,o.jsx)("div",{className:"form-label",children:(0,o.jsx)("label",{htmlFor:"firstName",children:"First name"})}),(0,o.jsx)("input",{id:"firstName",type:"text",value:Te,onChange:function(e){return Pe(e.target.value)},required:!0})]}),Ie&&(0,o.jsx)("div",{className:"error",children:Ie}),(0,o.jsxs)("div",{className:"form-control",children:[(0,o.jsx)("div",{className:"form-label",children:(0,o.jsx)("label",{htmlFor:"lastName",children:"Last name"})}),(0,o.jsx)("input",{id:"lastName",type:"text",value:Oe,onChange:function(e){return Re(e.target.value)},required:!0})]}),Me&&(0,o.jsx)("div",{className:"error",children:Me})]}),(0,o.jsx)("div",{className:"form-actions step2",children:(0,o.jsx)(l.Z,{type:"submit",className:"primary",loading:q||de,disabled:q||de,children:"Continue"})})]}),"upgradePrompt"===ie&&!Xe&&(0,o.jsxs)("div",{className:"upgrade-prompt",children:[(0,o.jsx)("h1",{children:"How you can support local and independent journalism"}),(0,o.jsx)("p",{className:"subheader",children:"Enjoy your free Spinoff account. To keep The Spinoff free to read for all, become a member and help fund the work you value."}),(0,o.jsxs)("div",{className:"upgrade-comparison",children:[(0,o.jsxs)("div",{className:"upgrade-column member-access",children:[(0,o.jsx)("div",{className:"upgrade-badge",children:"Recommended"}),(0,o.jsx)("h2",{children:"Member access"}),(0,o.jsx)("p",{children:"Why become a member?"}),(0,o.jsxs)("ul",{className:"upgrade-features",children:[(0,o.jsx)("li",{children:"\u2713 No pop-ups"}),(0,o.jsx)("li",{children:"\u2713 Read with fewer interruptions"}),(0,o.jsx)("li",{children:"\u2713 Only members can comment on site"}),(0,o.jsx)("li",{children:"\u2713 Early access to Spinoff events and series launches"}),(0,o.jsx)("li",{children:"\u2713 Weekly global news digest"}),(0,o.jsx)("li",{children:"\u2713 Semi-regular updates from us"}),(0,o.jsx)("li",{children:"\u2713 Join a like-minded community that supports independent journalism"})]}),(0,o.jsx)(l.Z,{className:"enhanced-signup-button upgrade-variant gtm-donate-upgrade",onClick:function(){return et(!0)},loading:q,disabled:q,children:"Donate to upgrade"})]}),(0,o.jsxs)("div",{className:"upgrade-column current-access",children:[(0,o.jsx)("h2",{children:"Current access"}),(0,o.jsx)("p",{children:"Thanks for signing up for your free account. You can now access your profile, where you can:"}),(0,o.jsxs)("ul",{className:"upgrade-features",children:[(0,o.jsx)("li",{children:"\u2713 Edit your profile"}),(0,o.jsx)("li",{children:"\u2713 View your saved articles"}),(0,o.jsx)("li",{children:"\u2713 View your newsletter subsciptions"}),(0,o.jsx)("li",{children:"\u2713 View your recommended reading"})]}),(0,o.jsx)(l.Z,{className:"enhanced-signup-button gtm-continue-with-free-account",onClick:function(){ze(!1),$e(!0),L?nt():se("newsletterSelection")},loading:q,disabled:q,children:"Continue with free account"})]})]})]}),"newsletterSelection"===ie&&!rt&&(0,o.jsxs)(o.Fragment,{children:[Ve&&z&&"member"===z.type&&!1!==D&&(0,o.jsx)("div",{className:"login-card content-step",children:(0,o.jsxs)("div",{className:"existing-member-message",children:[(0,o.jsx)("h1",{children:"Thank you for your donation!"}),(0,o.jsx)("p",{children:"As an existing member, you don't need to go through the signup process again."}),(0,o.jsx)(l.Z,{className:"enhanced-signup-button members-orange",onClick:function(){nt()},loading:!1,children:"Continue to your account"})]})}),(!Ve||!z||"member"!==z.type||!1===D)&&(0,o.jsx)(w.Y,{onContinue:function(){return se("podcastDiscovery")},onCancel:P,isEmbed:_,cameFromDonation:Ve,returnFromPayment:R,member:z,email:ce,hideSaveLater:U,onStepChange:function(e){e===d.ne.ENHANCED_NEWSLETTER_SELECTION&&se("newsletterSelection"),e===d.ne.ENHANCED_PODCAST_DISCOVERY&&se("podcastDiscovery"),e===d.ne.ENHANCED_APP_PROMOTION&&se("appPromotion")}})]}),"podcastDiscovery"===ie&&!rt&&(0,o.jsx)(j.g,{onContinue:function(){return se("appPromotion")},onCancel:P,isEmbed:_,hideSaveLater:U,onStepChange:function(e){e===d.ne.ENHANCED_NEWSLETTER_SELECTION&&se("newsletterSelection"),e===d.ne.ENHANCED_PODCAST_DISCOVERY&&se("podcastDiscovery"),e===d.ne.ENHANCED_APP_PROMOTION&&se("appPromotion")}}),"appPromotion"===ie&&!rt&&(0,o.jsx)(N.r,{onComplete:function(){G?Y.push("/profile"):P&&P()},onCancel:P,isEmbed:G,selectedNewsletters:[],hideSaveLater:U,onStepChange:function(e){e===d.ne.ENHANCED_NEWSLETTER_SELECTION&&se("newsletterSelection"),e===d.ne.ENHANCED_PODCAST_DISCOVERY&&se("podcastDiscovery"),e===d.ne.ENHANCED_APP_PROMOTION&&se("appPromotion")}}),"signupComplete"===ie&&Ge&&!rt&&(0,o.jsx)("div",{className:"login-card content-step enhanced-signup-step",children:(0,o.jsx)("div",{className:"signup-complete",children:(0,o.jsx)(l.Z,{className:"enhanced-signup-button members-orange",onClick:function(){G?Y.push("/profile"):P&&P()},loading:!1,children:G?"Take me to my profile":"Continue"})})})]})})}},79511:function(e,t,n){n.d(t,{AK:function(){return i},al:function(){return r},at:function(){return s}});var r={pijf:"PIJF",ne:"PIJF-0022",irl:"PIJF-0023","next-page":"PIJF-0040","pacific-communities-editor":"PIJF-0049","maori-political-reporter":"PIJF-0066","pijf-the-quarter-million":"PIJF-0071","pijf-local-elections-2022":"PIJF-0086"},i="spinoff-formatted",s="/members/login?".concat("finishSignIn","
1=true")},80599:function(e,t,n){n.d(t,{_:function(){return r}});var r=function(e,t){return fetch(e,t?{headers:{Authorization:"Bearer ".concat(t)}}:{}).then((function(e){return e.json()}))}},35384:function(e,t,n){n.d(t,{n:function(){return o}});var r=n(26042),i=n(69396),s=n(57321),a=n(94971),o=function(){var e=(0,s.K)(),t=e.member,n=e.user;return{trackConversion:function(e){return(0,a.trackUnifiedConversion)((0,i.Z)((0,r.Z)({},e),{member:t,user:n}))},trackPayment:function(e){return(0,a.trackPaymentEvent)(e)},isEnabled:!0}}},19073:function(e,t,n){n.d(t,{q:function(){return s}});var r=n(67294),i="keyup",s=function(e){var t=(0,r.useCallback)((function(t){"Escape"===t.key&&e()}),[e]);(0,r.useEffect)((function(){return document.addEventListener(i,t,!1),function(){document.removeEventListener(i,t,!1)}}),[t])}},17650:function(e,t,n){n.d(t,{K:function(){return o}});var r=n(51438),i=n(52951),s=n(96486),a={messenger:/\bFB[\w_]+\/(Messenger|MESSENGER)/,facebook:/\bFB[\w_]+\//,twitter:/\bTwitter/i,line:/\bLine\//i,wechat:/\bMicroMessenger\//i,puffin:/\bPuffin/i,miui:/\bMiuiBrowser\//i,instagram:/\bInstagram/i,chrome:/\bCrMo\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?/,safari:/Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari/,ie:/IEMobile|MSIEMobile/,firefox:/fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS/},o=function(){function e(t){(0,r.Z)(this,e),this.ua="",this.ua=t.toLowerCase()}return(0,i.Z)(e,[{key:"browser",get:function(){var e=this;return(0,s.findKey)(a,(function(t){return t.test(e.ua)}))||"other"}},{key:"isMobile",get:function(){return/(ipad|iphone|android|mobile)/i.test(this.ua)||!1}},{key:"isDesktop",get:function(){return!this.isMobile}},{key:"isInApp",get:function(){var e=new RegExp("(".concat(["webview","(iphone|ipod|ipad)(?!.*safari/)","android.*(wv)","The Spinoff App"].join("|"),")"),"ig");return Boolean(this.ua.match(e))}},{key:"isSpinoffApp",get:function(){return/The Spinoff App/i.test(this.ua)||/App\/(ios|android)/i.test(this.ua)||window.navigator&&window.navigator.standalone||window.matchMedia&&window.matchMedia("(display-mode: standalone)").matches||window.matchMedia&&window.matchMedia("(display-mode: fullscreen)").matches||window.matchMedia&&window.matchMedia("(display-mode: minimal-ui)").matches}}]),e}()},14271:function(e,t,n){n.d(t,{DT:function(){return s}});var r=n(11163),i=n(67294),s=function(){var e=(0,r.useRouter)(),t=(0,i.useState)(null),n=t[0],s=t[1];return(0,i.useEffect)((function(){if(e.isReady){var t=e.query.email;if(t)try{var n=decodeURIComponent(t);n=n.replace(/\s/g,"+");/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(n)?s(n):console.warn("Invalid email format in URL:",n)}catch(r){console.warn("Failed to decode email parameter:",r)}}}),[e.isReady,e.query.email]),n}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.