1import{x as v,at as V,p as u,B as G,v as D,c as a,o as s,b as c,d as i,k as $,q as H,D as N,t as I,g as k,f as B,au as Y,ar as P,a4 as R,P as K,m as Z,a as J,j as M,w as _,L as j,F as U,s as Q,i as z,U as W}from"./inertia-BhHMjE5o.js";import{P as X,g as F,u as ee,C as T,_ as te}from"./GetStreamChat-C0PwdBd5.js";import{_ as O}from"./Card.vue_vue_type_script_setup_true_lang-Dp3iGZ7t.js";import{M as se}from"./mic-B4vpfr4R.js";import{C as ae}from"./Container-D2LBDiqq.js";import{_ as ne}from"./SearchInput.vue_vue_type_script_setup_true_lang-DOL9RYLW.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./search-oM4VK1PU.js";import"./play-B9Z5LwKV.js";import"./videoDuration-BoaXHcsH.js";import"./download-DsBkLXxq.js";import"./smile-5z8wDVDh.js";import"./pencil-Bxk8ad9c.js";import"./send-BtNIWwAr.js";import"./useFeatureFlags-CCBcFm6n.js";import"./browser-Bt-u65KX.js";const le={class:"relative mr-3 shrink-0"},oe={class:"w-full 2xl:flex 2xl:items-center 2xl:justify-between"},re={class:"mt-2 mb-1 2xl:m-0"},ie={class:"flex items-center text-sm font-medium"},ue={key:0,class:"mt-0.5 line-clamp-1"},ce={key:0,class:"inline-flex items-center"},me={key:1,class:"inline-flex items-center"},de={key:2},ve={key:3},fe={class:"flex shrink-0 items-center justify-between 2xl:flex-col 2xl:items-end 2xl:justify-end"},he={key:0,class:"text-xs text-neutral-400"},pe=30*1e3,ge={__name:"ChatListItem",props:{messages:{type:Array,required:!0},members:{type:Object,required:!0},unreadCount:{type:Number,required:!0},isActive:{type:Boolean,required:!0}},setup(x){const L=x,n=u(()=>P(L.messages.at(-1),{deep:!0})),{currentUser:S}=R(),w=u(()=>L.unreadCount>0),p=u(()=>!!n.value),f=u(()=>n.value.attachments.length>0),m=u(()=>!!n.value.text),o=u(()=>F(n.value.attachments[0].type)==="image"),d=u(()=>F(n.value.attachments[0].type)==="audio"),E=u(()=>n.value.attachments[0].type==="giphy"),A=u(()=>n.value.attachments[0].title),C=u(()=>P(Object.values(L.members).filter(y=>y.user_id!==String(S.value.id))[0],{deep:!0}).user),b=()=>{const y=new Date(n.value.createdAt)>new Date;g.value=y?"now":V(n.value.createdAt)},g=v(V(n.value?.createdAt||new Date)),h=setInterval(()=>{p.value&&b()},pe);return G(()=>{clearInterval(h)}),D(n,()=>{b()}),(y,t)=>(s(),a("button",Y(y.$attrs,{class:["block w-full p-2 text-left transition-colors hover:bg-neutral-50 hover:text-current 2xl:flex 2xl:items-center",[x.isActive?"bg-neutral-50":""]]}),[c("div",le,[i(H,{src:`/avatar?user_id=${C.value.id}`,alt:"",size:"md"},null,8,["src"]),C.value.online?(s(),a("div",{key:0,class:N(["bg-success-500 absolute right-0 bottom-0 ml-1 h-2.5 w-2.5 rounded-full border",[x.isActive?"border-neutral-50":"border-white"]])},null,2)):$("",!0)]),c("div",oe,[c("div",re,[c("div",ie,I(C.value.name),1),p.value?(s(),a("div",ue,[m.value?(s(),a("p",{key:0,class:N(["text-sm",[w.value?"text-primary-500":"text-neutral-600"]])},I(w.value?"New message":n.value.text),3)):f.value?(s(),a("div",{key:1,class:N(["text-sm",[w.value?"text-primary-500":"text-neutral-600"]])},[o.value?(s(),a("span",ce,[i(B(X),{class:"mr-2 h-3 w-3 rounded-sm"}),t[0]||(t[0]=k(" Photo ",-1))])):d.value?(s(),a("span",me,[i(B(se),{class:"mr-2 h-3 w-3"}),t[1]||(t[1]=k(" Voice note ",-1))])):E.value?(s(),a("span",de," Gif: "+I(A.value),1)):(s(),a("span",ve,"File: "+I(A.value),1))],2)):$("",!0)])):$("",!0)]),c("div",fe,[p.value&&n.value.createdAt?(s(),a("span",he,[c("time",null,I(g.value),1)])):$("",!0)])])],16))}},ye={key:0,class:"heading-2 flex items-center justify-center rounded-md bg-neutral-100 p-6 text-neutral-500"},_e={key:0,class:"flex h-[calc(100vh-12rem)] lg:gap-x-2"},xe={key:0,class:"divide-y divide-neutral-50 overflow-hidden rounded-xl"},we={class:"mx-auto mt-4"},Ce={class:"mt-4 mb-2"},be={key:1,class:"rounded-md bg-neutral-100 p-6 text-center"},q=30,Re={__name:"list.page",props:{clientToken:{type:String,required:!0}},setup(x){const L=x,{currentUser:n}=R(),{streamClient:S}=ee(L.clientToken),w=v(new Date),p=v(0),f=v(""),m=v(null),o=v([]),d=v({}),E=v(!1),A=v(!0),C=u(()=>m.value===null),b=async t=>{m.value=t};D(f,K(async()=>{p.value=0,o.value=[],w.value=new Date},500)),D(m,t=>{const e=t?`/conversations/${t.id}`:"/conversations";window.history.replaceState(null,null,e)});const g=()=>{o.value=o.value.sort((t,e)=>e.state.last_message_at-t.state.last_message_at),h()},h=()=>{o.value.forEach(({state:t,id:e})=>{d.value[e]={messages:[],members:{},unreadCount:0},d.value[e].messages=t.messages,d.value[e].members=t.members,d.value[e].unreadCount=t.unreadCount})},y=async t=>{try{const e=await S.value.queryChannels({type:T,members:{$in:[String(n.value.id)]},...f.value?{"member.user.name":{$autocomplete:f.value}}:{}},{last_updated:-1},{watch:!0,state:!0,offset:p.value,limit:q,message_limit:1});p.value+=q,o.value=[...o.value,...e],h(),e.length>0&&t.loaded(),e.length<q&&t.complete()}catch{t.error()}};return D(o,(t,e)=>{e.forEach(r=>{r.off("message.new",g),r.off("message.read",h)}),t.forEach(r=>{r.on("message.new",g),r.on("message.read",h)})}),Z(async()=>{(await S.value.queryChannels({type:T,members:{$in:[String(n.value.id)]}},{last_updated:-1},{watch:!0,state:!0,limit:1,message_limit:1})).length>0&&(E.value=!0),o.value.forEach(l=>{l.on("message.new",g),l.on("message.read",h)});const r=window.location.pathname.split("/").at(-1);if(r!=="conversations"&&r.length>1){const l=(await S.value.queryChannels({type:T,members:{$in:[String(n.value.id)]},id:r},{},{watch:!0,state:!0,limit:1,message_limit:1}))[0];if(!l)return;b(l)}A.value=!1}),G(()=>{o.value.forEach(t=>{t.off("message.new",g),t.off("message.read",h)})}),(t,e)=>{const r=J("InfiniteLoading");return s(),M(ae,{class:"pt-2 pb-8 sm:pt-6"},{default:_(()=>[A.value?(s(),a("div",ye,[i(j,{size:"20",class:"mr-4"}),e[3]||(e[3]=k(" Loading chats... ",-1))])):(s(),a(U,{key:1},[E.value?(s(),a("div",_e,[c("div",{class:N(["w-full flex-col gap-y-4 lg:flex lg:w-3/12",[C.value?"flex":"hidden"]])},[i(O,{class:"overflow-y-auto p-2"},{default:_(()=>[i(ne,{modelValue:f.value,"onUpdate:modelValue":e[0]||(e[0]=l=>f.value=l),placeholder:"Search...",class:"mb-2"},null,8,["modelValue"]),o.value.length?(s(),a("ul",xe,[(s(!0),a(U,null,Q(o.value,l=>(s(),a("li",{key:l.id},[i(ge,{members:d.value[l.id].members,messages:d.value[l.id].messages,"unread-count":d.value[l.id].unreadCount,"is-active":m.value?.id===l.id,onClick:ke=>b(l)}
1,null,8,["members","messages","unread-count","is-active","onClick"])]))),128))])):$("",!0),i(r,{identifier:w.value,onInfinite:y,class:"*:p-0!"},{spinner:_(()=>[c("div",we,[i(j,{class:"mx-auto",size:"24"})])]),"no-results":_(()=>[c("div",Ce,[e[5]||(e[5]=c("div",{class:"text-sm text-neutral-500"}," Nothing matches your search. ",-1)),i(z,{color:"outline-gray",size:"small",class:"mt-2",onClick:e[1]||(e[1]=l=>f.value="")},{default:_(()=>[...e[4]||(e[4]=[k(" Reset search ",-1)])]),_:1})])]),_:1},8,["identifier"])]),_:1})],2),m.value?(s(),a("div",{key:0,class:N(["w-full lg:block lg:w-9/12",[C.value?"hidden":"block"]])},[i(z,{onClick:e[2]||(e[2]=l=>b(null)),color:"outline-gray",class:"mb-2 lg:hidden"},{default:_(()=>[i(B(W),{class:"mr-2 h-4 w-4"}),e[6]||(e[6]=k(" Back to chat list ",-1))]),_:1}),(s(),M(te,{key:m.value.id,"client-token":x.clientToken,"channel-id":m.value.id,"height-class":"h-full"},null,8,["client-token","channel-id"]))],2)):(s(),M(O,{key:1,class:"hidden w-full place-items-center text-neutral-500 lg:grid lg:w-9/12"},{default:_(()=>[...e[7]||(e[7]=[k(" Select a conversation to start chatting. ",-1)])]),_:1}))])):(s(),a("div",be,[...e[8]||(e[8]=[c("p",{class:"heading-2 text-neutral-500"}," You don't have any conversations started yet. ",-1)])]))],64))]),_:1})}}};export{Re as default}; 2//# sourceMappingURL=list.page-BNwNJ1wt.js.map
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.