PageSourceSearch

https://faptap.net/assets/Preferences.35be7055.js

js faptap.net collected 2026-09-25 22:11:11 UTC 11,352 bytes, 1 lines download raw bytes

1import{d as I,u as v,b as y,r as N,ao as R,ap as U,w as z,K as j,f as o,i as n,h as w,j as r,n as p,_ as f,p as Y,t as u,aq as W,l as i,D as $,F as Z,a as k,s as _,v as d,x as g,z as x,m as b,k as q,ar as H,e as K}from"./index.16ba4ea0.js";import"./vendor-highcharts.9b480a8e.js";import"https://cdn.jsdelivr.net/npm/[email protected]/dist/buttplug-wasm.mjs";const L={class:"px-2 container"},J={class:"text-center"},O={key:0,class:"text-zinc-300"},Q={key:1,class:"text-zinc-300"},X={class:"flex justify-center mb-4"},ee={class:"grid grid-cols-1 lg:grid-cols-3 gap-6 items-center p-3 mt-4"},se={class:"text-center pt-5"},ae={key:0,class:"text-zinc-300"},te={key:1,class:"text-zinc-300"},le={class:"grid grid-cols-1 pt-8 px-4 w-full sm:w-3/5 mx-auto gap-8"},ne={class:"flex items-center justify-between"},re={class:"font-medium text-lg"},oe={key:0,class:"text-sm text-center text-red-500"},de={key:0,class:"text-red-500 text-sm -mt-1.5"},ue={key:1,class:"text-red-500 text-sm -mt-1.5"},ie={key:2,class:"text-sm text-center text-red-500"},me={key:3,class:"text-sm text-center text-green-400"},pe={key:0,class:"text-red-500 text-sm -mt-1.5"},ce={key:1,class:"text-red-500 text-sm -mt-1.5"},we={key:2,class:"text-sm text-center text-red-500"},fe={key:3,class:"text-sm text-center text-green-400"},ge={key:0,class:"text-red-500 text-sm -mt-1.5"},ve={key:1,class:"text-sm text-center text-red-500"},ye={key:2,class:"text-sm text-center text-green-500"},Ve=I({__name:"Preferences",setup(xe){const{isProduction:A}=v(),c=v(),P=y(!1),h=y(!1),V=y(!1),C=_();let T=y();const G=async()=>{C.push("/"),c.setUser(null),window.location.reload(),s.value={}},a=N({fields:{newPassword:"",username:"",password:"",newusername:""},loadingupdateusername:!1,loadingpassword:!1,loadingdeleteaccount:!1}),B=async()=>{a.loadingpassword=!0;try{await S()}catch{a.loadingpassword=!1;return}try{await k.user.updatePassword(a.fields.password,a.fields.newPassword),a.loadingpassword=!1,a.fields.newPassword="",a.fields.password="",s.value.generalpasswordsuccess="Your password has been updated successfully.",s.value.generalpassword="",setTimeout(()=>{s.value.generalpasswordsuccess=""},2e3)}catch(l){s.value.generalpassword=l}finally{a.loadingpassword=!1}},s=y({}),M=R().shape({username:U().required("Required field. Please enter your username.").min(3,"Username too short. Please use 3 characters or more.").max(20,"Username can be at most 20 characters long").matches(/^[a-zA-Z0-9]+$/,"Invalid input. Please use only letters and numbers."),newusername:U().required("Required field. Please enter your new username.").min(3,"Username too short. Please use 3 characters or more.").max(20,"Username can be at most 20 characters long").matches(/^[a-zA-Z0-9]+$/,"Invalid input. Please use only letters and numbers."),password:U().required("Required field. Please enter your password.").min(6,"Password too short. Please use 6 characters or more.").max(60,"Password can be at most 60 characters long"),newPassword:U().required("Required field. Please enter your new password.").min(6,"Password too short. Please use 6 characters or more.").max(60,"Password can be at most 60 characters long")}),m=async l=>{try{await M.validateAt(l,a.fields),delete s.value[l]}catch(e){s.value[l]=e.errors[0]}},S=async()=>{try{await M.validate(a.fields,{abortEarly:!1}),s.value={}}catch(l){s.value=l.inner.reduce((e,t)=>(e[t.path]=t.message,e),{})}},D=async()=>{a.loadingupdateusername=!0;try{await S()}catch{a.loadingupdateusername=!1;return}try{const l=await k.user.updateUsername(a.fields.newusername,a.fields.password);a.loadingupdateusername=!1,a.fields.newusername="",a.fields.password="",c.setUser(l),s.value.generalusernamesuccess="Your new username is live!",s.value.generalusername="",setTimeout(()=>{s.value.generalusernamesuccess=""},2e3)}catch(l){s.value.generalusername=l}finally{a.loadingupdateusername=!1}},E=async()=>{a.loadingdeleteaccount=!0;try{await m("password")}catch{a.loadingdeleteaccount=!1;return}try{await k.user.deleteSelf(a.fields.password),a.loadingdeleteaccount=!1,a.fields.password="",s.value.generaldeleteaccountsuccess="Sorry to see you go! Your account has been deleted.",s.value.generaldeleteaccount="",setTimeout(()=>{G()},2e3)}catch(l){s.value.generaldeleteaccount=l}finally{a.loadingdeleteaccount=!1}},F=async()=>{try{const l=await k.user.updateGymMode(!c.isGymModeEnable);c.updateGymMode(l)}catch(l){s.value.genralgymmode=l,setTimeout(()=>{s.value.genralgymmode=""},3e3)}};return z(P,l=>{l||(a.fields.password="",a.fields.newPassword="",s.value={})}),z(h,l=>{l||(a.fields.password="",a.fields.newusername="",s.value={})}),z(V,l=>{l||(a.fields.password="",s.value={})}),j(()=>
1{v().getUpdateBadTags().then(l=>{T.value=l.value.map(e=>e.name),console.log("preferance",T.value)}),H(A?"Preferences FapTap":"Demo"),K({meta:[{name:"description",content:"Manage your FapTap account security settings, including changing your username and password, or deleting your account. Adjust profile preferences like Gym-mode and controversial content display."}],link:[{rel:"canonical",href:"https://faptap.net/preferences"}]})}),(l,e)=>(d(),o(Z,null,[n("div",L,[n("div",J,[e[22]||(e[22]=n("h1",{class:"font-medium text-2xl font-medium text-white"},"Security",-1)),w(v)().isProduction?(d(),o("p",O,"Manage access to your FapTap account")):(d(),o("p",Q,"Manage access to your account"))]),n("div",X,[n("div",ee,[r(f,{onClick:e[0]||(e[0]=t=>{s.value={},h.value=!0}),class:"bg-zinc-800 rounded-md p-3 mt-3 flex items-center gap-3 w-full hover:bg-zinc-700/50 transition-all"},{default:p(()=>[r(g,{name:"user-reset",class:"h-8 w-8 text-zinc-400"}),e[23]||(e[23]=n("p",{class:"font-medium text-white"},"Change Username",-1)),e[24]||(e[24]=n("div",{class:"flex-1"},null,-1)),r(g,{name:"chevron-right",class:"h-6 w-6 text-zinc-400"})]),_:1}),r(f,{onClick:e[1]||(e[1]=t=>{s.value={},P.value=!0}),class:"bg-zinc-800 rounded-md p-3 mt-3 flex items-center gap-3 w-full hover:bg-zinc-700/50 transition-all"},{default:p(()=>[r(g,{name:"lock-reset",class:"h-8 w-8 text-zinc-400"}),e[25]||(e[25]=n("p",{class:"font-medium text-white"},"Update Password",-1)),e[26]||(e[26]=n("div",{class:"flex-1"},null,-1)),r(g,{name:"chevron-right",class:"h-6 w-6 text-zinc-400"})]),_:1}),r(f,{onClick:e[2]||(e[2]=t=>{s.value={},V.value=!0}),class:"bg-zinc-800 rounded-md p-3 mt-3 flex items-center gap-3 w-full hover:bg-zinc-700/50 transition-all"},{default:p(()=>[r(g,{name:"user-delete",class:"h-8 w-8 text-zinc-400"}),e[27]||(e[27]=n("p",{class:"font-medium text-white"},"Delete Account",-1)),e[28]||(e[28]=n("div",{class:"flex-1"},null,-1)),r(g,{name:"chevron-right",class:"h-6 w-6 text-zinc-400"})]),_:1})])]),e[31]||(e[31]=n("hr",null,null,-1)),n("div",se,[e[29]||(e[29]=n("h1",{class:"font-medium text-2xl font-medium text-white"},"Profile Preferences",-1)),w(v)().isProduction?(d(),o("p",ae,"Set your FapTap account preferences")):(d(),o("p",te,"Set your account preferences"))]),n("div",le,[n("div",{class:Y(["shadow rounded-lg p-4 w-full",w(c).isGymModeEnable?"bg-zinc-800 border border-1 border-zinc-800":"border border-1 border-zinc-700"])},[n("div",{class:"cursor-pointer w-full",onClick:F},[n("div",ne,[n("p",re,"Gym-mode "+u(w(c).isGymModeEnable?"Enabled":"Disabled"),1),r(W,{class:"pointer-events-none",modelValue:w(c).isGymModeEnable,"onUpdate:modelValue":e[3]||(e[3]=t=>w(c).isGymModeEnable=t)},null,8,["modelValue"])]),e[30]||(e[30]=n("span",{class:"text-zinc-500 text-sm block mt-2"}," Note: When disabled, no tracking of your Faptap usage will occur. When enabled, private statistics will be gathered to help you last longer in bed. These are only ever visible to you. ",-1)),s.value.genralgymmode?(d(),o("span",oe,u(s.value.genralgymmode),1)):i("",!0)])],2)])]),r($,{title:"Update Username",modelValue:h.value,"onUpdate:modelValue":e[10]||(e[10]=t=>h.value=t)},{default:p(()=>[n("form",{onSubmit:q(D,["prevent"]),class:"mt-3"},[r(x,{required:"",modelValue:a.fields.newusername,"onUpdate:modelValue":e[4]||(e[4]=t=>a.fields.newusername=t),light:!0,placeholder:"New Username",type:"text",class:"w-full",onBlur:e[5]||(e[5]=t=>m("newusername")),onInput:e[6]||(e[6]=t=>s.value.newusername&&m("newusername"))},null,8,["modelValue"]),s.value.newusername?(d(),o("span",de,u(s.value.newusername),1)):i("",!0),r(x,{required:"",modelValue:a.fields.password,"onUpdate:modelValue":e[7]||(e[7]=t=>a.fields.password=t),light:!0,placeholder:"Verify password",type:"password",class:"w-full mt-2",onBlur:e[8]||(e[8]=t=>m("password")),onInput:e[9]||(e[9]=t=>s.value.password&&m("password"))},null,8,["modelValue"]),s.value.password?(d(),o("span",ue,u(s.value.password),1)):i("",!0),r(f,{loading:a.loadingupdateusername,theme:"blue",class:"mt-4 w-full"},{default:p(()=>[...e[32]||(e[32]=[b("Update",-1)])]),_:1},8,["loading"]),s.value.generalusername?(d(),o("span",ie,u(s.value.generalusername),1)):i("",!0),s.value.generalusernamesuccess?(d(),o("span",me,u(s.value.generalusernamesuccess),1)):i("",!0)],32)]),_:1},8,["modelValue"]),r($,{title:"Update Password",modelValue:P.value,"onUpdate:modelValue":e[17]||(e[17]=t=>P.value=t)},{default:p(()=>[n("form",{onSubmit:q(B,["prevent"]),class:"mt-3"},[r(x,{required:"",modelValue:a.fields.password,"onUpdate:modelValue":e[11]||(e[11]=t=>a.fields.password=t),light:!0,placeholder:"Current password",type:"password",class:"w-full",onBlur:e[12]||(e[12]=t=>m("password")),onInput:e[13]||(e[13]=t=>s.value.password&&m("password"))},null,8,["modelValue"]),s.value.password?(d(),o("span",pe,u(s.value.password),1)):i("",!0),r(x,{required:"",modelValue:a.fields.newPassword,"onUpdate:modelValue":e[14]||(e[14]=t=>a.fields.newPassword=t),light:!0,placeholder:"New password",type:"password",class:"w-full mt-2",onBlur:e[15]||(e[15]=t=>m("newPassword")),onInput:e[16]||(e[16]=t=>s.value.newPassword&&m("newPassword"))},null,8,["modelValue"]),s.value.newPassword?(d(),o("span",ce,u(s.value.newPassword),1)):i("",!0),r(f,{loading:a.loadingpassword,theme:"blue",class:"mt-4 w-full"},{default:p(()=>[...e[33]||(e[33]=[b("Update",-1)])]),_:1},8,["loading"]),s.value.generalpassword?(d(),o("span",we,u(s.value.generalpassword),1)):i("",!0),s.value.generalpasswordsuccess?(d(),o("span",fe,u(s.value.generalpasswordsuccess),1)):i("",!0)],32)]),_:1},8,["modelValue"]),r($,{title:"Delete Account",modelValue:V.value,"onUpdate:modelValue":e[21]||(e[21]=t=>V.value=t)},{default:p(()=>[n("form",{onSubmit:q(E,["prevent"]),class:"mt-3"},[e[35]||(e[35]=n("p",null,[b(" Are you sure you want to delete your account? This action is permanent, and all your data will be lost. "),n("br"),b(" Please confirm to proceed. ")],-1)),r(x,{required:"",modelValue:a.fields.password,"onUpdate:modelValue":e[18]||(e[18]=t=>a.fields.password=t),light:!0,placeholder:"Verify password",type:"password",class:"w-full mt-4",onBlur:e[19]||(e[19]=t=>m("password")),onInput:e[20]||(e[20]=t=>s.value.password&&m("password"))},null,8,["modelValue"]),s.value.password?(d(),o("span",ge,u(s.value.password),1)):i("",!0),r(f,{loading:a.loadingdeleteaccount,theme:"blue",class:"mt-4 w-full"},{default:p(()=>[...e[34]||(e[34]=[b("Update",-1)])]),_:1},8,["loading"]),s.value.generaldeleteaccount?(d(),o("span",ve,u(s.value.generaldeleteaccount),1)):i("",!0),s.value.generaldeleteaccountsuccess?(d(),o("span",ye,u(s.value.generaldeleteaccountsuccess),1)):i("",!0)],32)]),_:1},8,["modelValue"])],64))}});
1export{Ve 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.