Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 2s
Monorepo Pipeline / 🧹 Lint (push) Successful in 1m1s
Monorepo Pipeline / 🚀 Release (push) Has been cancelled
Monorepo Pipeline / 🧪 Test (push) Has been cancelled
Monorepo Pipeline / 🐳 Build Directus (Base) (push) Has been cancelled
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been cancelled
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been cancelled
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been cancelled
Monorepo Pipeline / 🏗️ Build (push) Has been cancelled
2 lines
20 KiB
JavaScript
2 lines
20 KiB
JavaScript
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<t.length;l++)e.setAttribute(t[l],a.attributes[t[l]]);var d="prepend"===n?"afterbegin":"beforeend";return r.insertAdjacentElement(d,e),e}}("\n.feedback-container[data-v-2deb53e0] {\n\theight: calc(100vh - 64px);\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground: var(--background-subdued);\n}\n.operational-layout[data-v-2deb53e0] {\n\tdisplay: flex;\n\theight: 100%;\n}\n\n/* Triage Lane Polish */\n.triage-lane[data-v-2deb53e0] {\n\twidth: 360px;\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground: var(--background-normal);\n\tborder-right: 1px solid var(--border-normal);\n\tbox-shadow: 2px 0 8px rgba(0,0,0,0.02);\n}\n.lane-header[data-v-2deb53e0] {\n\tpadding: 16px;\n\tbackground: var(--background-normal);\n\tborder-bottom: 1px solid var(--border-normal);\n}\n.lane-content[data-v-2deb53e0] {\n\tflex: 1;\n\toverflow-y: auto;\n\tpadding: 12px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 12px;\n}\n.feedback-card[data-v-2deb53e0] {\n\tbackground: var(--background-normal);\n\tborder: 1px solid var(--border-subdued);\n\tborder-radius: 8px;\n\tdisplay: flex;\n\toverflow: hidden;\n\tcursor: pointer;\n\ttransition: all var(--transition);\n}\n.feedback-card[data-v-2deb53e0]:hover {\n\tborder-color: var(--border-normal);\n\tbackground: var(--background-subdued);\n\ttransform: translateY(-1px);\n\tbox-shadow: 0 4px 8px rgba(0,0,0,0.04);\n}\n.feedback-card.active[data-v-2deb53e0] {\n\tborder-color: var(--primary);\n\tbackground: var(--background-accent);\n\tbox-shadow: 0 4px 12px rgba(var(--primary-rgb), 0.1);\n}\n.card-status-bar[data-v-2deb53e0] {\n\twidth: 4px;\n}\n.card-body[data-v-2deb53e0] {\n\tflex: 1;\n\tpadding: 12px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n}\n.card-header[data-v-2deb53e0] {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tfont-size: 11px;\n}\n.card-user[data-v-2deb53e0] { font-weight: bold; color: var(--foreground-normal);\n}\n.card-date[data-v-2deb53e0] { color: var(--foreground-subdued);\n}\n.card-text[data-v-2deb53e0] {\n\tfont-size: 13px;\n\tline-height: 1.5;\n\tcolor: var(--foreground-normal);\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 2;\n\t-webkit-box-orient: vertical;\n\toverflow: hidden;\n}\n.card-footer[data-v-2deb53e0] {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n}\n.meta-tags[data-v-2deb53e0] {\n\tdisplay: flex;\n\tgap: 8px;\n\talign-items: center;\n}\n\n/* Processing Desk Refinement */\n.processing-desk[data-v-2deb53e0] {\n\tflex: 1;\n\theight: 100%;\n\toverflow-y: auto;\n\tpadding: 32px;\n}\n.desk-content[data-v-2deb53e0] {\n\tmax-width: 1100px;\n\tmargin: 0 auto;\n}\n.desk-header[data-v-2deb53e0] {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: flex-end;\n\tmargin-bottom: 32px;\n\tborder-bottom: 2px solid var(--border-normal);\n\tpadding-bottom: 20px;\n}\n.headline-group[data-v-2deb53e0] {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n}\n.status-indicator[data-v-2deb53e0] {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tfont-size: 12px;\n\tfont-weight: bold;\n\ttext-transform: uppercase;\n\tcolor: var(--foreground-subdued);\n}\n.status-dot[data-v-2deb53e0] {\n\twidth: 8px;\n\theight: 8px;\n\tborder-radius: 50%;\n}\n.status-text[data-v-2deb53e0] { letter-spacing: 0.5px;\n}\n.header-actions[data-v-2deb53e0] {\n\tdisplay: flex;\n\tgap: 16px;\n\talign-items: center;\n}\n.desk-grid[data-v-2deb53e0] {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr 300px;\n\tgap: 24px;\n\talign-items: start;\n}\n.content-card[data-v-2deb53e0] {\n\tborder-radius: 12px;\n\toverflow: hidden;\n}\n.feedback-body[data-v-2deb53e0] {\n\tfont-size: 18px;\n\tline-height: 1.6;\n\tpadding: 24px;\n\tcolor: var(--foreground-normal);\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 20px;\n}\n.visual-proof[data-v-2deb53e0] {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n}\n.proof-label[data-v-2deb53e0] {\n\tfont-size: 10px;\n\ttext-transform: uppercase;\n\tfont-weight: 800;\n\tcolor: var(--foreground-subdued);\n\tletter-spacing: 0.5px;\n}\n.screenshot-img[data-v-2deb53e0] {\n\twidth: 100%;\n\tborder-radius: 8px;\n\tborder: 1px solid var(--border-normal);\n\tbox-shadow: 0 4px 12px rgba(0,0,0,0.1);\n\tbackground: var(--background-subdued);\n}\n.main-text[data-v-2deb53e0] {\n\twhite-space: pre-wrap;\n}\n.reply-section[data-v-2deb53e0] {\n\tmargin-top: 40px;\n}\n.section-divider[data-v-2deb53e0] {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 16px;\n\tmargin-bottom: 24px;\n}\n.divider-label[data-v-2deb53e0] {\n\tfont-size: 11px;\n\ttext-transform: uppercase;\n\tfont-weight: 800;\n\tcolor: var(--foreground-subdued);\n\twhite-space: nowrap;\n\tletter-spacing: 1px;\n}\n.thread[data-v-2deb53e0] {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 16px;\n\tmargin-bottom: 32px;\n}\n.reply-bubble[data-v-2deb53e0] {\n\tpadding: 16px;\n\tborder-radius: 12px;\n\tbackground: var(--background-normal);\n\tborder: 1px solid var(--border-subdued);\n}\n.reply-header[data-v-2deb53e0] {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tfont-size: 11px;\n\tmargin-bottom: 8px;\n}\n.reply-user[data-v-2deb53e0] { font-weight: 800; color: var(--primary);\n}\n.reply-date[data-v-2deb53e0] { color: var(--foreground-subdued);\n}\n.reply-text[data-v-2deb53e0] { font-size: 14px; line-height: 1.5;\n}\n.composer[data-v-2deb53e0] {\n\tbackground: var(--background-normal);\n\tborder: 1px solid var(--border-normal);\n\tborder-radius: 12px;\n\tpadding: 16px;\n}\n.composer-actions[data-v-2deb53e0] {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tmargin-top: 12px;\n}\n.meta-card[data-v-2deb53e0] {\n\tborder-radius: 12px;\n}\n.meta-list[data-v-2deb53e0] {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 16px;\n\tpadding: 16px;\n}\n.meta-item[data-v-2deb53e0] {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n\tfont-size: 13px;\n}\n.meta-item label[data-v-2deb53e0] {\n\tfont-size: 10px;\n\ttext-transform: uppercase;\n\tfont-weight: bold;\n\tcolor: var(--foreground-subdued);\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n}\n.truncate-path[data-v-2deb53e0] {\n\tcolor: var(--primary);\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n.trace-code[data-v-2deb53e0], .id-code[data-v-2deb53e0] {\n\tbackground: var(--background-subdued);\n\tpadding: 4px 8px;\n\tborder-radius: 4px;\n\tfont-size: 11px;\n\tword-break: break-all;\n}\n.coords[data-v-2deb53e0] { font-weight: bold; font-family: var(--family-monospace);\n}\n.help-box[data-v-2deb53e0] {\n\tmargin-top: 20px;\n\tpadding: 16px;\n\tbackground: rgba(var(--primary-rgb), 0.05);\n\tborder-radius: 12px;\n\tfont-size: 12px;\n\tcolor: var(--primary);\n\tdisplay: flex;\n\tgap: 8px;\n\tline-height: 1.4;\n}\n.no-selection-desk[data-v-2deb53e0] {\n\theight: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n.empty-state-mini[data-v-2deb53e0] {\n\ttext-align: center;\n\tpadding: 24px;\n\tfont-size: 12px;\n\tcolor: var(--foreground-subdued);\n\tbackground: var(--background-subdued);\n\tborder-radius: 12px;\n\tborder: 1px dashed var(--border-normal);\n}\n\n/* Animations */\n.list-enter-active[data-v-2deb53e0], .list-leave-active[data-v-2deb53e0] { transition: all 0.3s ease;\n}\n.list-enter-from[data-v-2deb53e0], .list-leave-to[data-v-2deb53e0] { opacity: 0; transform: translateX(-20px);\n}\n.fade-enter-active[data-v-2deb53e0], .fade-leave-active[data-v-2deb53e0] { transition: opacity 0.2s ease, transform 0.2s ease;\n}\n.fade-enter-from[data-v-2deb53e0] { opacity: 0; transform: translateY(10px);\n}\n.fade-leave-to[data-v-2deb53e0] { opacity: 0; transform: translateY(-10px);\n}\n.thread-list-enter-active[data-v-2deb53e0] { transition: all 0.4s ease; transform-origin: top;\n}\n.thread-list-enter-from[data-v-2deb53e0] { opacity: 0; transform: scaleY(0.9);\n}\n.scrollbar[data-v-2deb53e0]::-webkit-scrollbar { width: 6px;\n}\n.scrollbar[data-v-2deb53e0]::-webkit-scrollbar-track { background: transparent;\n}\n.scrollbar[data-v-2deb53e0]::-webkit-scrollbar-thumb { background: var(--border-subdued); border-radius: 3px;\n}\n.scrollbar[data-v-2deb53e0]::-webkit-scrollbar-thumb:hover { background: var(--border-normal);\n}\n",{});var we=a({id:"feedback-commander",name:"Feedback Commander",icon:"view_kanban",routes:[{path:"",component:((e,a)=>{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};
|