1import{d as E,h as J,r as d,i as q,u as G,o,c as n,a as t,l as k,s as T,j as l,x as f,F as L,y as K,z as Q,t as i,v as W,k as u,n as A,b as B,_ as X}from"./entry.fcc3f972.js";import"./firebase.efe57387.js";const Y={class:"rep-container"},Z={class:"filters"},ee={key:0,class:"state"},te={key:1,class:"state"},se={key:2,class:"report-list"},ae={class:"report-top"},oe={class:"badge badge--type"},ne={class:"report-date"},le={class:"report-people"},ie={key:0},de=["href"],re={key:0,class:"report-desc"},ce={key:1,class:"target-box target-box--gone"},ue={key:2,class:"target-box"},pe={key:0,class:"target-mystery"},ve={class:"target-text"},me={class:"target-actions"},ye=["href"],ge={key:0,class:"deleted-mark"},_e=["disabled","onClick"],be={class:"actions"},he=["disabled","onClick"],ke={class:"actions-right"},fe=["disabled","onClick"],$e=["disabled","onClick"],Ce={class:"modal"},we={class:"modal-user"},xe={class:"modal-actions"},Te=["disabled"],Se=E({__name:"content-reports",setup(De){const{getIdToken:M}=J(),$=d([]),_=d("pending"),C=d(!0),r=d(null),c=d(null),p=d("all"),v=d(30),m=d(""),w=d(!1),b=async()=>({Authorization:`Bearer ${await M()}`}),y=async()=>{C.value=!0;try{const a=await $fetch("/api/v2/admin/content-reports",{params:{status:_.value},headers:await b()});$.value=a.reports||[]}catch(a){console.error(a),alert("éå ±ä¸è¦§ã®åå¾ã«å¤±æãã¾ãã")}finally{C.value=!1}},S=async(a,s)=>{r.value=a.id;try{await $fetch(`/api/v2/admin/content-reports/${a.id}/status`,{method:"PATCH",body:{status:s},headers:await b()}),await y()}catch(e){console.error(e),alert("ã¹ãã¼ã¿ã¹ã®æ´æ°ã«å¤±æãã¾ãã")}finally{r.value=null}},P=async a=>{if(confirm("ãã®ã³ã¡ã³ããè¦ç´éåã¨ãã¦åé¤ãã¾ããããããã§ããï¼")){r.value=a.id;try{await $fetch(`/api/v2/admin/comments/${a.contentId}/moderate`,{method:"POST",body:{action:"delete"},headers:await b()}),await y()}catch(s){console.error(s),alert("ã³ã¡ã³ãã®åé¤ã«å¤±æãã¾ãã")}finally{r.value=null}}},R=a=>{c.value=a,p.value="all",v.value=30,m.value=`éå ±ID ${a.id}ï¼${D(a.reportType)}ï¼ã«åºã¥ãæªç½®`},H=async()=>{var s,e,g;const a=(g=(e=(s=c.value)==null?void 0:s.target)==null?void 0:e.author)==null?void 0:g.uid;if(a){w.value=!0;try{await $fetch(`/api/v2/admin/users/${a}/suspend`,{method:"POST",body:{action:"suspend",scope:p.value,days:v.value,reason:m.value},headers:await b()}),c.value=null,alert("æç¨¿ã忢ãã¾ãã")}catch(h){console.error(h),alert("忢æªç½®ã«å¤±æãã¾ãã")}finally{w.value=!1}}},D=a=>({spam:"ã¹ãã ",inappropriate:"ä¸é©åãªã³ã³ãã³ã",harassment:"å«ãããã»èª¹è¬ä¸å·",other:"ãã®ä»"})[a]||a,N=a=>({pending:"æªå¯¾å¿",resolved:"å¯¾å¿æ¸ã¿",rejected:"åé¡ãªã"})[a]||a,F=(a,s)=>a&&a.length>s?`${a.slice(0,s)}â¦`:a||"",O=a=>new Date(a).toLocaleString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"});return q(y),G({title:"éå ±ã®å¯¾å¿ | ãã¾ããã管ç"}),(a,s)=>(o(),n("div",Y,[s[14]||(s[14]=t("div",{class:"rep-header"},[t("h1",{class:"rep-title"},"éå ±ã®å¯¾å¿"),t("p",{class:"rep-desc"}
1," ãã¾æ´»ã»ã³ã¡ã³ãã¸ã®éå ±ã確èªãã対å¿ãã¾ãã対象ã®åé¤ãæç¨¿è
ã®åæ¢ããã®ç»é¢ããè¡ãã¾ãã ")],-1)),t("div",Z,[k(t("select",{"onUpdate:modelValue":s[0]||(s[0]=e=>f(_)?_.value=e:null),class:"filter-select",onChange:y},s[6]||(s[6]=[t("option",{value:"pending"},"æªå¯¾å¿",-1),t("option",{value:"resolved"},"å¯¾å¿æ¸ã¿",-1),t("option",{value:"rejected"},"åé¡ãªã",-1),t("option",{value:"all"},"ãã¹ã¦",-1)]),544),[[T,l(_)]]),t("button",{class:"reload-btn",onClick:y},"åèªã¿è¾¼ã¿")]),l(C)?(o(),n("div",ee,"èªã¿è¾¼ã¿ä¸...")):l($).length===0?(o(),n("div",te,"該å½ããéå ±ã¯ããã¾ãã")):(o(),n("div",se,[(o(!0),n(L,null,K(l($),e=>{var g,h,I,V,U,j,z;return o(),n("div",{key:e.id,class:"report-card"},[t("div",ae,[t("span",{class:A(["badge",`badge--${e.reportType}`])},i(D(e.reportType)),3),t("span",oe,i(e.contentType==="comment"?"ã³ã¡ã³ã":"ãã¾æ´»"),1),t("span",{class:A(["badge",`badge--st-${e.status}`])},i(N(e.status)),3),t("span",ne,i(O(e.createdAt)),1)]),t("div",le,[t("span",null,"éå ±è
: "+i(((g=e.reporter)==null?void 0:g.name)||"(å¿å)"),1),(h=e.target)!=null&&h.exists?(o(),n("span",ie,[s[7]||(s[7]=B(" æç¨¿è
: ")),(I=e.target.author)!=null&&I.nzUserId?(o(),n("a",{key:0,href:`/users/${e.target.author.nzUserId}`,target:"_blank"},i(e.target.author.name),9,de)):(o(),n(L,{key:1},[B(i((V=e.target.author)==null?void 0:V.name),1)],64))])):u("",!0)]),e.description?(o(),n("p",re,"éå ±çç±: "+i(e.description),1)):u("",!0),(U=e.target)!=null&&U.exists?(o(),n("div",ue,[e.target.mysteryTitle?(o(),n("p",pe,i(e.target.mysteryTitle),1)):u("",!0),t("p",ve,i(F(e.target.text,200)||"(æ¬æãªã)"),1),t("div",me,[t("a",{href:e.target.url,target:"_blank",class:"link-btn"},"対象ãéã",8,ye),e.target.isDeleted?(o(),n("span",ge,i(e.contentType==="comment"?"å餿¸ã¿":"éå
¬é"),1)):e.contentType==="comment"?(o(),n("button",{key:1,class:"danger-btn",disabled:l(r)===e.id,onClick:x=>P(e)},"è¦ç´éåã¨ãã¦åé¤",8,_e)):u("",!0)])])):(o(),n("div",ce," 対象ã®ã³ã³ãã³ãã¯æ¢ã«åå¨ãã¾ããï¼æç¨¿è
ã«ããåé¤ã®å¯è½æ§ãããã¾ãï¼ ")),t("div",be,[(j=e.target)!=null&&j.exists&&((z=e.target.author)!=null&&z.uid)?(o(),n("button",{key:0,class:"warn-btn",disabled:l(r)===e.id,onClick:x=>R(e)},"æç¨¿è
ã忢",8,he)):u("",!0),t("div",ke,[t("button",{class:"ok-btn",disabled:l(r)===e.id,onClick:x=>S(e,"resolved")},"å¯¾å¿æ¸ã¿ã«ãã",8,fe),t("button",{class:"ghost-btn",disabled:l(r)===e.id,onClick:x=>S(e,"rejected")},"åé¡ãªã",8,$e)])])])}),128))])),l(c)?(o(),n("div",{key:3,class:"modal-overlay",onClick:s[5]||(s[5]=Q(e=>c.value=null,["self"]))},[t("div",Ce,[s[10]||(s[10]=t("h2",{class:"modal-title"},"æç¨¿ã忢ãã",-1)),t("p",we,"対象: "+i(l(c).target.author.name),1),s[11]||(s[11]=t("label",{class:"modal-label"},"忢ç¯å²",-1)),k(t("select",{"onUpdate:modelValue":s[1]||(s[1]=e=>f(p)?p.value=e:null),class:"modal-input"},s[8]||(s[8]=[t("option",{value:"all"},"ã³ã¡ã³ãã»ãã¾æ´»ã®ä¸¡æ¹",-1),t("option",{value:"comment"},"ã³ã¡ã³ãã®ã¿",-1),t("option",{value:"review"},"ãã¾æ´»ã®ã¿",-1)]),512),[[T,l(p)]]),s[12]||(s[12]=t("label",{class:"modal-label"},"æé",-1)),k(t("select",{"onUpdate:modelValue":s[2]||(s[2]=e=>f(v)?v.value=e:null),class:"modal-input"},s[9]||(s[9]=[t("option",{value:7},"7æ¥é",-1),t("option",{value:14},"14æ¥é",-1),t("option",{value:30},"30æ¥é",-1),t("option",{value:90},"90æ¥é",-1),t("option",{value:0},"ç¡æé",-1)]),512),[[T,l(v)]]),s[13]||(s[13]=t("label",{class:"modal-label"},"çç±ï¼è¨é²ç¨ã»æ¬äººã«ã¯è¡¨ç¤ºããã¾ããï¼",-1)),k(t("textarea",{"onUpdate:modelValue":s[3]||(s[3]=e=>f(m)?m.value=e:null),class:"modal-input modal-textarea",rows:"3"},null,512),[[W,l(m)]]),t("div",xe,[t("button",{class:"ghost-btn",onClick:s[4]||(s[4]=e=>c.value=null)},"ãã£ã³ã»ã«"),t("button",{class:"danger-btn",disabled:l(w),onClick:H},"忢ãã",8,Te)])])])):u("",!0)]))}});const Ue=X(Se,[["__scopeId","data-v-7544587b"]]);export{Ue as default};
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.