import{useApi as e,defineModule as a}from"@directus/extensions-sdk";import{defineComponent as t,ref as n,computed as l,onMounted as r,resolveComponent as d,openBlock as o,createBlock as s,withCtx as i,createVNode as c,createTextVNode as u,toDisplayString as p,createElementVNode as v,createElementBlock as b,Fragment as m,renderList as f,createCommentVNode as x,TransitionGroup as g,normalizeClass as h,normalizeStyle as y,Transition as k}from"vue";const _={class:"sidebar-header"},w={class:"feedback-container"},C={key:0,class:"empty-state"},S={key:1,class:"empty-state"},j={key:2,class:"operational-layout"},F={class:"triage-lane"},z={class:"lane-header"},A={class:"lane-content scrollbar"},E=["onClick"],T={class:"card-body"},P={class:"card-header"},V={class:"card-user"},D={class:"card-date"},O={class:"card-text"},L={class:"card-footer"},I={class:"meta-tags"},R={class:"processing-desk scrollbar"},U={class:"desk-header"},M={class:"headline-group"},Y={class:"status-indicator"},q={class:"status-text"},B={class:"header-actions"},N={class:"desk-grid"},H={class:"main-column"},X={key:0,class:"visual-proof"},$={class:"proof-label"},G=["src"],W={class:"main-text"},Z={class:"reply-section"},J={class:"section-divider"},K={class:"thread"},Q={class:"reply-header"},ee={class:"reply-user"},ae={key:0,class:"reply-person"},te={class:"reply-date"},ne={class:"reply-text"},le={key:0,class:"empty-state-mini"},re={class:"composer"},de={class:"composer-actions"},oe={class:"meta-column"},se={class:"meta-item"},ie={key:0,class:"meta-item"},ce={class:"meta-item"},ue=["title"],pe={class:"meta-item"},ve={class:"trace-code"},be={class:"meta-item"},me={class:"coords"},fe={class:"meta-item"},xe={class:"id-code"},ge={class:"help-box"},he={key:1,class:"no-selection-desk"};var ye=t({__name:"module",setup(a){const t=e(),ye=n([]),ke=n([]),_e=n(!0),we=n(null),Ce=n(!1),Se=n(null),je=n("all"),Fe=n("open"),ze=n(""),Ae=[{text:"Open",value:"open",icon:"warning",color:"#E91E63"},{text:"In Progress",value:"in_progress",icon:"play_arrow",color:"#2196F3"},{text:"Resolved",value:"resolved",icon:"check_circle",color:"#4CAF50"}],Ee=[{text:"All Statuses",value:"all"},...Ae],Te=l(()=>{const e=new Set(ye.value.map(e=>{var a;return(null==(a=e.company)?void 0:a.name)||e.project}).filter(Boolean));return Array.from(e).sort()}),Pe=l(()=>ye.value.filter(e=>{var a;const t=(null==(a=e.company)?void 0:a.name)||e.project,n="all"===je.value||t===je.value,l=e.status||"open",r="all"===Fe.value||l===Fe.value;return n&&r}));async function Ve(){_e.value=!0,we.value=null;try{const e=await t.get("/items/visual_feedback",{params:{sort:"-date_created,-id",limit:300,fields:["*","company.*","person.*"]}});ye.value=e.data.data}catch(e){we.value=e.message}finally{_e.value=!1}}async function De(e){if(Se.value)try{await t.patch(`/items/visual_feedback/${Se.value.id}`,{status:e}),Ve()}catch(e){console.error(e)}}async function Oe(){if(ze.value.trim()&&Se.value){Ce.value=!0;try{const e=await t.post("/items/visual_feedback_comments",{feedback_id:Se.value.id,user_name:"Operator",text:ze.value});ke.value.unshift(e.data.data),ze.value=""}catch(e){console.error(e)}finally{Ce.value=!1}}}function Le(e){return e&&"number"!=typeof e?new Date(e).toLocaleDateString()+" "+new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"Legacy"}function Ie(e){const a=function(e){if(!e||!e.url)return"";try{const a=new URL(e.url);return a.searchParams.set("fb_id",e.id),a.toString()}catch(a){return e.url+"?fb_id="+e.id}}(e);a&&window.open(a,"_blank")}function Re(e){const a=Ae.find(a=>a.value===e);return a?a.color:"var(--foreground-subdued)"}return r(()=>{Ve()}),(e,a)=>{const n=d("v-breadcrumb"),l=d("v-chip"),r=d("v-text-overflow"),Ue=d("v-icon"),Me=d("v-list-item-icon"),Ye=d("v-list-item-content"),qe=d("v-list-item"),Be=d("v-list"),Ne=d("v-info"),He=d("v-button"),Xe=d("v-select"),$e=d("v-card-title"),Ge=d("v-card-text"),We=d("v-card"),Ze=d("v-divider"),Je=d("v-textarea"),Ke=d("private-view");return o(),s(Ke,{title:"Feedback Commander"},{headline:i(()=>[c(n,{items:[{name:"Feedback",to:"/feedback-commander"}]})]),"title-outer:after":i(()=>[_e.value?(o(),s(l,{key:0,label:"",color:"blue",small:""},{default:i(()=>[...a[6]||(a[6]=[u("Loading...",-1)])]),_:1})):we.value?(o(),s(l,{key:1,label:"",color:"red",small:""},{default:i(()=>[...a[7]||(a[7]=[u("Fetch Error",-1)])]),_:1})):(o(),s(l,{key:2,label:"",color:"green",small:""},{default:i(()=>[u(p(ye.value.length)+" Items",1)]),_:1}))]),navigation:i(()=>[v("div",_,[c(r,{text:"Websites",class:"header-text"})]),c(Be,{nav:""},{default:i(()=>[c(qe,{active:"all"===je.value,onClick:a[0]||(a[0]=e=>je.value="all"),clickable:""},{default:i(()=>[c(Me,null,{default:i(()=>[c(Ue,{name:"language"})]),_:1}),c(Ye,null,{default:i(()=>[c(r,{text:"All Projects"})]),_:1})]),_:1},8,["active"]),(o(!0),b(m,null,f(Te.value,e=>(o(),s(qe,{key:e,active:je.value===e,onClick:a=>je.value=e,clickable:""},{default:i(()=>[c(Me,null,{default:i(()=>[c(Ue,{name:"public",color:"var(--primary)"})]),_:1}),c(Ye,null,{default:i(()=>[c(r,{text:e||"Unknown"},null,8,["text"])]),_:2},1024)]),_:2},1032,["active","onClick"]))),128))]),_:1})]),default:i(()=>[v("div",w,[ye.value.length||_e.value||we.value?x("v-if",!0):(o(),b("div",C,[c(Ne,{icon:"inbox",title:"Clean Inbox",center:""},{default:i(()=>[...a[8]||(a[8]=[u(" All feedback has been processed. Great job! ",-1)])]),_:1})])),we.value?(o(),b("div",S,[c(Ne,{icon:"error",title:"Fetch Failed",description:we.value,center:""},null,8,["description"]),c(He,{onClick:Ve,secondary:"",small:""},{default:i(()=>[...a[9]||(a[9]=[u("Retry",-1)])]),_:1})])):ye.value.length?(o(),b("div",j,[x(" Detailed Triage Lane "),v("aside",F,[v("div",z,[c(Xe,{modelValue:Fe.value,"onUpdate:modelValue":a[1]||(a[1]=e=>Fe.value=e),items:Ee,small:"",placeholder:"Status Filter"},null,8,["modelValue"])]),v("div",A,[c(g,{name:"list"},{default:i(()=>[(o(!0),b(m,null,f(Pe.value,e=>{var a,n;return o(),b("div",{key:e.id,class:h(["feedback-card",{active:(null==(a=Se.value)?void 0:a.id)===e.id}]),onClick:a=>async function(e){Se.value=null,setTimeout(async()=>{Se.value=e,ke.value=[];try{const a=await t.get("/items/visual_feedback_comments",{params:{filter:{feedback_id:{_eq:e.id}},sort:"-date_created,-id",fields:["*","person.*"]}});ke.value=a.data.data}catch(e){console.error(e)}},10)}(e)},[v("div",{class:"card-status-bar",style:y({background:Re(e.status||"open")})},null,4),v("div",T,[v("header",P,[v("span",V,p(e.user_name),1),v("span",D,p(Le(e.date_created||e.id)),1)]),v("div",O,p(e.text),1),v("footer",L,[v("div",I,[c(l,{"x-small":"",outline:""},{default:i(()=>{var a;return[u(p((null==(a=e.company)?void 0:a.name)||e.project),1)]}),_:2},1024),c(Ue,{name:"bug"===e.type?"bug_report":"lightbulb",color:"bug"===e.type?"#E91E63":"#FFC107",small:""},null,8,["name","color"])]),(null==(n=Se.value)?void 0:n.id)===e.id?(o(),s(Ue,{key:0,name:"chevron_right",small:""})):x("v-if",!0)])])],10,E)}),128))]),_:1})])]),x(" Elaborated Master-Detail Desk "),v("main",R,[c(k,{name:"fade",mode:"out-in"},{default:i(()=>{return[Se.value?(o(),b("div",{key:Se.value.id,class:"desk-content"},[v("header",U,[v("div",M,[v("div",Y,[v("div",{class:"status-dot",style:y({background:Re(Se.value.status||"open")})},null,4),v("span",q,p((e=Se.value.status||"open",e.charAt(0).toUpperCase()+e.slice(1).replace("_"," "))),1)]),v("h2",null,p(Se.value.user_name)+"'s Submission",1)]),v("div",B,[c(He,{primary:"",onClick:a[2]||(a[2]=e=>Ie(Se.value))},{default:i(()=>[c(Ue,{name:"open_in_new",left:""}),a[10]||(a[10]=u(" Open & Highlight ",-1))]),_:1}),c(Xe,{modelValue:Se.value.status,"onUpdate:modelValue":[a[3]||(a[3]=e=>Se.value.status=e),De],items:Ae,inline:""},null,8,["modelValue"])])]),v("div",N,[x(" Message Container "),v("div",H,[c(We,{class:"content-card"},{default:i(()=>[c($e,null,{default:i(()=>[c(Ue,{name:"format_quote",left:""}),a[11]||(a[11]=u(" Feedback Content ",-1))]),_:1}),c(Ge,{class:"feedback-body"},{default:i(()=>{return[Se.value.screenshot?(o(),b("div",X,[v("label",$,[c(Ue,{name:"photo","x-small":""}),a[12]||(a[12]=u(" Element Snapshot",-1))]),v("img",{src:(e=Se.value.screenshot,e?`/assets/${e}`:""),class:"screenshot-img"},null,8,G)])):x("v-if",!0),v("div",W,p(Se.value.text),1)];var e}),_:1})]),_:1}),v("section",Z,[v("div",J,[c(Ze),a[13]||(a[13]=v("span",{class:"divider-label"},"Internal Communication",-1)),c(Ze)]),v("div",K,[c(g,{name:"thread-list"},{default:i(()=>[(o(!0),b(m,null,f(ke.value,e=>(o(),b("div",{key:e.id,class:"reply-bubble"},[v("header",Q,[v("span",ee,p(e.user_name||"System"),1),e.person?(o(),b("span",ae,"("+p(e.person.first_name)+" "+p(e.person.last_name)+")",1)):x("v-if",!0),v("span",te,p(Le(e.date_created||e.id)),1)]),v("div",ne,p(e.text),1)]))),128))]),_:1}),ke.value.length?x("v-if",!0):(o(),b("div",le,[c(Ue,{name:"auto_awesome",small:""}),a[14]||(a[14]=u(" No replies yet. Start the thread. ",-1))]))]),v("div",re,[c(Je,{modelValue:ze.value,"onUpdate:modelValue":a[4]||(a[4]=e=>ze.value=e),placeholder:"Compose internal response...","auto-grow":""},null,8,["modelValue"]),v("div",de,[c(He,{secondary:"",loading:Ce.value,onClick:Oe},{default:i(()=>[...a[15]||(a[15]=[u("Post Reply",-1)])]),_:1},8,["loading"])])])])]),x(" Technical Sidebar "),v("aside",oe,[c(We,{class:"meta-card"},{default:i(()=>[c($e,null,{default:i(()=>[...a[16]||(a[16]=[u("Context",-1)])]),_:1}),c(Ge,{class:"meta-list"},{default:i(()=>{var e,t;return[v("div",se,[v("label",null,[c(Ue,{name:"business","x-small":""}),a[17]||(a[17]=u(" Organisation / Firma",-1))]),v("strong",null,p((null==(e=Se.value.company)?void 0:e.name)||Se.value.project),1)]),Se.value.person?(o(),b("div",ie,[v("label",null,[c(Ue,{name:"person","x-small":""}),a[18]||(a[18]=u(" Zentrale Person",-1))]),v("strong",null,p(Se.value.person.first_name)+" "+p(Se.value.person.last_name),1)])):x("v-if",!0),v("div",ce,[v("label",null,[c(Ue,{name:"link","x-small":""}),a[19]||(a[19]=u(" Source Path",-1))]),v("span",{class:"truncate-path",title:Se.value.url},p((t=Se.value.url,t?t.replace(/^https?:\/\//,""):"")),9,ue),c(He,{icon:"",small:"",onClick:a[5]||(a[5]=e=>function(e){e&&window.open(e,"_blank")}(Se.value.url))},{default:i(()=>[c(Ue,{name:"launch"})]),_:1})]),c(Ze),v("div",pe,[v("label",null,[c(Ue,{name:"layers","x-small":""}),a[20]||(a[20]=u(" Element Trace",-1))]),v("code",ve,p(Se.value.selector||"Body"),1)]),v("div",be,[v("label",null,[c(Ue,{name:"location_searching","x-small":""}),a[21]||(a[21]=u(" Precise Mark",-1))]),v("span",me,"X: "+p(Math.round(Se.value.x))+"px / Y: "+p(Math.round(Se.value.y))+"px",1)]),v("div",fe,[v("label",null,[c(Ue,{name:"fingerprint","x-small":""}),a[22]||(a[22]=u(" Reference ID",-1))]),v("code",xe,p(Se.value.id),1)])]}),_:1})]),_:1}),v("div",ge,[c(Ue,{name:"help_outline","x-small":""}),a[23]||(a[23]=v("span",null,'Click "Open & Highlight" to jump directly to this element on the live site.',-1))])])])])):(o(),b("div",he,[c(Ne,{icon:"touch_app",title:"Select Feedback",center:""},{default:i(()=>[...a[24]||(a[24]=[u(" Choose an entry from the triage list to view details and process. ",-1)])]),_:1})]))];var e}),_:1})])])):x("v-if",!0)])]),_:1})}}}),ke=[],_e=[];!function(e,a){if(e&&"undefined"!=typeof document){var t,n=!0===a.prepend?"prepend":"append",l=!0===a.singleTag,r="string"==typeof a.container?document.querySelector(a.container):document.getElementsByTagName("head")[0];if(l){var d=ke.indexOf(r);-1===d&&(d=ke.push(r)-1,_e[d]={}),t=_e[d]&&_e[d][n]?_e[d][n]:_e[d][n]=o()}else t=o();65279===e.charCodeAt(0)&&(e=e.substring(1)),t.styleSheet?t.styleSheet.cssText+=e:t.appendChild(document.createTextNode(e))}function o(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),a.attributes)for(var t=Object.keys(a.attributes),l=0;l{const t=e.__vccOpts||e;for(const[e,n]of a)t[e]=n;return t})(ye,[["__scopeId","data-v-2deb53e0"],["__file","module.vue"]])}]});export{we as default};