PageSourceSearch

https://moviecool.asia/_nuxt/0nwbcLkd.js

js moviecool.asia collected 2026-10-03 17:57:49 UTC 5,167 bytes, 1 lines download raw bytes

1import{o as V}from"./D1d4xVG6.js";import{D as i,E as g,J as G,Kt as $,On as t,_ as e,b as f,bt as P,mt as p,o as D,qt as b,tr as n,vn as R,y as F}from"./IKVlQCqm.js";import{i as W,p as q}from"./COqa1XKc.js";import{t as m}from"./0p9REYoh.js";import{n as z,r as J}from"./Dl5cC00g.js";import{t as K}from"./-Hr1cHui.js";import{t as Q}from"./DV4dZY2j.js";import{t as X}from"./DATGI6-9.js";import{t as Y}from"./DtbA6li4.js";import{t as Z}from"./W-SzA0nI2.js";import{t as ee}from"./MUU4cZ3_2.js";var te={class:"page"},se={class:"relative container pt-11"},ae={class:"sticky top-12 z-10 -mx-4 px-0 backdrop-blur bg-black/50 lg:mx-0"},re={class:"flex items-center justify-between gap-2"},ie={class:"flex items-stretch"},oe=["src","alt"],le={class:"flex hidden min-w-60 flex-col justify-center bg-neutral-800 px-3 pt-2 sm:block"},ne={class:"text-muted"},ce={class:"text-2xl font-semibold text-white"},de={class:"text-secondary text-center text-sm font-semibold sm:text-2xl"},me={class:"flex items-stretch justify-end"},ue={class:"flex hidden min-w-60 flex-col justify-center bg-neutral-800 px-3 pt-2 text-right sm:block"},_e={class:"text-muted"},ve={class:"text-2xl font-semibold text-white"},fe=["src","alt"],pe={class:"mt-5 bg-neutral-800 p-6"},he={class:"flex justify-between"},xe={class:"h-10 px-5 text-center whitespace-nowrap"},ge={key:0,class:"mt-10"},$e={class:"mt-10"},be={class:"mt-20 flex flex-col items-center gap-6 sm:flex-row sm:justify-center"},ye={class:"flex h-36 w-36 shrink-0 items-center justify-center rounded-full border-2 border-white"},we={class:"flex items-end"},Ee={class:"text-6xl font-bold text-white"},ke={class:"max-w-sm text-center text-xl sm:text-left"},Be={__name:"[id_versus]",async setup(Ce){let r,d;const y=q(),H=V(),v=K(),w=G("OPENCC"),s=R(([r,d]=$(()=>m(`/api/user/${y.params.id_user}`)),r=await r,d(),r)),a=R(([r,d]=$(()=>m(`/api/user/${y.params.id_versus}`)),r=await r,d(),r));if(!s.value||!a.value)throw W({statusCode:404,statusMessage:"User not found"});const[E,k,u,O]=([r,d]=$(()=>Promise.all([m(`/api/user_behavior/heatmap/${s.value.id}`),m(`/api/user_behavior/heatmap/${a.value.id}`),m(`/api/user_behavior/${s.value.id}/versus/${a.value.id}/coseen`),m(`/api/user_behavior/${s.value.id}/versus/${a.value.id}/cotodo`)])),r=await r,d(),r);function C(l){return(l?.movie_seen||[]).reduce((o,c)=>o+c,0)+(l?.series_seen||[]).reduce((o,c)=>o+c,0)}const A=C(E),I=C(k),N=Math.min(A,I),S=N===0?0:Math.round(u.length/N*100),L=["你們在華文影劇上的緣分似乎還沒開始,不如找 {name} 聊聊,說不定會發現新大陸!","你們的口味還在磨合中,去找 {name} 交流一下吧!","你們在華文影劇上算是志同道合,快去找 {name} 交個朋友吧!","你們在華文影劇上的喜好真的很合,趕快去找 {name} 交個朋友吧!","你們根本是失散多年的觀影靈魂伴侶,還不快去找 {name} 交朋友!"];function B(l){const o=l<=20?0:l<=40?1:l<=60?2:l<=80?3:4,[c,_]=w.value(L[o]).split("{name}");return{prefix:c,suffix:_}}const j=B(S),h=H.public.HOMEURL;return z(()=>({title:`${s.value.name} vs. ${a.value.name} - ${v.WEBSITE_NAME_SHORT}`,link:[{rel:"canonical",href:`${h}/user/${s.value.id}/versus/${a.value.id}`}]})),J({robots:"noindex, follow",description:`${s.value.name} 和 ${a.value.name} 的觀影紀錄比較,兩人共同看過 ${u.length} 部影片。`,ogType:"article",ogUrl:`${h}/user/${s.value.id}/versus/${a.value.id}`,ogTitle:`${s.value.name} vs. ${a.value.name} - ${v.WEBSITE_NAME_SHORT}`,ogImage:`${h}${v.FAVICON}`,ogImageWidth:"200",ogImageHeight:"200"}),(l,o)=>{const c=Y,_=Q,x=ee,T=X,M=Z;return p(),f("div",te,[i(c,{class:"h-55"}),e("div",se,[e("div",ae,[e("div",re,[e("div",ie,[i(_,{to:`/user/${t(s).id}`},{default:b(()=>[e("img",{class:"h-25 shrink-0 object-cover",src:t(s).picture,alt:t(s).name,referrerpolicy:"no-referrer",onerror:"this.src='/images/logo_roll.png'"},null,8,oe)]),_:1},8,["to"]),e("div",le,[e("div",ne,[e("div",ce,n(t(s).name),1)])])]),e("div",de,n(t(w)(`共同看過 ${t(u).length} 部影片`)),1),e("div",me,[e("div",ue,[e("div",_e,[e("div",ve,n(t(a).name),1)])]),i(_,{to:`/user/${t(a).id}`},{default:b(()=>[e("img",{class:"h-25 shrink-0 object-cover",src:t(a).picture,alt:t(a).name,referrerpolicy:"no-referrer",onerror:"this.src='/images/logo_roll.png'"},null,8,fe)]),_:1},8,["to"])])])]),e("div",pe,[e("div",he,[i(x,{heatmap:t(E),variant:"xl"},null,8,["heatmap"]),e("div",null,[o[0]||(o[0]=e("div",{class:"h-10"},null,-1)),(p(!0),f(D,null,P(t(v).USER_HEATMAP_ORDERS,U=>(p(),f("div",xe,n(U.label),1))),256))]),i(x,{heatmap:t(k),variant:"xl"},null,8,["heatmap"])]),i(x,{class:"mt-4",variant:"legend"})]),t(u).length>0?(p(),f("div",ge,[i(T,{title:"共同看過"}),i(M,{data:t(u),type:"film"},null,8,["data"])])):F("",!0),e("div",$e,[i(T,{title:"共同待看清單"}),i(M,{data:t(O),type:"film"},null,8,["data"])]),e("div",be,[e("div",ye,[e("div",we,[e("div",Ee,n(t(S)),1),o[1]||(o[1]=e("div",{class:"text-2xl text-white"},"%",-1))])]),e("div",ke,[g(n(t(j).prefix),1),i(_,{class:"text-primary font-semibold",to:`/user/${t(s).id}`},{default:b(()=>[g(n(t(s).name),1)]),_:1},8,["to"]),g(n(t(j).suffix),1)])])])])}}};export{Be 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.