PageSourceSearch

https://spedy.ai/_next/static/chunks/1159.ceb738805143777c.js

js spedy.ai collected 2026-09-24 14:08:52 UTC 66,167 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="75982f7c-4037-4016-9f5e-0ce97a5b968f",e._sentryDebugIdIdentifier="sentry-dbid-75982f7c-4037-4016-9f5e-0ce97a5b968f")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1159],{1497:(e,t,a)=>{a.d(t,{AO:()=>c,vU:()=>d,zM:()=>u});var n=a(78492),s=a(32401),r=a(17598),i=a(61003),o=a(53839),l=a(98660);function d(e,t){return{queryKey:o.lH.boards.statuses(e,t),queryFn:async()=>{var a,n;let{data:s,error:r}=await i.FH.GET("/api/v1/boards/{boardId}/statuses",{params:{path:{boardId:e},query:{category:null==t?void 0:t.category,includeHidden:null==t?void 0:t.includeHidden}}});if(r)throw r;return[...null!=(n=null!=(a=null==s?void 0:s.data)?a:Array.isArray(s)?s:[])?n:[]].sort((e,t)=>{var a,n;let s=(0,l.RM)(e.category)-(0,l.RM)(t.category);return 0!==s?s:(null!=(a=e.order)?a:0)-(null!=(n=t.order)?n:0)})},enabled:!!e,staleTime:3e5}}function c(e,t){return(0,n.useQuery)(d(e,t))}function u(e){let t=(0,s.useQueryClient)();return(0,r.useMutation)({mutationFn:async t=>{let{statusId:a,data:n}=t,{data:s,error:r}=await (0,i.v$)("/boards/".concat(e,"/statuses/").concat(a),{method:"PATCH",body:JSON.stringify(n)});if(r)throw r;return s},onSuccess:()=>{t.invalidateQueries({queryKey:["boards",e,"statuses"]})}})}},1989:(e,t,a)=>{a.d(t,{w:()=>o});var n=a(78492),s=a(61003),r=a(53839),i=a(69810);function o(e,t,a){var o;return(0,n.useQuery)({queryKey:r.lH.explainability.health(e,t),queryFn:async()=>{let{data:a,error:n}=await (0,s.v$)("/boards/".concat(e,"/tickets/").concat(t,"/health"),{headers:{"Accept-Language":(0,i.kk)()}});if(n)throw Error("object"==typeof n&&null!==n&&"message"in n?String(n.message):"Failed to fetch ticket health");return a},enabled:!!e&&!!t&&(null==(o=null==a?void 0:a.enabled)||o),staleTime:6e4})}},9804:(e,t,a)=>{a.d(t,{A:()=>i});var n=a(78492),s=a(61003),r=a(53839);function i(){return(0,n.useQuery)({queryKey:r.lH.budgets.orgOverview(),queryFn:async()=>{var e;let t=await (0,s.v$)("/organizations/current/budgets");if(null==t?void 0:t.error)throw t.error;return null!=(e=t.data)?e:[]}})}},12833:(e,t,a)=>{a.r(t),a.d(t,{WorkDashboard:()=>eN});var n=a(53430),s=a(25238),r=a(48753),i=a.n(r),o=a(34229),l=a(97945),d=a(69810),c=a(72133),u=a(86482),m=a(70795),g=a(36384),h=a(68490),p=a(78492),f=a(61003),x=a(53839),b=a(99469),y=a(91433),v=a(32401),w=a(17598),k=a(80920),N=a(1497);let j={mode:"my_work",collapsedBuckets:[],boardFilter:[]};var C=a(64550),T=a(4912),I=a(9804),_=a(47750),E=a(19202);function M(){let{t:e}=(0,T.WD)(),{data:t,isLoading:a,isError:r}=(0,I.A)(),o=(0,s.useMemo)(()=>[...(null!=t?t:[]).filter(e=>e.isNearBudget||e.isOverBudget)].sort((e,t)=>e.isOverBudget&&!t.isOverBudget?-1:!e.isOverBudget&&t.isOverBudget?1:t.percentage-e.percentage),[t]);return a?(0,n.jsxs)("div",{className:"rounded-2xl border border-border/40 bg-card p-5",children:[(0,n.jsx)("div",{className:"h-4 w-28 animate-pulse rounded bg-muted mb-3"}),(0,n.jsx)("div",{className:"h-12 animate-pulse rounded bg-muted"})]}):r||0===o.length?null:(0,n.jsxs)("div",{className:"rounded-2xl border border-border/40 bg-card p-5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("h3",{className:"font-heading text-sm font-semibold",children:e("budget.dashboard_title")}),(0,n.jsx)(i(),{href:"/project-management/budgets",className:"text-xs text-foreground/50 hover:text-foreground/70 transition-colors",children:e("budget.overview_title")})]}),(0,n.jsx)("div",{className:"space-y-3",children:o.map(e=>(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)(i(),{href:(0,E.ky)(e.boardId,e.boardPrefix),className:"text-xs font-heading font-medium hover:underline truncate max-w-[180px]",children:e.boardName}),(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md px-2 py-0.5 text-[11px] font-medium bg-foreground
1/[0.04] text-foreground/70 font-heading",children:[(0,n.jsx)("span",{className:"h-1.5 w-1.5 rounded-full ".concat(e.isOverBudget?"bg-red-500":"bg-amber-500")}),Math.round(e.percentage),"%"]})]}),(0,n.jsx)(_._,{percentage:e.percentage,alertThreshold:e.alertThreshold,nonBillablePercentage:e.budgetHours>0?e.nonBillableSpentHours/e.budgetHours*100:0,compact:!0})]},e.id))})]})}var S=a(58216),A=a(4542);let H={CRITICAL:"bg-red-500",HIGHEST:"bg-red-500",HIGH:"bg-orange-500",MEDIUM:"bg-amber-500",LOW:"bg-blue-400",LOWEST:"bg-foreground/30"};function D(e){let{displayId:t,title:a,boardName:s,priority:r,statusName:i,statusColor:o,assigneeName:l,createdAt:d,meta:u,actions:m,healthIndicator:g,completed:h,hideBoardName:p,onClick:f}=e,x=!h&&("CRITICAL"===r||"HIGHEST"===r);return(0,n.jsxs)("div",{className:(0,A.cn)("flex items-center gap-3 px-3 py-2.5 transition-all group min-w-0",h?"opacity-40":"hover:bg-foreground/[0.02]",x&&"border-l-2 border-l-red-500/40"),children:[h?(0,n.jsx)(S.A,{className:"h-3.5 w-3.5 text-emerald-500 shrink-0"}):r?(0,n.jsx)("span",{className:(0,A.cn)("h-1.5 w-1.5 rounded-full shrink-0",H[r]||"bg-foreground
1/30")}):null,(0,n.jsx)(c.$,{type:"button",variant:"ghost",onClick:f,className:"flex-1 min-w-0 justify-start h-auto p-0 rounded-none hover:bg-transparent",children:(0,n.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,n.jsx)("span",{className:(0,A.cn)("text-xs font-medium text-foreground/50 shrink-0",h&&"line-through"),children:t}),(0,n.jsx)("span",{className:(0,A.cn)("text-sm text-foreground/80 truncate",h&&"line-through"),children:a}),!p&&s&&(0,n.jsx)("span",{className:"text-[11px] text-foreground/35 shrink-0 hidden sm:inline",children:s})]})}),!h&&(0,n.jsxs)("div",{className:"hidden md:flex items-center gap-2 shrink-0",children:[g,l&&(0,n.jsx)("span",{className:"inline-flex items-center justify-center h-5 w-5 rounded-full bg-foreground/[0.06] text-[9px] font-medium text-foreground/50",title:l,children:function(e){let t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():e.slice(0,2).toUpperCase()}(l)}),i&&(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md px-2 py-0.5 text-[11px] font-medium bg-foreground
1/[0.04] text-foreground/70",children:[(0,n.jsx)("span",{className:"h-1.5 w-1.5 rounded-full shrink-0",style:o?{backgroundColor:o}:void 0}),(0,n.jsx)("span",{className:"max-w-[80px] truncate",children:i})]}),d&&(0,n.jsx)("span",{className:"text-[10px] text-foreground/25",children:function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<60)return"".concat(t,"m");let a=Math.floor(t/60);if(a<24)return"".concat(a,"h");let n=Math.floor(a/24);if(n<30)return"".concat(n,"d");let s=Math.floor(n/30);return"".concat(s,"mo")}(d)})]}),!h&&u&&(0,n.jsx)("div",{className:"text-[11px] text-foreground/40 shrink-0 hidden md:flex items-center",children:u}),!h&&m&&(0,n.jsx)("div",{className:"flex items-center gap-1.5 shrink-0 opacity-60 group-hover:opacity-100 transition-opacity",children:m})]})}var Q=a(1989),F=a(62369);function K(e){let{score:t=50,level:a="at_risk",factors:s,className:r,showScore:i=!1,size:o="md",hasActions:l=!1}=e,{t:c}=(0,d.WD)(),u={healthy:{label:c("health.healthy"),iconColor:"text-emerald-500",icon:"✓"},at_risk:{label:c("health.at_risk"),iconColor:"text-amber-500",icon:"⚠"},critical:{label:c("health.critical"),iconColor:"text-red-500",icon:"!"}},m="critical"===a?u[a]:l?{label:c("health.action_available"),iconColor:"text-amber-500",icon:"⚡"}:u[a],g=s?(0,n.jsxs)("div",{className:"space-y-1 text-left",children:[(0,n.jsx)("div",{className:"font-medium",children:c("health.score_format",{label:c("health.score_label"),score:t,level:m.label})}),l&&"critical"!==a&&(0,n.jsx)("div",{className:"text-xs font-medium",children:c("health.action_available_hint")}),(0,n.jsx)("div",{className:"text-xs opacity-80",children:s.map(e=>(0,n.jsxs)("div",{className:"flex justify-between gap-4",children:[(0,n.jsx)("span",{children:e.description}),(0,n.jsx)("span",{className:"font-medium","aria-hidden":"true",children:"positive"===e.impact?"+":"negative"===e.impact?"-":"○"})]},e.name))})]}):l&&"critical"!==a?c("health.action_available_tooltip"):c("health.score_tooltip",{level:m.label,score:t});return(0,n.jsx)(F.m,{content:g,position:"top",children:(0,n.jsxs)("div",{"data-testid":"health-indicator",className:(0,A.cn)("inline-flex items-center gap-1 rounded-full font-medium","sm"===o?"px-1.5 py-0.5 text-[10px]":"px-2 py-0.5 text-xs","bg-foreground
1/[0.04] text-foreground/70",r),children:[(0,n.jsx)("span",{className:(0,A.cn)("font-bold",m.iconColor),children:m.icon}),i?(0,n.jsx)("span",{children:t}):"sm"!==o?(0,n.jsx)("span",{children:m.label}):null]})})}function P(e){let{boardId:t,ticketId:a,hasPendingSuggestions:s=!1,featureEnabled:r}=e,{isEnabled:i,isLoading:o}=(0,h.T8)(void 0!==r?"":t,"EXPLAINABLE_STATUS"),l=null!=r?r:i,{data:d}=(0,Q.w)(t,a,{enabled:l&&(void 0!==r||!o)});return l&&d?(0,n.jsx)(K,{score:d.score,level:d.level,factors:d.factors,size:"sm",hasActions:s}):null}var O=a(28015),q=a(4963),G=a(53004),L=a(59070),R=a(45034),B=a(13024),$=a(16705),W=a(83205);let z={TICKET_COMMENT_ADDED:R.A,TICKET_STATUS_CHANGED:B.A,TICKET_UPDATED:$.A,TICKET_VIEWED:W.A},U={TICKET_COMMENT_ADDED:"dashboard.events.comment",TICKET_STATUS_CHANGED:"dashboard.events.status_changed",TICKET_UPDATED:"dashboard.events.updated",TICKET_VIEWED:"dashboard.events.viewed"};function V(e){let{events:t,maxVisible:a=2}=e,{t:s}=(0,d.WD)();if(0===t.length)return null;let r=new Set,i=[];for(let e of t)r.has(e.type)||(r.add(e.type),i.push(e));let o=i.slice(0,a),l=t.length-o.length;return(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] text-foreground/35 mt-0.5 min-w-0 truncate",children:[(0,n.jsx)("span",{className:"text-foreground/25",children:"∟"}),o.map((e,t)=>{let a=z[e.type],r=e.detail||s(U[e.type]||"dashboard.events.activity");return(0,n.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0",children:[t>0&&(0,n.jsx)("span",{className:"text-foreground/20 mx-0.5",children:"\xb7"}),a&&(0,n.jsx)(a,{className:"h-3 w-3 text-foreground/30"}),(0,n.jsx)("span",{children:r})]},"".concat(e.type,"-").concat(t))}),l>0&&(0,n.jsxs)("span",{className:"text-foreground/25 shrink-0",children:["\xb7 +",l," ",s("dashboard.events.more")]})]})}function J(e){let{ticketId:t,displayId:a,ticketTitle:r,suggestedMinutes:i,events:o,onComplete:l,onIgnore:u,defaultBooked:m=!1,defaultIgnored:g=!1,onClick:h}=e,{t:p}
1=(0,d.WD)(),[f,x]=(0,s.useState)(String(i)),[b,y]=(0,s.useState)(m),[v,w]=(0,s.useState)(g),k=(0,O.M)();return b?(0,n.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2.5 text-sm text-foreground/50",children:[(0,n.jsx)(S.A,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,n.jsxs)("span",{children:[a," — ",p("dashboard.sections.time_gaps.booked")]})]}):v?(0,n.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2.5 text-sm text-foreground/50",children:[(0,n.jsx)(G.A,{className:"h-3.5 w-3.5 text-foreground/30"}),(0,n.jsxs)("span",{children:[a," — ",p("dashboard.sections.time_gaps.ignored")]})]}):(0,n.jsxs)("div",{className:"flex flex-col gap-2 px-3 py-2.5 hover:bg-foreground/[0.02] transition-colors group min-w-0 sm:flex-row sm:items-start sm:gap-3",children:[(0,n.jsxs)(c.$,{type:"button",variant:"ghost",onClick:h,className:"w-full sm:flex-1 min-w-0 justify-start h-auto p-0 rounded-none hover:bg-transparent",children:[(0,n.jsxs)("div",{className:"flex w-full min-w-0 flex-col items-start gap-1 sm:flex-row sm:items-center sm:gap-2",children:[(0,n.jsxs)("div",{className:"flex w-full min-w-0 items-center gap-2 sm:w-auto sm:flex-1",children:[(0,n.jsx)("span",{className:"text-xs font-medium text-foreground/50 shrink-0",children:a}),(0,n.jsx)("span",{className:"text-sm text-foreground/80 truncate flex-1 min-w-0 text-left",children:r})]}),(0,n.jsxs)("span",{className:"hidden sm:inline text-[11px] text-foreground/40 shrink-0",children:["~",i," Min"]})]}),o&&o.length>0&&(0,n.jsx)("div",{className:"hidden sm:block",children:(0,n.jsx)(V,{events:o})})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 self-stretch sm:self-auto sm:shrink-0 sm:mt-0.5",children:[l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,n.jsx)(q.p,{type:"number",value:f,onChange:e=>x(e.target.value),className:"w-20 h-8 pr-8 text-xs text-center",min:1,max:480}),(0,n.jsx)("span",{className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-[10px] text-foreground/40",children:"Min"})]}),(0,n.jsx)(c.$,{type:"button",size:"sm",onClick:()=>{let e=parseInt(f,10);isNaN(e)||e<=0||k.mutate({ticketId:t,durationMinutes:e},{onSuccess:()=>{y(!0),null==l||l()}})},disabled:k.isPending,className:"h-8 flex-1 px-3 text-xs sm:flex-none",children:k.isPending?(0,n.jsx)(L.A,{className:"h-3 w-3 animate-spin"}):p("dashboard.sections.time_gaps.book")})]}),u&&(0,n.jsx)(c.$,{type:"button",variant:"ghost",onClick:()=>{w(!0),null==u||u()},className:"h-8 shrink-0 px-2 text-[11px] text-foreground/50 hover:text-foreground/70 transition-colors",children:p("dashboard.sections.time_gaps.ignore")})]})]})}var X=a(4323),Y=a(20789);let Z=(0,a(11691).default)(()=>Promise.all([a.e(6316),a.e(8842),a.e(2808),a.e(52),a.e(1734),a.e(107)]).then(a.bind(a,31734)).then(e=>e.MarkdownEditor),{loadableGenerated:{webpack:()=>[31734]},ssr:!1});function ee(e){let{ticketId:t,boardId:a,displayId:r,triggerLabel:i,onComplete:o}=e,{t:l}=(0,d.WD)(),[u,m]=(0,s.useState)(!1),[g,h]=(0,s.useState)(""),[p,b]=(0,s.useState)(!1),y=(0,s.useRef)(null),k=(0,s.useRef)(null),[N,j]=(0,s.useState)({top:0,left:0}),C=(0,v.useQueryClient)(),T=(0,s.useRef)(null),[I,_]=(0,s.useState)(!1),E=(0,Y.Cg)(),M=(0,w.useMutation)({mutationFn:async()=>{if(!T.current)throw Error("No content to post");let e=JSON.stringify(T.current),{error:n}=await (0,f.v$)("/boards/".concat(a,"/tickets/").concat(t,"/comments"),{method:"POST",body:JSON.stringify({content:e})});if(n)throw n},onSuccess:()=>{b(!0),C.invalidateQueries({queryKey:x.lH.tickets.comments(t)}),setTimeout(()=>{m(!1),b(!1),h(""),T.current=null,_(!1),null==o||o()},1200)}});(0,s.useEffect)(()=>{if(!u||!y.current)return;let e=y.current.getBoundingClientRect(),t=e.left;t+320>window.innerWidth-16&&(t=window.innerWidth-320-16),j({top:e.bottom+4,left:t})},[u]),(0,s.useEffect)(()=>{if(u)return document.addEventListener("mousedown",e,!0),()=>document.removeEventListener("mousedown",e,!0);function e(e){y.current&&!y.current.contains(e.target)&&k.current&&!k.current.contains(e.target)&&m(!1)}},[u]);let A=async()=>{if(m(!0),!g)try{let n=await E.mutateAsync({ticketId:t,intent:"ask_info"});if(n.mentionTarget){var e,a;let t=(e=n.mentionTarget,a=n.draft,{type:"doc",content:[{type:"paragraph",content:[{type:"mention",attrs:{id:e.id,label:e.name}},{type:"text",text:" ".concat(a)}]}]});h(JSON.stringify(t)),T.current=t}else h(n.draft);_(!0)}catch(e){h("")}},H=(0,s.useCallback)(e=>{T.current=e},[]),D=(0,s.useCallback)(e=>{_(e.trim().length>0),!T.current&&e.trim()&&(T.current={type:"doc",content:[{type:"paragraph",content:[{type:"text",text:e}]}]})},[]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(c.$,{ref:y,type:"button",variant:"ghost",size:"sm",onClick:A,className:"h-7 px-2 text-xs text-foreground
1/60 hover:text-foreground",children:[(0,n.jsx)(R.A,{className:"h-3 w-3 mr-1"}),i]}),u&&(0,X.createPortal)((0,n.jsxs)("div",{ref:k,className:"fixed z-[9999] w-80 rounded-lg border bg-background shadow-lg p-3 space-y-3 animate-in fade-in-0 zoom-in-95",style:{top:N.top,left:N.left},children:[(0,n.jsxs)("p",{className:"text-xs font-medium text-foreground/60",children:[l("dashboard.draft.title")," - ",r]}),E.isPending?(0,n.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,n.jsx)(L.A,{className:"h-4 w-4 animate-spin text-foreground/40"})}):(0,n.jsx)(Z,{initialContent:g,boardId:a,showToolbar:!1,showActions:!1,enableModeToggle:!1,defaultMode:"wysiwyg",minHeight:96,maxHeight:120,autoFocus:!0,onChange:D,onChangeJson:H}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(c.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>m(!1),className:"h-7 px-2 text-xs",children:l("common.cancel")}),(0,n.jsx)(c.$,{type:"button",size:"sm",onClick:()=>M.mutate(),disabled:!I||M.isPending||p,className:"h-7 px-3 text-xs",children:p?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S.A,{className:"h-3 w-3 mr-1"}),l("dashboard.draft.posted")]}):M.isPending?(0,n.jsx)(L.A,{className:"h-3 w-3 animate-spin"}):l("dashboard.draft.post")})]})]}),document.body)]})}let et="dashboard-completed-v1";var ea=a(84430);function en(e){let{id:t,title:a,subtitle:r,totalCount:i,items:o,renderItem:l,keyOf:u,collapsed:m,onToggleCollapsed:g,emptyMessage:h,maxItems:p=8}=e,{t:f}=(0,d.WD)(),[x,b]=(0,s.useState)(!1),y=x?o:o.slice(0,p),v=o.length-y.length,w=Math.max(0,i-o.length);return(0,n.jsxs)("section",{id:"bucket-".concat(t),className:"scroll-mt-6",children:[(0,n.jsx)("header",{className:"mb-2 flex items-center justify-between gap-3",children:(0,n.jsxs)(c.$,{type:"button",variant:"ghost",onClick:()=>g(!m),"aria-expanded":!m,className:"h-auto min-w-0 justify-start gap-2 p-0 hover:bg-transparent",children:[(0,n.jsx)(ea.A,{className:(0,A.cn)("h-4 w-4 shrink-0 text-foreground/40 transition-transform",m&&"-rotate-90")}),(0,n.jsxs)("span",{className:"flex min-w-0 flex-col items-start",children:[(0,n.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,n.jsx)("span",{className:"font-heading text-sm font-semibold tracking-tight text-foreground/85",children:a}),(0,n.jsx)("span",{className:"font-heading text-sm font-semibold tabular-nums text-foreground/40",children:i})]}),r&&(0,n.jsx)("span",{className:"max-w-full truncate text-[11px] font-body text-foreground/40",children:r})]})]})}),!m&&(0,n.jsx)("div",{className:"overflow-hidden rounded-2xl border border-border/40 bg-card",children:0===o.length?(0,n.jsx)("p",{className:"px-4 py-6 text-center text-xs font-body text-foreground/40",children:h}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"divide-y divide-border/40",children:y.map((e,t)=>(0,n.jsx)("div",{children:l(e,t)},u(e)))}),(v>0||x||w>0)&&(0,n.jsxs)("div",{className:"flex items-center gap-2 border-t border-border/40 px-3 py-2",children:[(v>0||x)&&(0,n.jsx)(c.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>b(e=>!e),className:"h-auto px-2 py-1 text-xs text-foreground/50 hover:text-foreground/80",children:x?f("dashboard.buckets.show_less"):f("dashboard.buckets.show_all",{count:v})}),w>0&&(0,n.jsx)("span",{className:"text-[11px] text-foreground/35",children:f("dashboard.buckets.more_on_server",{count:w})})]})]})})]})}var es=a(71687),er=a(56277),ei=a(4331),eo=a(59258);let el={blocking_you:es.A,in_flight:er.A,stuck:ei.A,to_record:eo.A},ed={blocking_you:"bg-rose-400",in_flight:"bg-emerald-400",stuck:"bg-amber-400",to_record:"bg-violet-400"};function ec(e){let{entries:t,onJumpTo:a}=e,{t:s}=(0,d.WD)();return(0,n.jsx)("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4 sm:gap-3",children:t.map(e=>{let{id:t,count:r}=e,i=el[t],o=r>0;return(0,n.jsx)(c.$,{type:"button",variant:"ghost",onClick:()=>o&&a(t),"aria-label":s("dashboard.buckets.".concat(t,".title")),className:(0,A.cn)("h-auto w-full justify-start rounded-2xl border border-border/40 bg-card p-3 text-left transition-colors",o?"hover:border-border":"cursor-default opacity-60"),children:(0,n.jsxs)("span",{className:"flex w-full min-w-0 flex-col gap-2",children:[(0,n.jsxs)("span",{className:"flex items-center justify-between gap-2",children:[(0,n.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,n.jsx)("span",{className:(0,A.cn)("h-1.5 w-1.5 shrink-0 rounded-full",ed[t])}),(0,n.jsx)("span",{className:"truncate text-[11px] font-medium text-foreground
1/60",children:s("dashboard.buckets.".concat(t,".title"))})]}),(0,n.jsx)(i,{className:"h-4 w-4 shrink-0 text-foreground/30"})]}),(0,n.jsx)("span",{className:"font-heading text-2xl font-semibold leading-none tracking-tight tabular-nums text-foreground/90",children:r})]})},t)})})}function eu(e){let{mode:t,onChange:a}=e,{t:s}=(0,d.WD)(),r=[{value:"my_work",label:s("dashboard.mode.my_work")},{value:"oversight",label:s("dashboard.mode.oversight")}];return(0,n.jsx)("div",{role:"tablist",className:"inline-flex items-center gap-0.5 rounded-full border border-border/60 bg-card/70 p-0.5",children:r.map(e=>(0,n.jsx)(c.$,{type:"button",variant:"ghost",size:"sm",role:"tab","aria-selected":t===e.value,onClick:()=>a(e.value),className:(0,A.cn)("h-auto rounded-full px-3 py-1 text-xs font-heading transition-colors",t===e.value?"bg-foreground/[0.06] text-foreground/85":"text-foreground/50 hover:text-foreground/75"),children:e.label},e.value))})}var em=a(59163);let eg={APPROVAL:"bg-amber-500",BLOCKER:"bg-rose-500",CUSTOMER:"bg-sky-500",ASSIGNEE:"bg-foreground
1/30"};function eh(e){let{waitingFor:t,waitingDays:a,waitingOnName:s,blockerDisplayId:r}=e,{t:i}=(0,d.WD)(),o=(()=>{switch(t){case"APPROVAL":return s?i("dashboard.waiting.approval_named",{days:a,name:s}):i("dashboard.waiting.approval",{days:a});case"BLOCKER":return r?i("dashboard.waiting.blocker_named",{days:a,ticket:r}):i("dashboard.waiting.blocker",{days:a});case"CUSTOMER":return s?i("dashboard.waiting.customer_named",{days:a,name:s}):i("dashboard.waiting.customer",{days:a});case"ASSIGNEE":return i("dashboard.waiting.assignee",{days:a})}})();return(0,n.jsxs)("span",{className:"inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-md bg-foreground/[0.04] px-2 py-0.5 text-[11px] font-medium text-foreground/70",children:[(0,n.jsx)("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full ".concat(eg[t])}),(0,n.jsx)("span",{className:"truncate",children:o})]})}let ep={CRITICAL:"bg-red-500",HIGHEST:"bg-red-500",HIGH:"bg-orange-500",MEDIUM:"bg-amber-500",LOW:"bg-foreground/25"};function ef(e){let{item:t,onClick:a,actions:s}=e,r="CRITICAL"===t.priority||"HIGHEST"===t.priority;return(0,n.jsxs)("div",{className:(0,A.cn)("group flex items-start gap-3 px-3 py-2.5 transition-colors hover:bg-foreground
1/[0.02] min-w-0",r&&"border-l-2 border-l-red-500/40"),children:[(0,n.jsx)("span",{className:(0,A.cn)("mt-2 h-1.5 w-1.5 shrink-0 rounded-full",t.priority&&ep[t.priority]||"bg-foreground/20")}),(0,n.jsx)(c.$,{type:"button",variant:"ghost",onClick:a,className:"min-w-0 flex-1 h-auto justify-start rounded-none p-0 hover:bg-transparent",children:(0,n.jsxs)("span",{className:"flex min-w-0 flex-col items-start gap-1",children:[(0,n.jsxs)("span",{className:"flex min-w-0 max-w-full items-center gap-2",children:[(0,n.jsx)("span",{className:"shrink-0 text-xs font-medium text-foreground/50",children:t.displayId}),(0,n.jsx)("span",{className:"truncate text-sm text-foreground/80",children:t.title}),(0,n.jsx)("span",{className:"hidden shrink-0 text-[11px] text-foreground/35 sm:inline",children:t.boardName})]}),(0,n.jsx)(eh,{waitingFor:t.waitingFor,waitingDays:t.waitingDays,waitingOnName:t.waitingOnName,blockerDisplayId:t.blockerDisplayId})]})}),(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-1 opacity-60 transition-opacity group-hover:opacity-100",children:[s,(0,n.jsx)(em.f,{ticketId:t.id})]})]})}var ex=a(76170),eb=a(23198);function ey(e){let{ticket:t,completed:a,onComplete:s,onClick:r,hideBoardName:i,t:o}=e,{handleApprove:l,isPending:d,isReady:u}=function(e,t,a){let n=(0,k.F)(),{data:s}=(0,N.AO)(t,{category:"ACTIVE"}),r=null==s?void 0:s[0];return{handleApprove:s=>{s.stopPropagation(),(null==r?void 0:r.id)&&n.mutate({ticketId:e,statusId:r.id,boardId:t},{onSuccess:a})},isPending:n.isPending,isReady:!!(null==r?void 0:r.id)}}(t.id,t.boardId,s);return(0,n.jsx)(D,{displayId:t.displayId,title:t.title,boardName:t.boardName,priority:t.priority,statusName:t.statusName,statusColor:t.statusColor,assigneeName:t.assigneeName,createdAt:t.createdAt,completed:a,hideBoardName:i,actions:(0,n.jsx)(c.$,{type:"button",variant:"ghost",size:"sm",onClick:l,disabled:d||!u,className:"h-7 px-2.5 text-xs text-foreground/60 hover:text-foreground border border-border/40 hover:border-border/60",children:o("dashboard.approve")}),onClick:r})}function ev(e){let{ticket:t,completed:a,onComplete:s,userId:r,onClick:i,hideBoardName:o}=e,{data:l}=(0,eb.D)(t.boardId),d=(null!=l?l:[]).map(e=>({id:e.user.id,name:e.user.name,email:e.user.email})),c=(0,w.useMutation)({mutationFn:async e=>{let{error:a}=await (0,f.v$)("/boards/".concat(t.boardId,"/tickets/").concat(t.id),{method:"PATCH",body:JSON.stringify({assigneeId:e})});if(a)throw a},onSuccess:()=>s()});return(0,n.jsx)(D,{displayId:t.displayId,title:t.title,boardName:t.boardName,priority:t.priority,statusName:t.statusName,statusColor:t.statusColor,createdAt:t.createdAt,completed:a,hideBoardName:o,actions:(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)(ex.Y,{assignee:null,boardMembers:d,currentUserId:r,onAssigneeChange:e=>c.mutate(e),isLoading:c.isPending,compact:!0}),(0,n.jsx)(em.f,{ticketId:t.id})]}),onClick:i})}function ew(e){let{suggestion:t,index:a,onClick:s,healthIndicator:r}=e;return(0,n.jsxs)(c.$,{type:"button",variant:"ghost",onClick:s,className:(0,A.cn)("flex flex-wrap items-start justify-start gap-2 sm:gap-3 px-3.5 py-3 hover:bg-foreground
1/[0.03] transition-colors w-full min-w-0 h-auto rounded-none",t.isBlocked&&"opacity-60"),children:[(0,n.jsxs)("span",{className:"text-xs font-semibold text-foreground/45 w-4 shrink-0 text-right",children:[a,"."]}),(0,n.jsx)("span",{className:(0,A.cn)("h-1.5 w-1.5 rounded-full shrink-0",{CRITICAL:"bg-red-500",HIGHEST:"bg-red-500",HIGH:"bg-orange-500",MEDIUM:"bg-amber-500",LOW:"bg-blue-400",LOWEST:"bg-foreground/30"}[t.priority]||"bg-foreground/30")}),(0,n.jsx)("span",{className:"text-xs font-semibold text-foreground/65 shrink-0",children:t.displayId}),(0,n.jsx)("span",{className:"text-sm text-foreground/90 truncate flex-1 min-w-0 text-left",children:t.title}),r,(0,n.jsx)("span",{className:"text-[11px] text-foreground/50 shrink-0 hidden xl:inline max-w-[220px] truncate",children:t.reasoning})]})}let ek=(0,s.lazy)(()=>Promise.all([a.e(6316),a.e(8842),a.e(2808),a.e(5843),a.e(52),a.e(1260),a.e(1734),a.e(2982),a.e(4362)]).then(a.bind(a,67856)).then(e=>({default:e.TodosDashboardWidget})));function eN(e){var t,a,r;let{dashboardData:k,isLoading:N,onTicketClick:T,userId:I,userName:_,greeting:E}=e,{t:S,locale:A}=(0,d.WD)(),{preferences:H}=function(){var e;let t=(0,p.useQuery)({queryKey:x.lH.me.dashboardPreferences(),queryFn:async()=>{let{data:e,error:t}=await (0,f.v$)("/me/dashboard-preferences");if(t)throw Error("Failed to load dashboard preferences");return null!=e?e:j},staleTime:3e5});return{preferences:null!=(e=t.data)?e:j,isLoading:t.isLoading}}(),Q=function(){let e=(0,v.useQueryClient)();return(0,w.useMutation)({mutationFn:async e=>{let{data:t,error:a}=await (0,f.v$)("/me/dashboard-preferences",{method:"PATCH",body:JSON.stringify(e),headers:{"Content-Type":"application/json"}});if(a)throw Error("Failed to update dashboard preferences");return t},onMutate:async t=>{await e.cancelQueries({queryKey:x.lH.me.dashboardPreferences()});let a=e.getQueryData(x.lH.me.dashboardPreferences());return e.setQueryData(x.lH.me.dashboardPreferences(),{...null!=a?a:j,...t}),{previous:a}},onError:(t,a,n)=>{(null==n?void 0:n.previous)&&e.setQueryData(x.lH.me.dashboardPreferences(),n.previous)},onSuccess:t=>{e.setQueryData(x.lH.me.dashboardPreferences(),t)}})}(),{snapshots:F,markCompleted:K}=function(){let[e,t]=(0,s.useState)(()=>(function(){try{let e=sessionStorage.getItem(et);if(!e)return new Map;let t=JSON.parse(e),a=Date.now(),n=t.filter(e=>{let[t,n]=e;return!n.completedAt||a-n.completedAt<6912e5});return new Map(n)}catch(e){return new Map}})());return(0,s.useEffect)(()=>{try{sessionStorage.setItem(et,JSON.stringify([...e]))}catch(e){}},[e]),{snapshots:e,markCompleted:(0,s.useCallback)((e,a,n)=>{t(t=>{let s=new Map(t);return s.set(e,{section:a,item:n,completedAt:Date.now()}),s})},[])}}(),{isOrgEnabled:O}=(0,g.r)(),{canViewBudgets:q}=(0,b.S)(),{data:G}=(0,y.hF)(),L=null!=(a=null==G?void 0:G.length)?a:0,{data:R}=(0,u.E)({status:"unread",importance:"important",limit:10}),B=(null!=(r=null==R||null==(t=R.pages)?void 0:t.flatMap(e=>e.items))?r:[]).filter(e=>null!==e.ticket),$=function(){let e=(0,v.useQueryClient)();return(0,w.useMutation)({mutationFn:async e=>{let{data:t,error:a}=await (0,f.v$)("/me/dashboard/dismiss-time-gap",{method:"POST",body:JSON.stringify(e)});if(a)throw a;return t},onMutate:async t=>{await e.cancelQueries({queryKey:x.lH.me.dashboard()});let a=e.getQueryData(x.lH.me.dashboard());if(a){let n=a.timeGaps.items.find(e=>e.ticketId===t.ticketId);e.setQueryData(x.lH.me.dashboard(),{...a,timeGaps:{items:a.timeGaps.items.filter(e=>e.ticketId!==t.ticketId),totalCount:Math.max(0,a.timeGaps.totalCount-1)},dismissedTimeGaps:n?[...a.dismissedTimeGaps,n]:a.dismissedTimeGaps})}return{previous:a}},onError:(t,a,n)=>{(null==n?void 0:n.previous)&&e.setQueryData(x.lH.me.dashboard(),n.previous)},onSettled:()=>{e.invalidateQueries({queryKey:x.lH.me.dashboard()})}})}(),W=function(){let e=(0,v.useQueryClient)();return(0,w.useMutation)({mutationFn:async e=>{let{data:t,error:a}=await (0,f.v$)("/me/dashboard/dismiss-all-time-gaps",{method:"POST",body:JSON.stringify(e)});if(a)throw a;return t},onMutate:async t=>{await e.cancelQueries({queryKey:x.lH.me.dashboard()});let a=e.getQueryData(x.lH.me.dashboard());if(a){let n=new Set(t.items.map(e=>e.ticketId)),s=a.timeGaps.items.filter(e=>n.has(e.ticketId));e.setQueryData(x.lH.me.dashboard(),{...a,timeGaps:{items:a.timeGaps.items.filter(e=>!n.has(e.ticketId)),totalCount:0},dismissedTimeGaps:[...a.dismissedTimeGaps,...s]})}return{previous:a}},onError:(t,a,n)=>{(null==n?void 0:n.previous)&&e.setQueryData(x.lH.me.dashboard(),n.previous)},onSettled:()=>
1{e.invalidateQueries({queryKey:x.lH.me.dashboard()})}})}(),z=(0,s.useMemo)(()=>{let e=new Set;for(let t of k.continueWork.items)e.add(t.boardId);for(let t of k.waiting.items)e.add(t.boardId);for(let t of k.whatsNext.items)e.add(t.boardId);return[...e]},[k.continueWork.items,k.waiting.items,k.whatsNext.items]),{hasAnyEnabled:U,enabledBoardIds:V}=(0,h.lW)(z,"EXPLAINABLE_STATUS"),X=(0,s.useMemo)(()=>new Set(V),[V]),{data:Y}=(0,p.useQuery)({queryKey:x.lH.me.suggestions(),queryFn:async()=>{let{data:e,error:t}=await (0,f.v$)("/me/suggestions");if(t)throw t;return null!=e?e:{items:[],totalCount:0}},enabled:U,staleTime:6e4}),Z=(0,s.useMemo)(()=>{var e;return new Set(null!=(e=null==Y?void 0:Y.items.map(e=>e.ticketId))?e:[])},[Y]),ea=k.leadBoardIds.length>0,es=ea?H.mode:"my_work",er="oversight"===es,ei=(0,s.useCallback)(e=>Q.mutate({mode:e}),[Q]),eo=(0,s.useCallback)(e=>H.collapsedBuckets.includes(e),[H.collapsedBuckets]),el=(0,s.useCallback)((e,t)=>{let a=t?[...new Set([...H.collapsedBuckets,e])]:H.collapsedBuckets.filter(t=>t!==e);Q.mutate({collapsedBuckets:a})},[H.collapsedBuckets,Q]),ed=(0,s.useCallback)(e=>{var t;null==(t=document.getElementById("bucket-".concat(e)))||t.scrollIntoView({behavior:"smooth",block:"start"})},[]),em=(0,s.useCallback)(e=>()=>T({ticketId:e.id,boardId:e.boardId,boardPrefix:e.boardPrefix,ticketNumber:e.ticketNumber}),[T]),eg=(0,s.useMemo)(()=>k.timeGaps.items.filter(e=>{var t;let a=F.get(e.ticketId);return!a||"timeGaps"!==a.section||null!=(t=a.item)&&!!t._ignored}),[k.timeGaps.items,F]),eh=(0,s.useCallback)(()=>{W.mutate({items:k.timeGaps.items.map(e=>({ticketId:e.ticketId,eventTime:e.eventTime}))})},[k.timeGaps.items,W]),{blockingYou:ep,blockingYouTotal:ex,inFlight:eb,nextUp:eN,stuck:ej,counts:eC}=(0,s.useMemo)(()=>(function(e,t,a){var n,s,r,i,o,l;let d=t?function(e){let t=new Set;return e.filter(e=>!t.has(e.id)&&(t.add(e.id),!0))}([...null!=(i=null==(n=e.unseen)?void 0:n.items)?i:[],...null!=(o=null==(s=e.unassigned)?void 0:s.items)?o:[],...null!=(l=null==(r=e.backlog)?void 0:r.items)?l:[]]):e.waiting.items.filter(e=>"APPROVAL"===e.waitingFor),c=d.length,u=new Set(d.map(e=>e.id)),m=e.continueWork.items.filter(e=>!u.has(e.ticketId)),g=new Set(m.map(e=>e.ticketId)),h=e.continueWork.items.length-m.length,p=e.waiting.items.filter(e=>!u.has(e.id)&&!g.has(e.id)),f=new Set(p.map(e=>e.id)),x=e.whatsNext.items.filter(e=>!f.has(e.ticketId)&&!g.has(e.ticketId));return{blockingYou:d,blockingYouTotal:c,inFlight:m,nextUp:x,stuck:p,counts:{blocking_you:c,in_flight:Math.max(0,e.continueWork.totalCount-h)+x.length,stuck:p.length,to_record:a}}})(k,er,eg.length),[k,er,eg.length]),eT=(0,s.useMemo)(()=>["blocking_you","in_flight","stuck","to_record"].map(e=>({id:e,count:eC[e]})),[eC]),eI=eT.some(e=>e.count>0),e_=(0,s.useMemo)(()=>new Intl.DateTimeFormat("de"===A?"de-DE":"en-US",{weekday:"long",day:"2-digit",month:"long"}).format(new Date),[A]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"mb-6 rounded-2xl border border-border/60 bg-background/70 p-4 md:mb-8 md:p-6",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 md:flex-row md:items-end md:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-xs font-medium uppercase tracking-[0.08em] text-foreground/45",children:e_}),(0,n.jsxs)("h1",{className:"mt-1 font-heading text-2xl font-semibold tracking-tight text-foreground/90 md:text-[2rem]",children:[E,_?", ".concat(_):""]})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[ea&&(0,n.jsx)(eu,{mode:es,onChange:ei}),L>0&&(0,n.jsxs)(i(),{href:"/dashboard/snoozed",className:"inline-flex items-center gap-1.5 rounded-full border border-border/70 bg-card/70 px-3 py-1.5 text-xs text-foreground/60 transition-colors hover:text-foreground/80",children:[(0,n.jsx)(o.A,{className:"h-3.5 w-3.5"}),S("snooze.snoozed_count",{count:L})]}),(0,n.jsxs)(i(),{href:"/dashboards",className:"inline-flex items-center gap-1.5 rounded-full border border-border/70 bg-card/70 px-3 py-1.5 text-xs text-foreground/60 transition-colors hover:text-foreground/80",children:[(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"}),S("custom_dashboards.nav_link")]})]})]}),(0,n.jsx)("div",{className:"my-4 h-px bg-border/70"}),(0,n.jsx)(ec,{entries:eT,onJumpTo:ed})]}),O&&q&&(0,n.jsx)(M,{}),(0,n.jsx)(C.sq,{}),(0,n.jsxs)("div",{className:"space-y-6 md:space-y-7",children:[(0,n.jsx)(en,{id:"blocking_you",title:S("dashboard.buckets.blocking_you.title"),subtitle:S(er?"dashboard.buckets.blocking_you.subtitle_oversight":"dashboard.buckets.blocking_you.subtitle"),totalCount:ex,items:ep,keyOf:e=>e.id,collapsed:eo("blocking_you"),onToggleCollapsed:e=>el("blocking_you",e),emptyMessage:S("dashboard.buckets.blocking_you.empty"),renderItem:e=>"waitingFor"in e?(0,n.jsx)(ef,{item:e,onClick:em(e)}):null===e.assigneeId?(0,n.jsx)(ev,{ticket:e,completed:!1,onComplete:()=>K(e.id,"unassigned",e),userId:I,onClick:em(e)}):(0,n.jsx)(ey,{ticket:e,completed:!1,onComplete:()=>K(e.id,"unseen",e),onClick:em(e),t:S})}),(0,n.jsx)(en,{id:"in_flight",title:S("dashboard.buckets.in_flight.title"),subtitle:S("dashboard.buckets.in_flight.subtitle"),totalCount:k.continueWork.totalCount+eN.length,items:[...eb.map(e=>({kind:"continue",item:e})),...eN.map(e=>({kind:"next",item:e}))],keyOf:e=>"".concat(e.kind,"-").concat(e.item.ticketId),collapsed:eo("in_flight"),onToggleCollapsed:e=>el("in_flight",e),emptyMessage:S("dashboard.buckets.in_flight.empty"),renderItem:(e,t)=>
1{var a;return"continue"===e.kind?(0,n.jsx)(D,{displayId:null!=(a=e.item.displayId)?a:"",title:e.item.title,boardName:e.item.boardName,statusName:e.item.statusName,statusColor:e.item.statusColor,priority:null,assigneeName:null,createdAt:null,meta:e.item.isTimerRunning?S("dashboard.buckets.in_flight.timer_running"):e.item.yesterdayMinutes>0?S("dashboard.buckets.in_flight.yesterday",{minutes:e.item.yesterdayMinutes}):void 0,healthIndicator:U?(0,n.jsx)(P,{boardId:e.item.boardId,ticketId:e.item.ticketId,hasPendingSuggestions:Z.has(e.item.ticketId),featureEnabled:X.has(e.item.boardId)}):void 0,onClick:()=>T({ticketId:e.item.ticketId,boardId:e.item.boardId,boardPrefix:e.item.boardPrefix,ticketNumber:e.item.ticketNumber})}):(0,n.jsx)(ew,{suggestion:e.item,index:t-eb.length+1,onClick:()=>T({ticketId:e.item.ticketId,boardId:e.item.boardId,boardPrefix:e.item.boardPrefix,ticketNumber:e.item.ticketNumber}),healthIndicator:U?(0,n.jsx)(P,{boardId:e.item.boardId,ticketId:e.item.ticketId,hasPendingSuggestions:Z.has(e.item.ticketId),featureEnabled:X.has(e.item.boardId)}):void 0})}}),(0,n.jsx)(en,{id:"stuck",title:S("dashboard.buckets.stuck.title"),subtitle:S("dashboard.buckets.stuck.subtitle"),totalCount:ej.length,items:ej,keyOf:e=>e.id,collapsed:eo("stuck"),onToggleCollapsed:e=>el("stuck",e),emptyMessage:S("dashboard.buckets.stuck.empty"),renderItem:e=>(0,n.jsx)(ef,{item:e,onClick:em(e),actions:"CUSTOMER"===e.waitingFor||"BLOCKER"===e.waitingFor?(0,n.jsx)(ee,{ticketId:e.id,boardId:e.boardId,displayId:e.displayId,triggerLabel:S("dashboard.buckets.stuck.follow_up")}):void 0})}),O&&(0,n.jsx)(en,{id:"to_record",title:S("dashboard.buckets.to_record.title"),subtitle:S("dashboard.buckets.to_record.subtitle"),totalCount:eg.length,items:eg,keyOf:e=>e.ticketId,collapsed:eo("to_record"),onToggleCollapsed:e=>el("to_record",e),emptyMessage:S("dashboard.buckets.to_record.empty"),renderItem:e=>(0,n.jsx)(J,{ticketId:e.ticketId,displayId:e.displayId,ticketTitle:e.ticketTitle,suggestedMinutes:Math.round(60*e.suggestedHours),events:e.events,onComplete:()=>K(e.ticketId,"timeGaps",e),onIgnore:()=>$.mutate({ticketId:e.ticketId,eventTime:e.eventTime}),onClick:()=>T({ticketId:e.ticketId,boardId:e.boardId,boardPrefix:e.boardPrefix,ticketNumber:e.ticketNumber})})}),O&&eg.length>1&&(0,n.jsx)("div",{className:"-mt-4",children:(0,n.jsx)(c.$,{type:"button",variant:"ghost",size:"sm",onClick:eh,className:"h-auto px-2 py-0.5 text-xs text-foreground/40 hover:text-foreground/60",children:S("dashboard.sections.time_gaps.ignore_all")})}),(0,n.jsx)(s.Suspense,{fallback:null,children:(0,n.jsx)(ek,{})}),B.length>0&&(0,n.jsxs)("section",{children:[(0,n.jsx)("h2",{className:"mb-2 font-heading text-sm font-semibold tracking-tight text-foreground/85",children:S("dashboard.sections.news.title")}),(0,n.jsx)("div",{className:"divide-y divide-border/40 overflow-hidden rounded-2xl border border-border/40 bg-card",children:B.slice(0,5).map(e=>{var t,a;return(0,n.jsx)(c.$,{type:"button",variant:"ghost",onClick:()=>e.ticket&&e.board&&T({ticketId:e.ticket.id,boardId:e.board.id}),className:"h-auto w-full justify-start rounded-none px-3 py-2.5 text-left",children:(0,n.jsxs)("span",{className:"flex min-w-0 flex-col items-start gap-0.5",children:[(0,n.jsx)("span",{className:"max-w-full truncate text-sm text-foreground/80",children:(0,m.W)({type:e.type,actorName:null==(t=e.actor)?void 0:t.name,ticketKey:null==(a=e.ticket)?void 0:a.key},S,e.title)}),e.ticket&&(0,n.jsxs)("span",{className:"max-w-full truncate text-[11px] text-foreground/40",children:[e.ticket.key," \xb7 ",e.ticket.title]})]})},e.id)})})]})]}),!eI&&(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-center md:py-24",children:[(0,n.jsx)("div",{className:"mb-5 flex h-14 w-14 items-center justify-center rounded-2xl bg-foreground
1/[0.04]",children:(0,n.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",className:"h-7 w-7 text-foreground/30",children:[(0,n.jsx)("path",{d:"M12 2L2 7l10 5 10-5-10-5Z"}),(0,n.jsx)("path",{d:"M2 17l10 5 10-5"}),(0,n.jsx)("path",{d:"M2 12l10 5 10-5"})]})}),(0,n.jsx)("h2",{className:"mb-1.5 font-heading text-base font-semibold text-foreground/70",children:S("dashboard.empty.title")}),(0,n.jsx)("p",{className:"max-w-sm font-body text-sm leading-relaxed text-foreground/45",children:S("dashboard.empty.description")})]})]})}},23198:(e,t,a)=>{a.d(t,{D:()=>i,W:()=>r});var n=a(78492),s=a(61003);let r={all:["boardMembers"],byBoard:e=>[...r.all,e]};function i(e,t){return(0,n.useQuery)({queryKey:r.byBoard(e),queryFn:async()=>{var t;let{data:a,error:n}=await (0,s.v$)("/boards/".concat(e,"/members"));if(n)throw n;return null!=(t=null==a?void 0:a.data)?t:[]},enabled:(null==t?void 0:t.enabled)!==!1&&!!e,staleTime:3e4})}},33541:(e,t,a)=>{a.d(t,{$M:()=>r,Fb:()=>d,Gw:()=>g,JK:()=>h,Tr:()=>s,U4:()=>c,X0:()=>o,Y8:()=>l,aI:()=>i,dS:()=>m,wp:()=>p,yd:()=>u});var n=a(61003);async function s(e){let t=new URLSearchParams;(null==e?void 0:e.status)&&t.set("status",e.status),(null==e?void 0:e.limit)&&t.set("limit",String(e.limit)),(null==e?void 0:e.cursor)&&t.set("cursor",e.cursor),(null==e?void 0:e.importance)&&t.set("importance",e.importance);let a=t.toString(),{data:s,error:r}=await (0,n.v$)("/me/notifications".concat(a?"?".concat(a):""));if(r)throw Error("string"==typeof r?r:"Failed to fetch notifications");return s}async function r(){let{data:e,error:t}=await (0,n.v$)("/me/notifications/unread-count");if(t)throw Error("string"==typeof t?t:"Failed to fetch unread count");return e}async function i(e){let{data:t,error:a}=await (0,n.v$)("/me/notifications/".concat(e,"/read"),{method:"POST"});if(a)throw Error("string"==typeof a?a:"Failed to mark notification as read");return t}async function o(e){let{data:t,error:a}=await (0,n.v$)("/me/notifications/read-all",{method:"POST",body:JSON.stringify((null==e?void 0:e.importance)?{importance:e.importance}:{}),headers:{"Content-Type":"application/json"}});if(a)throw Error("string"==typeof a?a:"Failed to mark all as read");return t}async function l(){let{data:e,error:t}=await (0,n.v$)("/me/notifications/preferences");if(t)throw Error("string"==typeof t?t:"Failed to fetch preferences");return e}async function d(e){let{data:t,error:a}=await (0,n.v$)("/me/notifications/preferences",{method:"PATCH",body:JSON.stringify({preferences:e})});if(a)throw Error("string"==typeof a?a:"Failed to update preferences");return t}async function c(){let{data:e,error:t}=await (0,n.v$)("/me/notifications/preferences/boards");if(t)throw Error("string"==typeof t?t:"Failed to fetch board overrides");return e}async function u(e,t){let{data:a,error:s}=await (0,n.v$)("/me/notifications/preferences/boards/".concat(e),{method:"PUT",body:JSON.stringify({overrides:t})});if(s)throw Error("string"==typeof s?s:"Failed to set board overrides");return a}async function m(e){let{error:t}=await (0,n.v$)("/me/notifications/preferences/boards/".concat(e),{method:"DELETE"});if(t)throw Error("string"==typeof t?t:"Failed to reset board overrides")}async function g(e,t){let{data:a,error:s}=await (0,n.v$)("/boards/".concat(e,"/tickets/").concat(t,"/watch"),{method:"POST"});if(s)throw Error("string"==typeof s?s:"Failed to watch ticket");return a}async function h(e,t){let{data:a,error:s}=await (0,n.v$)("/boards/".concat(e,"/tickets/").concat(t,"/watch"),{method:"DELETE"});if(s)throw Error("string"==typeof s?s:"Failed to unwatch ticket");return a}async function p(e,t){let{data:a,error:s}=await (0,n.v$)("/boards/".concat(e,"/tickets/").concat(t,"/watch-status"));if(s)throw Error("string"==typeof s?s:"Failed to fetch watch status");return a}},47750:(e,t,a)=>{a.d(t,{_:()=>s});var n=a(53430);function s(e){let{percentage:t,alertThreshold:a,nonBillablePercentage:s=0,compact:r=!1}=e,i=Math.min(Math.max(t,0),100),o=Math.min(Math.max(s,0),100-i);return(0,n.jsxs)("div",{className:"relative w-full overflow-hidden ".concat(r?"h-1.5":"h-2.5"," rounded-full bg-foreground
1/[0.06]"),role:"progressbar","aria-valuenow":Math.round(i),"aria-valuemin":0,"aria-valuemax":100,children:[(0,n.jsx)("div",{className:"absolute left-0 top-0 h-full rounded-full transition-all duration-500 ".concat(t>=100?"bg-red-500":t>=a?"bg-amber-500":"bg-emerald-500"),style:{width:"".concat(i,"%")}}),o>0&&(0,n.jsx)("div",{className:"absolute top-0 h-full rounded-r-full bg-foreground/20 transition-all duration-500",style:{left:"".concat(i,"%"),width:"".concat(o,"%")}}),!r&&a<100&&(0,n.jsx)("div",{className:"absolute top-0 h-full w-px bg-foreground/20",style:{left:"".concat(a,"%")}})]})}},59163:(e,t,a)=>{a.d(t,{f:()=>d});var n=a(53430),s=a(34229),r=a(26111),i=a(72133),o=a(91433),l=a(69810);function d(e){let{ticketId:t,onComplete:a}=e,{t:d}=(0,l.WD)(),c=(0,o.ck)(),u=e=>{let n=e?new Date(Date.now()+60*e*6e4).toISOString():void 0;c.mutate({ticketId:t,snoozeUntil:n},{onSuccess:()=>null==a?void 0:a()})},m=[{type:"label",label:d("snooze.title")},{type:"item",label:d("snooze.option_1h"),onClick:()=>u(1)},{type:"item",label:d("snooze.option_1d"),onClick:()=>u(24)},{type:"item",label:d("snooze.option_3d"),onClick:()=>u(72)},{type:"item",label:d("snooze.option_1w"),onClick:()=>u(168)},{type:"separator"},{type:"item",label:d("snooze.option_indefinite"),onClick:()=>u()}];return(0,n.jsx)("span",{onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),children:(0,n.jsx)(r.r,{trigger:(0,n.jsx)(i.$,{type:"button",variant:"ghost",size:"sm",disabled:c.isPending,className:"h-7 w-7 p-0 text-foreground/40 hover:text-foreground/70",children:(0,n.jsx)(s.A,{className:"h-3.5 w-3.5"})}),items:m,side:"bottom",align:"end"})})}},62151:(e,t,a)=>{a.d(t,{TU:()=>s,XZ:()=>r});var n=a(64463);function s(e){var t;let{data:a,isLoading:s,error:r}=(0,n.wg)();return{hasPermission:null!=(t=null==a?void 0:a.includes(e))&&t,isLoading:s,error:r}}function r(e){let{data:t,isLoading:a,error:s}=(0,n.wg)();return{hasAnyPermission:e.some(e=>{var a;return null!=(a=null==t?void 0:t.includes(e))&&a}),isLoading:a,error:s}}},64463:(e,t,a)=>{a.d(t,{$_:()=>f,B1:()=>d,HR:()=>x,Nm:()=>p,S8:()=>b,WP:()=>c,bJ:()=>u,h8:()=>h,iR:()=>g,wg:()=>m});var n=a(78492),s=a(32401),r=a(17598),i=a(61003),o=a(53839),l=a(91585);function d(e){return(0,n.useQuery)({queryKey:o.lH.permissionGroups.list(e),queryFn:async()=>{let t=new URLSearchParams;(null==e?void 0:e.search)&&t.set("search",e.search),(null==e?void 0:e.page)&&t.set("page",String(e.page)),(null==e?void 0:e.limit)&&t.set("limit",String(e.limit)),(null==e?void 0:e.groupType)&&t.set("groupType",e.groupType);let a=t.toString(),{data:n,error:s}=await i.FH.GET(a?"/api/v1/permission-groups?".concat(a):"/api/v1/permission-groups",{});if(s)throw s;return n}})}function c(e){return(0,n.useQuery)({queryKey:o.lH.permissionGroups.detail(e),queryFn:async()=>{let{data:t,error:a}=await i.FH.GET("/api/v1/permission-groups/".concat(e),{});if(a)throw a;return t},enabled:!!e})}function u(){return(0,n.useQuery)({queryKey:o.lH.permissionGroups.availablePermissions(),queryFn:async()=>{let{data:e,error:t}=await i.FH.GET("/api/v1/permission-groups/available-permissions",{});if(t)throw t;return e}})}function m(){return(0,n.useQuery)({queryKey:o.lH.permissionGroups.myPermissions(),queryFn:async()=>{let{data:e,error:t}=await i.FH.GET("/api/v1/permission-groups/my-permissions",{});if(t)throw t;return e}})}function g(){let e=(0,s.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>{let{data:t,error:a}=await i.FH.POST("/api/v1/permission-groups",{body:e});if(a)throw a;return t},onSuccess:t=>{e.invalidateQueries({queryKey:o.lH.permissionGroups.all}),(0,l.GF)("Gruppe erstellt","".concat(t.name," wurde erfolgreich erstellt."))},onError:e=>{(0,l.Ni)("Fehler",(0,i.u1)(e))}})}function h(){let e=(0,s.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>{let{groupId:t,name:a}=e,{data:n,error:s}=await i.FH.POST("/api/v1/permission-groups/".concat(t,"/duplicate"),{body:a?{name:a}:{}});if(s)throw s;return n},onSuccess:t=>{e.invalidateQueries({queryKey:o.lH.permissionGroups.all}),(0,l.GF)("Gruppe dupliziert","".concat(t.name," wurde erfolgreich erstellt."))},onError:e=>{(0,l.Ni)("Fehler",(0,i.u1)(e))}})}function p(){let e=(0,s.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>{let{groupId:t,...a}=e,{data:n,error:s}=await i.FH.PATCH("/api/v1/permission-groups/".concat(t),{body:a});if(s)throw s;return n},onSuccess:(t,a)=>
1{e.invalidateQueries({queryKey:o.lH.permissionGroups.all}),e.invalidateQueries({queryKey:o.lH.permissionGroups.detail(a.groupId)}),(0,l.GF)("Gruppe aktualisiert","".concat(t.name," wurde erfolgreich aktualisiert."))},onError:e=>{(0,l.Ni)("Fehler",(0,i.u1)(e))}})}function f(){let e=(0,s.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>{let{error:t}=await i.FH.DELETE("/api/v1/permission-groups/".concat(e),{});if(t)throw t},onSuccess:()=>{e.invalidateQueries({queryKey:o.lH.permissionGroups.all}),(0,l.GF)("Gruppe gel\xf6scht","Die Berechtigungsgruppe wurde erfolgreich gel\xf6scht.")},onError:e=>{(0,l.Ni)("Fehler",(0,i.u1)(e))}})}function x(){let e=(0,s.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>{let{groupId:t,userId:a}=e,{data:n,error:s}=await i.FH.POST("/api/v1/permission-groups/".concat(t,"/members"),{body:{userId:a}});if(s)throw s;return n},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:o.lH.permissionGroups.detail(a.groupId)}),e.invalidateQueries({queryKey:o.lH.permissionGroups.all})}})}function b(){let e=(0,s.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>{let{groupId:t,userId:a}=e,{error:n}=await i.FH.DELETE("/api/v1/permission-groups/".concat(t,"/members/").concat(a),{});if(n)throw n},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:o.lH.permissionGroups.detail(a.groupId)}),e.invalidateQueries({queryKey:o.lH.permissionGroups.all})}})}},68490:(e,t,a)=>{a.d(t,{T8:()=>o,lW:()=>l});var n=a(78492),s=a(17442),r=a(61003),i=a(53839);function o(e,t){var a;let{data:s,isLoading:o}=(0,n.useQuery)({queryKey:i.lH.boardFeatures.list(e),queryFn:async()=>{let t=await (0,r.v$)("/boards/".concat(e,"/features"));if(null==t?void 0:t.error)throw t.error;return Array.isArray(null==t?void 0:t.data)?t.data:[]},enabled:!!e}),l=Array.isArray(s)?s.find(e=>e.featureName===t):void 0;return{isEnabled:null!=(a=null==l?void 0:l.isEnabled)&&a,isLoading:o}}function l(e,t){let a=(0,s.useQueries)({queries:e.map(e=>({queryKey:i.lH.boardFeatures.list(e),queryFn:async()=>{let t=await (0,r.v$)("/boards/".concat(e,"/features"));if(null==t?void 0:t.error)throw t.error;return Array.isArray(null==t?void 0:t.data)?t.data:[]},enabled:!!e,staleTime:3e5}))}),n=a.some(e=>e.isLoading),o=e.filter((e,n)=>{var s;let r=null==(s=a[n])?void 0:s.data;return Array.isArray(r)&&r.some(e=>e.featureName===t&&e.isEnabled)});return{hasAnyEnabled:o.length>0,isLoading:n,enabledBoardIds:o}}},70795:(e,t,a)=>{a.d(t,{W:()=>n});function n(e,t,a){var n,s,r;let i=(null==(n=e.actorName)?void 0:n.trim())||t("notifications.someone"),o=null!=(r=null==(s=e.ticketKey)?void 0:s.trim())?r:"",l=o.length>0,d=e=>t("notifications.titles.".concat(e),{actor:i,key:o});switch(e.type){case"MENTIONED_IN_COMMENT":return d(l?"mentioned_with_key":"mentioned");case"TICKET_ASSIGNED_TO_YOU":return d(l?"assigned_with_key":"assigned");case"TICKET_APPROVAL_REQUIRED":return d(l?"approval_required_with_key":"approval_required");case"TICKET_BLOCKED":return d(l?"blocked_with_key":"blocked");case"TICKET_UNBLOCKED":return d(l?"unblocked_with_key":"unblocked");case"TICKET_RESOLVED":return d(l?"resolved_with_key":"resolved");case"INTEGRATION_COMMIT_DETECTED":return d(l?"commit_with_key":"commit");case"INVITATION_RECEIVED":return d("invitation");case"STATUS_SUGGESTION_CREATED":return d(l?"status_suggestion_created_with_key":"status_suggestion_created");case"STATUS_SUGGESTION_DISMISSED":return d(l?"status_suggestion_dismissed_with_key":"status_suggestion_dismissed");case"TICKET_BUDGET_APPROVAL_REQUESTED":return d(l?"budget_requested_with_key":"budget_requested");case"TICKET_BUDGET_APPROVED":return d(l?"budget_approved_with_key":"budget_approved");case"TICKET_BUDGET_REJECTED":return d(l?"budget_rejected_with_key":"budget_rejected");case"TICKET_CLAIM_EXPIRED":return d(l?"claim_expired_with_key":"claim_expired");case"AGENT_RUN_REPORTED":return d(l?"agent_run_reported_with_key":"agent_run_reported");default:return(null==a?void 0:a.trim())||t("notifications.titles.fallback")}}},76170:(e,t,a)=>{a.d(t,{Y:()=>g});var n=a(53430),s=a(25238),r=a(4323),i=a(15323),o=a(4542),l=a(72133),d=a(4963),c=a(38875),u=a(53513),m=a(4912);function g(e){let{assignee:t,boardMembers:a,currentUserId:g,currentUserName:h,onAssigneeChange:p,disabled:f=!1,isLoading:x=!1,compact:b=!1}=e,{t:y}
1=(0,m.WD)(),[v,w]=(0,s.useState)(!1),[k,N]=(0,s.useState)(""),[j,C]=(0,s.useState)(!1),[T,I]=(0,s.useState)({top:0,left:0}),_=(0,s.useRef)(null),E=(0,s.useRef)(null),M=(0,s.useRef)(null),S=(0,s.useRef)(null);(0,s.useEffect)(()=>{C(!0)},[]),(0,s.useEffect)(()=>{function e(e){let t=e.target;E.current&&!E.current.contains(t)&&M.current&&!M.current.contains(t)&&(w(!1),N(""))}if(v)return document.addEventListener("mousedown",e,!0),()=>document.removeEventListener("mousedown",e,!0)},[v]),(0,s.useEffect)(()=>{if(!v||!E.current)return;let e=()=>{var e,t;let a=E.current.getBoundingClientRect(),n=null!=(t=null==(e=M.current)?void 0:e.offsetHeight)?t:280,s=a.left,r=a.bottom+4,i=window.innerHeight-a.bottom-8,o=a.top-8;i<n&&o>i&&(r=a.top-n-4),r+n>window.innerHeight-8&&(r=window.innerHeight-n-8),r<8&&(r=8),s+256>window.innerWidth-8&&(s=window.innerWidth-256-8),s<8&&(s=8),I({top:r,left:s})};return e(),window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e)}},[v]),(0,s.useEffect)(()=>{v&&S.current&&S.current.focus()},[v]);let A=!!g&&a.some(e=>e.id===g),H=[...a].sort((e,t)=>{if(g){if(e.id===g)return -1;if(t.id===g)return 1}return e.name.localeCompare(t.name)}).filter(e=>e.name.toLowerCase().includes(k.toLowerCase())||e.email&&e.email.toLowerCase().includes(k.toLowerCase())),D=g&&h&&!A&&(""===k||"mir zuweisen".includes(k.toLowerCase())||h.toLowerCase().includes(k.toLowerCase())),Q=e=>{e!==(null==t?void 0:t.id)&&p(e),w(!1),N("")};if(f)return(0,n.jsxs)("div",{className:"flex items-center gap-2 text-sm",title:t?t.name:y("tickets.assignee.unassigned"),children:[t?(0,n.jsx)(c.H,{name:t.name,avatarUrl:t.avatarUrl,size:"xs"}):(0,n.jsx)(i.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),!b&&(0,n.jsx)("span",{className:"font-medium truncate max-w-[140px]",children:t?t.name:y("tickets.assignee.unassigned")}),(null==t?void 0:t.isAgent)&&(0,n.jsx)(u.N,{compact:b})]});let F=v&&j&&(0,n.jsxs)("div",{ref:M,className:"fixed z-[9999] w-64 rounded-md border bg-background shadow-lg animate-in fade-in-0 zoom-in-95",style:{to
1p:T.top,left:T.left},"data-testid":"assignee-dropdown",children:[(0,n.jsx)("div",{className:"border-b p-2",children:(0,n.jsx)(d.p,{ref:S,type:"text",value:k,onChange:e=>N(e.target.value),placeholder:y("common.search"),className:"w-full text-sm"})}),(0,n.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",children:[D&&(0,n.jsxs)(l.$,{type:"button",variant:"ghost",onClick:()=>Q(g),className:(0,o.cn)("flex w-full flex-col items-start px-3 py-2 text-sm h-auto rounded-none justify-start",g===(null==t?void 0:t.id)&&"bg-accent"),children:[(0,n.jsx)("span",{className:"font-medium",children:y("tickets.assignee.assign_to_me")}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:h})]}),H.map(e=>{let a=e.id===g;return(0,n.jsxs)(l.$,{type:"button",variant:"ghost",onClick:()=>Q(e.id),className:(0,o.cn)("flex w-full flex-col items-start px-3 py-2 text-sm h-auto rounded-none justify-start",e.id===(null==t?void 0:t.id)&&"bg-accent"),children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 font-medium",children:[a?y("tickets.assignee.assign_to_me"):e.name,e.isAgent&&(0,n.jsx)(u.N,{})]}),a?(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:e.name}):e.email?(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:e.email}):null]},e.id)}),0===H.length&&!D&&k&&(0,n.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:y("tickets.assignee.no_results")}),(0,n.jsx)(l.$,{type:"button",variant:"ghost",onClick:()=>Q(null),className:(0,o.cn)("flex w-full items-center gap-2 border-t px-3 py-2 text-sm h-auto rounded-none justify-start",!t&&"bg-accent"),children:(0,n.jsx)("span",{className:"text-muted-foreground italic",children:y("tickets.assignee.unassigned")})})]})]});return(0,n.jsxs)("div",{ref:_,className:"relative inline-block",children:[(0,n.jsxs)(l.$,{ref:E,type:"button",variant:"ghost",size:"sm",onClick:()=>w(!v),disabled:x,className:(0,o.cn)("flex min-w-0 items-center gap-2 h-auto px-2 py-1",x&&"cursor-wait opacity-70"),"aria-label":y("tickets.assignee.change_assignment"),title:t?t.name:y("tickets.assignee.unassigned"),"data-shortcut-target":"assignee",children:[t?(0,n.jsx)(c.H,{name:t.name,avatarUrl:t.avatarUrl,size:"xs"}):(0,n.jsx)(i.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),!b&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"min-w-0 truncate font-medium",children:t?t.name:y("tickets.assignee.unassigned")}),(null==t?void 0:t.isAgent)&&(0,n.jsx)(u.N,{}),(0,n.jsx)("svg",{className:(0,o.cn)("h-3 w-3 shrink-0 text-muted-foreground transition-transform",v&&"rotate-180"),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",children:(0,n.jsx)("path",{fillRule:"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",clipRule:"evenodd"})})]})]}),j&&(0,r.createPortal)(F,document.body)]})}},80920:(e,t,a)=>{a.d(t,{F:()=>l});var n=a(32401),s=a(17598),r=a(61003),i=a(53839),o=a(81643);function l(){let e=(0,n.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>{let{ticketId:t,statusId:a,boardId:n,reason:s}=e,{data:i,error:o}=await (0,r.v$)("/boards/".concat(n,"/tickets/").concat(t,"/status"),{method:"PATCH",body:JSON.stringify({statusId:a,reason:s})});if(o)throw o;return i},onMutate:async t=>{let{ticketId:a,statusId:n,boardId:s}=t;await e.cancelQueries({queryKey:i.lH.boards.tickets(s)});let r=e.getQueryData(i.lH.boards.tickets(s));return(null==r?void 0:r.tickets)&&e.setQueryData(i.lH.boards.tickets(s),{...r,tickets:r.tickets.map(e=>e.id===a?{...e,statusId:n,status:e.status?{...e.status,id:n}:e.status}:e)}),{previousData:r,boardId:s}},onError:(t,a,n)=>{(null==n?void 0:n.previousData)&&e.setQueryData(i.lH.boards.tickets(n.boardId),n.previousData)},onSettled:(t,a,n)=>{e.invalidateQueries({queryKey:i.lH.boards.tickets(n.boardId)}),e.invalidateQueries({queryKey:i.lH.boards.backlog(n.boardId)}),e.invalidateQueries({queryKey:i.lH.tickets.detail(n.ticketId)}),e.invalidateQueries({queryKey:i.lH.tickets.detailWithBoard(n.boardId,n.ticketId)}),e.invalidateQueries({queryKey:i.lH.me.tasks()}
1),e.invalidateQueries({queryKey:i.lH.me.dashboard()}),(0,o.v)(e,n.boardId,n.ticketId)}})}},81643:(e,t,a)=>{a.d(t,{Ro:()=>r,fx:()=>i,v:()=>s});var n=a(53839);function s(e,t,a){e.invalidateQueries({queryKey:n.lH.explainability.transparency(t,a)}),e.invalidateQueries({queryKey:n.lH.explainability.health(t,a)}),e.invalidateQueries({queryKey:n.lH.explainability.causalChain(t,a)}),e.invalidateQueries({queryKey:n.lH.explainability.explanation(t,a)}),e.invalidateQueries({queryKey:n.lH.explainableStatus.statusHistory(t,a)}),e.invalidateQueries({queryKey:n.lH.explainableStatus.suggestions(t,a)})}function r(e,t,a){e.invalidateQueries({queryKey:n.lH.tickets.detail(a)}),e.invalidateQueries({queryKey:n.lH.tickets.detailWithBoard(t,a)}),s(e,t,a)}function i(e,t,a){e.invalidateQueries({queryKey:n.lH.tickets.subtickets(a)}),e.invalidateQueries({queryKey:n.lH.tickets.completionCheck(a)}),s(e,t,a)}},86482:(e,t,a)=>{a.d(t,{E:()=>i});var n=a(77536),s=a(53839),r=a(33541);function i(e){let{status:t="all",limit:a=20,enabled:i=!0,importance:o,refetchInterval:l=3e5}=null!=e?e:{};return(0,n.useInfiniteQuery)({queryKey:s.lH.notifications.list({status:t,importance:o}),queryFn:async e=>{let{pageParam:n}=e;return(0,r.Tr)({status:t,limit:a,importance:o,cursor:n})},initialPageParam:void 0,getNextPageParam:e=>e.hasMore?e.nextCursor:void 0,enabled:i,staleTime:1e4,refetchInterval:l,refetchIntervalInBackground:!1,refetchOnWindowFocus:!0})}},91433:(e,t,a)=>{a.d(t,{T7:()=>c,ck:()=>d,hF:()=>l});var n=a(78492),s=a(32401),r=a(17598),i=a(61003),o=a(53839);function l(){return(0,n.useQuery)({queryKey:o.lH.me.snoozedTickets(),queryFn:async()=>{let{data:e,error:t}=await (0,i.v$)("/me/snoozed");if(t)throw t;return e},staleTime:6e4})}function d(){let e=(0,s.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>{let{data:t,error:a}=await (0,i.v$)("/me/snooze",{method:"POST",body:JSON.stringify(e)});if(a)throw a;return t},onMutate:async t=>{let a=o.lH.me.snoozedTickets(),n=o.lH.me.dashboard();await e.cancelQueries({queryKey:a}),await e.cancelQueries({queryKey:n});let s=e.getQueryData(n);return e.setQueryData(n,e=>{var a;if(!e||"object"!=typeof e)return e;let n=null!=(a=e.triage)?a:e.triageTickets;if(!Array.isArray(n))return e;let s=n.filter(e=>e.id!==t.ticketId&&e.ticketId!==t.ticketId);return s.length===n.length?e:{...e,...e.triage?{triage:s}:{},...e.triageTickets?{triageTickets:s}:{}}}),{prevDashboard:s,snoozedKey:a,dashboardKey:n}},onError:(t,a,n)=>{(null==n?void 0:n.prevDashboard)!==void 0&&e.setQueryData(n.dashboardKey,n.prevDashboard)},onSettled:()=>{e.invalidateQueries({queryKey:o.lH.me.dashboard()}),e.invalidateQueries({queryKey:o.lH.me.snoozedTickets()}),e.invalidateQueries({queryKey:o.lH.explainability.all})}})}function c(){let e=(0,s.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>{let{data:t,error:a}=await (0,i.v$)("/me/unsnooze",{method:"POST",body:JSON.stringify(e)});if(a)throw a;return t},onMutate:async t=>{let a=o.lH.me.snoozedTickets();await e.cancelQueries({queryKey:a});let n=e.getQueryData(a);return e.setQueryData(a,e=>{if(!e)return e;let a=e.filter(e=>e.ticketId!==t.ticketId);return a.length===e.length?e:a}),{previous:n,snoozedKey:a}},onError:(t,a,n)=>{(null==n?void 0:n.previous)!==void 0&&e.setQueryData(n.snoozedKey,n.previous)},onSettled:()=>{e.invalidateQueries({queryKey:o.lH.me.dashboard()}),e.invalidateQueries({queryKey:o.lH.me.snoozedTickets()}),e.invalidateQueries({queryKey:o.lH.explainability.all})}})}},96200:(e,t,a)=>{a.d(t,{P:()=>d,_5:()=>i,cb:()=>l,d0:()=>o,qc:()=>r});let n=["Customer","TeamMember","Admin"];function s(e,t){return!!e&&n.indexOf(e)>=n.indexOf(t)}function r(e){return"Admin"===e}function i(e){return s(e,"TeamMember")}function o(e){return"Customer"===e}function l(e){switch(e){case"Admin":return"Administrator";case"TeamMember":return"Team Member";case"Customer":return"Customer";default:return e}}let d={canManageOrganization:e=>r(e),canManageStatuses:e=>r(e),canManageTeams:e=>r(e),canManageCustomers:e=>s(e,"TeamMember"),canCreateBoards:e=>s(e,"TeamMember"),canManageBoards:e=>s(e,"TeamMember"),canArchiveBoards:e=>r(e),canCreateTickets:e=>!!e,canManageTickets:e=>!!e,canAssignTickets:e=>!!e,canViewSecretComments:e=>s(e,"TeamMember"),canCreateSecretComments:e=>s(e,"TeamMember"),canCreateComments:e=>!!e,canViewAuditLog:e=>r(e),canCreateLinks:e=>!!e,canDeleteLinks:e=>!!e,canViewTicketCode:e=>s(e,"TeamMember"),canViewExplainability:e=>s(e,"TeamMember")}},98660:(e,t,a)=>{a.d(t,{RM:()=>r});let n={PLANNING:0,BLOCKED:1,ACTIVE:2,FINAL:3},s=n.ACTIVE;function r(e){var t;return null!=(t=n[null!=e?e:""])?t:s}},99469:(e,t,a)=>{a.d(t,{S:()=>i}),a(53430);var n=a(25238),s=a(25007),r=a(96200);function i(){let{user:e}=(0,s.i)(),t=null==e?void 0:e.role,a=null==e?void 0:e.permissions,i=(0,n.useCallback)(e=>!!a&&0!==a.length&&a.includes(e),[a]);return(0,n.useMemo)(()=>{let e=e=>!!a&&0!==a.length&&a.includes(e);return{isAdmin:(0,r.qc)(t),isTeamMember:(0,r._5)(t),isCustomer:(0,r.d0)(t),canManageOrganization:e("settings:edit"),canManageStatuses:e("settings:manage-statuses"),canManageTeams:e("teams:edit")||e("teams:create"),canManageCustomers:e("members:edit"),canCreateBoards:e("boards:create"),canManageBoards:e("boards:edit"),canArchiveBoards:e("boards:edit"),canCreateTickets:e("tickets:create"),canManageTickets:e("tickets:edit"),canDeleteTickets:e("tickets:delete"),canAssignTickets:e("tickets:assign"),canViewSecretComments:e("tickets:view-secret-comments"),canCreateSecretComments:e("tickets:add-secret-comments"),canCreateComments:e("tickets:create")||e("tickets:edit"),canViewAuditLog:e("settings:view"),canCreateLinks:e("tickets:edit"),canDeleteLinks:e("tickets:edit"),canViewTicketCode:e("integrations:view-code"),canManagePermissionGroups:e("settings:manage-permission-groups"),canInviteMembers:e("members:invite"),canManageIntegrations:e("integrations:view")&&e("integrations:create")&&e("integrations:configure")&&e("integrations:delete"),canImpersonate:e("impersonation:use"),canViewWiki:e("wiki:view"),canCreateWiki:e("wiki:create"),canEditWiki:e("wiki:edit"),canDeleteWiki:e("wiki:delete"),canManageWiki:e("wiki:manage"),canViewMilestones:e("milestones:view"),canCreateMilestones:e("milestones:create"),canEditMilestones:e("milestones:edit"),canDeleteMilestones:e("milestones:delete"),canViewReleases:e("releases:view"),canCreateReleases:e("releases:create"),canEditReleases:e("releases:edit"),canDeleteReleases:e("releases:delete"),canEditOthersComments:e("comments:edit-others")||e("tickets:edit"),canDeleteOthersComments:e("comments:delete-others")||e("tickets:edit"),canViewAllActivity:e("audit:view-all"),canViewBoardActivity:e("audit:view-board"),
1canViewIntegrations:e("integrations:view"),canCreateIntegrations:e("integrations:create"),canDeleteIntegrations:e("integrations:delete"),canConfigureIntegrations:e("integrations:configure"),canViewExplainableStatus:e("explainable-status:view"),canManageExplainableStatus:e("explainable-status:manage"),canViewTimeTracking:e("time-tracking:view"),canManageTimeTracking:e("time-tracking:manage"),canManageAllTimeTracking:e("time-tracking:manage-all"),canViewBudgets:e("budget:view"),canViewContracts:e("contracts:view"),canManageContracts:e("contracts:manage"),canManageBudgets:e("budget:manage"),canViewAiKnowledge:e("ai-knowledge:view"),canCreateAiKnowledge:e("ai-knowledge:create"),canEditAiKnowledge:e("ai-knowledge:edit"),canDeleteAiKnowledge:e("ai-knowledge:delete"),canManageAiKnowledge:e("ai-knowledge:manage"),canViewCustomFields:e("custom-fields:view"),canManageCustomFields:e("custom-fields:manage"),canViewWebhooks:e("webhooks:view"),canManageWebhooks:e("webhooks:manage"),canViewAutomations:e("automations:view"),canManageAutomations:e("automations:manage"),canManageAgents:e("agents:manage"),canViewTimeline:e("timeline:view"),canViewPublicForms:e("public-forms:view"),canManagePublicForms:e("public-forms:manage"),hasPermission:i,role:t,permissions:null!=a?a:[]}},[t,a,i])}}}]);

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.