PageSourceSearch

https://gruponoe.netlify.app/assets/ReelsPage-B1E8uw8g.js

js gruponoe.netlify.app collected 2026-10-03 10:51:02 UTC 20,826 bytes, 2 lines download raw bytes

1import{j as t,O as ee,s as V,i as te,U as ae,ae as se,aI as ne,aH as re,a4 as ie,aJ as oe,ai as le,x as ce}from"./ui-ig8E5hwA.js";import{b as H,r as p}from"./vendor-lj6cluqn.js";import{i as v,h as M,e as f,f as x,b as de,g as me,l as ue,u as he,O as P,B as W,D as ge,E as fe}from"./index-CxnQOnkr.js";import{n as pe}from"./newsService-DPoY_iK4.js";import{collection as k,query as A,where as j,getDocs as D,writeBatch as R,doc as F,increment as L,serverTimestamp as z,orderBy as xe,limit as we}from"./firestore-Mpy8fa92.js";import{C as ve}from"./CommentsSheet-BmiKAwsC.js";import"./firebase-OpcZ-Tii.js";import"./commentService-u7AnS-HN.js";const O="feedLikes",q="feedSaves",E=e=>{if(e.startsWith("post_"))return{type:"group_post",originalId:e.substring(5),collection:"groupPosts"};if(e.startsWith("news_"))return{type:"news",originalId:e.substring(5),collection:"news"};if(e.startsWith("listing_"))return{type:"listing",originalId:e.substring(8),collection:"listings"};if(e.startsWith("banner_"))return{type:"banner",originalId:e.substring(7),collection:"banners"};throw new Error(`Invalid feed item ID format: ${e}`)},be=(e,n)=>({id:`post_${e.id}`,type:"group_post",title:e.title,content:e.content,author:{id:e.author.id,name:e.author.name,avatar:e.author.avatar},createdAt:e.createdAt,updatedAt:e.updatedAt,likes:e.upvotes,comments:e.commentCount,shares:0,saves:e.saves||0,views:e.views,groupId:e.groupId,groupName:n,imageUrl:e.attachments&&e.attachments.length>0?e.attachments[0]:void 0,isLiked:!1,isSaved:!1}),ye=(e,n)=>({id:`news_${e.id}`,type:"news",title:e.title,content:e.excerpt,author:{id:(n==null?void 0:n.id)||"noe-connect",name:(n==null?void 0:n.name)||e.author},createdAt:e.createdAt,updatedAt:e.updatedAt,likes:0,comments:e.commentCount,shares:0,saves:e.saves||0,views:e.views,newsId:e.id,imageUrl:e.imageUrl,isLiked:!1,isSaved:!1}),je=e=>({id:`listing_${e.id}`,type:"listing",title:e.title,content:e.description,author:{id:e.userId,name:e.userName,avatar:e.userAvatar},createdAt:e.createdAt,updatedAt:e.updatedAt,likes:e.likes,comments:0,shares:0,saves:e.saves||0,views:e.views,listingId:e.id,imageUrl:e.images[0],isLiked:!1,isSaved:!1}),Ne=e=>({id:`banner_${e.id}`,type:"banner",title:e.title,content:e.description||"",author:{id:"noe-connect",name:"Noé Connect",avatar:"/noe-connect-logo.png"},createdAt:e.createdAt,updatedAt:e.updatedAt,likes:0,comments:0,shares:0,saves:0,views:e.impressionCount,bannerId:e.id,imageUrl:e.imageUrl,bannerLink:e.link,bannerAltText:e.altText,isLiked:!1,isSaved:!1}),ke=async(e,n)=>{if(v)return _e();try{const s=[],i=(e==null?void 0:e.types)||["group_post","news","listing"];if(i.includes("group_post")){const m=await Ie();s.push(...m)}if(i.includes("news")){const m=await Ce(e);s.push(...m)}if(i.includes("listing")){const m=await Se(e);s.push(...m)}let o=[];try{let h=(await M.getBanners({active:!0,position:"between-sections"})).filter(w=>w.imageUrl&&w.imageUrl.trim()!==""&&!w.imageUrl.includes("placeholder"));h.length===0&&(h=(await M.getBanners({active:!0})).filter(b=>b.imageUrl&&b.imageUrl.trim()!==""&&!b.imageUrl.includes("placeholder"))),o=[...h].sort(()=>Math.random()-.5).slice(0,5).map(Ne),f.log(`Found ${o.length} active banners for feed (from ${h.length} filtered)`)}catch(m){f.error("Error fetching banners for feed:",m)}s.sort((m,h)=>h.createdAt.getTime()-m.createdAt.getTime());const u=e!=null&&e.limit?s.slice(0,e.limit):s,c=[];let l=0;for(let m=0;m<u.length;m++)if(c.push(u[m]),(m+1)%10===0&&o.length>0){const h=o[l%o.length];c.push(h),l++}return n&&await Fe(c,n),c}catch(s){return f.error("Error fetching feed:",s),[]}},Ie=async()=>{try{const e=k(x,"groupPosts"),n=A(e,xe("createdAt","desc"),we(50)),s=await D(n);if(s.empty)return[];const i=await de.getGroups({}),o=new Map(i.map(c=>[c.id,c.name])),u=[];return s.forEach(c=>{var h,N,w;const l=c.data(),m={id:c.id,groupId:l.groupId,title:l.title||"",content:l.content||"",author:l.author||{id:"",name:"",email:"",role:"member",joinDate:new Date,postCount:0,reputation:0},createdAt:((h=l.createdAt)==null?void 0:h.toDate())||new Date,updatedAt:((N=l.updatedAt)==null?void 0:N.toDate())||new Date,upvotes:l.upvotes||0,downvotes:l.downvotes||0,commentCount:l.commentCount||0,isPinned:l.isPinned||!1,isLocked:l.isLocked||!1,tags:l.tags||[],attachments:l.attachments,views:l.views||0,lastActivity:((w=l.lastActivity)==null?void 0:w.toDate())||new Date};u.push(be(m,o.get(m.groupId)))}),u}catch(e){return f.error("Error fetching group posts:",e),[]}},Ce=async e=>{try{const n=await pe.getNews({status:"published",featured:e!=null&&e.search?void 0:!0});let s;if(!v)try{const i=await me("admin");if(i.length>0){const o=i[0];s={id:o.uid,name:o.displayName||"Noé Connect"}}}catch(i){f.error("Error fetching admin for news:",i)}return n.map(i=>ye(i,s))}catch(n){return f.error("Error fetching news feed:",n),[]}},Se=async e=>{try{return(await ue.getListings({approvalStatus:"approved",status:"active",...e})).map(je)}catch(n){return f.error("Error fetching listings feed:",n),[]}},Fe=async(e,n)=>{if(!v)try{const s=e.map(c=>Le(c.id,n)),i=e.map(c=>Ee(c.id,n)),o=await Promise.all(s),u=await Promise.all(i);e.forEach((c,l)=>{c.isLiked=o[l],c.isSaved=u[l]})}catch(s){f.error("Error enriching feed items:",s)}},Le=async(e,n)=>{if(v)return!1;try{const s=k(x,O),i=A(s,j("feedItemId","==",e),j("userId","==",n));return!(await D(i)).empty}catch(s){return f.error("Error checking like status:",s),!1}},Ee=async(e,n)=>{if(v)return!1;try{const s=k(x,q),i=A(s,j("feedItemId","==",e),j("userId","==",n));return!(await D(i)).empty}catch(s){return f.error("Error checking save status:",s),!1}},Ae=async(e,n)=>{if(!v)try{const{originalId:s,collection:i}=E(e),o=R(x),u=F(k(x,O));o.set(u,{feedItemId:e,userId:n,createdAt:z()});const c=F(x,i,s);i==="groupPosts"?o.update(c,{upvotes:L(1)}):i==="listings"&&o.update(c,{likes:L(1)}),await o.commit()}catch(s){throw f.error("Error liking feed item:",s),s}},De=async(e,n)=>{if(!v)try{const{originalId:s,collection:i}=E(e),o=k(x,O),u=A(o,j("feedItemId","==",e),j("userId","==",n)),c=await D(u);if(c.empty){f.warn("Like not found for feedItemId:",e,"userId:",n);return}const l=R(x);
1c.forEach(h=>{l.delete(h.ref)});const m=F(x,i,s);i==="groupPosts"?l.update(m,{upvotes:L(-1)}):i==="listings"&&l.update(m,{likes:L(-1)}),await l.commit()}catch(s){throw f.error("Error unliking feed item:",s),s}},Ue=async(e,n)=>{if(!v)try{const{originalId:s,collection:i}=E(e),o=R(x),u=k(x,q),c=F(u);o.set(c,{feedItemId:e,userId:n,createdAt:z()});const l=F(x,i,s);i!=="banners"&&o.update(l,{saves:L(1)}),await o.commit()}catch(s){throw f.error("Error saving feed item:",s),s}},$e=async(e,n)=>{if(!v)try{const{originalId:s,collection:i}=E(e),o=k(x,q),u=A(o,j("feedItemId","==",e),j("userId","==",n)),c=await D(u);if(c.empty){f.warn("Save not found for feedItemId:",e,"userId:",n);return}const l=R(x);c.forEach(h=>{l.delete(h.ref)});const m=F(x,i,s);i!=="banners"&&l.update(m,{saves:L(-1)}),await l.commit()}catch(s){throw f.error("Error unsaving feed item:",s),s}},_e=()=>[{id:"post_1",type:"group_post",title:"Final de semana perfeito na praia!",content:"Final de semana perfeito na praia! 🌴☀️ #brasileirosnoseua #miami #praia",author:{id:"user1",name:"brasileiros_eua",avatar:"https://i.pravatar.cc/150?img=1"},createdAt:new Date(Date.now()-72e5),updatedAt:new Date(Date.now()-72e5),likes:1242,comments:89,shares:45,saves:120,views:5e3,groupId:"group1",groupName:"Brasileiros em Miami",imageUrl:"https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=800",isLiked:!1,isSaved:!1},{id:"news_1",type:"news",title:"Novo Grupo de Imigrantes Chega a Miami",content:"Um grupo de 20 brasileiros chegou esta semana em Miami com oportunidades de trabalho em construção.",author:{id:"noe-connect",name:"Noé Connect"},createdAt:new Date("2025-03-15"),updatedAt:new Date("2025-03-15"),likes:0,comments:2,shares:0,saves:0,views:1245,newsId:"1",imageUrl:"https://images.unsplash.com/photo-1566073771259-6a8506099945?w=800",isLiked:!1,isSaved:!1},{id:"listing_1",type:"listing",title:"Casa com 3 quartos em Orlando",content:"Linda casa com 3 quartos, 2 banheiros, piscina e quintal amplo. Localização privilegiada.",author:{id:"user2",name:"João Silva",avatar:"https://i.pravatar.cc/150?img=2"},createdAt:new Date(Date.now()-18e6),updatedAt:new Date(Date.now()-18e6),likes:24,comments:0,shares:0,saves:5,views:150,listingId:"1",imageUrl:"https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=800",isLiked:!0,isSaved:!1}],_=e=>{const n=e.author.avatar||`https://ui-avatars.com/api/?name=${e.author.name}&background=bfa757&color=000000`,s=new Date().getTime()-e.createdAt.getTime(),i=Math.floor(s/(1e3*60*60)),o=Math.floor(i/24);let u="";i<1?u="Agora mesmo":i<24?u=`${i} hora${i>1?"s":""} atrás`:u=`${o} dia${o>1?"s":""} atrás`;const c=e.type==="group_post"&&Math.random()>.5,l=c?"0:45":void 0,m=e.type==="group_post"?"Som original - "+e.author.name:void 0,h=e.type==="group_post"?"Miami, Florida":e.type==="listing"?"Orlando, FL":void 0;return{...e,avatar:n,username:e.author.name,timestamp:u,music:m,isVideo:c,duration:l,location:h,isFollowing:!1}},Pe=({post:e,onLike:n,onSave:s,onFollow:i,onGroupPress:o,onViewFull:u,onComment:c,onShare:l})=>{var $,C;const m=H(),[h,N]=p.useState(!1),[w,b]=p.useState(!1),U=e.content.length>100&&!h?`${e.content.substring(0,100)}...`:e.content;p.useEffect(()=>{e.type==="banner"&&e.bannerId&&M.incrementImpression(e.bannerId).catch(console.error)},[e.type,e.bannerId]);const I=()=>{n(e.id),b(!0),setTimeout(()=>b(!1),1e3)};if(e.type==="banner"){const T=()=>{e.bannerId&&M.incrementClick(e.bannerId).catch(console.error)};return t.jsx("div",{className:"bg-noe-900 border border-noe-800 rounded-lg m-3",children:t.jsxs("div",{className:"p-4",children:[t.jsx("div",{className:"text-xs font-semibold text-noe-brand mb-2",children:"ANÚNCIO"}),e.imageUrl&&t.jsx("div",{className:"relative w-full h-48 overflow-hidden rounded-lg",children:t.jsx(P,{src:e.imageUrl,alt:e.bannerAltText||e.title,className:"w-full h-full object-cover",width:400,height:200})}),t.jsxs("div",{className:"mt-3",children:[t.jsx("h3",{className:"font-semibold text-noe-100",children:e.title}),e.content&&t.jsx("p",{className:"text-sm text-noe-300 mt-1",children:e.content}),e.bannerLink&&t.jsx("a",{href:e.bannerLink,target:"_blank",rel:"noopener noreferrer",onClick:T,className:"inline-block mt-3 px-4 py-2 bg-noe-brand text-white text-sm font-semibold rounded-lg hover:bg-noe-brandHover transition-colors",children:"Saiba mais"})]})]})})}return t.jsxs("div",{className:"bg-noe-950 border-b border-noe-800",children:[t.jsxs("div",{className:"flex items-center justify-between p-3",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("button",{onClick:()=>m("/profile/"+e.author.id),type:"button",className:"w-10 h-10 rounded-full bg-gradient-to-r from-amber-500 to-yellow-500 p-0.5 focus:outline-none",children:t.jsxs("div",{className:"w-full h-full rounded-full bg-noe-950 flex items-center justify-center overflow-hidden",children:[($=e.avatar)!=null&&$.startsWith("http")?t.jsx(P,{src:e.avatar,alt:e.username,className:"w-full h-full object-cover",width:40,height:40}):t.jsx("span",{className:"text-lg",children:e.avatar}),w&&t.jsxs("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:[t.jsx("div",{className:"animate-ping absolute w-32 h-32 bg-red-500/30 rounded-full"}),t.jsx(V,{className:"w-24 h-24 fill-red-500 text-red-500 animate-bounce"})]})]})}),t.jsxs("div",{className:"flex-1",children:[t.jsx("div",{className:"flex items-center gap-2",children:t.jsx("span",{className:"font-semibold text-noe-100",children:e.username})}),e.location&&t.jsxs("div",{className:"flex items-center gap-1 text-xs text-noe-400",children:[t.jsx(te,{className:"w-3 h-3"}),e.location]}),t.jsx("div",{className:"text-xs text-noe-500",children:e.timestamp})]})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[e.groupId&&o&&t.jsx("button",{onClick:()=>o(e.groupId),className:"p-2 text-noe-400 hover:text-noe-100",title:"Ver grupo",children:t.jsx(ae,{className:"w-5 h-5"})}),e.type!=="news"&&t.jsx("button",{onClick:()=>i(e.id),className:`px-3 py-1 text-sm font-semibold rounded-lg transition-colors ${e.isFollowing?"bg-noe-800 text-noe-300 hover:bg-noe-700":"bg-noe-brand text-white hover:bg-noe-brandHover"}`,children:e.isFollowing?"Seguindo":"Seguir"}),t.jsx("button",{className:"p-2",children:t.jsx(se,{className:"w-5 h-5 text-noe-100"})})]})]}),t.jsxs("div",{className:"relative w-full aspect-square overflow-hidden",onDoubleClick:I,children:[e.imageUrl&&!e.imageUrl.startsWith("gradient:")?t.jsx(P,{src:e.imageUrl,alt:e.title,className:"w-full h-full object-cover",width:800,height:800,fallbackSrc:`https://via.placeholder.com/800x800/bfa757/ffffff?text=${encodeURIComponent(e.title)}`}):t.jsx("div",{className:`w-full h-full bg-gradient-to-b ${(C=e.imageUrl)!=null&&C.startsWith("gradient:")?e.imageUrl.replace("gradient:",""):"from-blue-500 to-purple-600"}`}),e.isVideo&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsx("div",{className:"w-16 h-16 rounded-full bg-black/50 flex items-center justify-center",children:t.jsx(ne,{className:"w-8 h-8 text-white fill-white"})})}),t.jsx("div",{className:"absolute bottom-3 right-3 bg-noe-950/70 text-noe-100 text-xs px-2 py-1 rounded",children:e.duration})]})]}),t.jsxs("div",{className:"p-3",children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsxs("button",{onClick:()=>n(e.id),className:"p-1 flex items-center gap-2",children:[t.jsx(V,{className:`w-7 h-7 ${e.isLiked?"fill-red-500 text-red-500":"text-noe-100"}`}),e.likes>0&&t.jsx("span",{className:"text-noe-100 font-medium text-sm",children:e.likes.toLocaleStr
1ing()})]}),t.jsxs("button",{onClick:()=>c&&c(e.id),className:"p-1 flex items-center gap-2",children:[t.jsx(re,{className:"w-7 h-7 text-noe-100"}),e.comments>0&&t.jsx("span",{className:"text-noe-100 font-medium text-sm",children:e.comments.toLocaleString()})]}),t.jsx("button",{onClick:()=>l&&l(e.id),className:"p-1",children:t.jsx(ie,{className:"w-7 h-7 text-noe-100"})})]}),t.jsx("button",{onClick:()=>s(e.id),className:"p-1",children:e.isSaved?t.jsx(oe,{className:"w-7 h-7 text-amber-400 fill-amber-400"}):t.jsx(le,{className:"w-7 h-7 text-noe-100"})})]}),t.jsxs("div",{className:"mb-3",children:[t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx("span",{className:"font-semibold text-noe-100",children:e.username}),t.jsxs("p",{className:"text-noe-100 flex-1",children:[U,e.content.length>100&&t.jsx("button",{onClick:()=>N(!h),className:"text-noe-brand ml-1 hover:text-noe-brandHover font-medium",children:h?"ver menos":"mais"})]})]}),e.music&&t.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[t.jsx(ce,{className:"w-4 h-4 text-noe-400"}),t.jsx("span",{className:"text-noe-400 text-sm",children:e.music})]})]}),u&&t.jsx("button",{onClick:()=>u(e.id,e.type),className:"mt-4 px-4 py-2 bg-noe-brand/20 text-noe-brand rounded-lg font-medium hover:bg-noe-brand/30 transition-colors w-full",children:e.type==="news"?"Ler Matéria Completa":"Ver postagem completa"})]})]})},He=()=>{const{user:e}=he(),n=H(),[s,i]=p.useState([]),[o,u]=p.useState([]),[c,l]=p.useState(!0),[m,h]=p.useState([]),[N,w]=p.useState(!1),[b,U]=p.useState(!1),[I,$]=p.useState(""),C=p.useMemo(()=>m.map(r=>r.uid),[m]);p.useEffect(()=>{const r=[".sidebar",".left-rail","aside","#sidebar",'[data-testid="sidebar"]'],a=[];return r.forEach(d=>{document.querySelectorAll(d).forEach(g=>{a.push(g)})}),a.forEach(d=>{try{d.style.display="none"}catch{}}),()=>{a.forEach(d=>{try{d.style.display=""}catch{}})}},[]),p.useEffect(()=>{(async()=>{l(!0);try{const a=await ke({},e==null?void 0:e.uid);i(a);const d=a.map(g=>_(g));
1u(d)}catch(a){console.error("Failed to load feed:",a)}finally{l(!1)}})()},[e]),p.useEffect(()=>{(async()=>{if(!e){h([]);return}w(!0);try{const a=await W(e.uid);h(a)}catch(a){console.error("Failed to load following users:",a)}finally{w(!1)}})()},[e]),p.useEffect(()=>{if(s.length===0)return;const r=s.map(a=>{const d=_(a),g=C.includes(a.author.id);return{...d,isFollowing:g}});u(r)},[s,C]);const T=async r=>{if(!e){window.confirm("Você precisa estar logado para curtir. Deseja fazer login agora?")&&n("/login");return}try{const a=s.find(d=>d.id===r);if(!a)return;a.isLiked?(await De(r,e.uid),a.isLiked=!1,a.likes-=1):(await Ae(r,e.uid),a.isLiked=!0,a.likes+=1),i([...s]),u(o.map(d=>d.id===r?_(a):d))}catch(a){console.error("Failed to toggle like:",a)}},G=async r=>{if(!e){window.confirm("Você precisa estar logado para salvar. Deseja fazer login agora?")&&n("/login");return}try{const a=s.find(d=>d.id===r);if(!a)return;a.isSaved?(await $e(r,e.uid),a.isSaved=!1,a.saves-=1):(await Ue(r,e.uid),a.isSaved=!0,a.saves+=1),i([...s]),u(o.map(d=>d.id===r?_(a):d))}catch(a){console.error("Failed to toggle save:",a)}},J=async r=>{if(!e){window.confirm("Você precisa estar logado para seguir. Deseja fazer login agora?")&&n("/login");return}try{const a=s.find(S=>S.id===r);if(!a)return;const d=a.author.id;C.includes(d)?await ge(e.uid,d):await fe(e.uid,d);const y=await W(e.uid);h(y)}catch(a){console.error("Failed to toggle follow:",a)}},K=r=>{$(r),U(!0)},Q=()=>{I&&(i(r=>r.map(a=>a.id===I?{...a,comments:a.comments+1}:a)),u(r=>r.map(a=>a.id===I?{...a,comments:a.comments+1}:a)))},X=async r=>{try{const a=E(r);let d=`${window.location.origin}/feed`,g="Post",y="Confira este post no NOE Connect!";const S=s.find(B=>B.id===r);if(S)switch(g=S.title||"Post",y=S.content.substring(0,100)+"...",a.type){case"group_post":d=`${window.location.origin}/groups/${S.groupId||"feed"}`;break;case"news":d=`${window.location.origin}/news/${a.originalId}`;break;case"listing":d=`${window.location.origin}/listings/${a.originalId}`;break}if(navigator.share)try{await navigator.share({title:g,text:y,url:d})}catch(B){console.error("Error sharing:",B)}else navigator.clipboard.writeText(d),alert("Link copiado para a área de transferência!")}catch(a){console.error("Error sharing:",a),navigator.clipboard.writeText(window.location.origin+"/feed"),alert("Link copiado para a área de transferência!")}},Y=r=>{r&&n(`/groups/${r}`)},Z=(r,a)=>{try{const d=E(r);switch(d.type){case"listing":n(`/listings/${d.originalId}`);break;case"group_post":{const g=o.find(y=>y.id===r);g!=null&&g.groupId?n(`/groups/${g.groupId}`):n("/feed");break}case"news":n(`/news/${d.originalId}`);break;default:n("/feed")}}catch(d){switch(console.error("Error parsing feed item ID:",d),a){case"listing":n(`/listings/${r}`);break;case"group_post":{const g=o.find(y=>y.id===r);g!=null&&g.groupId?n(`/groups/${g.groupId}`):n("/feed");break}case"news":n(`/news/${r}`);break;default:n("/feed")}}};return t.jsxs("div",{className:"flex flex-col flex-1 bg-noe-950 text-noe-100 md:hidden",children:[t.jsx("div",{className:"flex-1 overflow-y-auto",children:t.jsxs("div",{className:"pb-20",children:[!N&&m.length>0&&t.jsxs("div",{className:"px-3 py-4 border-b border-noe-800",children:[t.jsx("h3",{className:"font-semibold text-noe-300 mb-3",children:"Pessoas que você segue"}),t.jsx("div",{className:"flex overflow-x-auto gap-4 pb-2",children:m.map(r=>{var a;return t.jsxs("div",{className:"flex flex-col items-center flex-shrink-0",children:[t.jsx("button",{onClick:()=>n("/profile/"+r.uid),type:"button",className:"w-14 h-14 rounded-full bg-gradient-to-r from-amber-500 to-yellow-500 p-0.5 focus:outline-none",children:t.jsx("div",{className:"w-full h-full rounded-full bg-noe-950 flex items-center justify-center overflow-hidden",children:(a=r.photoURL)!=null&&a.startsWith("http")?t.jsx(P,{src:r.photoURL,alt:r.displayName||"",className:"w-full h-full object-cover",width:56,height:56}):t.jsx("span",{className:"text-lg",children:r.photoURL||(r.displayName?r.displayName.charAt(0):"")})})}),t.jsx("span",{className:"text-xs text-noe-300 mt-2 truncate max-w-[70px]",children:r.displayName||"Usuário"})]},r.uid)})})]}),c?t.jsxs("div",{className:"flex flex-col items-center justify-center h-64",children:[t.jsx(ee,{className:"w-8 h-8 text-noe-brand animate-spin mb
1-4"}),t.jsx("p",{className:"text-noe-400",children:"Carregando feed..."})]}):o.length===0?t.jsxs("div",{className:"text-center py-20",children:[t.jsx("div",{className:"text-noe-500 text-6xl mb-4",children:"📱"}),t.jsx("h3",{className:"text-xl font-bold text-noe-300",children:"Nenhuma publicação no feed"}),t.jsx("p",{className:"text-noe-500 mt-2",children:"Siga grupos e usuários para ver publicações"})]}):o.map(r=>t.jsx(Pe,{post:r,onLike:T,onSave:G,onFollow:J,onGroupPress:Y,onViewFull:Z,onComment:K,onShare:X},r.id))]})}),t.jsx(ve,{isOpen:b,onClose:()=>U(!1),feedItemId:I,onCommentAdded:Q})]})};export{He as default};
2//# sourceMappingURL=ReelsPage-B1E8uw8g.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.