// @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
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PhotoComposeModal-BjRHXw-9.js","assets/rolldown-runtime-QTnfLwEv.js","assets/lucide-icons-BdRF0moN.js","assets/jsx-runtime-By8HlURe.js","assets/useQuery-rCAlChE8.js","assets/useAppContext-Ughdk2-Z.js","assets/useCurrentUser-C6OJJlWo.js","assets/preload-helper-CZgWQFsJ.js","assets/dist-DQ82bf9M.js","assets/esm-CRVqHnq2.js","assets/sha256-Cx9u8cje.js","assets/dist-DQ_zK-Nr.js","assets/utils-BFSTDHdM.js","assets/button-Cs26nq0r.js","assets/dist-CrweAx5r.js","assets/dist-BI-be9Ir.js","assets/dist-DEYuuXMO.js","assets/useNostrPublish-CrMjnYm4.js","assets/useMutation-CgsR0O-3.js","assets/hashtag-DjDKS0mr.js","assets/input-CM5Fnyvy.js","assets/useUploadFile-BpPXwoE0.js","assets/appBlossom-CsMDSd4h.js","assets/useEventInteractions-Buyvdv_T.js","assets/nostrId-DuqQCAdJ.js","assets/customEmoji-kpim4Htm.js","assets/safeNip19-CtQLwPmS.js","assets/ComposeDialogContent-YxhSZA-Y.js","assets/nsiteSubdomain-DmdGxq_K.js","assets/dist-DW2GM_Ig.js","assets/react-dom-YCZzGcHh.js","assets/dist-Bz2abD7M.js","assets/dist-BMrfXngQ.js","assets/dist-D9YQw-T8.js","assets/dist-DTSySAaw.js","assets/dist-CxcvWxxD.js","assets/dist-CpRh64jj.js","assets/dist-CX38Lmo0.js","assets/dist-BeEGgqo9.js","assets/Combination-C1QBaE03.js","assets/dialog-C3CFmras.js","assets/cards-DDSmTmb2.js","assets/resizeImage-LOlp-rx5.js"])))=>i.map(i=>d[i]);
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{pi as t,qi as n}from"./lucide-icons-BdRF0moN.js";import{t as r}from"./jsx-runtime-By8HlURe.js";import{t as i}from"./preload-helper-CZgWQFsJ.js";import{t as a}from"./useAppContext-Ughdk2-Z.js";import{t as o}from"./useCurrentUser-C6OJJlWo.js";import{n as s}from"./appBlossom-CsMDSd4h.js";import{s as c}from"./extraKinds-BydAXtVV.js";import{g as l}from"./sidebarItems-BFr7FKBa.js";import{c as u}from"./LayoutContext-CjQBLGO-.js";import{t as d}from"./SubHeaderBar-BYwNp4Nc.js";import{t as f}from"./useFeed-DtXzJkqY.js";import{t as p}from"./usePageRefresh-BuJEOs2u.js";import{n as m}from"./useTrending-DsL3v2RN.js";import{C as h,S as g,o as _,w as v,x as y,y as b}from"./index-CYEZWNq6.js";import{t as x}from"./PageHeader-CMi4aeE4.js";import{t as S}from"./useInfiniteScroll-BXunlzay.js";import{t as C}from"./KindInfoButton-BL9_-Fdi.js";import{t as w}from"./mediaUtils-CTfIfTcv.js";import{n as T,t as E}from"./MediaCollage-a5ntGRyP.js";var D=e(n(),1),O=r(),k=(0,D.lazy)(()=>i(()=>import(`./PhotoComposeModal-BjRHXw-9.js`).then(e=>({default:e.PhotoComposeModal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]))),A=20,j=c(`photos`);function M(){let{config:e}=a(),{user:n}=o(),{isMuted:r}=b(),[i,c]=(0,D.useState)(!1),[M,N]=y(`photos`,[`follows`,`global`]),P=(0,D.useCallback)(()=>{c(!0)},[]);v({title:`Photos | ${e.appName}`,description:`Photo posts on Nostr`}),u({showFAB:!0,onFabClick:P,fabIcon:(0,O.jsx)(t,{className:`size-4`,strokeWidth:2.5}),hasSubHeader:!0});let F=f(`follows`,{kinds:[A]}),I=m([A],M===`global`),{data:L,isPending:R,isLoading:z,fetchNextPage:B,hasNextPage:V,isFetchingNextPage:H}=M===`follows`?F:I,{scrollRef:U}=S({hasNextPage:V,isFetchingNextPage:H,fetchNextPage:B,pageCount:L?.pages?.length}),W=p([`feed`]),G=(0,D.useMemo)(()=>{if(!L?.pages)return[];let t=new Set,n=s(e.blossomServerMetadata,e.useAppBlossomServers);return(M===`follows`?L.pages.flatMap(e=>e.items).map(e=>e.event):L.pages.flat()).filter(e=>t.has(e.id)||(t.add(e.id),e.kind!==A)||r(e)?!1:w(e,n)!==null)},[L?.pages,r,M,e.blossomServerMetadata,e.useAppBlossomServers]),K=R||z&&!L;return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(`main`,{className:``,children:[(0,O.jsx)(x,{title:`Photos`,icon:(0,O.jsx)(t,{className:`size-5`}),children:(0,O.jsx)(C,{kindDef:j,icon:l(`photos`,`size-5`)})}),(0,O.jsxs)(d,{children:[(0,O.jsx)(_,{label:`Follows`,active:M===`follows`,onClick:()=>N(`follows`),disabled:!n}),(0,O.jsx)(_,{label:`Global`,active:M===`global`,onClick:()=>N(`global`)})]}),(0,O.jsx)(`div`,{style:{height:20}}),(0,O.jsx)(h,{onRefresh:W,children:K?(0,O.jsx)(T,{count:15}):G.length===0?(0,O.jsx)(g,{message:M===`follows`?`No photos yet. Follow some photographers to see their photos here.`:`No photos found. Check your relay connections or come back soon.`,onSwitchToGlobal:M===`follows`?()=>N(`global`):void 0}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(E,{events:G,hasNextPage:V,isFetchingNextPage:H,onNearEnd:()=>{V&&!H&&B()}}),(0,O.jsx)(`div`,{ref:U,className:`h-px`})]})})]}),i&&(0,O.jsx)(D.Suspense,{fallback:null,children:(0,O.jsx)(k,{open:i,onOpenChange:c})})]})}export{M as PhotosFeedPage};
// @license-end
