1import{r as e,j as t}from"./vendor-react-DbsVTsKS.js";import{d as s,ak as a,al as r,M as l,_ as o,am as i,an as n,ao as d,ap as c,aq as g,ar as x,as as u,at as m,au as b,av as h,aw as p,ax as y,ay as f,az as v,aA as N,aB as j}from"./index-Dirtnqiz.js";import{Q as w,aX as k,aY as E}from"./app-constants-D3ojol5R.js";import{u as A}from"./vendor-i18n-DiTKF2NC.js";import{X as S,k as C,b as D,M as R,Y as H,_ as T,r as P,o as $,$ as M,a0 as U,I,x as L,W as _}from"./vendor-ui-B_XW8Pya.js";import{M as O,r as G}from"./vendor-markdown-CiT-VfZw.js";import"./vendor-charts-CG7l663-.js";import"./vendor-otel-B3hnpEUX.js";import"./vendor-virtuoso-CT6D0QVj.js";const z=({isOpen:l,onClose:o,onSelectSession:i,onNewChat:n,currentSessionId:d,userId:c,refreshTrigger:g})=>{const{t:x}=A(),{isDarkMode:u}=s(),[m,b]=e.useState([]),[h,p]=e.useState(!1),[y,f]=e.useState(null),[v,N]=e.useState(null),[j,w]=e.useState(""),[k,E]=e.useState(!1);e.useEffect(()=>{l&&(async()=>{if(c){l&&p(!0),f(null);try{const e=((await a(c,"ORPHANED_GENERAL","CHAT",0,50)).content||[]).sort((e,t)=>new Date(t.lastActivityAt)-new Date(e.lastActivityAt));b(e)}catch(e){f(x("chatHistory.errorLoading"))}finally{p(!1)}}})()},[l,c,g]);const T=async e=>{if(j.trim()){E(!0);try{await r(e,c,j.trim()),b(t=>t.map(t=>t.id===e?{...t,title:j.trim()}:t)),N(null)}catch(t){f(x("chatHistory.errorUpdatingTitle"))}finally{E(!1)}}},P=()=>{N(null),w("")},$=e=>{const t=new Date(e),s=new Date,a=(s-t)/36e5;return a<24?t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}):a<168?t.toLocaleDateString("en-US",{weekday:"short",hour:"numeric",minute:"2-digit"}):t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:t.getFullYear()!==s.getFullYear()?"numeric":void 0})};return t.jsxs(t.Fragment,{children:[l&&t.jsx("div",{className:"absolute inset-0 bg-black bg-opacity-50 z-40 transition-opacity duration-300",onClick:o}),t.jsxs("div",{className:`\n absolute top-0 left-0 h-full z-50\n w-80 max-w-[85%]\n ${u?"bg-[#0a1628]":"bg-white"}\n shadow-2xl\n transform transition-transform duration-300 ease-in-out\n ${l?"translate-x-0":"-translate-x-full"}\n flex flex-col\n `,children:[t.jsxs("div",{className:`\n flex items-center justify-between p-4 border-b\n ${u?"border-[#1e3a5f]":"border-gray-200"}\n `,children:[t.jsx("h2",{className:"text-lg font-semibold "+(u?"text-white":"text-gray-900"),children:x("chatHistory.title")}),t.jsx("button",{onClick:o,className:`\n p-2 rounded-full transition-colors\n ${u?"hover:bg-[#1e3a5f] text-gray-400 hover:text-white":"hover:bg-gray-100 text-gray-600 hover:text-gray-900"}\n `,"aria-label":x("common.close"),children:t.jsx(S,{className:"w-5 h-5"})})]}),t.jsx("div",{className:"p-4",children:t.jsxs("button",{onClick:()=>{n(),o()},className:`\n w-full flex items-center justify-center gap-2 px-4 py-3 rounded-lg\n font-medium transition-colors\n ${u?"bg-blue-600 hover:bg-blue-700 text-white":"bg-blue-500 hover:bg-blue-600 text-white"}\n `,children:[t.jsx(C,{className:"w-5 h-5"}),x("chatHistory.newChat")]})}),t.jsxs("div",{className:"flex-1 overflow-y-auto",children:[h&&t.jsx("div",{className:"p-4 text-center "+(u?"text-gray-400":"text-gray-600"),children:x("common.loading")}),y&&t.jsx("div",{className:"p-4 mx-4 rounded-lg text-sm "+(u?"bg-red-900/30 text-red-300":"bg-red-50 text-red-600"),children:y}),!h&&!y&&0===m.length&&t.jsx("div",{className:"p-4 text-center "+(u?"text-gray-500":"text-gray-600"),children:x("chatHistory.noSessions")}),!h&&m.length>0&&t.jsx("div",{className:"space-y-1 px-2",children:m.map(e=>t.jsx("div",{className:`\n rounded-lg transition-colors\n ${d===e.id?u?"bg-blue-900/30 border border-blue-700":"bg-blue-50 border border-blue-200":u?"hover:bg-[#1e3a5f] border border-transparent":"hover:bg-gray-100 border border-transparent"}\n `,children:v===e.id?t.jsxs("div",{className:"p-3 space-y-2",children:[t.jsx("input",{type:"text",value:j,onChange:e=>w(e.target.value),className:`\n w-full px-2 py-1 rounded border text-sm\n ${u?"bg-[#0a1628] border-[#2d4a6f] text-white":"bg-white border-gray-300 text-gray-900"}\n focus:outline-none focus:ring-2 focus:ring-blue-500\n `,disabled:k,autoFocus:!0,onKeyDown:t=>{"Enter"===t.key&&T(e.id),"Escape"===t.key&&P()}}),t.jsxs("div",{className:"flex gap-2",children:[t.jsxs("button",{onClick:()=>T(e.id),disabled:k||!j.trim(),className:`\n flex-1 flex items-center justify-center gap-1 px-3 py-1.5 rounded text-sm\n ${u?"bg-blue-600 hover:bg-blue-700 text-white disabled:bg-blue-800":"bg-blue-500 hover:bg-blue-600 text-white disabled:bg-blue-300"}\n disabled:cursor-not-allowed\n `,children:[t.jsx(D,{className:"w-4 h-4"}),x("common.save")]}),t.jsx("button",{onClick:P,disabled:k,className:`\n px-3 py-1.5 rounded text-sm\n ${u?"bg-gray-700 hover:bg-gray-600 text-gray-300":"bg-gray-200 hover:bg-gray-300 text-gray-700"}\n `,children:x("common.cancel")})]})]}):t.jsxs("div",{className:"flex items-start gap-2 p-3",children:[t.jsx("button",{onClick:()=>{i(e),o()},className:"flex-1 text-left",children:t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx(R,{className:"w-4 h-4 mt-0.5 flex-shrink-0 "+(u?"text-gray-400":"text-gray-500")}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate "+(u?"text-white":"text-gray-900"),children:e.title}),t.jsxs("p",{className:"text-xs mt-0.5 "+(u?"text-gray-500":"text-gray-600"),children:[$(e.lastActivityAt)," · ",e.totalMessages||0," ",x("chatHistory.messages")]})]})]})}),t.jsx("button",{onClick:()=>(e=>{N(e.id),w(e.title)})(e),className:`\n p-1.5 rounded transition-colors flex-shrink-0\n ${u?"hover:bg-[#2d4a6f] text-gray-400 hover:text-white":"hover:bg-gray-200 text-gray-600 hover:text-gray-900"}\n `,"aria-label":x("chatHistory.editTitle"),children:t.jsx(H,{className:"w-4 h-4"})})]})},e.id))})]})]})]})},F=e=>{if(!e)return"";try{const t=/[Zz]|[+-]\d{2}:?\d{2}$/.test(e)?e:e+"Z",s=new Date(t);return isNaN(s.getTime())?"":s.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}catch{return""}},K=e=>{if(!e||"string"!=typeof e)return e;let t=e.replace(/(\d+)-(\d+)/g,"**$1-$2**");return t=t.replace(/(\w+)\s+vs\s+(\w+)/gi,"**$1** vs **$2**"),t=t.replace(/(\d+\.?\d*%)/g,"**$1**"),t},q=e=>{if(!e)return"English";const t=N.find(t=>t.code===e);return t?t.name:"English"},Y=["MATCH","LEAGUE","TEAM","PLAYER","ORPHANED_MATCH","ORPHANED_GENERAL"],W=(e,t)=>"ORPHANED_GENERAL"===t?(e=>[e("sokapal.chat.prompts.general.topLeagues"),e("sokapal.chat.prompts.general.upcomingMatches"),e("sokapal.chat.prompts.general.playerComparison"),e("sokapal.chat.prompts.general.tacticalAnalysis"),e("sokapal.chat.prompts.general.transferNews")])(e):(e=>[e("sokapal.chat.prompts.lastMatches"),e("sokapal.chat.prompts.topScorers"),e("sokapal.chat.prompts.headToHead"),e("sokapal.chat.prompts.topForm"),e("sokapal.chat.prompts.injuries")])(e);function Z({contextType:a=null,contextId:N=null,isEmbedded:C=!1,matchTitle:R=null}){var Z,B,Q,V;const{matchDetailsData:X}=e.useContext(l),{isDarkMode:J}=s(),{t:ee}=A(),te=w(),{isAuthenticated:se,user:ae}=o(),[re,le]=e.useState(null),[oe,ie]=e.useState(null),[ne,de]=e.useState(null),[ce,ge]=e.useState([]),[xe,ue]=e.useState(""),[me,be]=e.useState(!1),[he,pe]=e.useState(!1),[ye,fe]=e.useState(null),[ve,Ne]=e.useState(!0),[je,we]=e.useState(null),[ke,Ee]=e.useState({}),[Ae,Se]=e.useState({}),[Ce,De]=e.useState({}),[Re,He]=e.useState({}),[Te,Pe]=e.useState((null==(Z=k[0])?void 0:Z.code)||"google-gemini"),[$e,Me]=e.useState(!1),[Ue,Ie]=e.useState(!1),[Le,_e]=e.useState(!1),[Oe,Ge]=e.useState(0),[ze,Fe]=e.useState(!1),[Ke,qe]=e.useState(""),[Ye,We]=e.useState(!1),[Ze,Be]=e.useState(null),Qe=e.useRef(null),Ve=e.useRef(null),Xe=e.useRef(null),Je=e.useRef(null),et=e.useRef(null),[tt,st]=e.useState(80),at=e.useRef(!1);e.useEffect(()=>a?Y.includes(a)?N?void de(null):(de(ee("sokapal.errors.contextIdRequired",{contextType:a})),void Ne(!1)):(de(ee("sokapal.errors.unsupportedContextType",{contextType:a,types:Y.join(", ")})),void Ne(!1)):(de(ee("sokapal.errors.contextTypeRequired",{types:Y.join(", ")})),void Ne(!1)),[a,N,ee]),e.useEffect(()=>{if(ne)return;if(!a||!N)return;const e=N.toString();let t="";switch(a){case"MATCH":case"ORPHANED_MATCH":t=R||(X?`${X.match.home_name} vs ${X.match.away_name}`:"ORPHANED_MATCH"===a?ee("sokapal.chat.title.orphanedMatch"):ee("sokapal.chat.title.match",{id:N}));break;case"LEAGUE":t=(null==X?void 0:X.league)?ee("sokapal.chat.title.leagueNamed",{name:X.league.name}):ee("sokapal.chat.title.league",{id:N});break;case"TEAM":t=ee("sokapal.chat.title.team",{id:N});break;case"PLAYER":t=ee("sokapal.chat.title.player",{id:N});break;default:t=ee("sokapal.chat.title.default",{type:a,id:N})}le(e),ie(t)},[a,N,X,R,ne,ee]),e.useEffect(()=>{at.current=!1},[null==ye?void 0:ye.id]);const rt=async e=>{var t;if("ORPHANED_GENERAL"===a&&e&&!at.current&&((null==(t=e.title)?void 0:t.startsWith("
1Chat - "))||"New Chat"===e.title)){at.current=!0;try{const t=await j(e.id);if(!t)return;await r(e.id,te,t);const s={...e,title:t};fe(s),v(s),Ge(e=>e+1)}catch(s){at.current=!1}}};e.useEffect(()=>{re&&te&&!ne&&(async()=>{if(!ne){if(!re||!te)return we(ee("errors.chat.missingParameters")),void Ne(!1);if("ORPHANED_GENERAL"!==a)try{Ne(!0),we(null);const e="CHAT",t=u(te,a,e,re);if(t){fe(t);const e=m(t.id);if(e&&e.length>0){const t=e.map((e,t)=>({id:e.id||e.messageId||`existing_${t}`,role:e.getDisplayRole?e.getDisplayRole():e.role||"ASSISTANT",text:e.getDisplayContent?e.getDisplayContent():e.content||e.text||"No content",timestamp:e.timestamp||(new Date).toISOString(),suggestedPrompts:e.suggestedPrompts||[],isUser:e.isUserMessage?e.isUserMessage():"USER"===e.role||"user"===e.sender,isAssistant:e.isAssistantMessage?e.isAssistantMessage():"assistant"===e.role||"assistant"===e.sender}));ge(t),gt(t),setTimeout(()=>{ot()},100)}else ge([]);t.prompts&&t.prompts.length}else{ge([]);const t=q(localStorage.getItem("selectedLanguage")),s={userId:te,title:"ORPHANED_GENERAL"===a?g():oe||`${a} Session - ${re}`,contextKey:re.toString(),contextType:a,sessionType:e,language:t},r=await x(s);fe(r),"ORPHANED_GENERAL"===a&&Ge(e=>e+1)}}catch(e){we(ee("errors.chat.initializationFailed",{error:e.message}))}finally{Ne(!1)}else try{Ne(!0),we(null);const e=await n(te,"ORPHANED_GENERAL","CHAT",6);if(e){fe(e);try{const t=await d(e.id,te,0,100);if(t&&t.content&&t.content.length>0){const e=t.content.map((e,t)=>{var s,a,r;return{id:e.id||`api_${t}`,role:(null==(s=e.role)?void 0:s.toLowerCase())||"assistant",text:e.content||"No content",timestamp:e.timestamp||(new Date).toISOString(),suggestedPrompts:e.suggestedPrompts||[],isUser:"USER"===(null==(a=e.role)?void 0:a.toUpperCase()),isAssistant:"ASSISTANT"===(null==(r=e.role)?void 0:r.toUpperCase())}});ge(e),gt(e),setTimeout(()=>ot(),100)}else ge([])}catch(t){ge([])}}else{ge([]);const e=q(localStorage.getItem("selectedLanguage")),t={userId:te,title:g(),contextKey:c(),contextType:"ORPHANED_GENERAL",sessionType:"CHAT",language:e},s=await x(t);fe(s),Ge(e=>e+1)}}catch(e){we(ee("chatHistory.errorCreatingSession"))}finally{Ne(!1)}}})()},[re,a,te,oe,ne]);const lt=()=>{if(!Ve.current)return!0;const{scrollTop:e,scrollHeight:t,clientHeight:s}=Ve.current;return t-e-s<50};e.useEffect(()=>{ce.length>0&&(lt()?ot():pe(!0))},[ce]);const ot=()=>{var e;null==(e=Qe.current)||e.scrollIntoView({behavior:"smooth"}),pe(!1)};e.useEffect(()=>{Xe.current&&(Xe.current.style.height="auto",Xe.current.style.height=Math.min(Xe.current.scrollHeight,200)+"px")},[xe]),e.useEffect(()=>{const e=et.current;if(!e)return;const t=new ResizeObserver(([e])=>{st(e.contentRect.height)});return t.observe(e),()=>t.disconnect()},[]),e.useEffect(()=>{const e=e=>{Je.current&&!Je.current.contains(e.target)&&Ie(!1)};if(Ue)return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[Ue]);const it=async()=>{if(!xe.trim()||!ye)return;const e=xe.trim();ue(""),lt()||pe(!0);try{const t=b(ye.id,e);ge(e=>[...e,{role:t.getDisplayRole(),text:t.getDisplayContent(),timestamp:t.timestamp,suggestedPrompts:[],isUser:t.isUserMessage(),isAssistant:t.isAssistantMessage()}]),Me(!0);const s=await h({sessionId:ye.id,message:e,userId:te,audio:"string"});ge(t=>{const a=[...t,{id:s.id||s.messageId||`temp_${Date.now()}`,role:s.getDisplayRole()||"assistant",text:s.getDisplayContent()||ee("sokapal.chat.defaultResponse",{query:e}),timestamp:s.timestamp,suggestedPrompts:s.suggestedPrompts||[],isUser:s.isUserMessage(),isAssistant:s.isAssistantMessage()}];return setTimeout(()=>gt(a),100),a}),rt(ye)}catch(t){if(429===t.status){const e=se?(null==ae?void 0:ae.subscriptionTier)&&"free"!==ae.subscriptionTier?"subscriber":"freemium":"guest";Be(e)}else ge(e=>[...e,{role:"assistant",text:ee("sokapal.errors.providerUnavailable"),isError:!0}])}finally{Me(!1)}},nt=async e=>{if(ye){lt()||pe(!0);try{const t=b(ye.id,e);ge(e=>[...e,{role:t.getDisplayRole(),text:t.getDisplayContent(),timestamp:t.timestamp,suggestedPrompts:[],isUser:t.isUserMessage(),isAssistant:t.isAssistantMessage()}]),Me(!0);const s=await h({sessionId:ye.id,message:e,userId:te,audio:"string"});ge(t=>{const a=[...t,{id:s.id||s.messageId||`temp_${Date.now()}`,role:s.getDisplayRole()||"assistant",text:s.getDisplayContent()||ee("sokapal.chat.defaultResponse",{query:e}),timestamp:s.timestamp,suggestedPrompts:s.suggestedPrompts||[],isUser:s.isUserMessage(),isAssistant:s.isAssistantMessage()}];return setTimeout(()=>gt(a),100),a}),rt(ye)}catch(t){if(429===t.status){const e=se?(null==ae?void 0:ae.subscriptionTier)&&"free"!==ae.subscriptionTier?"subscriber":"freemium":"guest";Be(e)}else ge(e=>[...e,{role:"assistant",text:ee("sokapal.errors.providerUnavailable"),isError:!0}])}finally{Me(!1)}}},dt=async(e,t,s=null)=>{if(ye&&re)try{if(0===t)return void Se(t=>({...t,[e]:!0}));await ct(e,t,"",s)}catch(a){}},ct=async(e,t,s="",r=null)=>{try{const l={chatMessageId:r||`temp_${e}`,userId:te,rating:t,comment:s,contextType:a,contextId:re};await p(l),Ee(s=>({...s,[e]:t})),r&&r!==`temp_${e}
1`&&y(te,r,t,s),Se(t=>({...t,[e]:!1})),De(t=>({...t,[e]:""}))}catch(l){}},gt=e=>{if(te&&e&&0!==e.length)try{const t=f(te);if(!t)return;const s={},a={};e.forEach((e,r)=>{if(e.id&&t[e.id]){const l=t[e.id];s[r]=l.rating,l.comment&&(a[r]=l.comment)}}),Object.keys(s).length>0&&Ee(s),Object.keys(a).length>0&&De(a)}catch(t){}},xt=async()=>{if(ye&&Ke.trim()){We(!0);try{await r(ye.id,te,Ke.trim());const e={...ye,title:Ke.trim()};fe(e),v(e),Fe(!1),Ge(e=>e+1)}catch(e){we(ee("chatHistory.errorUpdatingTitle"))}finally{We(!1)}}},ut=()=>{Fe(!1),qe("")};return t.jsxs("div",{className:"flex flex-col h-full relative overflow-hidden",children:["ORPHANED_GENERAL"===a&&t.jsx(z,{isOpen:Le,onClose:()=>_e(!1),onSelectSession:async e=>{if("ORPHANED_GENERAL"===a)try{Ne(!0),we(null),fe(e);const t=(await d(e.id,te,0,100)).content.map(e=>({role:e.role.toLowerCase(),text:e.content,timestamp:e.timestamp,model:e.model,provider:e.provider,tokenUsage:e.tokenUsage,cost:e.cost,messageId:e.id,suggestedPrompts:e.suggestedPrompts}));ge(t),gt(t)}catch(t){we(ee("chatHistory.errorLoadingSession"))}finally{Ne(!1)}},onNewChat:async()=>{if("ORPHANED_GENERAL"===a)try{Ne(!0),we(null),ge([]),fe(null);const e={userId:te,title:g(),contextKey:c(),contextType:"ORPHANED_GENERAL",sessionType:"CHAT"},t=await x(e);fe(t),Ge(e=>e+1)}catch(e){we(ee("chatHistory.errorCreatingSession"))}finally{Ne(!1)}},currentSessionId:null==ye?void 0:ye.id,userId:te,refreshTrigger:Oe}),ne&&t.jsxs("div",{className:"p-4 border text-sm flex-shrink-0 "+(J?"bg-red-900 border-red-700 text-red-200":"bg-red-50 border-red-200 text-red-700"),children:[t.jsxs("strong",{children:[ee("sokapal.errors.configError"),":"]})," ",ne]}),!ne&&ve&&t.jsx("div",{className:"flex items-center justify-center p-8 flex-1",children:t.jsx("div",{className:J?"text-gray-400":"text-gray-500",children:ee("sokapal.chat.initializing")})}),!ne&&je&&t.jsx("div",{className:"p-4 border text-sm flex-shrink-0 "+(J?"bg-red-900 border-red-700 text-red-200":"bg-red-50 border-red-200 text-red-700"),children:je}),!ne&&!ve&&!je&&t.jsxs(t.Fragment,{children:["ORPHANED_GENERAL"===a&&ye&&t.jsx("div",{className:"px-4 pt-4 pb-2 border-b "+(J?"border-[#1e3a5f]":"border-gray-200"),children:ze?t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{onClick:()=>_e(!0),className:"p-2 rounded-lg transition-colors flex-shrink-0 "+(J?"hover:bg-[#1e3a5f] text-gray-400 hover:text-white":"hover:bg-gray-100 text-gray-500 hover:text-gray-900"),"aria-label":ee("chatHistory.openHistory"),children:t.jsx(T,{className:"w-5 h-5"})}),t.jsx("input",{type:"text",value:Ke,onChange:e=>qe(e.target.value),className:`flex-1 px-3 py-2 rounded border text-base font-semibold ${J?"bg-[#0a1628] border-[#2d4a6f] text-white":"bg-white border-gray-300 text-gray-900"} focus:outline-none focus:ring-2 focus:ring-blue-500`,disabled:Ye,autoFocus:!0,onKeyDown:e=>{"Enter"===e.key&&xt(),"Escape"===e.key&&ut()}}),t.jsx("button",{onClick:xt,disabled:Ye||!Ke.trim(),className:`p-2 rounded transition-colors flex-shrink-0 ${J?"bg-blue-600 hover:bg-blue-700 text-white disabled:bg-blue-800":"bg-blue-500 hover:bg-blue-600 text-white disabled:bg-blue-300"} disabled:cursor-not-allowed`,title:ee("common.save"),children:t.jsx(D,{className:"w-5 h-5"})}),t.jsx("button",{onClick:ut,disabled:Ye,className:"p-2 rounded transition-colors flex-shrink-0 "+(J?"bg-gray-700 hover:bg-gray-600 text-gray-300":"bg-gray-200 hover:bg-gray-300 text-gray-700"),title:ee("common.cancel"),children:t.jsx(S,{className:"w-5 h-5"})})]}):t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{onClick:()=>_e(!0),className:"p-2 rounded-lg transition-colors flex-shrink-0 "+(J?"hover:bg-[#1e3a5f] text-gray-400 hover:text-white":"hover:bg-gray-100 text-gray-500 hover:text-gray-900"),"aria-label":ee("chatHistory.openHistory"),children:t.jsx(T,{className:"w-5 h-5"})}),t.jsx("h2",{className:"flex-1 text-lg font-semibold "+(J?"text-white":"text-gray-900"),children:ye.title}),t.jsx("button",{onClick:()=>{ye&&(qe(ye.title),Fe(!0))},className:"p-2 rounded transition-colors flex-shrink-0 "+(J?"hover:bg-[#1e3a5f] text-gray-400 hover:text-white":"hover:bg-gray-100 text-gray-500 hover:text-gray-900"),title:ee("chatHistory.editTitle"),children:t.jsx(H,{className:"w-4 h-4"})})]})}),t.jsxs("div",{className:"flex-1 overflow-y-auto p-4 space-y-3 relative pb-48",ref:Ve,onScroll:()=>{lt()&&pe(!1)},children:[(null==ye?void 0:ye.prompts)&&ye.prompts.length>0||W(ee,a).length>0?t.jsx("div",{className:"shadow-sm border rounded-lg mb-4 "+(J?"bg-gray-800 border-gray-700":"bg-white border-gray-200"),children:t.jsxs("div",{className:"p-4",children:[t.jsxs("h2",{className:"text-sm mb-2 flex items-center gap-2 "+(J?"text-gray-300":"text-gray-500"),children:[t.jsx(P,{className:"w-4 h-4"})," ",ee("sokapal.chat.trySaying")]}),t.jsx("div",{className:"flex flex-wrap gap-2",children:((null==ye?void 0:ye.prompts)&&ye.prompts.length>0?ye.prompts:W(ee,a)).map((e,s)=>t.jsx("button",{onClick:()=>nt(e),className:"px-3 py-1 border rounded text-sm "+(J?"border-gray-600 text-gray-300 hover:bg-gray-700":"border-gray-300 text-gray-700 hover:bg-gray-100"),children:e},s))})]})}):null,void 0,ce&&ce.length>0?ce.map((e,s)=>t.jsxs("div",{className:"p-3 rounded shadow text-sm "+("user"===e.role?J?"ml-auto bg-blue-900 text-left max-w-[80%]":"ml-auto bg-blue-100 text-left max-w-[80%]":e.isError?J?"bg-red-900 border border-red-700 w-full text-left":"bg-red-50 border border-red-200 w-full text-left":J?"bg-gray-800 w-full text-left":"bg-gray-50 w-full text-left"),children:[t.jsx("span",{className:`block font-semibold mb-1 capitalize ${"user"===e.role?"text-right":"text-left"} ${e.isError?J?"text-red-400":"text-red-600":J?"text-gray-200":""}`,children:"user"===e.role?ee("sokapal.chat.you"):e.isError?`â ï¸ ${ee("sokapal.chat.error")}`:ee("sokapal.chat.assistant")}),"user"===e.role?t.jsx("div",{className:J?"text-gray-200":"",children:t.jsx("div",{className:"whitespace-pre-wrap",children:e.text})}):e.isError?t.jsxs("div",{children:[t.jsx("div",{className:"whitespace-pre-wrap "+(J?"text-red-300":"text-red-700"),children:e.text}),(()=>{let e=-1,a="";for(let t=s-1;t>=0;t--)if("user"===ce[t].role){e=t,a=ce[t].text;break}return a?t.jsx("div",{className:"mt-2 pt-2 border-t "+(J?"border-red-800":"border-red-300"),children:t.jsxs("button",{onClick:()=>(async(e,t)=>{if(ye&&e.trim()){He(e=>({...e,[t]:!0})),lt()||pe(!0);try{const t=b(ye.id,e);ge(e=>[...e,{role:t.getDisplayRole(),text:t.getDisplayContent(),timestamp:t.timestamp,suggestedPrompts:[],isUser:t.isUserMessage(),isAssistant:t.isAssistantMessage()}]),Me(!0);const s=await h({sessionId:ye.id,message:e,userId:te,audio:"string"});ge(t=>{const a=[...t,{id:s.id||s.messageId||`temp_${Date.now()}`,role:s.getDisplayRole()||"assistant",text:s.getDisplayContent()||ee("sokapal.chat.defaultResponse",{query:e}),timestamp:s.timestamp,suggestedPrompts:s.suggestedPrompts||[],isUser:s.isUserMessage(),isAssistant:s.isAssistantMessage()}];return setTimeout(()=>gt(a),100),a})}catch(s){if(429===s.status){const e=se?(null==ae?void 0:ae.subscriptionTier)&&"free"!==ae.subscriptionTier?"subscriber":"freemium":"guest";Be(e)}else ge(e=>[...e,{role:"assistant",text:ee("sokapal.errors.providerUnavailable"),isError:!0}])}finally{He(e=>({...e,[t]:!1})),Me(!1)}}})(a,e),disabled:Re[e],className:"flex items-center gap-1 px-2 py-1 text-xs rounded transition-colors disabled:opacity-50 disabled:cursor-not-allowed "+(J?"text-red-400 hover:text-red-300 hover:bg-red-950":"text-red-600 hover:text-red-800 hover:bg-red-50"),title:ee("sokapal.chat.retryThisMessage"),children:[t.jsx($,{className:"w-3 h-3 "+(Re[e]?"animate-spin":"")}
1),Re[e]?ee("sokapal.chat.retrying"):ee("sokapal.chat.retry")]})}):null})()]}):t.jsx(O,{remarkPlugins:[G],components:{p:({children:e})=>t.jsx("p",{className:"mb-3 last:mb-0 leading-relaxed "+(J?"text-gray-200":""),children:e}),strong:({children:e})=>t.jsx("strong",{className:"font-bold px-1 py-0.5 rounded "+(J?"text-blue-300 bg-blue-950":"text-blue-900 bg-blue-50"),children:e}),em:({children:e})=>t.jsx("em",{className:"italic "+(J?"text-gray-300":"text-gray-800"),children:e}),ul:({children:e})=>t.jsx("ul",{className:"list-disc list-inside mb-3 space-y-1 ml-2",children:e}),ol:({children:e})=>t.jsx("ol",{className:"list-decimal list-inside mb-3 space-y-1 ml-2",children:e}),li:({children:e})=>t.jsx("li",{className:"text-sm leading-relaxed "+(J?"text-gray-200":""),children:e}),h1:({children:e})=>t.jsx("h1",{className:"text-lg font-bold mb-3 border-b pb-1 "+(J?"text-gray-100 border-gray-700":"text-gray-900 border-gray-200"),children:e}),h2:({children:e})=>t.jsx("h2",{className:"text-base font-bold mb-2 "+(J?"text-gray-100":"text-gray-900"),children:e}),h3:({children:e})=>t.jsx("h3",{className:"text-sm font-bold mb-2 "+(J?"text-gray-100":"text-gray-900"),children:e}),h4:({children:e})=>t.jsx("h4",{className:"text-sm font-semibold mb-1 "+(J?"text-gray-100":"text-gray-900"),children:e}),code:({children:e})=>t.jsx("code",{className:"px-1.5 py-0.5 rounded text-xs font-mono "+(J?"bg-gray-700 text-gray-200":"bg-gray-100"),children:e}),blockquote:({children:e})=>t.jsx("blockquote",{className:"border-l-4 pl-3 py-1 italic mb-3 "+(J?"border-blue-700 bg-blue-950 text-gray-300":"border-blue-300 bg-blue-50 text-gray-700"),children:e}),br:()=>t.jsx("br",{className:"my-1"}),hr:()=>t.jsx("hr",{className:"my-4 "+(J?"border-gray-700":"border-gray-200")}),a:({children:e,href:s})=>t.jsx("a",{href:s,className:"underline "+(J?"text-blue-400 hover:text-blue-300":"text-blue-600 hover:text-blue-800"),target:"_blank",rel:"noopener noreferrer",children:e}),table:({children:e})=>t.jsx("div",{className:"my-4 overflow-x-auto",children:t.jsx("table",{className:"min-w-full border-collapse border text-sm rounded-lg shadow-sm "+(J?"border-gray-700 bg-gray-900":"border-gray-300 bg-white"),children:e})}),thead:({children:e})=>t.jsx("thead",{className:J?"bg-gradient-to-r from-blue-950 to-blue-900":"bg-gradient-to-r from-blue-50 to-blue-100",children:e}),tbody:({children:e})=>t.jsx("tbody",{className:"divide-y "+(J?"divide-gray-700":"divide-gray-200"),children:e}),tr:({children:e,...s})=>{var a,r,l;const o="tr"===(null==(a=s.node)?void 0:a.tagName)&&"thead"===(null==(l=null==(r=s.node)?void 0:r.parent)?void 0:l.tagName)?J?"border-b-2 border-blue-800":"border-b-2 border-blue-200":J?"hover:bg-gray-800 transition-colors duration-150":"hover:bg-gray-50 transition-colors duration-150";return t.jsx("tr",{className:o,children:e})},th:({children:e})=>t.jsx("th",{className:"border px-4 py-3 text-left font-bold "+(J?"border-gray-700 text-gray-200 bg-blue-950":"border-gray-300 text-gray-800 bg-blue-50"),children:e}),td:({children:e})=>t.jsx("td",{className:"border px-4 py-3 "+(J?"border-gray-700 text-gray-300":"border-gray-300 text-gray-700"),children:e})},children:K(e.text)}),e.timestamp&&t.jsx("div",{className:"text-xs mt-1 "+(J?"text-gray-500":"text-gray-400"),children:F(e.timestamp)}),"user"!==e.role&&e.suggestedPrompts&&e.suggestedPrompts.length>0&&t.jsxs("div",{className:"mt-2 pt-2 border-t "+(J?"border-gray-700":"border-gray-200"),children:[t.jsx("div",{className:"text-xs mb-1 "+(J?"text-gray-400":"text-gray-500"),children:ee("sokapal.chat.suggestedFollowUps")}),t.jsx("div",{className:"flex flex-wrap gap-1",children:e.suggestedPrompts.map((e,s)=>t.jsx("button",{onClick:()=>nt(e),className:"px-2 py-1 text-xs border rounded "+(J?"border-gray-600 text-gray-300 hover:bg-gray-700":"border-gray-300 text-gray-600 hover:bg-gray-100"),children:e},s))})]}),"user"!==e.role&&!e.isError&&t.jsxs("div",{className:"mt-3 pt-2 border-t "+(J?"border-gray-700":"border-gray-100"),children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-xs "+(J?"text-gray-400":"text-gray-500"),children:ee("sokapal.feedback.wasHelpful")}),t.jsx("button",{onClick:()=>dt(s,1,e.id),disabled:void 0!==ke[s],className:`p-1 rounded transition-colors ${1===ke[s]?J?"bg-green-900 text-green-300":"bg-green-100 text-green-600":J?"text-gray-500 hover:text-green-400 hover:bg-green-950":"text-gray-400 hover:text-green-600 hover:bg-green-50"} disabled:cursor-not-allowed`,title:ee("sokapal.feedback.thumbsUp"),children:t.jsx(M,{className:"w-4 h-4"})}),t.jsx("button",{onClick:()=>dt(s,0,e.id),disabled:void 0!==ke[s],className:`p-1 rounded transition-colors ${0===ke[s]?J?"bg-red-900 text-red-300":"bg-red-100 text-red-600":J?"text-gray-500 hover:text-red-400 hover:bg-red-950":"text-gray-400 hover:text-red-600 hover:bg-red-50"} disabled:cursor-not-allowed`,title:ee("sokapal.feedback.thumbsDown"),children:t.jsx(U,{className:"w-4 h-4"})}),void 0!==ke[s]&&t.jsx("span",{className:"text-xs ml-2 "+(J?"text-gray-400":"text-gray-500"),children:ee("sokapal.feedback.thankYou")})]}),Ae[s]&&t.jsxs("div",{className:"mt-2",children:[t.jsx("textarea",{value:Ce[s]||"",onChange:e=>{return t=s,a=e.target.value,void De(e=>({...e,[t]:a}));var t,a},placeholder:ee("sokapal.feedback.commentPlaceholder"),className:"w-full px-3 py-2 text-sm border rounded resize-none "+(J?"bg-gray-700 border-gray-600 text-gray-200 placeholder-gray-400":"border-gray-300"),rows:"2"}),t.jsxs("div",{className:"flex gap-2 mt-2",children:[t.jsx("button",{onClick:()=>(async(e,t=null)=>{const s=Ce[e]||"";await ct(e,0,s,t)})(s,e.id),className:"px-3 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700",children:ee("sokapal.feedback.submit")}),t.jsx("button",{onClick:()=>Se(e=>({...e,[s]:!1})),className:"px-3 py-1 text-xs rounded "+(J?"bg-gray-600 text-gray-200 hover:bg-gray-500":"bg-gray-300 text-gray-700 hover:bg-gray-400"),children:ee("sokapal.feedback.cancel")})]})]})]}),"user"!==e.role&&!e.isError&&s===ce.findIndex(e=>"user"!==e.role&&!e.isError)&&t.jsxs("div",{className:"mt-3 pt-2 border-t flex items-center gap-1.5 "+(J?"border-gray-700 text-gray-400":"border-gray-100 text-gray-400"),children:[t.jsx(I,{className:"w-3 h-3 flex-shrink-0"}),t.jsx("span",{className:"text-xs italic",children:ee("sokapal.chat.disclaimer")})]})]},s)):t.jsxs("div",{className:"text-center py-8 "+(J?"text-gray-400":"text-gray-500"),children:[void 0,ee("sokapal.chat.noMessages")]}),$e&&t.jsxs("div",{className:"p-3 rounded shadow text-sm w-full text-left "+(J?"bg-gray-800":"bg-gray-50"),children:[t.jsx("span",{className:"block font-semibold mb-1 "+(J?"text-gray-200":""),children:ee("sokapal.chat.assistant")}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("div",{className:"flex gap-1",children:[t.jsx("div",{className:"w-2 h-2 rounded-full animate-bounce "+(J?"bg-blue-400":"bg-blue-600"),style:{animationDelay:"0ms"}}),t.jsx("div",{className:"w-2 h-2 rounded-full animate-bounce "+(J?"bg-blue-400":"bg-blue-600"),style:{animationDelay:"150ms"}}),t.jsx("div",{className:"w-2 h-2 rounded-full animate-bounce "+(J?"bg-blue-400":"bg-blue-600"),style:{animationDelay:"300ms"}})]}),t.jsx("span",{className:"text-xs "+(J?"text-gray-400":"text-gray-500"),children:ee("sokapal.chat.thinking")})]})]}),t.jsx("div",{ref:Qe})]}),he&&t.jsx("div",{className:(C?"absolute":"fixed")+" inset-x-0 flex justify-center z-20 pointer-events-none",style:{bottom:`calc(${tt}px + 10px + ${C?"0px":"2.5rem"})`},children:t.jsxs("button",{onClick:ot,className:"pointer-events-auto bg-blue-500 text-white rounded-full px-4 py-2 shadow-lg flex items-center gap-1 hover:bg-blue-600 transition-colors",children:[t.jsx("span",{className:"text-xs",children:ee("sokapal.chat.newMessage")}),t.jsx(L,{className:"w-4 h-4"})]})}),t.jsx("div",{ref:et,className:`${C?"absolute bottom-0":"fixed bottom-10"} inset-x-0 border-t z-10 ${J?"bg-gray-800 border-gray-700":"bg-white border-gray-200"}`,children:E?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"px-4 pt-3",children:t.jsx("textarea",{ref:Xe,value:xe,onChange:e=>ue(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),it())},placeholder:ee("sokapal.chat.inputPlaceholder"),className:"w-full px-3 py-2 border rounded-lg resize-none focus:outline-none focus:ring-2 transition-all "+(J?"bg-gray-700 border-gray-600 text-gray-200 placeholder-gray-400 focus:ring-blue-500":"bg-white border-gray-300 text-gray-900 placeholder-gray-500 focus:ring-blue-500"),disabled:!ye,rows:"1",style:{minHeight:"40px",maxHeight:"200px"}})}),t.jsxs("div",{className:"flex items-center justify-between px-4 py-2",children:[t.jsx("div",{className:"flex items-center gap-2",children:t.jsxs("div",{className:"relative",ref:Je,children:[t.jsxs("button",{onClick:()=>ye?Ie(!Ue):null,disabled:!ye,className:`flex items-center gap-2 pl-3 pr-3 py-2 text-sm border rounded-md cursor-pointer focus:outline-none focus:ring-2 transition-colors min-w-[160px] ${J?"bg-gray-700 border-gray-600 text-gray-200 hover:bg-gray-600 focus:ring-blue-500":"bg-white border-gray-300 text-gray-700 hover:bg-gray-50 focus:ring-blue-500"} disabled:opacity-50 disabled:cursor-not-allowed`,children:[t.jsx("img",{src:null==(B=k.find(e=>e.code===Te))?void 0:B.icon,alt:null==(Q=k.find(e=>e.code===Te))?void 0:Q.name,className:"w-5 h-5"}),t.jsx("span",{className:"flex-1 text-left",children:null==(V=k.find(e=>e.code===Te))?void 0:V.name}),t.jsx(L,{className:`w-4 h-4 transition-transform ${Ue?"rotate-180":""} ${J?"text-gray-400":"text-gray-500"}`})]}),Ue&&t.jsx("div",{className:"absolute bottom-full left-0 mb-2 w-full border rounded-md shadow-lg overflow-hidden z-20 "+(J?"bg-gray-700 border-gray-600":"bg-white border-gray-300"),children:k.map(e=>t.jsxs("button",{onClick:()=>{Pe(e.code),Ie(!1)},className:"w-full flex items-center gap-2 px-3 py-2.5 text-sm transition-colors "+(Te===e.code?J?"bg-blue-900 text-blue-200":"bg-blue-50 text-blue-700":J?"text-gray-200 hover:bg-gray-600":"text-gray-700 hover:bg-gray-100"),children:[t.jsx("img",{src:e.icon,alt:e.name,className:"w-5 h-5"}),t.jsx("span",{className:"flex-1 text-left",children:e.name}),Te===e.code&&t.jsx("span",{className:"text-xs "+(J?"text-blue-400":"text-blue-600"),children:"â"})]},e.code))})]})}),t.jsx("div",{className:"flex items-center gap-2",children:t.jsx("button",{onClick:it,disabled:!ye||!xe.trim(),className:"p-3 rounded-full flex items-center justify-center transition-colors disabled:opacity-50 disabled:cursor-not-allowed "+(J?"bg-blue-600 text-white hover:bg-blue-700 disabled:bg-gray-700 disabled:text-gray-500":"bg-blue-600 text-white hover:bg-blue-700 disabled:bg-gray-300 disabled:text-gray-500"),title:ee("sokapal.chat.sendMessage"),children:t.jsx(_,{className:"w-4 h-4 rotate-45"})})})]})]}):t.jsxs("div",{className:"px-4 py-3 flex items-end gap-2",children:[t.jsx("textarea",{ref:Xe,value:xe,onChange:e=>ue(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),it())},placeholder:ee("sokapal.chat.inputPlaceholder"),className:"flex-1 px-3 py-2 border rounded-lg resize-none focus:outline-none focus:ring-2 transition-all "+(J?"bg-gray-700 border-gray-600 text-gray-200 placeholder-gray-400 focus:ring-blue-500":"bg-white border-gray-300 text-gray-900 placeholder-gray-500 focus:ring-blue-500"),disabled:!ye,rows:"1",style:{minHeight:"40px",maxHeight:"200px"}}),t.jsx("button",{onClick:it,disabled:!ye||!xe.trim(),className:"flex-shrink-0 p-3 rounded-full flex items-center justify-center transition-colors disabled:opacity-50 disabled:cursor-not-allowed "+(J?"bg-blue-600 text-white hover:bg-blue-700 disabled:bg-gray-700 disabled:text-gray-500":"bg-blue-600 text-white hover:bg-blue-700 disabled:bg-gray-300 disabled:text-gray-500"),title:ee("sokapal.chat.sendMessage"),children:t.jsx(_,{className:"w-4 h-4 rotate-45"})})]})})]}),t.jsx(i,{isOpen:!!Ze,onClose:()=>Be(null),variant:Ze||"guest"})]})}
1export{Z as default};
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.