1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6710],{977:(e,t,a)=>{a.d(t,{F:()=>i});var s=a(95155),n=a(12115),r=a(91337);let i=n.forwardRef(({className:e,children:t,type:a,scrollHideDelay:n,...i},l)=>(0,s.jsx)("div",{ref:l,className:(0,r.cn)("relative h-full w-full overflow-auto",e),...i,children:t}));i.displayName="ScrollArea"},10969:(e,t,a)=>{a.d(t,{s:()=>n});var s=a(95155);function n(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h3.5m5.5 7v.01M19 19a2.003 2.003 0 0 0 .914-3.782a1.98 1.98 0 0 0-2.414.483"})})}a(12115)},14278:(e,t,a)=>{a.d(t,{Ke:()=>i,Nt:()=>n,R6:()=>r}),a(12115);var s=a(19820);let n=s.bL,r=s.R6,i=s.Ke},19456:(e,t,a)=>{a.d(t,{Q:()=>h});var s=a(12115),n=a(35625),r=a(26708),i=a(45407),l=a(73321),o=a(30985),c=a(77833),d=a(55370),u=a(293);let m=["pending_message","pending_comment","new_conversation_start"],g={notifications:"Alerts",info:"Pending Engagement"};function h({enabled:e,pageSize:t=20,onNavigateComplete:a,unreadOnly:x=!1}){let f=(0,l.useRouter)(),p=(0,n.jE)(),[y,v]=(0,s.useState)(1),[b,w]=(0,s.useState)([]),[j,N]=(0,s.useState)(!0),[k,_]=(0,s.useState)([]),C=(0,s.useRef)({}),[S,A]=(0,s.useState)([]),[E,$]=(0,s.useState)(!1),[R,I]=(0,s.useState)(""),[L,D]=(0,s.useState)([]),[P,q]=(0,s.useState)(!1),[K,M]=(0,s.useState)([]),T=(0,s.useRef)(null),U=(0,s.useRef)(""),Q=(0,s.useMemo)(()=>{if(0!==S.length&&0!==k.length&&S.length!==k.length)return S},[S,k]),F=x?"unread":"all",{data:z,isLoading:O,isPending:V,isError:W,error:B,refetch:H}=(0,r.I)({queryKey:["notifications","list",y,t,Q,F],queryFn:()=>(0,u.getNotifications)(y,t,F,void 0,{pageIds:Q,scope:x?"panel":"page"}),enabled:e,staleTime:1e4}),{data:J}=(0,r.I)({queryKey:["notifications","summary"],queryFn:u.getNotificationSummary,enabled:e,staleTime:1e4}),Z=(0,i.n)({mutationFn:u.markNotificationAsRead,onSuccess:(e,t)=>{w(e=>e.map(e=>e.id===t?{...e,read:!0,status:"read"}:e)),p.invalidateQueries({queryKey:["notifications"]}),p.invalidateQueries({queryKey:["notifications","unread-count"]}),p.invalidateQueries({queryKey:["notifications","summary"]})}}),X=(0,i.n)({mutationFn:u.markAllNotificationsAsRead,onSuccess:e=>{p.setQueryData(["notifications","unread-count"],t=>({...t,unread_count:Math.max(0,(t?.unread_count??0)-(e?.updated_count??0))})),p.invalidateQueries({queryKey:["notifications"]}),p.invalidateQueries({queryKey:["notifications","unread-count"]}),p.invalidateQueries({queryKey:["notifications","summary"]}),w(e=>e.map(e=>({...e,read:!0,status:"read"})))}}),Y=(0,i.n)({mutationFn:u.dismissNotification,onSuccess:(e,t)=>{p.invalidateQueries({queryKey:["notifications"]}),p.invalidateQueries({queryKey:["notifications","unread-count"]}),p.invalidateQueries({queryKey:["notifications","summary"]}),w(e=>e.filter(e=>e.id!==t))}}),G=(0,s.useCallback)(e=>{if("notifications_unread_sync"===e.type&&"number"==typeof e.unread_count){p.setQueryData(["notifications","unread-count"],t=>({...t,unread_count:e.unread_count})),p.invalidateQueries({queryKey:["notifications"]}),p.invalidateQueries({queryKey:["notifications","summary"]});return}if("new_notification"!==e.type||!e.notification)return;let t=e.notification,a=String(t.id);T.current!==a&&(T.current=a,w(e=>{if(x&&m.includes(t.type))return e;if(e.some(e=>e.id===t.id)){let a=e.map(e=>e.id===t.id?t:e);return a.length===e.length&&a.every((t,a)=>t.id===e[a]?.id&&t.read===e[a]?.read)?e:a}return[t,...e]}),p.setQueryData(["notifications","unread-count"],t=>({...t,unread_count:"number"==typeof e.unread_count?e.unread_count:(t?.unread_count??0)+1})),p.invalidateQueries({queryKey:["notifications","summary"]}))},[p,x]);(0,o.Ft)({onMessage:G}),(0,s.useEffect)(()=>{if(!z)return;let e=`${(Q??[]).join(",")}|${F}`,a=U.current===e;U.current=e,w(e=>{let{notifications:s,hasMore:n}=(({previous:e,incoming:t,page:a,pageSize:s,total:n,keepPrevious:r})=>{let i=r?e:[],l=new Set(t.map(e=>e.id)),o=1===a?[...t,...i.filter(e=>!l.has(e.id))]:[...i,...t.filter(e=>!i.some(t=>t.id===e.id))],c=new Map(i.map(e=>[e.id,e]));
1return t.forEach(e=>c.set(e.id,e)),{notifications:o.map(e=>c.get(e.id)??e),hasMore:t.length===s&&n>o.length}})({previous:e,incoming:z.notifications,page:y,pageSize:t,total:z.total,keepPrevious:a});return N(n),s})},[z,y,t,Q,F]),(0,s.useEffect)(()=>{e||(T.current=null)},[e]),(0,s.useEffect)(()=>{e&&v(1)},[e]),(0,s.useEffect)(()=>{e&&v(1),D([])},[e]),(0,s.useEffect)(()=>{let e=Array.from(new Set(b.map(e=>e.page_id).filter(e=>!!e)));b.forEach(e=>{e.page_id&&e.page_name&&(C.current[e.page_id]=e.page_name)}),_(t=>Array.from(new Set([...t,...e]))),e.length>0&&0===S.length&&0===k.length&&A(e)},[b,S.length,k.length]);let ee=async e=>{if(0!==e.length){M(t=>[...t,...e]);try{let t=(await Promise.allSettled(e.map(e=>Y.mutateAsync(e)))).filter(e=>"rejected"===e.status).length;t>0&&(0,c.oR)({variant:"destructive",title:"Some Notifications Could Not Be Dismissed",description:`${t} of ${e.length} failed. They are still in your list.`})}finally{M(t=>t.filter(t=>!e.includes(t)))}}},et=(0,s.useMemo)(()=>{let e=R.trim().toLowerCase(),t=b.filter(e=>"dismissed"!==e.status&&(!x||!e.read));return e?t.filter(t=>!e||[t.contact_name,t.page_name,t.title,t.message,t.platform,t.type?.replace(/_/g," "),t.entity_type?.replace(/_/g," ")].filter(Boolean).join(" ").toLowerCase().includes(e)):t},[b,R,x]),ea=(0,s.useMemo)(()=>{let e;return Object.fromEntries(Object.entries(x?et.length?{"Needs attention":et}:{}:(e={},et.forEach(t=>{let a=g[t.group??"info"];e[a]||(e[a]=[]),e[a].push(t)}),Object.fromEntries(Object.values(g).filter(t=>e[t]?.length).map(t=>[t,e[t]])))).map(([e,t])=>{let a,s;return[e,(a=[],s=new Map,t.forEach(e=>{let t=String(e.id),n=s.get(t);if(n){n.items.push(e),n.count+=1;return}let r={key:`${t}#${e.id}`,primary:e,items:[e],count:1};s.set(t,r),a.push(r)}),a)]}))},[et,x]),es=(0,s.useMemo)(()=>et.map(e=>e.id),[et]),en=(0,s.useMemo)(()=>L.filter(e=>es.includes(e)),[L,es]),er=async()=>{if(0!==en.length){q(!0);try{await Promise.all(en.map(e=>Y.mutateAsync(e))),D([])}catch(e){console.error("Failed to dismiss selected notifications:",e)}finally{q(!1)}}},ei=d.C3;return{summary:J,isLoading:O,isPending:V,isError:W,error:B,refetch:H,filteredNotifications:et,groupedNotifications:ea,hasMore:j,availablePageIds:k,selectedPageIds:S,pageNamesMap:C.current,filtersOpen:E,setFiltersOpen:$,searchQuery:R,setSearchQuery:I,selectedIds:en,visibleIds:es,emptyStateText:ei,isMarkAllAsReadPending:X.isPending,isDismissing:Y.isPending,dismissingIds:K,isBulkDismissing:P,handleMarkAsRead:Z.mutate,handleMarkAllAsRead:()=>{X.mutate(x?"panel":"page")},handleDismissNotification:e=>{Y.mutate(e)},handleDismissNotifications:ee,handleNotificationClick:e=>{if("system"===e.category){e.read||Z.mutate(e.id),e.action_url&&(f.push(e.action_url),a?.());return}("pending_message"===e.type||"new_conversation_start"===e.type)&&e.contact_id?(f.push(`/messages?conversation=${e.contact_id}`),a?.()):"pending_comment"===e.type&&e.reference_id&&(f.push(`/comments?comment_id=${e.reference_id}`),a?.())},handleLoadMore:()=>{v(e=>e+1)},handleTogglePage:e=>{A(t=>{if(t.includes(e)){let a=t.filter(t=>t!==e);return 0===a.length?k:a}return[...t,e]}),v(1)},handleToggleAllPages:()=>{A(e=>e.length===k.length?k.slice(0,1):k),v(1)},handleToggleSelected:e=>{D(t=>{if(e.every(e=>t.includes(e)))return t.filter(t=>!e.includes(t));let a=new Set(t);return e.forEach(e=>a.add(e)),Array.from(a)})},handleToggleSelectAllVisible:()=>{D(e=>es.length>0&&es.every(t=>e.includes(t))?[]:es)},handleClearSelection:()=>D([]),handleDismissSelected:er}}},28983:(e,t,a)=>{function s(e={}){let t=new URLSearchParams({tab:"tickets"});return e.ticket&&t.set("ticket",String(e.ticket)),e.assignee&&t.set("assignee",e.assignee),`/messages?${t.toString()}`}function n(e){let t=e?.get("tab"),a=Number(e?.get("ticket")||0);return{tab:"tickets"===t||"inbox"===t?t:null,ticketId:Number.isInteger(a)&&a>0?a:null,assignee:e?.get("assignee")==="unassigned"?"unassigned":null}}a.d(t,{P:()=>n,S:()=>s})},30985:(e,t,a)=>{a.d(t,{Ft:()=>y,Fz:()=>p,Sf:()=>g,bK:()=>o,qi:()=>m});var s=a(95155),n=a(12115),r=a(35625),i=a(54808),l=a(34626);let o="live_resync",c=new Set,d=new Set,u=new Set;function m(e){return d.add(e),()=>d.delete(e)}function g(e){return u.add(e),()=>u.delete(e)}let h=(e,t,a)=>{try{e(t)}catch(e){console.error(`Error in live event ${a} handler:`,e)}
1},x=e=>{"flow_stages_updated"===e.type&&void 0!==e.flow_id&&null!==e.flow_id&&d.forEach(t=>h(t,Number(e.flow_id),"flow_stages_updated")),"flow_state_updated"===e.type&&"string"==typeof e.conversation_id&&u.forEach(t=>h(t,e.conversation_id,"flow_state_updated")),c.forEach(t=>h(t,e,String(e.type)))},f=(0,n.createContext)({connectionStatus:"disconnected",reconnect:()=>{}});function p({children:e}){let{user:t}=(0,i.w)(),a=t?.session_token??null,c=(0,r.jE)(),[d,u]=(0,n.useState)("connecting"),m=(0,n.useRef)(null),g=(0,n.useRef)(null),h=(0,n.useRef)(null),y=(0,n.useRef)(null),v=(0,n.useRef)(0),b=(0,n.useCallback)(()=>{null!==h.current&&window.clearTimeout(h.current),h.current=null},[]),w=(0,n.useCallback)(()=>{null!==y.current&&window.clearTimeout(y.current),y.current=null},[]),j=(0,n.useCallback)(()=>{null===y.current&&(y.current=window.setTimeout(()=>{y.current=null,u("disconnected")},4e3))},[]),N=(0,n.useCallback)(()=>{c.invalidateQueries(),x({type:o})},[c]),k=(0,n.useCallback)(()=>{b();let e=m.current;m.current=null,e?.close()},[b]),_=(0,n.useCallback)(()=>{var e;let t,a;k();let s=new EventSource((e=g.current,t=l.H$||window.location.origin,a=new URL(`${t}/api/live/stream`),e&&a.searchParams.set("last_event_id",e),a.toString()),{withCredentials:!0});m.current=s,j(),s.onmessage=e=>{let t;if(m.current===s){e.lastEventId&&(g.current=e.lastEventId);try{t=JSON.parse(e.data)}catch(e){console.error("Live event parse error:",e);return}if("live_ready"===t.type){w(),v.current=0,u("connected");return}if(t.type===o)return void N();x(t)}},s.onerror=()=>{if(m.current!==s||(j(),s.readyState!==EventSource.CLOSED))return;v.current+=1;let e=Math.min(3e4,1e3*Math.pow(2,Math.min(v.current,5)));b(),h.current=window.setTimeout(()=>{h.current=null,m.current===s&&_()},e)}},[w,b,k,N,j]);(0,n.useEffect)(()=>{if(!a)return;g.current=null,v.current=0;let e=()=>{if("hidden"===document.visibilityState){w(),k();return}m.current||_()};return"hidden"!==document.visibilityState&&_(),document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e),w(),k()}},[a,_,k,w]);let C=(0,n.useCallback)(()=>{v.current=0,_()},[_]),S=(0,n.useMemo)(()=>({connectionStatus:d,reconnect:C}),[d,C]);return(0,s.jsx)(f.Provider,{value:S,children:e})}function y({onMessage:e}){let t=(0,n.useRef)(e);return(0,n.useEffect)(()=>{t.current=e},[e]),(0,n.useEffect)(()=>{var e;let a=(e=e=>t.current(e),c.add(e),()=>c.delete(e));return()=>{a()}},[]),(0,n.useContext)(f)}},36710:(e,t,a)=>{a.r(t),a.d(t,{UserDropdown:()=>Y});var s=a(95155),n=a(95885),r=a(4474),i=a(681),l=a(6071),o=a(83931),c=a(94514),d=a(43447),u=a(12115),m=a(61767),g=a(35625),h=a(26708),x=a(30985),f=a(293),p=a(47650),y=a(98500),v=a.n(y),b=a(33210),w=a(91337),j=a(48916),N=a(33894),k=a(8238),_=a(92451),C=a(21362),S=a(89101),A=a(94566),E=a(44167),$=a(28983),R=a(41463);let I=({platform:e})=>{switch(e?.toLowerCase()){case"facebook":return(0,s.jsx)(N.A,{className:"h-3 w-3 text-[#1877F2]","aria-hidden":!0});case"instagram":return(0,s.jsx)(k.A,{className:"h-3 w-3 text-[#E1306C]","aria-hidden":!0});case"web":case"web_chat":return(0,s.jsx)(_.A,{className:"h-3 w-3","aria-hidden":!0});default:return null}},L=e=>{if(!e)return null;if(!e.startsWith("/"))return e;let t=R.env.NEXT_PUBLIC_API_URL||window.location.origin;return`${t}${e}`},D="px-4 py-3",P="min-w-0 flex-1 truncate text-sm font-semibold text-gray-900 dark:text-gray-100",q="flex min-w-0 items-center gap-1 text-xs text-gray-500 dark:text-gray-400",K="shrink-0 text-xs text-gray-500 dark:text-gray-400",M="inline-flex shrink-0 items-center text-xs font-medium text-blue-600 hover:underline dark:text-blue-400";function T({comment:e}){let t=(0,g.jE)(),a=e.user||"Unknown",r=L(e.contact?.meta_data?.profile_picture??null);return(0,s.jsx)("li",{className:D,children:(0,s.jsxs)("div",{className:"flex gap-3",children:[(0,s.jsxs)(n.eu,{className:"h-9 w-9",children:[r&&(0,s.jsx)(n.BK,{src:r,alt:a}),(0,s.jsx)(S.Q,{name:a,className:"bg-gray-200 text-gray-600 dark:bg-gray-700 dark:text-gray-300",children:a.charAt(0).toUpperCase()})]}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:P,children:a}),(0,s.jsx)("span",{className:K,children:(0,E.fw)(e.date)})]}),(0,s.jsxs)("div",{className:q,children:[(0,s.jsx)(I,{platform:e.platform}),(0,s.jsx)("span",{className:"truncate",children:e.page})]}),(0,s.jsx)("p",{className:"mt-1 line-clamp-2 text-sm text-gray-700 dark:text-gray-300",children:e.comment}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)(A.R,{referenceId:e.id,onModerated:()=>{t.setQueryData(["queues","comments"],t=>{if(!t)return t;let a=t.comments.filter(t=>t.id!==e.id),s=void 0===t.pagination.total?void 0:Math.max(0,t.pagination.total-1);return{...t,comments:a,pagination:{...t.pagination,total:s}}})}})})]})]})})}function U({conversation:e,onNavigate:t}){let a="web_chat"===e.source,r=e.user?.name||(a?e.contact_id:null)||"Anonymous visitor",i=a?e.page_id:e.page_name,l=e.platform??(a?"web_chat":null),o=L(e.user?.meta_data?.profile_picture??null),c=e.lastMessage??e.last_message??"",d=e.timestamp??e.last_message_time;return(0,s.jsx)("li",{className:D,children:(0,s.jsxs)("div",{className:"flex gap-3",children:[(0,s.jsxs)(n.eu,{className:"h-9 w-9",children:[o&&(0,s.jsx)(n.BK,{src:o,alt:r}),(0,s.jsx)(S.Q,{name:r,className:"bg-gray-200 text-gray-600 dark:bg-gray-700 dark:text-gray-300",children:r.charAt(0).toUpperCase()})]}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:P,children:r}),(0,s.jsx)("span",{className:K,children:(0,E.fw)(d)})]}),(0,s.jsxs)("div",{className:q,children:[(0,s.jsx)(I,{platform:l}),i&&(0,s.jsx)("span",{className:"truncate",children:i})]}),(0,s.jsxs)("div",{className:"mt-1 flex items-end justify-between gap-3",children:[(0,s.jsx)("p",{className:"line-clamp-2 min-w-0 text-sm text-gray-700 dark:text-gray-300",children:c}),(0,s.jsxs)(v(),{href:`/messages?conversation=${encodeURIComponent(e.id)}`,onClick:t,className:M,children:["Reply ",(0,s.jsx)(C.A,{className:"h-3.5 w-3.5","aria-hidden":!0})]})]})]})]})})}function Q({ticket:e,onNavigate:t}){return(0,s.jsx)("li",{className:D,children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("span",{className:"shrink-0 font-mono text-xs text-gray-500 dark:text-gray-400",children:["#",e.ticket_code]}),(0,s.jsx)("span",{className:P,children:e.name})]}),(0,s.jsxs)("div",{className:q,children:["opened ",(0,E.fw)(e.created_at)]})]}),(0,s.jsxs)(v(),{href:(0,$.S)({ticket:e.id}),onClick:t,className:M,children:["Open ",(0,s.jsx)(C.A,{className:"h-3.5 w-3.5","aria-hidden":!0})]})]})})}function F({sections:e,onNavigate:t}){return 0===e.length?null:(0,s.jsx)("div",{children:e.map(e=>(0,s.jsxs)("section",{"aria-label":e.label,children:[(0,s.jsxs)(v(),{href:e.href,onClick:t,className:"sticky top-0 z-10 flex items-center justify-between gap-2 bg-gray-50 px-4 py-2 text-xs font-semibold uppercase tracking-wide text-gray-500 hover:text-gray-900 dark:bg-gray-900 dark:text-gray-400 dark:hover:text-gray-100",children:[(0,s.jsx)("span",{className:"truncate",children:e.label}),(0,s.jsxs)("span",{className:"flex shrink-0 items-center gap-1 tabular-nums",children:[e.count.toLocaleStr
1ing("en-US"),(0,s.jsx)(C.A,{className:"h-3.5 w-3.5","aria-hidden":!0})]})]}),(0,s.jsxs)("ul",{className:"divide-y divide-gray-100 dark:divide-gray-700",children:["comments"===e.key&&e.items.map(e=>(0,s.jsx)(T,{comment:e},e.id)),"conversations"===e.key&&e.items.map(e=>(0,s.jsx)(U,{conversation:e,onNavigate:t},e.id)),"tickets"===e.key&&e.items.map(e=>(0,s.jsx)(Q,{ticket:e,onNavigate:t},e.id))]})]},e.key))})}let z={comments:{label:"Comments awaiting review",href:"/comments?status=pending"},conversations:{label:"Conversations awaiting a reply",href:"/messages?filter=pending"},tickets:{label:"Unassigned tickets",href:(0,$.S)({assignee:"unassigned"})}};function O(e,t){return!t||t.total<=0?null:{key:e,...z[e],count:t.total,items:t.items.slice(0,3)}}var V=a(19456);function W({isOpen:e,onClose:t}){var a;let n,i,l,o,c,d,g,x=(0,V.Q)({enabled:e,pageSize:20,onNavigateComplete:t,unreadOnly:!0}),y=(n=(0,h.I)({queryKey:["queues","comments"],queryFn:()=>(0,f.fetchComments)(1,10,void 0,void 0,{status:"pending"}),enabled:e,staleTime:3e4}),i=(0,h.I)({queryKey:["queues","conversations"],queryFn:()=>(0,f.getAllConversations)({filter:"pending_unread",sort:"newest",min_count:10}),enabled:e,staleTime:3e4}),l=(0,h.I)({queryKey:["queues","pending_unread"],queryFn:()=>(0,f.getPendingReviewCount)({unreadOnly:!0}),enabled:e,staleTime:3e4}),o=(0,h.I)({queryKey:["queues","tickets"],queryFn:()=>(0,f.fetchTickets)({unassigned:!0,status:"open",limit:3}),enabled:e,staleTime:3e4}),c=[O("comments",(a={comments:n.data&&{total:n.data.pagination.total??n.data.comments.length,items:n.data.comments},conversations:i.data&&l.data?{total:l.data.count,items:i.data.conversations}:void 0,tickets:o.data&&{total:o.data.total,items:o.data.tickets}}).comments),O("conversations",a.conversations),O("tickets",a.tickets)].filter(e=>null!==e),g=(d=[n,i,l,o]).some(e=>e.isPending),{sections:c,isPending:g,isError:d.some(e=>e.isError),refetch:()=>{d.forEach(e=>{e.refetch()})}}),[N,k]=(0,u.useState)(!1),_=x.searchQuery.trim().length>0,C=function({searching:e,isPending:t,isError:a,alertCount:s,queueSectionCount:n}){return e?"searching":t?"loading":s>0||n>0?"content":a?"unavailable":"caught-up"}({searching:_,isPending:x.isPending||y.isPending,isError:x.isError||y.isError,alertCount:x.filteredNotifications.length,queueSectionCount:y.sections.length});return((0,u.useEffect)(()=>k(!0),[]),(0,u.useEffect)(()=>{let a=a=>{"Escape"===a.key&&e&&t()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e,t]),e&&N)?(0,p.createPortal)((0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"fixed inset-0 z-40","aria-hidden":"true",onClick:t}),(0,s.jsx)("div",{role:"dialog","aria-label":"Notifications",className:(0,w.cn)("fixed z-50 flex flex-col bg-white shadow-2xl dark:bg-gray-800","inset-0 w-full","md:inset-auto md:right-4 md:top-[4.5rem] md:w-full md:max-w-[420px]","md:max-h-[min(48rem,calc(100vh-6rem))] md:overflow-hidden md:rounded-lg md:border md:border-gray-200 dark:md:border-gray-700"),children:(0,s.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,s.jsx)("div",{className:"flex-shrink-0 border-b border-gray-200 px-4 py-3 dark:border-gray-700",children:(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("div",{className:"min-w-0",children:(0,s.jsx)("h2",{className:"text-base font-semibold text-gray-900 dark:text-gray-100",children:"Notifications"})}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,s.jsx)(r.$,{asChild:!0,variant:"ghost",size:"sm",className:"h-8 px-2 text-xs",children:(0,s.jsx)(v(),{href:"/notifications",onClick:t,children:"View All"})}),(0,s.jsx)(r.$,{variant:"ghost",size:"icon",onClick:t,className:"h-8 w-8","aria-label":"Close Notifications",children:(0,s.jsx)(b.A,{className:"h-5 w-5"})})]})]})}),(0,s.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,s.jsx)(j.Q,{feed:x,showEmptyState:!1,isLoading:"loading"===C,trailing:"caught-up"===C?(0,s.jsxs)("div",{className:"flex h-64 flex-col items-center justify-center p-4",children:[(0,s.jsx)(m.A,{className:"mb-4 h-12 w-12 text-gray-300 dark:text-gray-600"}),(0,s.jsx)("p",{className:"text-center text-gray-500 dark:text-gray-400",children:"You're all caught up."}),(0,s.jsx)("p",{className:"text-center text-sm text-gray-400 dark:text-gray-500",children:"No alerts, nothing waiting."})]}):"unavailable"===C?(0,s.jsxs)("div",{className:"flex h-64 flex-col items-center justify-center gap-2 p-4",children:[(0,s.jsx)("p",{className:"text-center text-gray-500 dark:text-gray-400",children:"Notifications could not be loaded."}),(0,s.jsx)(r.$,{variant:"outline",size:"sm",onClick:()=>{x.refetch(),y.refetch()},children:"Retry"})]}):_?null:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(F,{sections:y.sections,onNavigate:t}),(0,s.jsx)("div",{className:"h-6","aria-hidden":!0})]})}),(0,s.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-8 bg-gradient-to-t from-white to-transparent dark:from-gray-800","aria-hidden":!0})]})]})})]}),document.body):null}let B=new Set(["new_comment","comment_moderation_sync","new_message","web_chat_new_message","conversation_updated","web_chat_status_update"]);function H({onTogglePanel:e}){var t,a;let[n,i]=(0,u.useState)(!1),l=(0,g.jE)(),o=(0,u.useRef)(null),{data:c,refetch:d}=(0,h.I)({queryKey:["notifications","unread-count"],queryFn:f.getUnreadCount}),p=(t=c?.unread_count||0,a=c?.has_queue_work??!1,t>0?{kind:"count",value:t}:a?{kind:"dot"}:{kind:"none"});(0,x.Ft)({onMessage:e=>{if(e?.type==="notifications_unread_sync"){"number"==typeof e.unread_count&&l.setQueryData(["n
1otifications","unread-count"],t=>({...t,unread_count:e.unread_count})),l.invalidateQueries({queryKey:["notifications","summary"]}),l.invalidateQueries({queryKey:["queues"]});return}e?.type==="comment_moderation_update"||B.has(e?.type??"")?null===o.current&&(o.current=setTimeout(()=>{o.current=null,l.invalidateQueries({queryKey:["queues"]}),l.invalidateQueries({queryKey:["notifications","unread-count"]})},1e3)):e?.type==="new_notification"&&(l.setQueryData(["notifications","unread-count"],t=>({...t,unread_count:"number"==typeof e.unread_count?e.unread_count:(t?.unread_count??0)+1})),setTimeout(()=>{d()},100),l.invalidateQueries({queryKey:["notifications","summary"]}),l.invalidateQueries({queryKey:["queues"]}))}});let y=(0,u.useRef)(n);return(0,u.useEffect)(()=>{y.current&&!n&&d(),y.current=n},[n,d]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"relative",children:(0,s.jsxs)(r.$,{variant:"ghost",size:"icon",className:"relative h-8 w-8 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors [&_svg]:!h-[1.5rem] [&_svg]:!w-[1.3rem]",onClick:()=>{i(!n),e&&e()},"aria-label":"count"===p.kind?`Notifications (${p.value} Unread)`:"dot"===p.kind?"Notifications (work waiting)":"Notifications",children:[(0,s.jsx)(m.A,{className:"h-6 w-6 text-gray-600 dark:text-gray-300"}),"count"===p.kind&&(0,s.jsx)("span",{className:"absolute -top-1 -right-1 flex h-5 w-5 items-center justify-center rounded-full bg-red-500 text-xs font-semibold text-white shadow-sm",children:p.value>99?"99+":p.value}),"dot"===p.kind&&(0,s.jsx)("span",{className:"absolute right-0.5 top-0.5 h-2.5 w-2.5 rounded-full bg-amber-500 ring-2 ring-white dark:ring-gray-800","aria-hidden":!0})]})}),(0,s.jsx)(W,{isOpen:n,onClose:()=>{i(!1),e&&e()}})]})}var J=a(54808),Z=a(91679);function X(){let{collapsed:e,toggleCollapsed:t}=(0,Z.X)();return(0,s.jsxs)("div",{className:"numod-sidebar-collapse-control pointer-events-auto absolute left-6 top-1/2 hidden -translate-y-1/2 items-center gap-3 md:flex",children:[(0,s.jsx)(r.$,{type:"button",variant:"ghost",className:"relative h-8 w-8 rounded-md text-gray-500 hover:text-gray-800 dark:text-gray-300 dark:hover:text-white [&_svg]:!h-[1.5rem] [&_svg]:!w-[1.3rem]","aria-label":e?"Expand Sidebar":"Collapse Sidebar",title:e?"Expand Sidebar":"Collapse Sidebar",onClick:t,children:e?(0,s.jsx)(i.A,{className:"h-6 w-6"}):(0,s.jsx)(l.A,{className:"h-6 w-6"})}),(0,s.jsx)("div",{className:"h-7 w-px bg-gray-200 dark:bg-gray-700","aria-hidden":"true"})]})}function Y({showSidebarCollapse:e=!0,guardAction:t}){let a,i,{user:l,loading:u,logout:m,activeWorkspace:g,workspaces:h,switchWorkspace:x}=(0,J.w)();if(u)return(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[e&&(0,s.jsx)(X,{}),(0,s.jsx)(r.$,{variant:"ghost",className:"relative h-8 w-8 rounded-full opacity-70",children:(0,s.jsx)(n.eu,{children:(0,s.jsx)(n.q5,{children:"..."})})})]});let f=(a=l?.username||l?.user?.username,i=l?.email||l?.user?.email,a?a.charAt(0).toUpperCase():i?i.charAt(0).toUpperCase():"?"),p=l?.email||l?.user?.email||"",y=l?.username||l?.user?.username;return(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[e&&(0,s.jsx)(X,{}),l&&(0,s.jsx)(H,{}),(0,s.jsxs)(d.rI,{children:[(0,s.jsx)(d.ty,{asChild:!0,children:(0,s.jsx)(r.$,{variant:"ghost",className:"relative h-8 w-8 rounded-full",children:(0,s.jsx)(n.eu,{children:(0,s.jsx)(n.q5,{children:f})})})}),(0,s.jsxs)(d.SQ,{align:"end",className:"w-max min-w-56 max-w-[calc(100vw-2rem)] overflow-x-auto",children:[l&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.lp,{className:"font-normal",children:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("p",{className:"text-sm font-semibold whitespace-nowrap",children:[(0,s.jsx)("span",{className:"text-xs text-gray-500 block",children:"Email"}),p]}),y&&y!==p&&(0,s.jsxs)("p",{className:"text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"text-xs text-gray-500 block",children:"Name"}),y]}),g&&(0,s.jsxs)("p",{className:"text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"text-xs text-gray-500 block",children:"Worksp
1ace"}),g.name]})]})}),h.length>1&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.mB,{}),(0,s.jsx)(d.lp,{className:"text-xs font-medium text-muted-foreground",children:"Switch Workspace"}),h.map(e=>(0,s.jsxs)(d._2,{onSelect:a=>{if(a.preventDefault(),e.id!==g?.id){let a=()=>{x(e.id).catch(e=>{console.error("Workspace switch failed:",e)})};t?t(a):a()}},className:"gap-2",children:[(0,s.jsx)(o.A,{className:"h-4 w-4 text-muted-foreground"}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.name}),e.id===g?.id&&(0,s.jsx)(c.A,{className:"h-4 w-4"})]},e.id))]}),(0,s.jsx)(d.mB,{})]}),(0,s.jsx)(d._2,{onSelect:e=>{e.preventDefault();let a=()=>void m();t?t(a):a()},children:"Logout"})]})]})]})}},44167:(e,t,a)=>{a.d(t,{fw:()=>i,oE:()=>l,qV:()=>n,r6:()=>o});let s=new Set(["Today","Yesterday","Unknown"]),n=e=>"system"===e.category&&e.updated_at||e.created_at,r=(e,t="en-US")=>{if(!e)return"Unknown";let a=new Date(e);return Number.isNaN(a.getTime())?"Unknown":a.toLocaleTimeString(t,{hour:"numeric",minute:"2-digit"})},i=(e,t=Date.now())=>{if(!e)return"Unknown";let a=new Date(e);if(Number.isNaN(a.getTime()))return"Unknown";let s=t-a.getTime();if(s<0)return r(e);let n=Math.floor(s/6e4);if(n<1)return"Just now";if(n<60)return`${n}m ago`;let i=Math.floor(n/60);if(i<24)return`${i}h ago`;let l=Math.floor(i/24);return l<7?`${l}d ago`:a.toLocaleDateString("en-US",{month:"short",day:"numeric"})},l=(e,t,a=Date.now())=>s.has(t)||Number.isNaN(new Date(t).getTime())?i(e,a):r(e),o=e=>{if(!e)return"Not Set";let t=new Date(e);return Number.isNaN(t.getTime())?"Not Set":t.toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"})}},48916:(e,t,a)=>{a.d(t,{Q:()=>V});var s=a(95155),n=a(12115),r=a(61878),i=a(68459),l=a(33210),o=a(4736),c=a(66088),d=a(83687),u=a(484),m=a(61767),g=a(4474),h=a(14278),x=a(39658),f=a(62489),p=a(977),y=a(33894),v=a(8238),b=a(92451),w=a(96035),j=a(92564),N=a(95885),k=a(89101),_=a(94566),C=a(12651),S=a(62791),A=a(41585),E=a(22812),$=a(68822),R=a(38291),I=a(91337);let L={success:"softSuccess",danger:"softDanger",warning:"softWarning",info:"softInfo",neutral:"softNeutral"},D={success:"text-emerald-600 dark:text-emerald-300",danger:"text-red-600 dark:text-red-300",warning:"text-amber-600 dark:text-amber-300",info:"text-blue-600 dark:text-blue-300",neutral:"text-gray-600 dark:text-gray-300"},P={success:C.A,error:S.A,warning:A.A,processing:E.A,info:$.A};function q({tone:e,label:t,iconKey:a,className:n,title:r}){let i=a?P[a]:null;return(0,s.jsxs)(R.E,{variant:L[e],title:r,className:(0,I.cn)("gap-1 px-2 py-0.5 text-[11px] font-medium",n),children:[i&&(0,s.jsx)(i,{className:"h-3 w-3 shrink-0","aria-hidden":!0}),t]})}var K=a(84437);function M({unread:e,selected:t=!1,onActivate:a,ariaLabel:n,leading:r,title:i,meta:o,message:c,footer:d,badges:u,isChecked:m=!1,onToggleChecked:h,checkboxLabel:x,canDismiss:f=!1,onDismiss:p,isDismissing:y=!1,dismissLabel:v="Dismiss Notification"}){return(0,s.jsxs)("div",{role:"button",tabIndex:0,"aria-label":n,"aria-current":t?"true":void 0,className:(({unread:e,selected:t})=>(0,I.cn)("relative flex gap-3 p-4 transition-colors cursor-pointer","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-500",e&&"before:absolute before:inset-y-0 before:left-0 before:w-0.5 before:bg-blue-500 before:content-['']",e?"bg-white hover:bg-gray-50 dark:bg-gray-800 dark:hover:bg-gray-700":"bg-gray-50 hover:bg-gray-100 dark:bg-gray-900 dark:hover:bg-gray-800",t&&"bg-blue-50/70 ring-1 ring-inset ring-blue-200 dark:bg-blue-950/20 dark:ring-blue-800"))({unread:e,selected:t}),onClick:a,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),a())},children:[h&&(0,s.jsx)("div",{className:"pt-0.5",onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:(0,s.jsx)(K.S,{checked:m,onCheckedChange:()=>h(),"aria-label":x})}),(0,s.jsx)("div",{className:"shrink-0",children:r}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,s.jsx)("div",{className:"min-w-0 flex-1",children:i}),u&&(0,s.jsx)("div",{className:"flex shrink-0 items-center gap-1.5",children:u})]}),o,c,d]}),(0,s.jsxs)("div",{className:"flex w-6 shrink-0 flex-col items-center gap-2",children:[e&&(0,s.jsx)("span",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full bg-blue-500","aria-hidden":!0}),f&&p&&(0,s.jsx)(g.$,{type:"button",variant:"ghost",size:"icon",className:"mt-auto h-6 w-6 text-gray-400 hover:text-gray-700 dark:hover:text-gray-200","aria-label":v,disabled:y,onClick:e=>{e.stopPropagation(),p()},children:(0,s.jsx)(l.A,{className:"h-3.5 w-3.5"})})]})]})}var T=a(55370),U=a(44167),Q=a(41463);function F({notification:e,onMarkAsRead:t,onNavigate:a,stackCount:n=1,isActive:r=!1,isChecked:i=!1,onToggleChecked:l,stackIds:o,groupLabel:c}){let d=e.contact_name||"Unknown",u=d.charAt(0).toUpperCase(),m=e.contact_profile_picture,g=m?m.startsWith("/")?`${Q.env.NEXT_PUBLIC_API_URL||window.location.origin}${m}`:m:null,h=!e.read,x="pending_comment"===e.type,f="pending_message"===e.type||"new_conversation_start"===e.type,p=f?w.A:j.A,C=f?"text-blue-500 dark:text-blue-400":"text-amber-500 dark:text-amber-400",S=(0,T.v4)(e),A=`${n} similar notifications grouped together`,E=o??[e.id];return(0,s.jsx)(M,{unread:h,selected:r,onActivate:()=>{e.read||t(e.id),a?.(e)},ariaLabel:n>1?`${d}: ${e.message||e.title||"Notification"}. ${A}.`:`${d}: ${e.message||e.title||"Notification"}`,leading:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)(N.eu,{className:"h-10 w-10",children:[(0,s.jsx)(N.BK,{src:g||void 0,alt:d}),(0,s.jsx)(k.Q,{name:d,iconClassName:"h-6 w-6",className:"bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300",children:u})]}),(f||x)&&(0,s.jsx)("span",{className:`absolute -bottom-0.5 -right-0.5 rounded-full bg-white dark:bg-gray-800 p-0.5 ${C}
1`,"aria-hidden":!0,children:(0,s.jsx)(p,{className:"h-3.5 w-3.5"})})]}),title:(0,s.jsx)("span",{className:`block truncate text-sm font-semibold ${h?"text-gray-900 dark:text-gray-100":"text-gray-700 dark:text-gray-300"}`,children:d}),badges:n>1?(0,s.jsx)(q,{tone:"neutral",label:`${n}\xd7`,title:A}):null,meta:(0,s.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5 truncate text-xs text-gray-500 dark:text-gray-400",children:[(0,s.jsx)("span",{className:"shrink-0 font-medium",children:S}),e.platform&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{"aria-hidden":!0,children:"\xb7"}),(0,s.jsx)("span",{className:"shrink-0",children:(e=>{switch(e?.toLowerCase()){case"facebook":return(0,s.jsx)(y.A,{className:"h-3 w-3"});case"instagram":return(0,s.jsx)(v.A,{className:"h-3 w-3"});case"web":case"web_chat":return(0,s.jsx)(b.A,{className:"h-3 w-3"});default:return null}})(e.platform)})]}),e.page_name&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{"aria-hidden":!0,children:"\xb7"}),(0,s.jsx)("span",{className:"truncate",children:e.page_name})]})]}),message:e.message?(0,s.jsx)("p",{className:`mt-1.5 line-clamp-3 text-sm ${h?"text-gray-700 dark:text-gray-200":"text-gray-600 dark:text-gray-400"}`,children:e.message}):null,footer:(0,s.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,s.jsx)("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:(0,U.oE)((0,U.qV)(e),c)}),x&&h&&e.reference_id&&(0,s.jsx)(_.R,{referenceId:e.reference_id,onModerated:()=>t(e.id)})]}),isChecked:i,onToggleChecked:l?()=>l(E):void 0,checkboxLabel:`Select Notification from ${d}`})}function z({notification:e,onDismiss:t,onNavigate:a,isDismissing:n,isSelected:r=!1,stackCount:i=1,isChecked:l=!1,onToggleChecked:o,stackIds:c,groupLabel:d}){let u=(0,T.Ei)(e),m=P[u.iconKey],g=e.title||"Update",h=(0,T.j1)(e),x="Numod"===h?null:h,f=!e.read,p=`${i} similar notifications grouped together`;return(0,s.jsx)(M,{unread:f,selected:r,onActivate:()=>a(e),ariaLabel:[g,x,u.label,i>1?p:null].filter(Boolean).join(". ")+".",leading:(0,s.jsx)("span",{className:"flex h-10 w-10 items-center justify-center rounded-md border border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-900",children:(0,s.jsx)(m,{className:`h-4 w-4 ${D[u.tone]}`,"aria-hidden":!0})}),title:(0,s.jsx)("h3",{className:"line-clamp-2 text-sm font-semibold text-gray-900 dark:text-gray-100",children:g}),badges:(0,s.jsxs)(s.Fragment,{children:[i>1&&(0,s.jsx)(q,{tone:"neutral",label:`${i}\xd7`,title:p}),(0,s.jsx)(q,{tone:u.tone,label:u.label,iconKey:u.iconKey})]}),message:e.message?(0,s.jsx)("p",{className:"mt-1 line-clamp-3 text-sm text-gray-600 dark:text-gray-300",children:e.message}):null,footer:(0,s.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400",children:[(0,s.jsx)(E.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),(0,s.jsx)("span",{children:(0,U.oE)((0,U.qV)(e),d)}),x&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{"aria-hidden":!0,children:"\xb7"}),(0,s.jsx)("span",{className:"truncate",children:x})]})]}),isChecked:l,onToggleChecked:o?()=>o(c):void 0,checkboxLabel:`Select Update: ${g}
1`,canDismiss:"dismissed"!==e.status,onDismiss:()=>t(c),isDismissing:n,dismissLabel:i>1?`Dismiss ${i} Grouped Updates`:"Dismiss Update"})}var O=a(70521);function V({feed:e,variant:t="panel",trailing:a,showEmptyState:y=!0,isLoading:v,selectedNotificationId:b,onSelectNotification:w}){let j=(0,T.Tv)(e.summary)>0,N="panel"===t,k=v||e.isPending&&0===e.filteredNotifications.length,[_,C]=(0,n.useState)(!1),[S,A]=(0,n.useState)(null),E=(0,T._K)(S?.count??0),$="page"===t&&_,R=e.selectedIds.length,L=e.visibleIds.length>0&&R===e.visibleIds.length,D=a=>{if("page"===t&&w){a.read||e.handleMarkAsRead(a.id),w(a);return}e.handleNotificationClick(a)};return(0,s.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,s.jsxs)("div",{className:(0,I.cn)("flex-shrink-0 space-y-3 border-b border-gray-200 bg-white dark:border-gray-700 dark:bg-gray-800",N?"p-3":"p-4"),children:[(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(r.A,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-gray-400"}),(0,s.jsx)(x.p,{type:"search",value:e.searchQuery,onChange:t=>e.setSearchQuery(t.target.value),placeholder:"Search Notifications","aria-label":"Search Notifications",className:"h-8 pl-8 text-xs"})]}),$&&(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-blue-200 bg-blue-50 px-3 py-2 dark:border-blue-900 dark:bg-blue-950/30",children:[(0,s.jsx)("span",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:R>0?`${R} Selected`:"Select Notifications"}),(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(g.$,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:e.handleToggleSelectAllVisible,children:L?"Deselect All":"Select All"}),(0,s.jsxs)(g.$,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-red-600 hover:text-red-700 dark:text-red-400 dark:hover:text-red-300",onClick:e.handleDismissSelected,disabled:e.isBulkDismissing||0===R,children:[(0,s.jsx)(i.A,{className:"mr-1 h-3.5 w-3.5"}),e.isBulkDismissing?"Dismissing...":"Dismiss"]}),(0,s.jsx)(g.$,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>{e.handleClearSelection(),C(!1)},"aria-label":"Exit Selection Mode",children:(0,s.jsx)(l.A,{className:"h-3.5 w-3.5"})})]})]}),"page"===t&&(0,s.jsxs)(h.Nt,{open:e.filtersOpen,onOpenChange:e.setFiltersOpen,children:[(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(h.R6,{asChild:!0,children:(0,s.jsxs)(g.$,{variant:"ghost",size:"sm",className:"h-8 min-w-0 justify-start gap-1.5 px-2 text-xs text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",children:[(0,s.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,s.jsx)(o.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsx)("span",{children:"Filters"}),e.availablePageIds.length>0&&(0,s.jsxs)("span",{className:"truncate text-gray-400 dark:text-gray-500",children:["(",e.selectedPageIds.length===e.availablePageIds.length?"All Channels":`${e.selectedPageIds.length}/${e.availablePageIds.length} Channels`,")"]})]}),(0,s.jsx)(c.A,{className:`h-3.5 w-3.5 shrink-0 transition-transform ${e.filtersOpen?"rotate-180":""}`})]})}),(0,s.jsx)("div",{className:"min-w-0 flex-1"}),(0,s.jsxs)(g.$,{variant:"ghost",size:"sm",className:"h-8 flex-shrink-0 px-2 text-xs",onClick:e.handleMarkAllAsRead,disabled:!j||e.isMarkAllAsReadPending,children:[(0,s.jsx)(d.A,{className:"mr-1 h-3.5 w-3.5"}),"Mark All Read"]}),(0,s.jsxs)(g.$,{variant:"ghost",size:"sm",className:"h-8 flex-shrink-0 px-2 text-xs","aria-pressed":_,onClick:()=>{C(e=>!e),e.handleClearSelection()},children:[(0,s.jsx)(u.A,{className:"mr-1 h-3.5 w-3.5"}),_?"Done":"Select"]})]}),(0,s.jsx)(h.Ke,{children:(0,s.jsx)("div",{className:"mt-2 space-y-3 border-t border-gray-100 pt-3 dark:border-gray-700",children:(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("span",{className:"text-xs font-medium text-gray-600 dark:text-gray-300",children:"Channels"}),0===e.availablePageIds.length?(0,s.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Filters appear once you have notifications."}):(0,s.jsxs)(f.AM,{children:[(0,s.jsx)(f.Wv,{asChild:!0,children:(0,s.jsxs)(g.$,{type:"button",variant:"outline",size:"sm",className:"h-7 w-full justify-between text-xs font-normal","aria-label":"Choose Which Channels to Include in Notifications","aria-haspopup":"dialog",children:[(0,s.jsx)("span",{className:"truncate text-left",children:e.selectedPageIds.length===e.availablePageIds.length?"All Channels":`${e.selectedPageIds.length} of ${e.availablePageIds.length} Selected`}),(0,s.jsx)(c.A,{className:"h-3 w-3 shrink-0 opacity-50","aria-hidden":!0})]})}),(0,s.jsxs)(f.hl,{className:"max-w-[min(100vw-2rem,20rem)] p-2",align:"start",style:{width:"var(--radix-popover-trigger-width)"},children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,s.jsx)("span",{className:"shrink-0 text-xs font-medium",children:"Channels"}),(0,s.jsx)(g.$,{type:"button",variant:"ghost",size:"sm",className:"h-6 shrink-0 px-2 text-xs",onClick:e.handleToggleAllPages,children:e.selectedPageIds.length===e.availablePageIds.length?"Deselect All":"Select All"})]}),(0,s.jsx)("div",{className:"max-h-[min(320px,45vh)] space-y-1 overflow-y-auto overscroll-contain pr-0.5",role:"listbox","aria-label":"Channel Filter Options",children:e.availablePageIds.map(t=>{let a=e.selectedPageIds.includes(t),n=e.pageNamesMap[t]||t;return(0,s.jsx)("button",{type:"button",role:"option","aria-selected":a,onClick:()=>e.handleTogglePage(t),className:`w-full truncate rounded-md px-2 py-1.5 text-left text-xs transition-colors ${a?"bg-blue-50 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300":"text-gray-700 hover:bg-gray-50 dark:text-gray-300 dark:hover:bg-gray-800"}`,children:n},t)})})]})]})]})})})]})]}),(0,s.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,s.jsx)(p.F,{className:N?"min-h-0 flex-1":"min-h-0 flex-1 rounded-b-lg",children:k?(0,s.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,s.jsx)("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading Notifications..."})}):(0,s.jsxs)("div",{className:"animate-in fade-in duration-200",children:[0===e.filteredNotifications.length?y||e.searchQuery.trim()?(0,s.jsxs)("div",{className:"flex h-64 flex-col items-center justify-center p-4",children:[(0,s.jsx)(m.A,{className:"mb-4 h-12 w-12 text-gray-300 dark:text-gray-600"}),(0,s.jsx)("p",{className:"text-center text-gray-500 dark:text-gray-400",children:e.searchQuery.trim()?`No notifications match "${e.searchQuery.trim()}".`:e.emptyStateText}),e.searchQuery.trim()&&(0,s.jsx)(g.$,{variant:"ghost",size:"sm",className:"mt-2 text-xs",onClick:()=>e.setSearchQuery(""),children:"Clear Search"})]}):null:(0,s.jsxs)("div",{children:[Object.entries(e.groupedNotifications).map(([t,a])=>(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"sticky top-0 z-10 bg-gray-50 px-4 py-2 text-xs font-semibold uppercase tracking-wide text-gray-500 dark:bg-gray-900 dark:text-gray-400",children:t}),a.map(a=>{let n=a.primary,r=a.items.map(e=>
1e.id),i=b===n.id,l=e.selectedIds.includes(n.id);return"system"===n.category?(0,s.jsx)(z,{notification:n,onDismiss:t=>{var s;return s=a.count,void((0,T._K)(s).needsConfirm?A({ids:t,count:s}):e.handleDismissNotifications(t))},onNavigate:D,isDismissing:r.some(t=>e.dismissingIds.includes(t)),isSelected:i,stackCount:a.count,isChecked:l,onToggleChecked:$?e.handleToggleSelected:void 0,stackIds:r,groupLabel:t},a.key):(0,s.jsx)(F,{notification:n,onMarkAsRead:e.handleMarkAsRead,onNavigate:D,stackCount:a.count,isActive:i,isChecked:l,onToggleChecked:$?e.handleToggleSelected:void 0,stackIds:r,groupLabel:t},a.key)})]},t)),e.hasMore&&(0,s.jsx)("div",{className:"p-4 text-center",children:(0,s.jsx)(g.$,{variant:"outline",onClick:e.handleLoadMore,disabled:e.isLoading,children:e.isLoading?"Loading...":"Load More"})})]}),a]})})}),(0,s.jsx)(O.Lt,{open:null!==S,onOpenChange:e=>!e&&A(null),children:(0,s.jsxs)(O.EO,{children:[(0,s.jsxs)(O.wd,{children:[(0,s.jsx)(O.r7,{children:E.needsConfirm?E.title:"Dismiss Notification?"}),(0,s.jsx)(O.$v,{children:E.needsConfirm?E.body:null})]}),(0,s.jsxs)(O.ck,{children:[(0,s.jsx)(O.Zr,{children:"Cancel"}),(0,s.jsx)(O.Rx,{onClick:()=>{S&&e.handleDismissNotifications(S.ids),A(null)},children:E.needsConfirm?E.confirmLabel:"Dismiss"})]})]})})]})}},55370:(e,t,a)=>{a.d(t,{C3:()=>b,Ei:()=>r,GC:()=>m,J6:()=>i,Om:()=>o,Tv:()=>v,_K:()=>y,j1:()=>x,ku:()=>f,pd:()=>c,v4:()=>p});let s=new Set(["error","critical"]),n=new Set(["new_conversation_start","pending_message","pending_comment"]),r=e=>{let t=e.processing_status;return"failed"===t||s.has(e.severity)?{tone:"danger",label:"Failed",iconKey:"error"}:"action_needed"===t||"warning"===e.severity?{tone:"warning",label:"Needs Action",iconKey:"warning"}:"processing"===t?{tone:"info",label:"In Progress",iconKey:"processing"}:"success"===t||"success"===e.severity||"resolved"===e.status?{tone:"success",label:"Ready",iconKey:"success"}:{tone:"neutral",label:"Info",iconKey:"info"}},i=e=>{let t=r(e);return"neutral"!==t.tone?t.label:e.read?"Read":"Unread"},l=e=>e?e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()):"Not Set",o=e=>"new_conversation_start"===e.type?"New Conversation":"pending_message"===e.type?"Message Waiting":"pending_comment"===e.type?"Comment Waiting":"system"===e.category?"Account Update":"Notification",c=e=>"new_conversation_start"===e.type?"A customer started a new conversation.":"pending_message"===e.type?"A customer message is waiting for a reply.":"pending_comment"===e.type?"A comment needs review.":"system"===e.category?"failed"===e.processing_status||"error"===e.severity||"critical"===e.severity?"Something in your workspace needs attention.":"processing"===e.processing_status?"Numod is still working on this update.":"There is an update about your workspace.":"There is a new notification in your workspace.",d={page_reconnect_needed:"Reconnect",instagram_reconnect_needed:"Reconnect",shopify_reconnect_needed:"Reconnect",payment_failed:"Update Payment",trial_ending:"Choose Plan",limit_reached:"Upgrade Plan"},u=[["/settings?tab=integrations","View Integrations"],["/settings?tab=reports","View Report"],["/settings?tab=billing","View Billing"],["/settings?tab=account","View Account"],["/settings?tab=team","View Team"],["/products/","View Product"],["/pages/web/","View Website"],["/pixel-events","View Websites"],["/products","View Websites"],["/knowledge-base","View Sources"],["/messages?tab=tickets","View Ticket"],["/messages","Open Conversation"],["/tickets","View Ticket"],["/flows","View Flows"]],m=e=>{if("new_conversation_start"===e.type||"pending_message"===e.type)return"Open Conversation";if("pending_comment"===e.type)return"Review Comment";if("system"===e.category){let t=d[e.type];if(t)return t;let a=e.action_url||"";return u.find(([e])=>a.startsWith(e))?.[1]??"See Details"}return"Open"},g=(e,...t)=>{for(let a of t){let t=e.meta_data?.[a];if("string"==typeof t&&t.trim())return t.trim()}return null},h=(...e)=>{let t=e.filter((e,t,a)=>!!e&&a.indexOf(e)===t);return t.length>0?t.join(" / "):null},x=e=>{let t=h(e.contact_name,e.page_name,e.platform?l(e.platform):null);if(t)return t;let a=g(e,"source_name","page_name"),s=g(e,"platform");switch(e.entity_type){case"meta_page":case"page_connection":case"instagram_connection":return h(a,s?l(s):null)||(e.type.startsWith("instagram_")?"Instagram Account":"Facebook Page");case"facebook_auth":return"Meta Account";case"shopify_connection":case"shopify_product_import":return a||e.entity_id||"Shopify Store";case"knowledge_base_batch":case"knowledge_base_source":case"knowledge_source":return a||"Knowledge Base";case"report_run":case"report":return a||"Reports";case"product":case"product_import":case"product_sync":return a||"Product Catalog";case"subscription":case"billing":return"Billing";case"usage_limit":{let t=g(e,"usage_type")||e.entity_id;return t?`${l(t)} Limit`:"Plan Limits"}case"ticket":return g(e,"actor_name")||"Tickets";case"team_security":return"Team & Security";case"flow_run":case"stage_run":return h(g(e,"flow_name"),g(e,"stage_name"))||"Flows";default:return"Numod"}},f=e=>"system"===e.category?{message:"System updates, including critical account and integration alerts, are always delivered in-app and are not controlled by Notification Settings.",settingsHref:null}:n.has(e.type)?{message:`${o(e)} delivery can be changed in Notification Settings.`,settingsHref:"/settings?tab=notifications"}:null,p=e=>{switch("pending_comment"===e.type?"comment":"new_conversation_start"===e.type?"conversation":"pending_message"===e.type?"message":"other"){case"comment":return"Comment";
1case"conversation":return"New Conversation";case"message":return"Message";default:return"Update"}},y=e=>e<=1?{needsConfirm:!1}:{needsConfirm:!0,title:`Dismiss ${e} Notifications?`,body:`These ${e} grouped items will be removed from your list.`,confirmLabel:`Dismiss ${e}`},v=e=>e?.total_unread??0,b="Nothing needs you right now."},70521:(e,t,a)=>{a.d(t,{$v:()=>f,EO:()=>m,Lt:()=>o,Rx:()=>p,Zr:()=>y,ck:()=>h,r7:()=>x,tv:()=>c,wd:()=>g});var s=a(95155),n=a(12115),r=a(86835),i=a(91337),l=a(4474);let o=r.bL,c=r.l9,d=r.ZL,u=n.forwardRef(({className:e,...t},a)=>(0,s.jsx)(r.hJ,{className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:a}));u.displayName=r.hJ.displayName;let m=n.forwardRef(({className:e,...t},a)=>(0,s.jsxs)(d,{children:[(0,s.jsx)(u,{}),(0,s.jsx)(r.UC,{ref:a,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));m.displayName=r.UC.displayName;let g=({className:e,...t})=>(0,s.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-2 text-center sm:text-left",e),...t});g.displayName="AlertDialogHeader";let h=({className:e,...t})=>(0,s.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});h.displayName="AlertDialogFooter";let x=n.forwardRef(({className:e,...t},a)=>(0,s.jsx)(r.hE,{ref:a,className:(0,i.cn)("text-lg font-semibold",e),...t}));x.displayName=r.hE.displayName;let f=n.forwardRef(({className:e,...t},a)=>(0,s.jsx)(r.VY,{ref:a,className:(0,i.cn)("text-sm text-muted-foreground",e),...t}));f.displayName=r.VY.displayName;let p=n.forwardRef(({className:e,...t},a)=>(0,s.jsx)(r.rc,{ref:a,className:(0,i.cn)((0,l.r)(),e),...t}));p.displayName=r.rc.displayName;let y=n.forwardRef(({className:e,...t},a)=>(0,s.jsx)(r.ZD,{ref:a,className:(0,i.cn)((0,l.r)({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));y.displayName=r.ZD.displayName},84437:(e,t,a)=>{a.d(t,{S:()=>c});var s=a(95155),n=a(12115),r=a(47279),i=a(82482),l=a(94514),o=a(91337);let c=n.forwardRef(({className:e,...t},a)=>(0,s.jsx)(r.bL,{ref:a,className:(0,o.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",e),...t,children:(0,s.jsx)(r.C1,{className:(0,o.cn)("flex items-center justify-center text-current"),children:"indeterminate"===t.checked?(0,s.jsx)(i.A,{className:"h-4 w-4"}):(0,s.jsx)(l.A,{className:"h-4 w-4"})})}));c.displayName=r.bL.displayName},84776:(e,t,a)=>{a.d(t,{IM:()=>l,Kv:()=>d,Up:()=>o,ou:()=>c});var s=a(33894),n=a(8238),r=a(92451),i=a(12115);function l(e){let t=(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":1===t.length?t[0].slice(0,2).toUpperCase():(t[0][0]+t[1][0]).toUpperCase()}function o(e){if(e?.name)return e.name;let t=e?.meta_id||"";return t.startsWith("wc_")?`Anonymous Web Visitor ${t.slice(3,11)}`:"Anonymous"}function c(e){if("string"!=typeof e)return!1;let t=e.trim();return/^anonymous\b/i.test(t)||/^unknown$/i.test(t)}function d(e){switch((e||"").toLowerCase()){case"facebook":return{icon:(0,i.createElement)(s.A,{className:"h-4 w-4 text-blue-600","aria-hidden":!0}),label:"Facebook"};case"instagram":return{icon:(0,i.createElement)(n.A,{className:"h-4 w-4 text-pink-600","aria-hidden":!0}),label:"Instagram"};case"web_chat":return{icon:(0,i.createElement)(r.A,{className:"h-4 w-4 text-green-600","aria-hidden":!0}),label:"Web"};default:return{icon:(0,i.createElement)(r.A,{className:"h-4 w-4 text-gray-500","aria-hidden":!0}),label:e||"Unknown"}}}},89101:(e,t,a)=>{a.d(t,{Q:()=>l});var s=a(95155),n=a(84776),r=a(95885),i=a(10969);function l({name:e,iconClassName:t="h-5 w-5",children:a,...o}){return(0,s.jsx)(r.q5,{...o,children:(0,n.ou)(e)?(0,s.jsx)(i.s,{className:t,"aria-hidden":"true"}):a})}},91679:(e,t,a)=>{a.d(t,{X:()=>l});var s=a(12115);let n="numod-sidebar-collapsed",r="numod-sidebar-collapsed-change";function i(e){document.documentElement.dataset.sidebarCollapsed=String(e),document.documentElement.style.setProperty("--numod-sidebar-width",e?"5rem":"14rem")}
1function l(){let[e,t]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=window.matchMedia("(max-width: 1279px)"),a=()=>{let a=!!e.matches||"true"===window.localStorage.getItem(n);t(a),i(a)};a();let s=()=>a();e.addEventListener("change",s);let l=e=>{t(e.detail)};return window.addEventListener(r,l),()=>{e.removeEventListener("change",s),window.removeEventListener(r,l)}},[]);let a=(0,s.useCallback)(e=>{t(e),i(e),window.localStorage.setItem(n,String(e)),window.dispatchEvent(new CustomEvent(r,{detail:e}))},[]),l=(0,s.useCallback)(()=>{a(!e)},[e,a]);return{collapsed:e,setSidebarCollapsed:a,toggleCollapsed:l}}},94566:(e,t,a)=>{a.d(t,{R:()=>u});var s=a(95155),n=a(12115),r=a(94514),i=a(7915),l=a(68459),o=a(4474),c=a(293);let d=({className:e="border-gray-400"})=>(0,s.jsx)("span",{className:`h-3 w-3 animate-spin rounded-full border border-t-transparent ${e}`});function u({referenceId:e,onModerated:t,variant:a="inline"}){let[m,g]=(0,n.useState)(null),h=async a=>{let s=parseInt(e,10);if(Number.isNaN(s))return void console.error("Invalid comment ID:",e);
1g(a);try{"approve"===a?await (0,c.approveComment)(s):"hide"===a?await (0,c.hideComment)(s.toString()):await (0,c.deleteComment)(s),t()}catch(e){console.error(`Error ${a}ing comment:`,e)}finally{g(null)}},x="stacked"===a,f=x?"h-8 flex-1 text-xs":"h-7 px-2 text-xs";return(0,s.jsxs)("div",{className:x?"flex items-center gap-2":"flex items-center gap-1",onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(o.$,{variant:x?"outline":"ghost",size:"sm",className:f,onClick:()=>h("approve"),disabled:null!==m,children:"approve"===m?(0,s.jsx)(d,{}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.A,{className:"mr-1 h-3 w-3"}),"Approve"]})}),(0,s.jsx)(o.$,{variant:x?"outline":"ghost",size:"sm",className:f,onClick:()=>h("hide"),disabled:null!==m,children:"hide"===m?(0,s.jsx)(d,{}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.A,{className:"mr-1 h-3 w-3"}),"Hide"]})}),(0,s.jsx)(o.$,{variant:x?"outline":"ghost",size:"sm",className:`${f} text-red-600 hover:text-red-700 dark:text-red-400 dark:hover:text-red-300`,onClick:()=>h("delete"),disabled:null!==m,children:"delete"===m?(0,s.jsx)(d,{className:"border-red-400"}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.A,{className:"mr-1 h-3 w-3"}),"Delete"]})})]})}},95885:(e,t,a)=>{a.d(t,{BK:()=>o,eu:()=>l,q5:()=>c});var s=a(95155),n=a(12115),r=a(59446),i=a(91337);let l=n.forwardRef(({className:e,...t},a)=>(0,s.jsx)(r.bL,{ref:a,className:(0,i.cn)("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));l.displayName=r.bL.displayName;let o=n.forwardRef(({className:e,...t},a)=>{let n={...t,loading:t.loading||"lazy",decoding:t.decoding||"async"};return(0,s.jsx)(r._V,{ref:a,className:(0,i.cn)("aspect-square h-full w-full",e),...n})});o.displayName=r._V.displayName;let c=n.forwardRef(({className:e,...t},a)=>(0,s.jsx)(r.H4,{ref:a,className:(0,i.cn)("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));c.displayName=r.H4.displayName}}]);
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.