1"use strict";(self.webpackChunkreact_saas_template=self.webpackChunkreact_saas_template||[]).push([[5244],{12110:(e,t,i)=>{i.d(t,{A:()=>f});var n=i(58168),r=i(98587),o=i(65043),a=i(58387),s=i(98610),l=i(34535),c=i(98206),d=i(61596),h=i(92532),m=i(72372);function p(e){return(0,m.Ay)("MuiCard",e)}(0,h.A)("MuiCard",["root"]);var u=i(70579);const x=["className","raised"],v=(0,l.Ay)(d.A,{name:"MuiCard",slot:"Root",overridesResolver:(e,t)=>t.root})((()=>({overflow:"hidden"}))),f=o.forwardRef((function(e,t){const i=(0,c.b)({props:e,name:"MuiCard"}),{className:o,raised:l=!1}=i,d=(0,r.A)(i,x),h=(0,n.A)({},i,{raised:l}),m=(e=>{const{classes:t}=e;return(0,s.A)({root:["root"]},p,t)})(h);return(0,u.jsx)(v,(0,n.A)({className:(0,a.A)(m.root,o),elevation:l?8:void 0,ref:t,ownerState:h},d))}))},26494:(e,t,i)=>{i.d(t,{A:()=>v});var n=i(58168),r=i(98587),o=i(65043),a=i(58387),s=i(98610),l=i(34535),c=i(98206),d=i(92532),h=i(72372);function m(e){return(0,h.Ay)("MuiCardContent",e)}(0,d.A)("MuiCardContent",["root"]);var p=i(70579);const u=["className","component"],x=(0,l.Ay)("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})((()=>({padding:16,"&:last-child":{paddingBottom:24}}))),v=o.forwardRef((function(e,t){const i=(0,c.b)({props:e,name:"MuiCardContent"}),{className:o,component:l="div"}=i,d=(0,r.A)(i,u),h=(0,n.A)({},i,{component:l}),v=(e=>{const{classes:t}=e;return(0,s.A)({root:["root"]},m,t)})(h);return(0,p.jsx)(x,(0,n.A)({as:l,className:(0,a.A)(v.root,o),ownerState:h,ref:t},d))}))},39336:(e,t,i)=>{i.d(t,{A:()=>f});var n=i(98587),r=i(58168),o=i(65043),a=i(58387),s=i(98610),l=i(67266),c=i(34535),d=i(98206),h=i(5658),m=i(70579);const p=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],u=(0,c.Ay)("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:i}=e;return[t.root,i.absolute&&t.absolute,t[i.variant],i.light&&t.light,"vertical"===i.orientation&&t.vertical,i.flexItem&&t.flexItem,i.children&&t.withChildren,i.children&&"vertical"===i.orientation&&t.withChildrenVertical,"right"===i.textAlign&&"vertical"!==i.orientation&&t.textAlignRight,"left"===i.textAlign&&"vertical"!==i.orientation&&t.textAlignLeft]}})((e=>{let{theme:t,ownerState:i}=e;return(0,r.A)({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(t.vars||t).palette.divider,borderBottomWidth:"thin"},i.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},i.light&&{borderColor:t.vars?"rgba(".concat(t.vars.palette.dividerChannel," / 0.08)"):(0,l.X4)(t.palette.divider,.08)},"inset"===i.variant&&{marginLeft:72},"middle"===i.variant&&"horizontal"===i.orientation&&{marginLeft:t.spacing(2),marginRight:t.spacing(2)},"middle"===i.variant&&"vertical"===i.orientation&&{marginTop:t.spacing(1),marginBottom:t.spacing(1)},"vertical"===i.orientation&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},i.flexItem&&{alignSelf:"stretch",height:"auto"})}),(e=>{let{ownerState:t}=e;return(0,r.A)({},t.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}})}),(e=>{let{theme:t,ownerState:i}=e;return(0,r.A)({},i.children&&"vertical"!==i.orientation&&{"&::before, &::after":{width:"100%",borderTop:"thin solid ".concat((t.vars||t).palette.divider),borderTopStyle:"inherit"}})}),(e=>{let{theme:t,ownerState:i}=e;return(0,r.A)({},i.children&&"vertical"===i.orientation&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:"thin solid ".concat((t.vars||t).palette.divider),borderLeftStyle:"inherit"}})}),(e=>{let{ownerState:t}=e;return(0,r.A)({},"right"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},"left"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})})),x=(0,c.Ay)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{const{ownerState:i}=e;return[t.wrapper,"vertical"===i.orientation&&t.wrapperVertical]}})((e=>{let{theme:t,ownerState:i}=e;return(0,r.A)({display:"inline-block",paddingLeft:"calc(".concat(t.spacing(1)," * 1.2)"),paddingRight:"calc(".concat(t.spacing(1)," * 1.2)")},"vertical"===i.orientation&&{paddingTop:"calc(".concat(t.spacing(1)," * 1.2)"),paddingBottom:"calc(".concat(t.spacing(1)," * 1.2)")})})),v=o.forwardRef((function(e,t){const i=(0,d.b)({props:e,name:"MuiDivider"}),{absolute:o=!1,children:l,className:c,component:v=(l?"div":"hr"),flexItem:f=!1,light:g=!1,orientation:A="horizontal",role:b=("hr"!==v?"separator":void 0),textAlign:w="center",variant:j="fullWidth"}=i,y=(0,n.A)(i,p),S=(0,r.A)({},i,{absolute:o,component:v,flexItem:f,light:g,orientation:A,role:b,textAlign:w,variant:j}),C=(e=>{const{absolute:t,children:i,classes:n,flexItem:r,light:o,orientation:a,textAlign:l,variant:c}=e,d={root:["root",t&&"absolute",c,o&&"light","vertical"===a&&"vertical",r&&"flexItem",i&&"withChildren",i&&"vertical"===a&&"withChildrenVertical","right"===l&&"vertical"!==a&&"textAlignRight","left"===l&&"vertical"!==a&&"textAlignLeft"],wrapper:["wrapper","vertical"===a&&"wrapperVertical"]};return(0,s.A)(d,h.K,n)})(S);return(0,m.jsx)(u,(0,r.A)({as:v,className:(0,a.A)(C.root,c),role:b,ref:t,ownerState:S},y,{children:l?(0,m.jsx)(x,{className:C.wrapper,ownerState:S,children:l}):null}))}));v.muiSkipListHighlight=!0;const f=v},69131:(e,t,i)=>{i.d(t,{A:()=>
1o});var n=i(59662),r=i(70579);const o=(0,n.A)([(0,r.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),(0,r.jsx)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime")},85244:(e,t,i)=>{i.r(t),i.d(t,{default:()=>I});var n=i(65043),r=i(96446),o=i(85865),a=i(11906),s=i(14194),l=i(61596),c=i(35721),d=i(30681),h=i(48734),m=i(43845),p=i(12110),u=i(26494),x=i(39336),v=i(53193),f=i(79190),g=i(69285),A=i(32143),b=i(67784),w=i(59662),j=i(70579);const y=(0,w.A)((0,j.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");var S=i(59893),C=i(69131);const N=(0,w.A)((0,j.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send"),I=()=>{const[e,t]=(0,n.useState)([]),[i,w]=(0,n.useState)(null),[I,R]=(0,n.useState)(""),[M,T]=(0,n.useState)("Angelina"),[k,L]=(0,n.useState)(!1),[W,z]=(0,n.useState)(""),[E,B]=(0,n.useState)(""),D=async()=>
1{try{L(!0);const e=await fetch("/api/chatbot/admin/conversations"),i=await e.json();e.ok?t(i.conversations):B(i.error)}catch(e){B("Failed to fetch conversations")}finally{L(!1)}};(0,n.useEffect)((()=>{D();const e=setInterval(D,1e4);return"Notification"in window&&"default"===Notification.permission&&Notification.requestPermission(),()=>clearInterval(e)}),[]),(0,n.useEffect)((()=>{if(e.length>0&&"Notification"in window&&"granted"===Notification.permission){const n=e[0];var t,i;if(Date.now()-new Date(n.updatedAt).getTime()<3e4)new Notification("\ud83d\udea8 New Hugo Escalation!",{body:"From: ".concat(n.userEmail||"Anonymous",'\nMessage: "').concat(null===(t=n.lastMessage)||void 0===t||null===(i=t.content)||void 0===i?void 0:i.substring(0,50),'..."'),icon:"/favicon.ico",tag:n.sessionId})}}),[e]);const F=e=>new Date(e).toLocaleString();return(0,j.jsxs)(r.A,{sx:{p:3,maxWidth:1200,mx:"auto"},children:[(0,j.jsxs)(r.A,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3},children:[(0,j.jsx)(o.A,{variant:"h4",component:"h1",children:"Hugo Admin Chat"}),(0,j.jsxs)(r.A,{sx:{display:"flex",gap:1},children:[(0,j.jsx)(a.A,{variant:"outlined",startIcon:(0,j.jsx)(y,{}),onClick:D,disabled:k,children:"Refresh"}),(0,j.jsx)(a.A,{variant:"contained",color:"warning",onClick:()=>{"Notification"in window?"granted"===Notification.permission?new Notification("\ud83e\uddea Test Notification",{body:"This is how escalation notifications will appear!",icon:"/favicon.ico"}):"default"===Notification.permission?Notification.requestPermission().then((e=>{"granted"===e&&new Notification("\ud83e\uddea Test Notification",{body:"Notification permissions granted! You'll now receive escalation alerts.",icon:"/favicon.ico"})})):alert("Notifications are blocked. Enable them in your browser settings for escalation alerts."):alert("This browser doesn't support notifications.")},children:"Test Notifications"})]})]}),W&&(0,j.jsx)(s.A,{severity:"success",sx:{mb:2},onClose:()=>z(""),children:W}),E&&(0,j.jsx)(s.A,{severity:"error",sx:{mb:2},onClose:()=>B(""),children:E}),(0,j.jsxs)(r.A,{sx:{display:"flex",gap:3},children:[(0,j.jsxs)(l.A,{sx:{flex:1,p:2},children:[(0,j.jsxs)(o.A,{variant:"h6",gutterBottom:!0,children:["Escalated Conversations (",e.length,")"]}),0===e.length?(0,j.jsx)(o.A,{color:"text.secondary",sx:{textAlign:"center",py:4},children:"No escalated conversations at the moment! \ud83c\udf89"}):(0,j.jsx)(c.A,{children:e.map(((e,t)=>{var n,a;return(0,j.jsx)(d.Ay,{sx:{cursor:"pointer",borderRadius:1,mb:1,bgcolor:(null===i||void 0===i?void 0:i.sessionId)===e.sessionId?"action.selected":"transparent","&:hover":{bgcolor:"action.hover"}},onClick:()=>w(e),children:(0,j.jsx)(h.A,{primary:(0,j.jsxs)(r.A,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,j.jsx)(S.A,{fontSize:"small",color:"primary"}),(0,j.jsx)(o.A,{variant:"subtitle2",children:e.userEmail||"User #".concat(e.sessionId.slice(-6))}),(0,j.jsx)(m.A,{size:"small",label:e.status,color:"warning"})]}),secondary:(0,j.jsxs)(r.A,{children:[(0,j.jsxs)(o.A,{variant:"body2",color:"text.secondary",noWrap:!0,children:['Last: "',null===(n=e.lastMessage)||void 0===n||null===(a=n.content)||void 0===a?void 0:a.substring(0,60),'..."']}),(0,j.jsxs)(r.A,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[(0,j.jsx)(C.A,{fontSize:"small",color:"action"}),(0,j.jsx)(o.A,{variant:"caption",color:"text.secondary",children:F(e.updatedAt)}),(0,j.jsxs)(o.A,{variant:"caption",color:"primary",children:[e.messageCount," messages"]})]})]})})},e.sessionId)}))})]}),(0,j.jsxs)(l.A,{sx:{flex:1,p:2},children:[(0,j.jsx)(o.A,{variant:"h6",gutterBottom:!0,children:"Send Response"}),i?(0,j.jsxs)(r.A,{children:[(0,j.jsx)(p.A,{sx:{mb:3,bgcolor:"grey.50"},children:(0,j.jsxs)(u.A,{children:[(0,j.jsxs)(o.A,{variant:"subtitle1",gutterBottom:!0,children:["Conversation with ",i.userEmail||"Anonymous User"]}),(0,j.jsx)(x.A,{sx:{my:1}}),(0,j.jsx)(r.A,{sx:{maxHeight:300,overflowY:"auto"},children:i.messages.map(((e,t)=>(0,j.jsxs)(r.A,{sx:{mb:2},children:[(0,j.jsxs)(o.A,{variant:"caption",color:"text.secondary",children:["user"===e.role?"\ud83d\udc64 User":"\ud83e\udd16 AI"," \u2022 ",F(e.timestamp)]}),(0,j.jsx)(o.A,{variant:"body2",sx:{mt:.5},children:e.content}),t<i.messages.length-1&&(0,j.jsx)(x.A,{sx:{mt:1}})]},t)))})]})}),(0,j.jsx)(r.A,{sx:{display:"flex",gap:2,mb:2},children:(0,j.jsxs)(v.A,{size:"small",sx:{minWidth:120},children:[(0,j.jsx)(f.A,{children:"Your Name"}),(0,j.jsxs)(g.A,{value:M,label:"Your Name",onChange:e=>T(e.target.value),children:[(0,j.jsx)(A.A,{value:"Angelina",children:"Angelina"}),(0,j.jsx)(A.A,{value:"Faris",children:"Faris"})]})]})}),(0,j.jsx)(b.A,{fullWidth:!0,multiline:!0,rows:4,value:I,onChange:e=>R(e.target.value),placeholder:"Type your response to the user...",variant:"outlined",sx:{mb:2}}),(0,j.jsx)(a.A,{variant:"contained",startIcon:(0,j.jsx)(N,{}),onClick:async()=>
1{if(i&&I.trim())try{L(!0);const e=await fetch("/api/chatbot/admin-response",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:i.sessionId,message:I.trim(),adminName:M})}),t=await e.json();e.ok?(z("Response sent successfully to ".concat(i.userEmail||"user","!")),R(""),w(null),D()):B(t.error)}catch(e){B("Failed to send response")}finally{L(!1)}},disabled:k||!I.trim(),fullWidth:!0,children:"Send Response to User"})]}):(0,j.jsx)(o.A,{color:"text.secondary",sx:{textAlign:"center",py:4},children:"Select a conversation to respond"})]})]})]})}}}]); 2//# sourceMappingURL=5244.68cc8384.chunk.js.map
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.