PageSourceSearch

https://faptap.net/assets/Performers.ae903ba4.js

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

1import{d as J,u as Q,b as o,c as _,am as W,L as X,e as Y,ah as Z,f as k,i as f,k as x,j as S,ac as ee,af as ae,a1 as y,g as C,l as te,F,N as le,a as U,a0 as re,v as p,x as se,n as oe,t as I,C as ne,an as ue}from"./index.16ba4ea0.js";import{_ as ie}from"./Avatar.vue_vue_type_script_setup_true_lang.87e6bbe3.js";import{_ as ve}from"./Notfound.vue_vue_type_script_setup_true_lang.b9e0406b.js";import{_ as ce}from"./Pagination.vue_vue_type_script_setup_true_lang.8b7ec3c5.js";import"./vendor-highcharts.9b480a8e.js";import"https://cdn.jsdelivr.net/npm/[email protected]/dist/buttplug-wasm.mjs";const fe={class:"flex flex-col lg:flex-row lg:justify-between mb-4 px-2 lg:px-0"},me=["onKeydown"],pe={key:2,class:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-10 gap-2"},he={class:"p-2 text-center"},ge={class:"font-bold text-base md:text-sm leading-tight text-white text-center break-words min-h-[2em]"},de={class:"md:text-sm text-zinc-500"},h=40,i=3,Se=J({__name:"Performers",setup(we){const{isProduction:M}=Q(),n=o([]),t=o(1),c=o(!0),w=o(0),l=o(""),$=o(!1),r=o([]),s=o(-1),m=o(1),q=o(null),N=o(),V=_(()=>l.value.length>=i?n.value.length>h?t.value+1:t.value:Math.max(1,Math.ceil(w.value/h))),j=_(()=>l.value.length>=i?n.value.length>h:V.value>1&&!c.value);W(q,()=>{r.value=[],s.value=-1});const D=()=>{r.value=[],s.value=-1},z=e=>{window.scrollTo({top:0,behavior:"smooth"}),l.value.length>=i?(m.value=e,t.value=e,g(),v()):(t.value=e,b(),v())},P=o(""),v=()=>{P.value="/performers";const e=[];t.value>1&&e.push(`page=${t.value}`),l.value.length>=i&&e.push(`query=${encodeURIComponent(l.value)}`),e.length&&(P.value+="?"+e.join("&")),window.history.replaceState({},"",P.value)},b=async()=>{c.value=!0;const e=await U.performers.getPerformers({page:t.value,limit:h,status:!0});n.value=e.performers,e.total&&(w.value=e.total),c.value=!1},g=async(e=!1)=>{c.value=!0,$.value=!0;try{const a=await U.performers.getPerformers({page:m.value,limit:h,query:l.value,force:e});n.value=a.performers||[],a.total&&(w.value=a.total)}catch(a){console.error("Failed to fetch performers:",a)}finally{c.value=!1,$.value=!1}},T=async()=>{if(l.value.length<i){r.value=[];return}const e=await U.performers.getPerformers({page:1,limit:5,query:l.value,force:!1});r.value=e.performers},B=()=>{!r.value.length||(s.value<r.value.length-1?s.value++:s.value=0)},E=()=>{!r.value.length||(s.value>0?s.value--:s.value=r.value.length-1)},K=e=>{s.value>=0&&r.value.length&&(e.preventDefault(),L(r.value[s.value]))},R=()=>{s.value=-1,l.value.length>=i?(T(),m.value=1,t.value=1,n.value=[],g(!1),v()):(r.value=[],l.value||(H(),v()))},A=()=>{if(r.value.length&&s.value>=0&&s.value<r.value.length){L(r.value[s.value]);return}l.value.length>=i&&(r.value=[],m.value=1,t.value=1,n.value=[],g(!0),v())},L=e=>{l.value=e.name,r.value=[],m.value=1,t.value=1,n.value=[],s.value=-1,g(),v()},H=()=>{t.value=1,n.value=[],b(),v()};X(()=>{const e=new URLSearchParams(window.location.search),a=e.get("page"),d=e.get("query");d&&d.length>=i?(l.value=d,t.value=a?Number(a):1,m.value=t.value,T().then(()=>{g(),v()})):(t.value=a?Number(a):1,b(),v()),window.addEventListener("scroll",D)});const O=_(()=>{let e="https://faptap.net/performers";const a=[];return t.value>1&&a.push(`page=${t.value}`),l.value.length>=i&&a.push(`query=${encodeURIComponent(l.value)}`),a.length&&(e+="?"+a.join("&")),e}),G=_(()=>ne("performers",{title:M?"Top Pornstars for Interactive Porn Videos | FapTap":"Demo",description:"Explore a sex performer's profile, featuring their videos and total views. Discover more content from this performer",url:O.value}));return Y(G),Z(()=>{window.removeEventListener("scroll",D)}),(e,a)=>{const d=re("router-link");return p(),k(F,null,[f("div",fe,[a[3]||(a[3]=f("h1",{class:"text-2xl font-bold text-white"},"Performers",-1)),f("div",{ref_key:"el",ref:q,onSubmit:a[1]||(a[1]=x(()=>{},["prevent"])),class:"flex gap-3 p-1 rounded-md border-2 border-transparent bg-zinc-800 md:w-50 relative"},[S(se,{name:"search",class:"h-6 w-6 text-zinc-300"}),ee(f("input",{ref_key:"input",ref:N,"onUpdate:modelValue":a[0]||(a[0]=u=>l.value=u),onInput:R,onKeydown:[y(x(A,["stop","prevent"]),["enter"]),y(x(B,["prevent"]),["down"]),y(x(E,["prevent"]),["up"]),y(K,["tab"])],type:"search",placeholder:"Search Performers...",class:"flex-1 bg-transparent focus-visible:outline-none text-white",autocomplete:"off"},null,40,me),[[ae,l.value]])],544)]),n.value.length===0&&!c.value?(p(),C(ve,{key:0,title:"No performers found matching your search",message:"Please check the spelling, or the performer may not be available right now."})):te("",!0),c.value?(p(),C(ue,{key:1})):(p(),k("div",pe,[(p(!0),k(F,null,le(n.value,u=>
1(p(),C(d,{key:u.id,to:`/p/${u.slug}`,class:"p-2 group hover:bg-zinc-800 rounded"},{default:oe(()=>[S(ie,{icon:"woman-face-shimmer",image:u.avatar_url,name:u.name,class:"w-full aspect-square"},null,8,["image","name"]),f("div",he,[f("p",ge,I(u.name),1),f("div",de,I(u.videos)+" videos",1)])]),_:2},1032,["to"]))),128))])),S(ce,{currentPage:t.value,"onUpdate:currentPage":[a[2]||(a[2]=u=>t.value=u),z],total:l.value.length>=i?n.value.length:w.value,limit:h,show:j.value},null,8,["currentPage","total","show"])],64)}}});export{Se 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.