// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later // @source: https://gitlab.com/soapbox-pub/ditto/-/tree/f0a3877c import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{Fn as t,It as n,Jr as r,Ri as i,Tr as a,_ as o,br as s,ln as c,mt as l,qi as u,r as d,v as ee}from"./lucide-icons-BdRF0moN.js";import{t as f}from"./jsx-runtime-By8HlURe.js";import{t as p}from"./dist-DQ82bf9M.js";import{h as m,t as h}from"./useQuery-rCAlChE8.js";import{P as te,r as ne}from"./EmbeddedNote-BKfkvcrg.js";import{t as re}from"./useAppContext-Ughdk2-Z.js";import{n as g}from"./encryptedFile-DKFYUsvG.js";import{l as _,t as v}from"./useCurrentUser-C6OJJlWo.js";import{t as y}from"./utils-BFSTDHdM.js";import{t as ie}from"./button-Cs26nq0r.js";import{t as b}from"./useNostrPublish-CrMjnYm4.js";import{n as x}from"./useFollowActions-cve70R08.js";import{n as S}from"./appRelays-Clm5NPIe.js";import{t as ae}from"./useBlossomFallback-DY_46Uqi.js";import{n as oe,o as se,r as ce,t as le}from"./avatar--oX_CTF4.js";import{c as ue,n as C}from"./chunk-62JRHF6Z-yJW_vgm4.js";import{t as de}from"./useProfileUrl-DoFhqUUR.js";import{r as w}from"./BioContent-BjUPDB1O.js";import{n as T}from"./haptics-Cp_uF-bV.js";import{t as E}from"./skeleton-CVls4GW9.js";import{s as D}from"./ComposeDialogContent-YxhSZA-Y.js";import{t as fe}from"./getDisplayName-B6lnEGRj.js";import{p as O,t as k}from"./extraKinds-BydAXtVV.js";import{t as A}from"./formatNumber-D1ols1S-.js";import{o as j,t as M}from"./imeta-83Lqxs5-.js";import{c as N,d as P}from"./LayoutContext-CjQBLGO-.js";import{n as pe,t as me}from"./NoteMoreMenu-FwlS01AC.js";import{t as he}from"./contentWarning-CNDzjeMP.js";import{n as F,r as ge,t as I}from"./useRepostStatus-KJZve8_M.js";import{t as _e}from"./useTrending-DsL3v2RN.js";import{n as ve,t as L}from"./vineGlobalMute-Du-DhONT.js";import{t as R}from"./useMutedAuthorFilter-CTggZCaG.js";import{S as z,k as B,w as V,x as H}from"./index-CYEZWNq6.js";import{t as U}from"./KindInfoButton-BL9_-Fdi.js";import{t as ye}from"./CommentsSheet-C8LKdAjG.js";var W=e(u(),1);function be(e){let{nostr:t}=p(),[n,r]=(0,W.useState)([]),[i,a]=(0,W.useState)(!0),o=(0,W.useMemo)(()=>Array.isArray(e)?e:[e],[JSON.stringify(Array.isArray(e)?e.slice().sort():[e])]),s=(0,W.useMemo)(()=>new Set(o),[o]);return(0,W.useEffect)(()=>{if(o.length===0){r([]),a(!1);return}let e=new AbortController,n=!0;r([]),a(!0);let i=new Map;function c(e){return e>=3e4&&e<4e4}function l(e){if(c(e.kind)){let t=e.tags.find(([e])=>e===`d`)?.[1]??``;return`${e.pubkey}:${e.kind}:${t}`}return e.id}function u(e){if(!n||!s.has(e.kind))return;let t=Math.floor(Date.now()/1e3);if(e.created_at>t)return;let a=l(e),o=i.get(a);o&&o.created_at>=e.created_at||(i.set(a,e),r(Array.from(i.values()).sort((e,t)=>t.created_at-e.created_at)))}let d={kinds:o};return(async()=>{try{let n=await t.query([{...d,limit:40}],{signal:e.signal});for(let e of n)u(e)}catch{}n&&a(!1)})(),(async()=>{try{let r=Math.floor(Date.now()/1e3);for await(let i of t.req([{...d,since:r,limit:0}],{signal:e.signal})){if(!n)break;if(i[0]===`EVENT`)u(i[2]);else if(i[0]===`CLOSED`)break}}catch{}})(),()=>{n=!1,e.abort()}},[t,o,s]),{events:n,isLoading:i}}var G=f(),K=34236;function xe(e){return M(e)??{}}function Se(e,t){return e.find(([e])=>e===t)?.[1]}function Ce(e){let{nostr:t}=p(),{user:n}=v(),{data:r}=x(),{excludeMuted:i,mutedKey:a}=R(),o=h({queryKey:[`vines-follows`,n?.pubkey??``,r?.pubkeys?.join(`,`)??``,a],queryFn:async({signal:e})=>{if(!n)return[];let a=i(r?.pubkeys??[]),o=a.length?[...a,n.pubkey]:[n.pubkey];return(await t.query([{kinds:[K],authors:o,limit:40}],{signal:AbortSignal.any([e,AbortSignal.timeout(8e3)])})).sort((e,t)=>t.created_at-e.created_at)},enabled:e===`follows`&&!!n&&r!==void 0,staleTime:60*1e3}),{events:s,isLoading:c}=be(e===`global`?K:[]);return e===`follows`?{events:o.data??[],isLoading:o.isPending}:{events:s,isLoading:c}}function we({event:e,label:n,noBackground:r}){let{user:i}=v(),a=F(e.id),{mutate:o}=b(),s=m(),c=!!a;return(0,G.jsx)(J,{label:n,children:(0,G.jsx)(`button`,{className:y(`size-11 rounded-full flex items-center justify-center transition-colors backdrop-blur-sm`,!r&&`bg-black/20 hover:bg-white/10`,c?`text-pink-500`:`text-white hover:text-pink-400`),onClick:t=>{if(t.stopPropagation(),!i||c)return;T();let n=s.getQueryData([`event-stats`,e.id]);n&&s.setQueryData([`event-stats`,e.id],{...n,reactions:n.reactions+1}),s.setQueryData([`user-reaction`,e.id],{content:`👍`}),o({kind:7,content:`+`,tags:[[`e`,e.id],[`p`,e.pubkey],[`k`,String(e.kind)]]},{onError:()=>{n&&s.setQueryData([`event-stats`,e.id],n),s.removeQueries({queryKey:[`user-reaction`,e.id]})}})},children:(0,G.jsx)(t,{className:`size-6`,fill:c?`currentColor`:`none`})})})}function Te({event:e,label:t}){let{user:n}=v(),{mutate:r}=b(),{mutate:i}=pe(),a=m(),o=I(e.id),s=!!o;return(0,G.jsx)(J,{label:t,children:(0,G.jsx)(`button`,{className:y(`size-11 rounded-full flex items-center justify-center transition-colors backdrop-blur-sm bg-black/20 hover:bg-white/10`,s?`text-accent`:`text-white hover:text-accent`),onClick:t=>{if(t.stopPropagation(),!n)return;T();let c=D(e.kind),l=a.getQueryData([`event-stats`,e.id]);if(s&&o){l&&a.setQueryData([`event-stats`,e.id],{...l,reposts:Math.max(0,l.reposts-1)});let t=a.getQueryData([`user-repost`,e.id]);a.setQueryData([`user-repost`,e.id],null),i({eventId:o,eventKind:c},{onError:()=>{l&&a.setQueryData([`event-stats`,e.id],l),a.setQueryData([`user-repost`,e.id],t)}})}else{l&&a.setQueryData([`event-stats`,e.id],{...l,reposts:l.reposts+1}),a.setQueryData([`user-repost`,e.id],`optimistic`);let t=[[`e`,e.id,S],[`p`,e.pubkey]];if(c===16&&(t.push([`k`,String(e.kind)]),e.kind>=3e4&&e.kind<4e4)){let n=e.tags.find(([e])=>e===`d`)?.[1]??``;t.push([`a`,`${e.kind}:${e.pubkey}:${n}`])}r({kind:c,content:``,tags:t},{onError:()=>{l&&a.setQueryData([`event-stats`,e.id],l),a.setQueryData([`user-repost`,e.id],null)}})}},children:(0,G.jsx)(O,{className:`size-6`})})})}function q({event:e,isActive:t,isNearActive:r,onCommentClick:i,onPlayingChange:u}){let{config:f}=re(),{user:p}=v(),m=_(e.pubkey),h=m.data?.metadata,y=se(h),b=fe(h,e.pubkey),x=de(e.pubkey,h),{data:S}=_e(e.id,e),{format:ue}=ne(),T=!!p&&p.pubkey!==e.pubkey,[D,O]=(0,W.useState)(!1),[k,M]=(0,W.useState)(!1),[N,P]=(0,W.useState)(!1),[pe,F]=(0,W.useState)(t),[I,R]=(0,W.useState)(L),[z,B]=(0,W.useState)(!1),[V,H]=(0,W.useState)(!1),U=he(e),ye=U!==void 0,be=f.contentWarningPolicy,[K,Ce]=(0,W.useState)(!1),q=ye&&be===`blur`&&!K,Y=(0,W.useRef)(null),X=(0,W.useMemo)(()=>xe(e.tags),[e.tags]),Z=Se(e.tags,`title`),Ee=e.tags.filter(([e])=>e===`t`).map(([,e])=>e),De=ae(X.url??``),Q=j(X.url??``,X.encryption),Oe=j(X.thumbnail??``,X.thumbnail&&X.encryption?g(X.encryption):void 0),ke=Q.encrypted?Q.src??``:De.src,Ae=X.thumbnail?Oe.src:void 0,je=Q.encrypted?void 0:De.onError;(0,W.useEffect)(()=>{B(!1),H(!1),P(!1),M(!1)},[ke]),(0,W.useEffect)(()=>{let e=Y.current;!e||!X.url||(t&&!q?(e.currentTime=0,e.muted=L(),R(L()),F(!0),e.play().catch(()=>{F(!1)})):(e.pause(),e.currentTime=0,F(!1),H(!1)))},[t,X.url,q]);let $=(0,W.useCallback)(e=>{e.stopPropagation();let t=Y.current;t&&(t.paused?t.play():t.pause())},[]),Me=(0,W.useCallback)(e=>{e.stopPropagation();let t=Y.current;if(!t)return;let n=!t.muted;t.muted=n,ve(n),R(n)},[]);return q?(0,G.jsxs)(`div`,{className:`relative w-full h-full bg-neutral-900 overflow-hidden flex-shrink-0 flex flex-col items-center justify-center gap-3 px-6 text-center`,children:[(0,G.jsx)(`div`,{className:`flex items-center justify-center size-14 rounded-full bg-white/10 backdrop-blur-sm`,children:(0,G.jsx)(l,{className:`size-7 text-white/70`})}),(0,G.jsxs)(`div`,{className:`space-y-1.5 max-w-xs`,children:[(0,G.jsx)(`p`,{className:`text-base font-semibold text-white`,children:`Content Warning`}),U?(0,G.jsxs)(`p`,{className:`text-sm text-white/60 leading-relaxed`,children:[`“`,U,`”`]}):(0,G.jsx)(`p`,{className:`text-sm text-white/60 leading-relaxed`,children:`The author flagged this video as sensitive.`})]}),(0,G.jsxs)(ie,{variant:`outline`,size:`sm`,className:`gap-1.5 mt-1 rounded-full px-6 bg-white/10 border-white/20 text-white hover:bg-white/20 hover:text-white backdrop-blur-sm`,onClick:e=>{e.stopPropagation(),Ce(!0)},children:[(0,G.jsx)(s,{className:`size-3.5`}),`Show Video`]})]}):(0,G.jsxs)(`div`,{className:`relative w-full h-full bg-neutral-900 overflow-hidden flex-shrink-0`,children:[X.url?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`video`,{ref:Y,src:ke,"data-no-native-poster":``,poster:te,className:`absolute inset-0 w-full h-full object-cover`,loop:!0,playsInline:!0,muted:I,preload:t?`auto`:r?`metadata`:`none`,onCanPlay:()=>B(!0),onPlay:()=>{M(!0),P(!0),F(!1),H(!1),u?.(!0)},onPause:()=>{M(!1),F(!1),u?.(!1)},onWaiting:()=>{N&&H(!0)},onStalled:()=>{N&&H(!0)},onPlaying:()=>H(!1),onError:je,onClick:$}),!z&&X.thumbnail&&(0,G.jsx)(`img`,{src:Ae,alt:``,"aria-hidden":!0,className:`absolute inset-0 w-full h-full object-cover pointer-events-none`,decoding:`async`}),!z&&!X.thumbnail&&(0,G.jsx)(`div`,{className:`absolute inset-0 bg-neutral-900 pointer-events-none`}),z&&!N&&!pe&&(0,G.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center cursor-pointer`,onClick:$,children:(0,G.jsx)(`div`,{className:`size-20 rounded-full bg-black/40 flex items-center justify-center backdrop-blur-sm border border-white/20`,children:(0,G.jsx)(n,{className:`size-10 text-white ml-1.5`,fill:`white`})})}),N&&!k&&!V&&(0,G.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center cursor-pointer`,onClick:$,children:(0,G.jsx)(`div`,{className:`size-16 rounded-full bg-black/40 flex items-center justify-center backdrop-blur-sm border border-white/20 animate-in zoom-in-50 duration-150`,children:(0,G.jsx)(n,{className:`size-8 text-white ml-1`,fill:`white`})})}),V&&(0,G.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center pointer-events-none`,children:(0,G.jsx)(`div`,{className:`size-14 rounded-full bg-black/40 backdrop-blur-sm border border-white/10 flex items-center justify-center`,children:(0,G.jsxs)(`svg`,{className:`size-7 text-white animate-spin`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,"aria-hidden":!0,children:[(0,G.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`3`}),(0,G.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z`})]})})})]}):(0,G.jsx)(`div`,{className:`absolute inset-0 bg-neutral-900 flex items-center justify-center`,children:(0,G.jsx)(`span`,{className:`text-white/40 text-sm`,children:`No video`})}),z&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-32 bg-gradient-to-b from-black/60 to-transparent pointer-events-none`}),(0,G.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-64 bg-gradient-to-t from-black/90 via-black/40 to-transparent pointer-events-none`})]}),z&&(0,G.jsx)(`button`,{className:`absolute bottom-[calc(1rem+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))] right-4 z-10 size-9 rounded-full bg-black/40 backdrop-blur-sm border border-white/20 flex items-center justify-center text-white hover:bg-black/60 transition-colors`,onClick:Me,"aria-label":I?`Unmute`:`Mute`,children:I?(0,G.jsx)(o,{className:`size-4`}):(0,G.jsx)(ee,{className:`size-4`})}),z&&(0,G.jsxs)(`div`,{className:`absolute right-3 bottom-[calc(6rem+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))] z-10 flex flex-col items-center gap-5`,children:[(0,G.jsx)(w,{pubkey:e.pubkey,asChild:!0,children:(0,G.jsx)(C,{to:x,onClick:e=>e.stopPropagation(),className:`block`,children:m.isLoading?(0,G.jsx)(E,{className:`size-11 rounded-full`}):(0,G.jsxs)(le,{shape:y,className:`size-11 border-2 border-white shadow-lg`,children:[(0,G.jsx)(ce,{src:h?.picture,alt:b}),(0,G.jsx)(oe,{className:`bg-primary/80 text-white text-sm font-bold`,children:b[0]?.toUpperCase()})]})})}),(0,G.jsx)(we,{event:e,label:S?.reactions?A(S.reactions):void 0}),(0,G.jsx)(J,{icon:(0,G.jsx)(c,{className:`size-6`}),label:S?.replies?A(S.replies):void 0,onClick:e=>{e.stopPropagation(),i()},className:`text-white hover:text-blue-400`}),(0,G.jsx)(Te,{event:e,label:S?.reposts||S?.quotes?A((S?.reposts??0)+(S?.quotes??0)):void 0}),T&&(0,G.jsx)(ge,{target:e,children:(0,G.jsx)(J,{icon:(0,G.jsx)(d,{className:`size-6`,fill:`none`}),label:S?.zapAmount?ue(S.zapAmount,{layout:`compact`}):void 0,className:`text-white hover:text-amber-400`})}),(0,G.jsx)(J,{icon:(0,G.jsx)(a,{className:`size-6`}),onClick:e=>{e.stopPropagation(),O(!0)},className:`text-white/80 hover:text-white`})]}),z&&(0,G.jsxs)(`div`,{className:`absolute bottom-[calc(1.5rem+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))] left-4 right-20 z-10 space-y-1.5`,children:[(0,G.jsx)(w,{pubkey:e.pubkey,asChild:!0,children:(0,G.jsx)(C,{to:x,className:`block`,onClick:e=>e.stopPropagation(),children:(0,G.jsx)(`span`,{className:`font-bold text-white text-[15px] leading-tight drop-shadow hover:underline`,children:b})})}),Z&&(0,G.jsx)(`p`,{className:`text-white/90 text-sm leading-snug line-clamp-2 drop-shadow`,children:Z}),Ee.length>0&&(0,G.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:Ee.slice(0,4).map(e=>(0,G.jsxs)(C,{to:`/t/${encodeURIComponent(e)}`,className:`text-xs text-white/70 hover:text-white transition-colors`,onClick:e=>e.stopPropagation(),children:[`#`,e]},e))})]}),(0,G.jsx)(me,{event:e,open:D,onOpenChange:O})]})}function J({icon:e,label:t,onClick:n,className:r,children:i}){return(0,G.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[i??(0,G.jsx)(`button`,{className:y(`size-11 rounded-full flex items-center justify-center transition-colors backdrop-blur-sm bg-black/20 hover:bg-white/10`,r),onClick:n,children:e}),t&&(0,G.jsx)(`span`,{className:`text-white text-xs tabular-nums font-medium drop-shadow`,children:t})]})}var Y=k.find(e=>e.kind===K);function X(){let{config:e}=re(),{user:t}=v(),[n,r]=H(`vines`,[`follows`,`global`]),[i,a]=(0,W.useState)(!1),{events:o,isLoading:s}=Ce(n),[c,l]=(0,W.useState)(0),[u,d]=(0,W.useState)(!1),[ee,f]=(0,W.useState)(!1),[p,m]=(0,W.useState)(null),h=(0,W.useRef)(null),te=(0,W.useCallback)(()=>{d(!0)},[]),ne=(0,W.useCallback)(e=>{h.current=e,m(e)},[]);V({title:`Shorts | ${e.appName}`,description:`Short-form videos on Nostr`});let g=e.contentWarningPolicy===`hide`,_=(0,W.useMemo)(()=>o.filter(e=>!(!xe(e.tags).url||g&&he(e)!==void 0)),[o,g]);(0,W.useEffect)(()=>{l(0)},[n]);let ie=_[c];N({showFAB:!1,scrollContainer:p,noOverscroll:!0,hasSubHeader:!1,hideTopBar:!0,hideBottomNav:ee});let b=`vine-slide-height`;return(0,W.useEffect)(()=>(u?(document.body.style.overflow=`hidden`,document.body.style.touchAction=`none`):(document.body.style.overflow=``,document.body.style.touchAction=``),()=>{document.body.style.overflow=``,document.body.style.touchAction=``}),[u]),(0,W.useEffect)(()=>{let e=h.current;if(!e)return;let t=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting&&n.intersectionRatio>=.5){let t=Array.from(e.children).indexOf(n.target);t!==-1&&l(t)}},{root:e,threshold:.5});return Array.from(e.children).forEach(e=>t.observe(e)),()=>t.disconnect()},[_]),(0,W.useEffect)(()=>{let e=e=>{let t=h.current;if(t){if(e.key===`ArrowDown`){e.preventDefault();let n=Math.min(c+1,_.length-1);t.scrollTo({top:n*t.clientHeight,behavior:`smooth`}),l(n)}else if(e.key===`ArrowUp`){e.preventDefault();let n=Math.max(c-1,0);t.scrollTo({top:n*t.clientHeight,behavior:`smooth`}),l(n)}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c,_.length]),s?(0,G.jsx)(`div`,{className:`flex-1 min-w-0 relative flex flex-col`,children:(0,G.jsx)(`div`,{className:`relative flex-1 min-h-0`,children:(0,G.jsxs)(`div`,{className:y(b,`sidebar:h-dvh relative bg-neutral-900 overflow-hidden`),children:[(0,G.jsx)(`div`,{className:`absolute top-0 inset-x-0 z-20 safe-area-top`,children:(0,G.jsxs)(`div`,{className:`flex items-center justify-center gap-1 py-2 px-3`,children:[(0,G.jsx)(E,{className:`size-9 rounded-full bg-white/10`}),(0,G.jsxs)(`div`,{className:`flex items-center justify-center gap-6 flex-1`,children:[(0,G.jsx)(E,{className:`h-5 w-16 bg-white/20 rounded`}),(0,G.jsx)(E,{className:`h-5 w-16 bg-white/20 rounded`})]}),(0,G.jsx)(`div`,{className:`size-9`})]})}),(0,G.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-32 bg-gradient-to-b from-black/60 to-transparent pointer-events-none`}),(0,G.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-64 bg-gradient-to-t from-black/90 via-black/40 to-transparent pointer-events-none`}),(0,G.jsxs)(`div`,{className:`absolute bottom-[calc(1.5rem+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))] left-4 right-20 space-y-2.5`,children:[(0,G.jsx)(E,{className:`h-4 w-28 bg-white/20 rounded`}),(0,G.jsx)(E,{className:`h-3.5 w-48 bg-white/15 rounded`}),(0,G.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,G.jsx)(E,{className:`h-3 w-20 bg-white/10 rounded`}),(0,G.jsx)(E,{className:`h-3 w-14 bg-white/10 rounded`})]})]}),(0,G.jsxs)(`div`,{className:`absolute right-3 bottom-[calc(6rem+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))] flex flex-col items-center gap-5`,children:[(0,G.jsx)(E,{className:`size-11 rounded-full bg-white/15`}),(0,G.jsx)(E,{className:`size-11 rounded-full bg-white/15`}),(0,G.jsx)(E,{className:`size-11 rounded-full bg-white/15`}),(0,G.jsx)(E,{className:`size-11 rounded-full bg-white/15`}),(0,G.jsx)(E,{className:`size-11 rounded-full bg-white/15`})]}),(0,G.jsx)(E,{className:`absolute bottom-[calc(1rem+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))] right-4 size-9 rounded-full bg-white/10`})]})})}):!s&&_.length===0?(0,G.jsx)(`div`,{className:`flex-1 min-w-0 relative flex flex-col`,children:(0,G.jsx)(`div`,{className:`relative flex-1 min-h-0`,children:(0,G.jsxs)(`div`,{className:y(b,`sidebar:h-dvh relative bg-neutral-900 overflow-hidden`),children:[(0,G.jsx)(Z,{tab:n,onTabChange:r,hasUser:!!t,infoOpen:i,onInfoOpenChange:a}),(0,G.jsx)(`div`,{className:`flex-1 flex items-center justify-center h-full`,children:(0,G.jsx)(z,{message:n===`follows`?`None of the people you follow have posted shorts yet.`:`No shorts found. Check your relay connections or come back soon.`,onSwitchToGlobal:n===`follows`?()=>r(`global`):void 0})})]})})}):(0,G.jsxs)(`div`,{className:`flex-1 min-w-0 relative flex flex-col`,children:[(0,G.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[(0,G.jsx)(Z,{tab:n,onTabChange:r,hasUser:!!t,infoOpen:i,onInfoOpenChange:a}),(0,G.jsx)(`div`,{ref:ne,className:y(b,`sidebar:h-dvh snap-y snap-mandatory overflow-y-scroll`),style:{scrollbarWidth:`none`,msOverflowStyle:`none`,overscrollBehavior:`none`},children:_.map((e,t)=>(0,G.jsx)(`div`,{className:y(`w-full snap-start snap-always flex-shrink-0`,b,`sidebar:h-dvh`),children:(0,G.jsx)(q,{event:e,isActive:t===c,isNearActive:Math.abs(t-c)<=1,onCommentClick:te,onPlayingChange:t===c?f:void 0})},e.id))})]}),(0,G.jsx)(ye,{event:ie,open:u,onClose:()=>d(!1)})]})}function Z({tab:e,onTabChange:t,hasUser:n,infoOpen:a,onInfoOpenChange:o}){let s=P(),c=ue();return(0,G.jsx)(`div`,{className:`absolute top-0 inset-x-0 z-20 safe-area-top`,children:(0,G.jsxs)(`div`,{className:`flex items-center justify-center gap-1 py-2 px-3`,children:[(0,G.jsx)(`button`,{className:`size-9 shrink-0 rounded-full flex items-center justify-center text-white/80 hover:text-white drop-shadow-md transition-colors sidebar:hidden`,onClick:s,"aria-label":`Open menu`,children:(0,G.jsx)(B,{className:`size-5`})}),(0,G.jsx)(`button`,{className:`size-9 shrink-0 rounded-full flex items-center justify-center text-white/80 hover:text-white drop-shadow-md transition-colors hidden sidebar:flex`,onClick:()=>c(`/`),"aria-label":`Go back`,children:(0,G.jsx)(i,{className:`size-5`})}),(0,G.jsxs)(`div`,{className:`flex items-center justify-center gap-6 flex-1`,children:[n&&(0,G.jsxs)(`button`,{className:y(`text-sm font-semibold transition-colors drop-shadow-md`,e===`follows`?`text-white`:`text-white/50 hover:text-white/70`),onClick:()=>t(`follows`),children:[`Follows`,e===`follows`&&(0,G.jsx)(`div`,{className:`h-0.5 bg-white rounded-full mt-0.5 mx-auto w-full`})]}),(0,G.jsxs)(`button`,{className:y(`text-sm font-semibold transition-colors drop-shadow-md`,e===`global`?`text-white`:`text-white/50 hover:text-white/70`),onClick:()=>t(`global`),children:[`Global`,e===`global`&&(0,G.jsx)(`div`,{className:`h-0.5 bg-white rounded-full mt-0.5 mx-auto w-full`})]})]}),(0,G.jsx)(`div`,{className:`size-9 shrink-0 flex items-center justify-end [&_button]:text-white/70 [&_button:hover]:text-white drop-shadow-md`,children:Y&&(0,G.jsx)(U,{kindDef:Y,icon:(0,G.jsx)(r,{className:`size-5`}),open:a,onOpenChange:o})})]})})}export{q as VineCard,X as VinesFeedPage}; // @license-end