PageSourceSearch

https://faptap.net/assets/VideosList.vue_vue_type_style_index_0_lang.50b2a65e.js

js faptap.net collected 2026-09-25 22:12:13 UTC 12,415 bytes, 1 lines download raw bytes

1import{_ as we}from"./Notfound.vue_vue_type_script_setup_true_lang.b9e0406b.js";import{d as xe,E as ye,G as be,u as _e,b as n,c as se,r as Fe,V as d,H as D,I as oe,J as X,w as f,K as $e,L as Ce,f as _,g as u,n as l,M as Se,l as F,j as c,i as $,F as T,N as M,a as B,q as je,s as Te,v as r,x as P,m as g,t as w,h,_ as R,O as G,P as H,Q as J,R as Y,T as Pe,W as Re,X as Ae,Y as Oe,Z as De}from"./index.16ba4ea0.js";import{_ as Me}from"./Pagination.vue_vue_type_script_setup_true_lang.8b7ec3c5.js";const Be={class:"flex justify-between items-center"},Ue={class:"p-4 bg-zinc-800 rounded-lg shadow-lg border border-zinc-700 overflow-hidden h-20"},Le=["checked"],Ne=["checked"],ze={key:1,class:"inline-flex items-center bg-zinc-800 text-md mt-2 gap-2 px-3 py-1 rounded-md"},Ie={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 gap-4 mt-2 relative"},ne=42,Je=xe({__name:"VideosList",props:{user:{},performer:{},tag:{},video:{},subscriptions:{type:Boolean},likes:{type:Boolean},actions:{},query:{},filters:{type:Boolean,default:!0},removeExcludedTags:{type:Boolean},ContextPage:{}},setup(de){const i=de,{random:ue}=ye(),{isMobile:U}=be(),{user:qe,getOrientation:ce}=_e(),A=n(!1),L=n(!1),K=n(!1),N=n(!1),z=n(!1);n(!0);const V=n(!1),x=n(!1);let k=n([0,40]);const m=n(),y=n(1),C=n(!0),O=n({videos:[],total:0}),Z=n(0),ee=je(),re=se(()=>Math.ceil(Z.value/ne)),ve=se(()=>re.value>1&&!C.value),me=n(new Date().toISOString()),fe=Te(),ie=()=>{const t={...ee.query};y.value>1?t.page=String(y.value):delete t.page,fe.replace({path:ee.path,query:t,hash:ee.hash})},e=Fe({ascending:!1,order:d.relevance,minduration:k.value[0],maxduration:k.value[1],orderFilters:{Relevance:d.relevance,Views:d.views,Likes:d.likes,Duration:d.duration,Speed:d.speed,"Upload date":d.creation,Action:d.action},fromFilters:{Anytime:void 0,"This week":D.week,"This month":D.month,"This year":D.year},sourceViewsFilters:{"Source | This week":D.week,"Source | This month":D.month,"Source | This year":D.year},durationFilters:{All:void 0,"Short videos (1-5min)":oe.short,"Medium videos (5-10min)":oe.medium,"Long videos (+10min)":oe.long},speedFilters:{All:void 0,"Slow (0-150)":X.slow,"Medium (151-300)":X.medium,"Fast (301-500)":X.fast,"Very fast (500+)":X.veryfast},vrFilters:{All:"all","Regular (Flat)":"flat","VR Only":"vr","Immersive 180\xB0":"180","Immersive 360\xB0":"360","3D Theater":"3d"},source:!1,vr:void 0,projections:[]}),te=t=>{var a,o;if(t==="all")return e.vr===void 0;if(t==="flat")return e.vr===!1&&((a=e.projections)==null?void 0:a.includes("MONO_FLAT"));if(t==="vr")return e.vr===!0&&(!e.projections||e.projections.length===0);{let v="";return t==="360"?v="VR_360":t==="180"?v="VR_180":t==="3d"&&(v="VR_3D"),(o=e.projections)==null?void 0:o.includes(v)}},pe=t=>{if(t==="all")e.vr=void 0,e.projections=[];else if(t==="flat")e.vr=!1,e.projections=["MONO_FLAT"];else if(t==="vr")e.vr=!0,e.projections=[];else{let a="";t==="360"?a="VR_360":t==="180"?a="VR_180":t==="3d"&&(a="VR_3D"),a&&(e.vr=!0,e.projections=[a])}z.value=!1},Q=async()=>{var I;C.value=!0;let t;switch(i.ContextPage){case"trending":t=B.videos.getTrendingVideos;break;case"best":t=B.videos.getBestVideos;break;case"recommended":t=B.videos.getRecommendedVideos;break;case"intense":t=B.videos.getIntenseVideos;break;default:t=B.videos.getVideos}const o=await t.bind(B.videos)({page:y.value,limit:42,orderBy:e.order,user:i.user,tag:i.tag,tagsExclude:i.user?void 0:e.excludedTags,performer:i.performer,asc:e.ascending,likes:i.likes,action:!!i.actions,query:i.query,video:i.video,subscriptions:i.subscriptions,from:e.from,minduration:k.value[0],maxduration:k.value[1],speed:e.speed,source:e.source,orientation:ce(),removeExcludedTags:i.removeExcludedTags,badTagPreference:x.value,stream_url_selfhosted:"",is_softdeleted:"",hideanimatedvideo:V.value,ContextPage:i.ContextPage,projections:e.projections,vr:e.vr}),v=o.data||o;O.value.total=v.total,O.value.videos=v.videos,Z.value=O.value.total,m.value||(m.value=[]),m.value=m.value.concat(O.value.videos);const S=new Map(m.value.map(j=>[j.id,j]));if(m.value=Array.from(S.values()),C.value=!1,(I=O.value.videos)!=null&&I.length){const j=O.value.videos.reduce((q,E)=>new Date(E.created_at)>new Date(q.created_at)?E:q);me.value=j.created_at}},p=()=>{var a,o;const t={order:e.order,ascending:e.ascending,from:(a=e.from)!=null?a:void 0,source:e.source,minduration:e.minduration,maxduration:e.maxduration,speed:(o=e.speed)!=null?o:void 0,hideAnimationVideo:V.value,hideControversialVideos:x.value,vr:e.vr,projections:e.projections};localStorage.setItem("videoFilters",JSON.stringify(t))};async function ge(){const t=localStorage.getItem("videoFilters"),a={order:d.relevance,ascending:!1,from:void 0,source:!1,minduration:0,maxduration:40,speed:void 0,hideAnimationVideo:!1,hideControversialVideos:!1,vr:void 0,projections:[]};let o;if(t)try{o=JSON.parse(t)}catch(v){console.error("Failed to parse videoFilters from localStorage:",v),o=a}else o=a;e.order=o.order,e.ascending=o.ascending,e.from=o.from==="undefined"?void 0:o.from,e.source=o.source,e.minduration=o.minduration,e.maxduration=o.maxduration,e.speed=o.speed==="undefined"?void 0:o.speed,V.value=o.hideAnimationVideo,e.animationVideos=V.value,x.value=o.hideControversialVideos,e.vr=o.vr,e.projections=o.projections||[],k.value=[o.minduration,o.maxduration],t||p()}const he=se(()=>e.from!==void 0||e.source!==!1||e.minduration!==0||e.maxduration!==40||e.speed!==void 0||V.value==!0||x.value==!0||e.vr!==void 0);f(()=>V.value,t=>{e.animationVideos=t,p()}),f(()=>x.value,t=>{e.badTagPreference=t,p()}),f(()=>e.order,()=>{p()}),f(()=>e.ascending,()=>{p()}),f(()=>e.from,()=>{p()}),f(()=>e.source,()=>{p()}),f(()=>e.speed,()=>{p()}),f(()=>e.vr,()=>{p()}),f(()=>e.projections,()=>{p()}),f(k,t=>{e.minduration=t[0],e.maxduration=t[1],p()},{deep:!0}),$e(async()=>{(i.likes||i.subscriptions)&&(y.value=1,m.value=[],await Q())});const ae=n(!1);Ce(async()=>{await ge();const a=new URLSearchParams(window.location.search).get("page");y.value=a?Number(a):1,m.value=[],await Q(),ie(),ae.value=!0});const le=async()=>{m.value=void 0,y.value=1,C.value=!0,await Q()},Ve=t=>{t===d.relevance||e.order!==t?e.ascending=!1:e.ascending=!e.ascending,t!==d.views&&t!==d.likes&&(e.from=void 0,e.source=!1),e.order=t,L.value=!1},ke=async t=>{t<1||t>re.value||(y.value=t,m.value=[],C.value=!0,ie(),await Q(),window.scrollTo({top:0,behavior:"smooth"}))};return f(()=>i,async()=>{!ae.value||await le()},{deep:!0}),f(()=>e,async()=>{!ae.value||await le()},{deep:!0}),(t,a)=>{var o;return r(),_("div",null,[i.filters?(r(),u(Se,{key:0,gap:"gap-1.5"},{default:l(()=>{var v,S,I,j,q,E;return[c(R,{ref:"order",onClick:a[0]||(a[0]=s=>L.value=!L.value),theme:e.order!==h(d).relevance?"blue":void 0,class:"flex items-center gap-1"},{default:l(()=>[c(P,{name:e.ascending?"sort-ascending":"sort-descending",class:"h-5 w-5"},null,8,["name"]),g(" "+w(Object.keys(e.orderFilters).find(s=>e.orderFilters[s]===e.order)),1)]),_:1},8,["theme"]),(r(),u(G(h(U)?H:J),{modelValue:L.value,"onUpdate:modelValue":a[1]||(a[1]=s=>L.value=s),placement:"bottom",target:(v=t.$refs.order)==null?void 0:v.$el,class:"text-white text-sm py-1 w-36",offset:8},{default:l(()=>[(r(!0),_(T,null,M(e.orderFilters,(s,b)=>(r(),u(Y,{active:s===e.order,onClick:W=>Ve(s)},{default:l(()=>[$("div",Be,[$("span",null,w(b),1),e.order===s&&s!==h(d).relevance?(r(),u(P,{key:0,name:e.ascending?"sort-ascending":"sort-descending",class:"h-5 w-5"},null,8,["name"])):F("",!0)])]),_:2},1032,["active","onClick"]))),256))]),_:1},8,["modelValue","target"])),e.order===h(d).views||e.order===h(d).likes?(r(),u(R,{key:0,ref:"date",onClick:a[2]||(a[2]=s=>A.value=!A.value),class:"flex items-center gap-1",theme:e.from?"blue":void 0},{default:l(()=>[c(P,{name:"calendar",class:"h-5 w-5"}),g(" "+w(e.from?Object.keys(e.fromFilters).find(s=>e.fromFilters[s]===e.from):"Date"),1)]),_:1},8,["theme"])):F("",!0),(r(),u(G(h(U)?H:J),{modelValue:A.value,"onUpdate:modelValue":a[3]||(a[3]=s=>A.value=s),placement:"bottom",target:(S=t.$refs.date)==null?void 0:S.$el,class:"text-white text-sm py-1 w-48",offset:8},{default:l(()=>[(r(!0),_(T,null,M(e.fromFilters,(s,b)=>(r(),u(Y,{active:s===e.from&&e.source!==!0,onClick:W=>(e.from=s,e.source=!1,A.value=!1)},{default:l(()=>[g(w(b),1)]),_:2},1032,["active","onClick"]))),256)),(r(!0),_(T,null,M(e.sourceViewsFilters,(s,b)=>(r(),u(Y,{active:s===e.from&&e.source===!0,onClick:W=>(e.source=!0,e.from=s,A.value=!1)},{default:l(()=>[g(w(b),1)]),_:2},1032,["active","onClick"]))),256))]),_:1},8,["modelValue","target"])),c(R,{ref:"duration",onClick:a[4]||(a[4]=s=>
1K.value=!K.value),class:"flex items-center gap-1",theme:e.minduration!==0||e.maxduration!==40?"blue":void 0},{default:l(()=>[c(P,{name:"clock",class:"h-5 w-5"}),g(" "+w(e.minduration!==0||e.maxduration!==40?`${e.minduration} - ${e.maxduration} min`:"Duration"),1)]),_:1},8,["theme"]),(r(),u(G(h(U)?H:J),{modelValue:K.value,"onUpdate:modelValue":a[6]||(a[6]=s=>K.value=s),placement:"bottom",target:(I=t.$refs.duration)==null?void 0:I.$el,class:"text-white text-sm w-80 max-w-full",offset:8},{default:l(()=>[$("div",Ue,[a[13]||(a[13]=$("p",{class:"text-sm mb-2 text-zinc-100"},"Select Duration (in minutes)",-1)),c(Re,{modelValue:h(k),"onUpdate:modelValue":a[5]||(a[5]=s=>Pe(k)?k.value=s:k=s),min:0,max:40,step:1,tooltips:!0,values:[0,10,20,30,40],class:"w-full duration-filter","track-class":"bg-zinc-600 h-1.5 rounded-full","thumb-class":"bg-blue-500 w-5 h-5 rounded-full border-2 border-zinc-800 shadow","tooltip-class":"bg-blue-500 text-white text-xs rounded px-2 py-1"},null,8,["modelValue"])])]),_:1},8,["modelValue","target"])),c(R,{ref:"vr",onClick:a[7]||(a[7]=s=>z.value=!z.value),class:"flex items-center gap-1",theme:((j=e.projections)==null?void 0:j.length)||e.vr?"blue":void 0},{default:l(()=>[c(P,{name:"virtual-reality",class:"h-4 w-4"}),g(" "+w(te("all")?"Mode":Object.keys(e.vrFilters).find(s=>te(e.vrFilters[s]))||"VR"),1)]),_:1},8,["theme"]),(r(),u(G(h(U)?H:J),{modelValue:z.value,"onUpdate:modelValue":a[8]||(a[8]=s=>z.value=s),placement:"bottom",target:(q=t.$refs.vr)==null?void 0:q.$el,class:"text-white text-sm py-1 w-40",offset:8},{default:l(()=>[(r(!0),_(T,null,M(e.vrFilters,(s,b)=>(r(),u(Y,{active:te(s),onClick:W=>pe(s)},{default:l(()=>[g(w(b),1)]),_:2},1032,["active","onClick"]))),256))]),_:1},8,["modelValue","target"])),c(R,{ref:"speed",onClick:a[9]||(a[9]=s=>N.value=!N.value),class:"flex items-center gap-1",theme:e.speed?"blue":void 0},{default:l(()=>[c(P,{name:"speedometer",class:"h-5 w-5"}),g(" "+w(e.speed?Object.keys(e.speedFilters).find(s=>e.speedFilters[s]===e.speed):"Speed"),1)]),_:1},8,["theme"]),(r(),u(G(h(U)?H:J),{modelValue:N.value,"onUpdate:modelValue":a[10]||(a[10]=s=>N.value=s),placement:"bottom",target:(E=t.$refs.speed)==null?void 0:E.$el,class:"text-white text-sm py-1 w-40",offset:8},{default:l(()=>[(r(!0),_(T,null,M(e.speedFilters,(s,b)=>(r(),u(Y,{active:s===e.speed,onClick:W=>(e.speed=s,N.value=!1)},{default:l(()=>[g(w(b),1)]),_:2},1032,["active","onClick"]))),256))]),_:1},8,["modelValue","target"])),c(R,{class:"flex items-center gap-1",onClick:a[11]||(a[11]=s=>(V.value=!V.value,e.animationVideos=V.value))},{default:l(()=>[$("input",{type:"checkbox",checked:V.value,class:"cursor-pointer"},null,8,Le),a[14]||(a[14]=g(" Hide Animated ",-1))]),_:1}),c(R,{class:"flex items-center gap-1",onClick:a[12]||(a[12]=s=>(x.value=!x.value,e.badTagPreference=x.value))},{default:l(()=>[$("input",{type:"checkbox",checked:x.value,class:"cursor-pointer"},null,8,Ne),a[15]||(a[15]=g(" Hide Controversial ",-1))]),_:1})]}),_:1})):F("",!0),he.value&&i.filters?(r(),_("div",ze,[c(P,{name:"danger",class:"h-4 w-4 text-yellow-700"}),a[16]||(a[16]=$("span",{class:"text-zinc-200"},"Some videos might be hidden due to your filter settings",-1))])):F("",!0),C.value?(r(),u(De,{key:2})):F("",!0),$("div",Ie,[m.value?(r(!0),_(T,{key:0},M(m.value,(v,S)=>(r(),_(T,null,[S%16===0?(r(),u(Ae,{key:0,affiliate:h(ue)(Math.floor(S/16),y.value)},null,8,["affiliate"])):F("",!0),c(Oe,{video:v},null,8,["video"])],64))),256)):F("",!0)]),c(Me,{currentPage:y.value,total:Z.value,limit:ne,show:ve.value,"onUpdate:currentPage":ke},null,8,["currentPage","total","show"]),!((o=m.value)!=null&&o.length)&&!C.value?(r(),u(we,{key:3,title:i.likes?"You don't have any liked videos":"No Videos Found",message:"No videos are available here. Try exploring other parts of the site."},null,8,["title"])):F("",!0)])}}});export{Je as _};

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.