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