1import{d as I,k as O,J as $,r as h,o as W,N as q,c as r,b as s,u as n,F as _,m as P,K as N,t as f,j as H,i as K,L as v,M as w,e as l,g as D,w as A,_ as J,a as d,n as z,ai as G,q as C,h as Z}from"#entry";import{C as u,R as Q}from"./niThO7um.js";const X={class:"transition-ctr"},Y={id:"content-page"},ee={class:"cs-content-default"},se={class:"cs-container"},te={class:"cs-content cs-content-standard"},ne={key:0,class:"error-panel"},oe={class:"reason-set"},ae=["onUpdate:modelValue","value","disabled"],le={class:"reason-label"},ie={key:1,class:"field"},re=["disabled"],de={class:"field",style:{display:"none"}},ue={class:"field"},ce=["disabled"],pe=["disabled"],me={class:"reassurance"},be={key:0,class:"reinstall"},he=["href"],fe={key:1,class:"reinstall"},ve=["href"],ye=["href"],ke={class:"button-ctr"},ge="RankRecon uninstall feedback",_e="[email protected]",we="n/a",Ce=1500,xe=I({__name:"uninstall",setup(Ee){const m=O(),M=m.public.clientId,U=m.public.apiBaseUrl,y=m.public.rankreconChromeUrl,x=m.public.rankreconFirefoxUrl,E=$(),R=[{value:"didnt-work",label:"Didn't work on the searches I tried"},{value:"too-complicated",label:"Too complicated / didn't understand the results"},{value:"not-what-i-wanted",label:"Not what I was looking for"},{value:"privacy",label:"Privacy concerns"},{value:"better-tool",label:"Found a better tool"},{value:"other",label:"Other"}],a=h(!1),c=h(u.Loaded),b=h(""),S=h(0),t=K({reason:"",otherDetail:"",anythingElse:"",jobTitle:""}),T={chrome:{label:"the Chrome Web Store",url:y},firefox:{label:"Firefox Add-ons",url:x},edge:{label:"the Chrome Web Store",url:y}},k=C(()=>{const i=String(E.query.browser??"").toLowerCase();return i in T?i:""}),L=C(()=>String(E.query.v??"").replace(/[^0-9a-zA-Z.-]/g,"").slice(0,20)),g=C(()=>k.value?T[k.value]:null);W(()=>{S.value=Date.now()});const j=()=>t.jobTitle.length>0?!0:Date.now()-S.value<Ce,B=()=>{const i=R.find(p=>p.value===t.reason),e=["RankRecon uninstall feedback","",`Reason: ${i?i.label:t.reason}`];return t.reason==="other"&&t.otherDetail.trim()&&e.push(`Other - what happened: ${t.otherDetail.trim()}`),t.anythingElse.trim()&&e.push(`Anything else: ${t.anythingElse.trim()}`),e.push("",`Browser: ${k.value||"not supplied"}
1`),e.push(`Extension version: ${L.value||"not supplied"}`),e.join(` 2`)},F=async()=>{if(!t.reason||a.value)return;if(a.value=!0,c.value=u.Loading,b.value="",j()){c.value=u.Complete,a.value=!1;return}const i=new Q(M,ge,_e,we,B());try{(await $fetch(`${U}/contact`,{method:"POST",body:JSON.stringify(i),headers:{"Content-Type":"application/json"}}))?.success?c.value=u.Complete:(c.value=u.Error,b.value="That didn't send, sorry. Have another go?")}catch(e){c.value=u.Error;const p=Number(e?.statusCode??e?.status??0);b.value=p===429||p===503?"We're getting a lot of these right now. Try again in a minute?":"That didn't send, sorry. Have another go?",console.error("RankRecon uninstall feedback submission error",e)}finally{a.value=!1}};return q({meta:[{name:"robots",content:"noindex, follow"}]}),(i,e)=>{const p=J;return d(),r("div",X,[s("div",Y,[s("section",ee,[s("div",se,[s("div",te,[e[18]||(e[18]=s("h1",{class:"cs-title"},"Sorry to see you go",-1)),n(c)!==n(u).Complete?(d(),r(_,{key:0},[e[10]||(e[10]=s("p",{class:"lead"},"One click helps us improve:",-1)),s("form",{class:"feedback-form",onSubmit:P(F,["prevent"])},[n(c)===n(u).Error?(d(),r("div",ne,[s("p",null,f(n(b)),1)])):N("",!0),s("fieldset",oe,[e[3]||(e[3]=s("legend",{class:"visually-hidden"},"Why did you uninstall RankRecon?",-1)),(d(),r(_,null,H(R,o=>s("label",{key:o.value,class:z(["reason",{selected:t.reason===o.value}])},[v(s("input",{"onUpdate:modelValue":V=>t.reason=V,type:"radio",name:"reason",value:o.value,disabled:n(a)},null,8,ae),[[G,t.reason]]),s("span",le,f(o.label),1)],2)),64))]),t.reason==="other"?(d(),r("label",ie,[e[4]||(e[4]=s("span",{class:"field-label"},"What happened? (optional)",-1)),v(s("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>t.otherDetail=o),class:"field-input",type:"text",name:"other_detail",maxlength:"200",disabled:n(a)},null,8,re),[[w,t.otherDetail]])])):N("",!0),s("label",de,[e[5]||(e[5]=s("span",{class:"field-label"},"Job title",-1)),v(s("input",{"onUpdate:modelValue":e[1]||(e[1]=o=>t.jobTitle=o),class:"field-input",type:"text",name:"job_title"},null,512),[[w,t.jobTitle]])]),s("label",ue,[e[6]||(e[6]=s("span",{class:"field-label"},"Anything else? (optional)",-1)),v(s("textarea",{"onUpdate:modelValue":e[2]||(e[2]=o=>t.anythingElse=o),class:"field-input field-textarea",name:"anything_else",maxlength:"1000",disabled:n(a)},null,8,ce),[[w,t.anythingElse]])]),s("button",{class:"cs-button-solid submit",type:"submit",disabled:!t.reason||n(a)},f(n(a)?"Sendingâ¦":"Send feedback"),9,pe),s("p",me,[e[8]||(e[8]=l("No n
2ame, no email, no account - we have no idea who you are, and we would like to keep it that way. ",-1)),D(p,{to:"/rankrecon/privacy/",class:"cs-link"},{default:A(()=>[...e[7]||(e[7]=[l("Privacy policy",-1)])]),_:1}),e[9]||(e[9]=l(".",-1))])],32)],64)):(d(),r(_,{key:1},[e[17]||(e[17]=s("div",{class:"summary-callout thanks"},[s("div",{class:"summary-icon"},[s("span",{class:"ms-icon"},"check")]),s("div",{class:"summary-content"},[s("h2",null,"Thank you"),s("p",null,"That is genuinely useful. RankRecon is a one-person project, so every answer here changes what gets built next.")])],-1)),n(g)?(d(),r("p",be,[e[11]||(e[11]=l(" Changed your mind? ",-1)),s("a",{href:n(g).url,target:"_blank",rel:"noopener",class:"cs-link"},"Reinstall from "+f(n(g).label),9,he),e[12]||(e[12]=l(". ",-1))])):(d(),r("p",fe,[e[13]||(e[13]=l(" Changed your mind? Reinstall from ",-1)),s("a",{href:n(y),target:"_blank",rel:"noopener",class:"cs-link"},"the Chrome Web Store",8,ve),e[14]||(e[14]=l(" or ",-1)),s("a",{href:n(x),target:"_blank",rel:"noopener",class:"cs-link"},"Firefox Add-ons",8,ye),e[15]||(e[15]=l(". ",-1))])),s("div",ke,[D(p,{to:"/rankrecon/",class:"cs-button-solid"},{default:A(()=>[...e[16]||(e[16]=[l("About RankRecon",-1)])]),_:1})])],64))])])])])])}}}),Te=Z(xe,[["__scopeId","data-v-66f61375"]]);export{Te as default};
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.