import{_ as b}from"./DCjGJM2Q.js";import{_ as C,r as _,o as a,f as P,w as m,b as p,a as o,t as s,c as n,g as h,d as f,e as B,F as w,i as k,h as L}from"./Cmgq8IVP.js";const D=B({name:"CirclePostCard",components:{BaseButton:b},props:{post:{type:Object,required:!0,validator(t){return t&&typeof t=="object"&&t.id&&t.name}}},computed:{postExcerpt(){return this.post.short_excerpt||this.post.body_preview||this.post.title||""},circlePostUrl(){return`https://community.750words.com/c/${this.post.space_slug||"general"}/${this.post.slug||this.post.id}`}},methods:{formatPostDate(t){if(!t)return"";try{const i=new Date(t),r=Math.abs(new Date-i),e=Math.ceil(r/(1e3*60*60*24));if(e===1)return this.$t("components.circle_post_card.yesterday")||"yesterday";if(e<7)return this.$t("components.circle_post_card.days_ago",{days:e})||`${e} days ago`;if(e<30){const l=Math.floor(e/7);return this.$t("components.circle_post_card.weeks_ago",{weeks:l})||`${l} ${l===1?"week":"weeks"} ago`}else return i.toLocaleDateString()}catch(i){return console.error("Error formatting date:",i),t}}}}),M={class:"title-content"},S={class:"post-title"},V=["href"],I={class:"post-meta"},T={class:"space-name"},z={class:"post-date"},E={class:"post-body"},F={class:"post-stats"},N={key:0,class:"stat-item"},j={key:1,class:"stat-item"};function q(t,i,d,r,e,l){const u=_("v-card-title"),y=_("v-card-text"),g=_("v-spacer"),$=_("BaseButton"),c=_("v-card-actions"),v=_("v-card");return a(),P(v,{class:"theme-aware circle-post-card",variant:"outlined",elevation:"1"},{default:m(()=>[p(u,{class:"circle-post-title"},{default:m(()=>[o("div",M,[o("h4",S,[o("a",{href:t.circlePostUrl,target:"_blank",class:"post-title-link"},s(t.post.name),9,V)]),o("div",I,[o("span",T,s(t.post.space_name),1),o("span",z,s(t.formatPostDate(t.post.published_at)),1)])])]),_:1}),p(y,{class:"circle-post-content"},{default:m(()=>[o("div",E,s(t.postExcerpt),1)]),_:1}),p(c,{class:"circle-post-actions"},{default:m(()=>[o("div",F,[t.post.comments_count>0?(a(),n("span",N," πŸ’¬ "+s(t.post.comments_count)+" "+s(t.post.comments_count===1?"comment":"comments"),1)):h("",!0),t.post.likes_count>0?(a(),n("span",j," ❀️ "+s(t.post.likes_count)+" "+s(t.post.likes_count===1?"like":"likes"),1)):h("",!0)]),p(g),p(,ドル{type:"secondary",size:"small",href:t.circlePostUrl,target:"_blank",variant:"outlined",class:"view-post-btn"},{default:m(()=>[f(s(t.$t("components.circle_post_card.view_on_circle")||"View on Circle"),1)]),_:1},8,["href"])]),_:1})]),_:1})}const U=C(D,[["render",q],["__scopeId","data-v-8d8ad9f9"]]),A=B({name:"CirclePostsList",components:{CirclePostCard:U,BaseButton:b},props:{spaceId:{type:String,default:null},spaceSlug:{type:String,default:null},limit:{type:Number,default:5},showViewMore:{type:Boolean,default:!0},autoLoad:{type:Boolean,default:!0},compactMode:{type:Boolean,default:!1}},data(){return{posts:[],loading:!1,error:null,spaceSlugFromPosts:null}},computed:{communityUrl(){const t=this.spaceSlug||this.spaceSlugFromPosts;return t?`https://community.750words.com/c/${t}`:"https://community.750words.com"}},async mounted(){var t,i,d;(t=this.$auth)!=null&&t.sessionChecked||await((i=this.$auth)==null?void 0:i.initializeAuth()),this.autoLoad&&((d=this.$auth)!=null&&d.isLoggedIn)&&await this.loadPosts()},methods:{async loadPosts(){var t,i,d;if(!((t=this.$auth)!=null&&t.isLoggedIn)){this.error=this.$t("components.circle_posts_list.login_required")||"Please log in to see community posts";return}this.loading=!0,this.error=null;try{const r=L(),e=new URLSearchParams;this.spaceId&&e.append("space_id",this.spaceId),this.limit&&e.append("limit",this.limit.toString());const l=`/api/v1/circle/posts${e.toString()?"?"+e.toString():""}`,u=await $fetch(l,{baseURL:r.public.railsApiUrl||"http://localhost:8080",headers:{Authorization:`Bearer ${(i=this.$auth)==null?void 0:i.token}`,"Content-Type":"application/json"}});if(u.status==="OK")this.posts=u.posts||[],this.posts.length>0&&this.posts[0].space_slug&&(this.spaceSlugFromPosts=this.posts[0].space_slug);else throw new Error(u.message||"Failed to load posts")}catch(r){if(console.error("Error loading Circle posts:",r),r.status===401||r.statusCode===401){await((d=this.$auth)==null?void 0:d.logout()),await this.$router.push("/login");return}r.status===503||r.statusCode===503?this.error=this.$t("components.circle_posts_list.service_unavailable")||"Circle community is temporarily unavailable. Please try again later.":r.status>=500?this.error=this.$t("components.circle_posts_list.server_error")||"There was a server error loading community posts.":r.status===429?this.error=this.$t("components.circle_posts_list.rate_limit")||"Too many requests. Please wait a moment and try again.":this.error=this.$t("components.circle_posts_list.generic_error")||"Unable to load community posts at this time."}finally{this.loading=!1}},async retryLoad(){await this.loadPosts()},async refresh(){await this.loadPosts()},formatDate(t){if(!t)return"";const i=new Date(t),r=Math.abs(new Date-i),e=Math.ceil(r/(1e3*60*60*24));if(e===1)return this.$t("components.circle_posts_list.yesterday")||"yesterday";if(e<7)return this.$t("components.circle_posts_list.days_ago",{days:e})||`${e}d ago`;if(e<30){const l=Math.floor(e/7);return this.$t("components.circle_posts_list.weeks_ago",{weeks:l})||`${l}w ago`}return i.toLocaleDateString("en-US",{month:"short",day:"numeric"})},getPostUrl(t){return`https://community.750words.com/c/${t.space_slug||"general"}/${t.slug||t.id}`}}}),R={class:"circle-posts-list"},O={key:0,class:"loading-section"},K={class:"loading-text"},G={key:1,class:"error-section"},H={class:"error-content"},J={class:"error-message"},Q={key:2,class:"empty-section"},W={class:"empty-content"},X={class:"empty-title"},Y={class:"empty-message"},Z={key:3,class:"posts-section"},x={key:0,class:"posts-compact"},tt=["href"],st={class:"compact-post-content"},et={class:"compact-post-title"},ot={class:"compact-post-meta"},at={key:0,class:"compact-post-stat"},it={key:1,class:"compact-post-stat"},nt={key:0,class:"compact-post-divider"},rt={key:0,class:"compact-view-more"},ct=["href"],lt={key:1,class:"posts-grid"},pt={key:2,class:"view-more-section"};function dt(t,i,d,r,e,l){const u=_("v-progress-circular"),y=_("BaseButton"),g=_("v-alert"),$=U;return a(),n("div",R,[t.loading?(a(),n("div",O,[p(u,{indeterminate:"",size:"32",color:"primary",class:"loading-spinner"}),o("span",K,s(t.$t("components.circle_posts_list.loading")||"Loading..."),1)])):t.error?(a(),n("div",G,[p(g,{type:"warning",variant:"outlined",class:"error-alert"},{default:m(()=>[o("div",H,[o("strong",null,s(t.$t("components.circle_posts_list.error_title")||"Unable to load posts"),1),o("p",J,s(t.error),1),p(y,{type:"secondary",size:"small",onClick:t.retryLoad,class:"retry-btn"},{default:m(()=>[f(s(t.$t("components.circle_posts_list.retry")||"Try again"),1)]),_:1},8,["onClick"])])]),_:1})])):!t.posts||t.posts.length===0?(a(),n("div",Q,[o("div",W,[i[0]||(i[0]=o("div",{class:"empty-icon"},"πŸ’¬",-1)),o("h3",X,s(t.$t("components.circle_posts_list.no_posts_title")||"No recent posts"),1),o("p",Y,s(t.$t("components.circle_posts_list.no_posts_message")||"Check back later for new community discussions."),1),p(y,{type:"primary",href:t.communityUrl,target:"_blank",class:"visit-community-btn"},{default:m(()=>[f(s(t.$t("components.circle_posts_list.visit_community")||"Visit Community"),1)]),_:1},8,["href"])])])):(a(),n("div",Z,[t.compactMode?(a(),n("div",x,[(a(!0),n(w,null,k(t.posts,(c,v)=>(a(),n("a",{key:c.id,href:t.getPostUrl(c),target:"_blank",class:"compact-post compact-post-link"},[o("div",st,[o("div",et,s(c.title),1),o("div",ot,[f(s(t.formatDate(c.published_at))+" ",1),c.likes_count>0?(a(),n("span",at," ❀️ "+s(c.likes_count),1)):h("",!0),c.comments_count>0?(a(),n("span",it," πŸ’¬ "+s(c.comments_count),1)):h("",!0)])]),v(a(),P(,ドル{key:c.id,post:c},null,8,["post"]))),128))])),t.showViewMore&&!t.compactMode?(a(),n("div",pt,[p(y,{type:"secondary",href:t.communityUrl,target:"_blank",size:"default",class:"view-more-btn"},{default:m(()=>[f(s(t.$t("components.circle_posts_list.view_more")||"View all community posts"),1)]),_:1},8,["href"])])):h("",!0)]))])}const ut=C(A,[["render",dt],["__scopeId","data-v-3e6c37e7"]]);export{ut as C};

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /