1import{e as J,al as K,a as ae,m as u,af as v,T as t,ak as R,v as e,ae as r,U as y,Q as f,R as s,n as le,l as i,ad as o,ar as D,r as P,w as re,o as oe,ap as ne,F as ie,Z as de}from"./vue-core-B5kNw_LO.js";import{_ as z,u as ue,Q as E,M as U,N as W,O as Q,P as c,V}from"./index-Dxyv04tD.js";import{_ as ce}from"./PageHeader.vue_vue_type_script_setup_true_lang-DAXbcei1.js";import{_ as me}from"./LoadingState.vue_vue_type_script_setup_true_lang-BUecfVju.js";import{T as fe,au as pe,ad as q,g as H,bA as _e}from"./icons-8EH7mqV1.js";import{F as ve}from"./FilterBar-BQxzv89P.js";import{_ as O,a as Z}from"./CardContent.vue_vue_type_script_setup_true_lang-DJ4jkA_e.js";import{_ as ge,b as G,a as k,c as ye,d as w,e as he}from"./TableHeader.vue_vue_type_script_setup_true_lang-n5ANK8Ob.js";import{_ as $e}from"./PlatformIcon.vue_vue_type_script_setup_true_lang-Bk7G2Ek_.js";import{_ as ke,i as we}from"./PublicationStatusBadge.vue_vue_type_script_setup_true_lang-DxzkCgGV.js";import{u as xe}from"./store-CE6JQx6u.js";import{u as Ce}from"./store-DVNbJGCi.js";import{e as be}from"./formatters-Bk_b_BVv.js";import"./ui-primitives-Dd1hsF5Y.js";import"./AfflowSpinner-Am0Q3iFa.js";import"./Skeleton-CEwVacHX.js";const Se={class:"text-lg font-semibold"},Ie={key:0,class:"text-muted-foreground max-w-md mx-auto mt-1.5"},ze={class:"flex items-center gap-2 justify-center flex-wrap mt-6"},Re=J({__name:"ErrorState",props:{title:{},description:{},retryLabel:{},hideRetry:{type:Boolean,default:!1},size:{default:"page"},containerClass:{}},emits:["retry"],setup(F,{emit:h}){const p=F,j=h,{t:$}=K(),x=ae(()=>p.description===""?"":p.description||$("errors.generalError"));return(d,_)=>(i(),u("div",{class:R(["text-center py-12",d.containerClass]),role:"alert","aria-live":"polite"},[v("div",{class:R(["mx-auto mb-4 flex items-center justify-center rounded-full bg-destructive/10",d.size==="inline"?"size-12":"size-16"])},[t(e(fe),{class:R([d.size==="inline"?"size-5":"size-7","text-destructive"]),"aria-hidden":"true"},null,8,["class"])],2),v("h3",Se,r(d.title||e($)("errors.somethingWentWrong")),1),x.value?(i(),u("p",Ie,r(x.value),1)):y("",!0),v("div",ze,[d.hideRetry?y("",!0):(i(),f(e(z),{key:0,variant:"outline",onClick:_[0]||(_[0]=T=>j("retry"))},{default:s(()=>[t(e(pe),{class:"size-4","aria-hidden":"true"}),o(" "+r(d.retryLabel||e($)("errors.tryAgain")),1)]),_:1})),le(d.$slots,"actions")])],2))}}),Le={class:"space-y-6 min-w-0 overflow-hidden"},Pe={key:2},Ve={class:"text-foreground"},je={key:0,class:"text-center text-muted-foreground py-10"},Fe=["src"],Te={key:1,class:"h-10 w-10 rounded-md bg-muted shrink-0 border"},Ne={class:"text-sm font-medium truncate group-hover:underline"},Ae={class:"flex items-center gap-2 min-w-0"},Be=["title"],Me={class:"flex flex-col gap-1 items-start"},De=["title"],Ee={key:0,class:"flex items-center gap-1.5 justify-end whitespace-nowrap"},Ue={key:2,class:"flex justify-center mt-4"},ot=J({__name:"index",setup(F){const{t:h}=K(),p=xe(),j=Ce(),$=ue(),{selectedCategoryId:x}=D($),{logEntries:d,logLoading:_,logHasMore:T,filters:N,error:L}=D(p),C=P("all"),b=P("all"),S=P(null),I=P(null);re([C,b,x],()=>{N.value={...N.value,status:C.value==="all"?void 0:C.value,platform:b.value==="all"?void 0:b.value,categoryId:x.value||void 0},p.loadLog()},{immediate:!0});const A=()=>p.loadLog(),X=()=>p.loadLog(!0),Y=l=>l.status==="failed"||we(l),ee=l=>new Date(l).toLocaleString(),te=async l=>{var n,g;S.value=l._id;try{await p.retry(l),V.success(h("publications.retrySuccess"),{description:l.groupName||l.channelId})}catch(a){V.error(h("common.error"),{description:((g=(n=a==null?void 0:a.response)==null?void 0:n.data)==null?void 0:g.error)||a.message})}finally{S.value=null}},se=async l=>{var n,g,a;I.value=l._id;try{await j.updateStatus(l.postId,"rejected"),V.success(h("publications.rejectSuccess"),{description:((n=l.postPreview)==null?void 0:n.message)||l.postId})}catch(m){V.error(h("common.error"),{description:((a=(g=m==null?void 0:m.response)==null?void 0:g.data)==null?void 0:a.error)||m.message})}finally{I.value=null}};return oe(()=>{$.fetchAll()}),(l,n)=>{const g=ne("RouterLink");return i(),u("div",Le,[t(ce,{title:l.$t("publications.pageTitle"),description:l.$t("publications.pageDescription")},{actions:s(()=>[t(e(z),{size:"sm",variant:"outline",class:"gap-2",disabled:e(_),onClick:A},{default:s(()=>[t(e(q),{class:R(["h-4 w-4",{"animate-spin":e(_)}])},null,8,["class"]),o(" "+r(l.$t("orders.refresh")),1)]),_:1},8,["disabled"])]),_:1},8,["title","description"]),t(ve,null,{default:s(()=>[t(e(E),{modelValue:C.value,"onUpdate:modelValue":n[0]||(n[0]=a=>C.value=a)},{default:s(()=>[t(e(U),{class:"w-[150px]"},{default:s(()=>[t(e(W),{placeholder:l.$t("publications.filterStatus")},null,8,["placeholder"])]),_:1}),t(e(Q),null,{default:s(()=>[t(e(c),{value:"all"},{default:s(()=>[o(r(l.$t("publications.allStatuses")),1)]),_:1}),t(e(c),{value:"success"},{default:s(()=>[o(r(l.$t("publications.status.success")),1)]),_:1}),t(e(c),{value:"failed"},{default:s(()=>[o(r(l.$t("publications.status.failed")),1)]),_:1}),t(e(c),{value:"pending"},{default:s(()=>[o(r(l.$t("publications.status.pending")),1)]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(e(E),{modelValue:b.value,"onUpdate:modelValue":n[1]||(n[1]=a=>b.value=a)},{default:s(()=>[t(e(U),{class:"w-[150px]"},{default:s(()=>[t(e(W),{placeholder:l.$t("publications.filterPlatform")},null,8,["placeholder"])]),_:1}),t(e(Q),null,{default:s(()=>[t(e(c),{value:"all"},{default:s(()=>[o(r(l.$t("publications.allPlatforms")),1)]),_:1}),t(e(c),{value:"telegram"},{default:s(()=>n[2]||(n[2]=[o("Telegram")])),_:1}),t(e(c),{value:"whatsapp"},{default:s(()=>n[3]||(n[3]=[o("WhatsApp")])),_:1}),t(e(c),{value:"facebook"},{default:s(()=>n[4]||(n[4]=[o("Facebook")])),_:1}),t(e(c),{value:"pinterest"},{default:s(()=>n[5]||(n[5]=[o("Pinterest")])),_:1}),t(e(c),{value:"instagram"},{default:s(()=>n[6]||(n[6]=[o("Instagram")])),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(_)&&e(d).length===0?(i(),f(me,{key:0,variant:"table",rows:6,message:l.$t("publications.loading")},null,8,["message"])):e(L)&&e(d).length===0?(i(),f(Re,{key:1,description:e(L),onRetry:A},null,8,["description"])):(i(),u("div",Pe,[e(L)?(i(),f(e(Z),{key:0,class:"border-destructive/30 bg-destructive/5 mb-6"},{default:s(()=>[t(e(O),{class:"pt-6"},{default:s(()=>[v("div",Ve,r(e(L)),1)]),_:1})]),_:1})):y("",!0),t(e(Z),null,{default:s(()=>[t(e(O),{class:"pt-6 overflow-x-auto"},{default:s(()=>[e(d).length===0?(i(),u("div",je,r(l.$t("publications.emptyLog")),1)):(i(),f(e(he),{key:1},{default:s(()=>[t(e(ge),null,{default:s(()=>[t(e(G),null,{default:s(()=>[t(e(k),{class:"w-[110px]"},{default:s(()=>[o(r(l.$t("publications.columns.time")),1)]),_:1}),t(e(k),null,{default:s(()=>[o(r(l.$t("publications.columns.post")),1)]),_:1}),t(e(k),null,{default:s(()=>[o(r(l.$t("publications.columns.group")),1)]),_:1}),t(e(k),{class:"w-[100px]"},{default:s(()=>[o(r(l.$t("publications.columns.source")),1)]),_:1}),t(e(k),null,{default:s(()=>[o(r(l.$t("publications.columns.status")),1)]),_:1}),t(e(k),{class:"w-[180px]"})]),_:1})]),_:1}),t(e(ye),null,{default:s(()=>[(i(!0),u(ie,null,de(e(d),a=>(i(),f(e(G),{key:a._id},{default:s(()=>[t(e(w),{class:"whitespace-nowrap text-sm text-muted-foreground align-middle",title:ee(a.attemptedAt)},{default:s(()=>[o(r(e(be)(a.attemptedAt)),1)]),_:2},1032,["title"]),t(e(w),{class:"max-w-[320px]"},{default:s(()=>{var m;return[t(g,{to:{path:"/posts/tracking",query:{postId:a.postId}},class:"flex items-center gap-3 group",title:(m=a.postPreview)==null?void 0:m.message},{default:s(()=>{var B,M;return[(B=a.postPreview)!=null&&B.photo?(i(),u("img",{key:0,src:a.postPreview.photo,class:"h-10 w-10 rounded-md object-cover shrink-0 border",alt:""},null,8,Fe)):(i(),u("div",Te)),v("span",Ne,r(((M=a.postPreview)==null?void 0:M.message)||a.postId),1)]}),_:2},1032,["to","title"])]}),_:2},1024),t(e(w),{class:"max-w-[200px]"},{default:s(()=>[v("div",Ae,[t($e,{platform:a.platform||"?",class:"shrink-0"},null,8,["platform"]),v("span",{class:"text-sm truncate",title:a.groupName||a.channelId},r(a.groupName||a.channelId),9,Be)])]),_:2},1024),t(e(w),{class:"capitalize text-sm text-muted-foreground"},{default:s(()=>[o(r(a.source),1)]),_:2},1024),t(e(w),{class:"max-w-[280px]"},{default:s(()=>[v("div",Me,[t(ke,{publication:a},null,8,["publication"]),a.error?(i(),u("span",{key:0,class:"text-xs text-red-600 dark:text-red-400 truncate block max-w-full",title:a.error},r(a.error),9,De)):y("",!0)])]),_:2},1024),t(e(w),null,{default:s(()=>[Y(a)?(i(),u("div",Ee,[t(e(z),{class:"gap-2",size:"sm",variant:"outline",disabled:S.value===a._id||I.value===a._id,onClick:m=>te(a)},{default:s(()=>[t(e(q),{class:R(["h-3.5 w-3.5",{"animate-spin":S.value===a._id}])},null,8,["class"]),o(" "+r(l.$t("publications.retry")),1)]),_:2},1032,["disabled","onClick"]),t(e(z),{size:"sm",variant:"ghost",class:"text-red-600 hover:text-red-700 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-950 gap-2",disabled:S.value===a._id||I.value===a._id,onClick:m=>se(a)},{default:s(()=>[I.value===a._id?(i(),f(e(H),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(i(),f(e(_e),{key:1,class:"h-3.5 w-3.5"})),o(" "+r(l.$t("publications.reject")),1)]),_:2},1032,["disabled","onClick"])])):y("",!0)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})),e(d).length>0&&e(T)?(i(),u("div",Ue,[t(e(z),{class:"gap-2",variant:"outline",disabled:e(_),onClick:X},{default:s(()=>[e(_)?(i(),f(e(H),{key:0,class:"h-4 w-4 animate-spin"})):y("",!0),o(" "+r(l.$t("publications.loadMore")),1)]),_:1},8,["disabled"])])):y("",!0)]),_:1})]),_:1})]))])}}});
1export{ot 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.