import{M as v}from"./MarkdownRenderer-e9906b6c.js";import{_ as I,s as k,r as f,o as l,c,a as s,t as o,h as C,f as p,d as u,F as _,g as L,b as w,e as z,w as y}from"./index-e263e3d6.js";import"./MarkdownRenderer.vue_vue_type_style_index_0_lang-207dad4c.js";const S={name:"CaseDetailView",components:{MarkdownRenderer:v},data(){return{caseItem:null,isLoading:!0,showMetadata:!1,adminService:k,defaultShareImage:"https://allianceforcitizensrights.org/image/logo.png"}},watch:{"$route.params.id":{immediate:!0,handler(){this.loadCaseDetail()}},"$i18n.locale"(){console.log("语言切换,刷新显示..."),this.$forceUpdate(),this.$nextTick(()=>{this.updatePageMetadata()})}},methods:{async loadCaseDetail(){var e;this.isLoading=!0;try{const t=this.$route.params.id;console.log("开始从Supabase加载案件详情,ID:",t);const i=await this.adminService.getCasesList();if(!i||i.length===0){console.warn("未获取到任何案件数据"),this.caseItem=null;return}console.log("获取到案件总数:",i.length);const r=parseInt(t),n=String(t);this.caseItem=i.find(a=>a.id===r||a.id===n||String(a.id)===n),this.caseItem?(this.$nextTick(()=>{this.updatePageMetadata()}),console.log("案件详情:",{id:this.caseItem.id,title:this.caseItem.title,hasContent:!!this.caseItem.content,hasAttachments:((e=this.caseItem.attachments)==null?void 0:e.length)||0})):console.warn("未找到对应ID的案件")}catch(t){console.error("加载案件详情失败:",t),this.caseItem=null}finally{this.isLoading=!1}},extractFirstImage(e){if(!e)return null;const t=e.match(/!\[.*?\]\((.*?)\)/);if(t&&t[1])return t[1].trim();const i=e.match(/<img.*?src=["'](.*?)["']/);return i&&i[1]?i[1].trim():null},updatePageMetadata(){if(!this.caseItem)return;const e=this.getLocalizedTitle(this.caseItem),t=this.getLocalizedSummary(this.caseItem).substring(0,150)+"...",i=this.getLocalizedContent(this.caseItem),r=this.extractFirstImage(i),n=r||this.defaultShareImage;document.title=`${e} - Alliance For Citizens Rights`;const a=(g,m,d)=>{let h=document.querySelector(`meta[${g}="${m}"]`);h||(h=document.createElement("meta"),h.setAttribute(g,m),document.head.appendChild(h)),h.setAttribute("content",d)};a("name","description",t),a("property","og:title",e),a("property","og:description",t),a("property","og:image",n),a("property","og:type","article"),a("name","twitter:card",r?"summary_large_image":"summary"),a("name","twitter:title",e),a("name","twitter:description",t),a("name","twitter:image",n),console.log("Meta 标签已更新,预览图:",n)},getLocalizedTitle(e){if(!e)return"";const t=this.$i18n.locale==="zh"?"zh":"en";if(e.title&&typeof e.title=="object"){const i=e.title[t]||e.title.zh||e.title.en;if(i)return i}return typeof e.title=="string"?t==="zh"?e.title:e.title_en||e.title:t==="zh"?e.title_zh||"无标题":e.title_en||e.title_zh||"No Title"},getLocalizedSummary(e){if(!e)return"";const t=this.$i18n.locale==="zh"?"zh":"en";if(e.description){if(typeof e.description=="string")try{e.description=JSON.parse(e.description)}catch{return e.description}return typeof e.description=="object"?e.description[t]||e.description.zh||e.description.en||"":e.description}return e.summary?typeof e.summary=="object"?e.summary[t]||e.summary.zh||e.summary.en||"":e.summary:t==="zh"?e.description_zh||e.summary_zh||"":e.description_en||e.summary_en||e.description_zh||e.summary_zh||""},getLocalizedContent(e){if(!e)return"";const t=this.$i18n.locale==="zh"?"zh":"en";return e.content&&typeof e.content=="object"?e.content[t]||e.content.zh||e.content.en||"":typeof e.content=="string"?e.content:t==="zh"?e.content_zh||e.content||"":e.content_en||e.content_zh||e.content||""},getLocalizedStatus(e){var i;return e?((i={pending:{zh:"进行中",en:"Pending"},resolved:{zh:"已解决",en:"Resolved"},closed:{zh:"已关闭",en:"Closed"},ongoing:{zh:"持续进行",en:"Ongoing"}}[e])==null?void 0:i[this.$i18n.locale])||e:""},getStatusClass(e){return{pending:"status-pending",resolved:"status-resolved",closed:"status-closed",ongoing:"status-ongoing"}[e]||"status-default"},formatDate(e){if(!e)return"";const t=new Date(e);return new Intl.DateTimeFormat(this.$i18n.locale==="zh"?"zh-CN":"en-US",{year:"numeric",month:"long",day:"numeric",timeZone:"Asia/Shanghai"}).format(t)},isHtmlContent(e){return e?/<[a-z][\s\S]*>/i.test(e):!1},isImageType(e){return e?e.startsWith("image/"):!1},getFileTypeName(e){return e.type==="pdf"||e.mimeType==="application/pdf"?"PDF":e.type==="image"||this.isImageType(e.mimeType)?this.$i18n.locale==="zh"?"图片":"Image":this.$i18n.locale==="zh"?"文件":"File"},formatFileSize(e){if(!e||e===0)return"";const t=["B","KB","MB","GB"];let i=e,r=0;for(;i>=1024&&r<t.length-1;)i/=1024,r++;return`${i.toFixed(1)} ${t[r]}`},getLocalizedField(e,t){if(!e||!t)return"";const i=e[t];if(i==null)return"";if(typeof i=="string")return i;if(typeof i=="object"){const r=this.$i18n.locale==="zh"?"zh":"en";return i[r]||i.zh||i.en||""}return String(i)}}},b={class:"case-detail"},T={class:"container"},F={key:0,class:"case-header"},M={class:"case-meta"},D={class:"case-date"},B={key:0,class:"case-summary"},N={key:1,class:"case-location"},A={key:1,class:"loading-container"},P={key:2,class:"case-content"},j=["innerHTML"],V={key:1,class:"no-content"},H={key:3,class:"case-attachments"},R={class:"attachments-grid"},O=["href"],q={class:"attachment-icon"},E={key:0},U={key:1},G={key:2},J={class:"attachment-info"},K={class:"attachment-name"},W={class:"attachment-meta"},Z={class:"attachment-type"},Q={key:0,class:"attachment-size"},X={key:4,class:"case-actions"},Y={class:"action-cards"},x={class:"action-card"},$={class:"action-card"},ee={class:"action-card"},te={key:5,class:"case-footer"},se={key:6,class:"error-container"},ne={class:"error-box"};function ae(e,t,i,r,n,a){const g=f("markdown-renderer"),m=f("router-link");return l(),c("div",b,[s("div",T,[n.caseItem&&!n.showMetadata?(l(),c("div",F,[s("div",M,[s("div",D,o(a.formatDate(a.getLocalizedField(n.caseItem,"case_date")||n.caseItem.created_at)),1),s("div",{class:C(["case-status",a.getStatusClass(a.getLocalizedField(n.caseItem,"case_status"))])},o(a.getLocalizedStatus(a.getLocalizedField(n.caseItem,"case_status"))),3)]),s("h1",null,[p(o(a.getLocalizedTitle(n.caseItem))+" ",1),t[0]||(t[0]=s("span",{class:"underline-decorator"},null,-1))]),a.getLocalizedSummary(n.caseItem)?(l(),c("div",B,[s("h2",null,o(e.$i18n.locale==="zh"?"案件概述":"Case Overview"),1),s("p",null,o(a.getLocalizedSummary(n.caseItem)),1)])):u("",!0),a.getLocalizedField(n.caseItem,"case_location")?(l(),c("div",N,[t[1]||(t[1]=s("span",{class:"location-icon"},"📍",-1)),s("span",null,o(a.getLocalizedField(n.caseItem,"case_location")),1)])):u("",!0)])):u("",!0),n.isLoading?(l(),c("div",A,[t[2]||(t[2]=s("div",{class:"spinner"},[s("div",{class:"double-bounce1"}),s("div",{class:"double-bounce2"})],-1)),s("p",null,o(e.$i18n.locale==="zh"?"加载中...":"Loading..."),1)])):n.caseItem?(l(),c("div",P,[a.getLocalizedContent(n.caseItem)?(l(),c(_,{key:0},[a.isHtmlContent(a.getLocalizedContent(n.caseItem))?(l(),c("div",{key:0,class:"html-content",innerHTML:a.getLocalizedContent(n.caseItem)},null,8,j)):(l(),L(g,{key:1,content:a.getLocalizedContent(n.caseItem),"show-toc":!1,"fixed-toc":!0,"toc-title":e.$i18n.locale==="zh"?"案件详情":"Case Details","show-metadata":n.showMetadata},null,8,["content","toc-title","show-metadata"]))],64)):(l(),c("div",V,[s("p",null,o(e.$i18n.locale==="zh"?"暂无详细内容":"No detailed content available"),1)]))])):u("",!0),n.caseItem&&n.caseItem.attachments&&n.caseItem.attachments.length>0?(l(),c("div",H,[s("h3",null,o(e.$i18n.locale==="zh"?"项目报告":"Project Report"),1),s("div",R,[(l(!0),c(_,null,w(n.caseItem.attachments,(d,h)=>(l(),c("a",{key:h,href:d.url,target:"_blank",class:"attachment-item"},[s("div",q,[d.type==="pdf"||d.mimeType==="application/pdf"?(l(),c("span",E,"📄")):d.type==="image"||a.isImageType(d.mimeType)?(l(),c("span",U,"🖼️")):(l(),c("span",G,"📎"))]),s("div",J,[s("div",K,o(d.name),1),s("div",W,[s("span",Z,o(a.getFileTypeName(d)),1),d.size?(l(),c("span",Q,o(a.formatFileSize(d.size)),1)):u("",!0)])]),t[3]||(t[3]=s("div",{class:"attachment-action"},[s("span",{class:"download-icon"},"⬇️")],-1))],8,O))),128))])])):u("",!0),n.caseItem?(l(),c("div",X,[s("h3",null,o(e.$i18n.locale==="zh"?"如何支持此案件":"How to Support This Case"),1),s("div",Y,[s("div",x,[t[4]||(t[4]=s("div",{class:"action-icon"},"📞",-1)),s("h4",null,o(e.$i18n.locale==="zh"?"联系议员":"Contact Representatives"),1),s("p",null,o(e.$i18n.locale==="zh"?"联系您当地的议员,表达对此案件的关注":"Contact your local representatives to express your concern about this case"),1)]),s("div",$,[t[5]||(t[5]=s("div",{class:"action-icon"},"📧",-1)),s("h4",null,o(e.$i18n.locale==="zh"?"分享信息":"Share Information"),1),s("p",null,o(e.$i18n.locale==="zh"?"通过社交媒体分享此案件,提高公众关注度":"Share this case on social media to raise public awareness"),1)]),s("div",ee,[t[6]||(t[6]=s("div",{class:"action-icon"},"🤝",-1)),s("h4",null,o(e.$i18n.locale==="zh"?"参与行动":"Take Action"),1),s("p",null,o(e.$i18n.locale==="zh"?"参加相关活动和抗议,为公民权利发声":"Participate in related activities and protests to advocate for civil rights"),1)])])])):u("",!0),n.caseItem?(l(),c("div",te,[z(m,{to:"/cases",class:"back-button"},{default:y(()=>[t[7]||(t[7]=s("span",{class:"back-icon"},"←",-1)),p(" "+o(e.$i18n.locale==="zh"?"返回案件列表":"Back to Cases"),1)]),_:1,__:[7]})])):u("",!0),!n.caseItem&&!n.isLoading?(l(),c("div",se,[s("div",ne,[s("h2",null,o(e.$i18n.locale==="zh"?"未找到案件":"Case Not Found"),1),s("p",null,o(e.$i18n.locale==="zh"?"抱歉,无法找到您请求的案件。":"Sorry, we could not find the case you requested."),1),z(m,{to:"/cases",class:"back-button"},{default:y(()=>[t[8]||(t[8]=s("span",{class:"back-icon"},"←",-1)),p(" "+o(e.$i18n.locale==="zh"?"返回案件列表":"Back to Cases"),1)]),_:1,__:[8]})])])):u("",!0)])])}const ce=I(S,[["render",ae],["__scopeId","data-v-61f24a71"]]);export{ce as default};