PageSourceSearch

https://app.8figures.com/chunk-6LLI2RJM.js

js 8figures.com collected 2026-09-24 21:59:27 UTC 7,247 bytes, 1 lines download raw bytes

1import{b as B,c as R,d as N,f as j,g as H}from"./chunk-BF2XFCWJ.js";import{a as I}from"./chunk-2YMCZXOH.js";import"./chunk-BDXCO4SD.js";import{b as O}from"./chunk-S37UWWBK.js";import{a as L,b as A}from"./chunk-RX4QMHD5.js";import{x as z,y as D}from"./chunk-JJOIM4NJ.js";import{i as U,m as P,o as V}from"./chunk-CSNJOHYL.js";import"./chunk-UTRZTJIB.js";import"./chunk-FG5FK2MT.js";import{$b as F,Fb as C,Hb as g,Jb as s,Ma as b,Qa as c,T as y,Tb as w,Ub as l,Y as r,Zb as S,_b as M,ba as u,ca as m,db as v,n as k,pb as h,qb as p,qc as E,vb as f,wb as o,xb as a,yb as T}from"./chunk-ETJYMCWV.js";import"./chunk-M6FDUCGJ.js";import{f as d}from"./chunk-SE5JAREP.js";var W=(()=>{class t{http=r(D);apiPath="/api/churnfeedback";submitSurvey(e,n){return d(this,null,function*(){let i={reasonCode:e,responseText:n??null};return k(yield this.http.post(`${this.apiPath}/survey`,i))})}getSubscriptionStatus(){return d(this,null,function*(){return k(yield this.http.get(`${this.apiPath}/subscription-status`))})}submitFeedbackText(e,n){return d(this,null,function*(){if(!e?.trim())throw new Error("UID is required for feedback text submission");return k(yield this.http.post(`${this.apiPath}/feedback-text/${e}`,{feedbackText:n}))})}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function G(t,_){if(t&1&&(o(0,"a",5),l(1," Book a 30-min call, get $50 gift card "),a()),t&2){let e=s(2);f("href",e.calendlyUrl,b)}}function q(t,_){if(t&1){let e=C();o(0,"div",3)(1,"p",4),l(2," We appreciate you sharing more \u2014 it helps us improve 8FIGURES for everyone. "),a(),h(3,G,2,1,"a",5),o(4,"ui-button",6),g("onClick",function(){u(e);let i=s();return m(i.goToLogin())}),a()()}if(t&2){let e=s();c(3),p(e.hasValidUid?3:-1)}}function X(t,_){if(t&1&&(o(0,"a",5),l(1," Book a 30-min call, get $50 gift card "),a()),t&2){let e=s(2);f("href",e.calendlyUrl,b)}}function Y(t,_){t&1&&(o(0,"p",9),l(1,"Something went wrong \u2014 please try again."),a())}function K(t,_){if(t&1){let e=C();o(0,"p",4),l(1," We're sorry to see you go. Your feedback helps us build a better product. "),a(),h(2,X,2,1,"a",5),o(3,"p",7),l(4,"Anything else you'd like us to know? (optional)"),a(),o(5,"textarea",8),F("ngModelChange",function(i){u(e);let x=s();return M(x.feedbackText,i)||(x.feedbackText=i),m(i)}),a(),h(6,Y,2,0,"p",9),o(7,"div",10)(8,"ui-button",11),g("onClick",function(){u(e);let i=s();return m(i.submitFeedback())}),a(),o(9,"ui-button",12),g("onClick",function(){u(e);let i=s();return m(i.goToLogin())}),a()()}if(t&2){let e=s();c(2),p(e.hasValidUid?2:-1),c(3),S("ngModel",e.feedbackText),c(),p(e.hasError?6:-1),c(2),f("disabled",!e.feedbackText.trim()||e.isSubmitting||!e.hasValidUid)}}var J="https://calendly.com/anton-8figures/30min",ge=(()=>{class t{route=r(P);router=r(V);churnFeedbackApi=r(W);appLog=r(z);analyticsTracker=r(A);cdr=r(E);meta=r(U);className="ui-page";calendlyUrl=J;isSubmitting=!1;isSubmitted=!1;hasError=!1;feedbackText="";uid="";hasValidUid=!1;static UUID_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;ngOnInit(){this.meta.updateTag({name:"robots",content:"noindex, nofollow"});let e=this.route.snapshot.queryParams.uid??"";this.hasValidUid=t.UUID_REGEX.test(e),this.uid=this.hasValidUid?e:"",this.hasValidUid&&this.analyticsTracker.track(L.CHURN_EMAIL_CLICKED,{uid:this.uid})}submitFeedback(){return d(this,null,function*(){let e=this.feedbackText.trim();if(!(!e||this.isSubmitting||!this.hasValidUid)){this.isSubmitting=!0,this.hasError=!1,this.cdr.markForCheck();try{yield this.churnFeedbackApi.submitFeedbackText(this.uid,e),this.isSubmitted=!0}catch(n){this.hasError=!0,yield this.appLog.log("Failed to submit churn feedback text","ChurnFeedbackThanksComponent.submitFeedback()",n)}finally{this.isSubmitting=!1,this.cdr.markForCheck()}}})}goToLogin=()=>{this.router.navigate(["/login"])};static \u0275fac=function(n){return new(n||t)};static \u0275cmp=v({type:t,selectors:[["app-churn-feedback-thanks"]],hostVars:2,hostBindings:function(n,i){n&2&&w(i.className)},decls:5,vars:2,consts:[[1,"main","ui"],["title","Thanks for letting us know!",3,"backCallback"],[1,"churn-thanks"],[1,"churn-thanks__submitted"],[1,"churn-thanks__message"],["target","_blank","rel","noopener noreferrer",1,"churn-thanks__calendly-link",3,"href"],["text","Back to login",3,"onClick"],[1,"churn-thanks__prompt"],["placeholder","Tell us what we could have done better...","rows","5","maxlength","2000","aria-label","Additional feedback",1,"churn-thanks__textarea",3,"ngModelChange","ngModel"],[1,"churn-thanks__error"],[1,"churn-thanks__actions"],["text","Send feedback",3,"onClick","disabled"],["text","No thanks","color","secondary",3,"onClick"]],template:function(n,i){n&1&&(o(0,"div",0),T(1,"ui-header",1),o(2,"div",2),h(3,q,5,
11,"div",3)(4,K,10,4),a()()),n&2&&(c(),f("backCallback",i.goToLogin),c(2),p(i.isSubmitted?3:4))},dependencies:[O,I,H,B,R,j,N],styles:["@media(min-width:47.9375rem){[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%}[_nghost-%COMP%]   .main[_ngcontent-%COMP%]{overflow:hidden;width:30rem;border-radius:1rem;margin-top:1rem;margin-bottom:1rem}}.main.ui[_ngcontent-%COMP%]{padding:var(--safe-area-top) 1rem var(--safe-area-bottom, 0);background-color:var(--ui-body-bg);overflow-y:auto}@media screen and (min-width:47.9375rem){.main.ui[_ngcontent-%COMP%]{border-radius:1rem;border:.0625rem solid var(--ui-main-desktop-border-color)}}.churn-thanks[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--sys-space-lg);padding:var(--sys-space-lg) 0}.churn-thanks__message[_ngcontent-%COMP%]{margin:0;font-size:var(--sys-font-size-body);color:var(--sys-color-on-surface-variant);line-height:1.5}.churn-thanks__prompt[_ngcontent-%COMP%]{margin:0;font-size:var(--sys-font-size-label);color:var(--sys-color-on-surface-muted)}.churn-thanks__calendly-link[_ngcontent-%COMP%]{display:inline-block;font-size:var(--sys-font-size-label);font-weight:600;color:var(--sys-color-primary);text-decoration:underline;text-underline-offset:2px}.churn-thanks__calendly-link[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--sys-color-primary);outline-offset:2px;border-radius:2px}.churn-thanks__textarea[_ngcontent-%COMP%]{width:100%;box-sizing:border-box;padding:var(--sys-space-sm) var(--sys-space-md);background:var(--sys-color-surface-container-highest);border:1px solid var(--sys-color-outline);border-radius:var(--sys-radius-sm);color:var(--sys-color-on-surface);font-size:var(--sys-font-size-body);font-family:inherit;resize:vertical;outline:none;transition:border-color .2s ease}.churn-thanks__textarea[_ngcontent-%COMP%]::placeholder{color:var(--sys-color-on-surface-faint)}.churn-thanks__textarea[_ngcontent-%COMP%]:focus-visible{border-color:var(--sys-color-primary);box-shadow:0 0 0 2px #ff611d40}.churn-thanks__actions[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--sys-space-sm)}.churn-thanks__error[_ngcontent-%COMP%]{margin:0;font-size:var(--sys-font-size-label);color:#d90d0d}.churn-thanks__submitted[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--sys-space-lg)}"],changeDetection:0})}return t})();export{ge as ChurnFeedbackThanksComponent};

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.