T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/lavocat.ca/private_html/.next/server/chunks/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.ca/private_html/.next/server/chunks/2081.js
exports.id=2081,exports.ids=[2081],exports.modules={22792:(e,t,r)=>{"use strict";r.d(t,{D:()=>c,N:()=>s});var o=r(8732),a=r(82015);let n={primary:"#9f1fad","primary-dark":"#a1127f","primary-light":"#d785e0",secondary:"#e0d252","secondary-dark":"#bde830","secondary-light":"#ebe4ad",background:"#F8FAFC","background-dark":"#EDF2F7","background-light":"#FFFFFF",text:"#222222","text-dark":"#000000","text-light":"#4A5568",accent:"#26d9c7","accent-dark":"#17a4cf","accent-light":"#99e6de",border:"#E2E8F0",gradientStart:"#9f1fad",gradientEnd:"#a1127f"},i=(0,a.createContext)({theme:n,setTheme:()=>{},resetTheme:()=>{}}),s=({children:e})=>{let[t,r]=(0,a.useState)(n),[s,c]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{c(!0)},[]),(0,a.useEffect)(()=>{if(s&&"undefined"!=typeof document){let e=document.documentElement;Object.entries(t).forEach(([t,r])=>{e.style.setProperty(`--color-${t}`,r)})}},[t,s]),(0,o.jsx)(i.Provider,{value:{theme:t,setTheme:e=>{r(t=>({...t,...e}))},resetTheme:()=>{r(n)}},children:e})},c=()=>(0,a.useContext)(i)},26051:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var o=r(8732),a=r(82015),n=r.n(a);class i extends n().Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error("Error caught by boundary:",e,t)}render(){return this.state.hasError?(0,o.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-gray-100",children:(0,o.jsxs)("div",{className:"max-w-md w-full p-6 bg-white rounded-lg shadow-lg",children:[(0,o.jsx)("h2",{className:"text-2xl font-bold text-red-600 mb-4",children:"Something went wrong"}),(0,o.jsx)("p",{className:"text-gray-600 mb-4",children:"We apologize for the inconvenience. Please try refreshing the page."}),(0,o.jsx)("button",{onClick:()=>window.location.reload(),className:"bg-primary text-white px-4 py-2 rounded hover:bg-primary-dark transition-colors",children:"Refresh Page"})]})}):this.props.children}}let s=i},32081:(e,t,r)=>{"use strict";r.a(e,async(e,o)=>{try{r.r(t),r.d(t,{default:()=>j});var a=r(8732),n=r(7085),i=r.n(n);r(60979);var s=r(4722),c=r(36653),l=r.n(c);r(21031);var d=r(44233);r(82015);var m=r(26051),p=r(22792),u=r(67001),g=r(9733),b=r(42893);r(48847);var h=r(49788),f=r.n(h),x=r(56178),w=r(88989),k=r(52801),y=r(83810),v=r(65289),S=e([g,b,w,y,v]);function C(){let{data:e,update:t}=(0,s.useSession)();return null}[g,b,w,y,v]=S.then?(await S)():S,l().configure({showSpinner:!1});let j=function({Component:e,pageProps:{session:t,...r}}){return(0,d.useRouter)(),(0,a.jsx)(m.A,{children:(0,a.jsx)(g.ChakraProvider,{value:g.defaultSystem,children:(0,a.jsxs)(s.SessionProvider,{session:t,children:[(0,a.jsx)(C,{}),(0,a.jsx)(p.N,{children:(0,a.jsx)(k.I,{children:(0,a.jsx)(w.W,{children:(0,a.jsxs)(x.A,{children:[(0,a.jsxs)(f(),{children:[(0,a.jsx)("meta",{charSet:"utf-8",className:"jsx-d529a21e3b94ab1b"}),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1",className:"jsx-d529a21e3b94ab1b"}),(0,a.jsx)("link",{rel:"icon",href:"/favicon.ico",className:"jsx-d529a21e3b94ab1b"}),(0,a.jsx)(i(),{id:"d529a21e3b94ab1b",children:".bg-blue-600{background-color:#2563eb!important}.text-white{color:#fff!important}.px-8{padding-left:2rem!important;padding-right:2rem!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.rounded-xl{-webkit-border-radius:.75rem!important;-moz-border-radius:.75rem!important;border-radius:.75rem!important}.hover\\\\:bg-blue-700:hover{background-color:#1d4ed8!important}.transition-all{-webkit-transition-property:all!important;-moz-transition-timing-function:all!important;-o-transition-timing-function:all!important;transition-property:all!important}.transform{-webkit-transform:translatez(0)!important;-moz-transform:translatez(0)!important;-ms-transform:translatez(0)!important;-o-transform:translatez(0)!important;transform:translatez(0)!important}.hover\\\\:scale-105:hover{-webkit-transform:scale(1.05)!important;-moz-transform:scale(1.05)!important;-ms-transform:scale(1.05)!important;-o-transform:scale(1.05)!important;transform:scale(1.05)!important}.border-2{border-width:2px!important}.border-blue-600{border-color:#2563eb!important}.text-blue-600{color:#2563eb!important}.hover\\\\:bg-blue-50:hover{background-color:#eff6ff!important}.min-h-screen{min-height:100vh!important}.bg-gradient-to-br{background-image:-webkit-linear-gradient(top left,var(--tw-gradient-stops))!important;background-image:-moz-linear-gradient(top left,var(--tw-gradient-stops))!important;background-image:-o-linear-gradient(top left,var(--tw-gradient-stops))!important;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))!important}.from-slate-50{--tw-gradient-from:#f8fafc!important;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(248, 250, 252, 0))!important}.via-white{--tw-gradient-stops:var(--tw-gradient-from), #ffffff, var(--tw-gradient-to, rgba(255, 255, 255, 0))!important}.to-blue-50{--tw-gradient-to:#eff6ff!important}.bg-white{background-color:#fff!important}.backdrop-blur-md{-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important}.border-b{border-bottom-width:1px!important}.border-slate-200{border-color:#e2e8f0!important}.sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0px!important}.z-50{z-index:50!important}.max-w-7xl{max-width:80rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.sm\\\\:px-6{}@media(min-width:640px){.sm\\\\:px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}}.lg\\\\:px-8{}@media(min-width:1024px){.lg\\\\:px-8{padding-left:2rem!important;padding-right:2rem!important}}.flex{display:-webkit-box!important;display:-webkit-flex!important;display:-moz-box!important;display:-ms-flexbox!important;display:flex!important}.justify-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-moz-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-moz-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.h-8{height:2rem!important}.w-8{width:2rem!important}.text-blue-600{color:#2563eb!important}.mr-3{margin-right:.75rem!important}.text-2xl{font-size:1.5rem!important;line-height:2rem!important}.font-bold{font-weight:700!important}.text-slate-900{color:#0f172a!important}.hidden{display:none!important}.md\\\\:flex{}@media(min-width:768px){.md\\\\:flex{display:-webkit-box!important;display:-webkit-flex!important;display:-moz-box!important;display:-ms-flexbox!important;display:flex!important}}.space-x-8>*+*{margin-left:2rem!important}.text-slate-600{color:#475569!important}.hover\\\\:text-blue-600:hover{color:#2563eb!important}.transition-colors{-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;-moz-transition-timing-function:color,background-color,border-color,text-decoration-color,fill,stroke!important;-o-transition-timing-function:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important}.space-x-4>*+*{margin-left:1rem!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.relative{position:relative!important}.overflow-hidden{overflow:hidden!important}.absolute{position:absolute!important}.inset-0{top:0px!important;right:0px!important;bottom:0px!important;left:0px!important}.bg-gradient-to-r{background-image:-webkit-linear-gradient(left,var(--tw-gradient-stops))!important;background-image:-moz-linear-gradient(left,var(--tw-gradient-stops))!important;background-image:-o-linear-gradient(left,var(--tw-gradient-stops))!important;background-image:linear-gradient(to right,var(--tw-gradient-stops))!important}.from-blue-600{--tw-gradient-from:#2563eb!important;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(37, 99, 235, 0))!important}.to-purple-600{--tw-gradient-to:#9333ea!important}.text-center{text-align:center!important}.text-5xl{font-size:3rem!important;line-height:1!important}.lg\\\\:text-7xl{}@media(min-width:1024px){.lg\\\\:text-7xl{font-size:4.5rem!important;line-height:1!important}}.mb-6{margin-bottom:1.5rem!important}.text-xl{font-size:1.25rem!important;line-height:1.75rem!important}.lg\\\\:text-2xl{}@media(min-width:1024px){.lg\\\\:text-2xl{font-size:1.5rem!important;line-height:2rem!important}}.text-slate-600{color:#475569!important}.mb-8{margin-bottom:2rem!important}.max-w-3xl{max-width:48rem!important}.text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.text-slate-500{color:#64748b!important}.mb-12{margin-bottom:3rem!important}.max-w-2xl{max-width:42rem!important}.flex-col{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-moz-box-orient:vertical!important;-moz-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.sm\\\\:flex-row{}@media(min-width:640px){.sm\\\\:flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-moz-box-orient:horizontal!important;-moz-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}}.gap-4{gap:1rem!important}.justify-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-moz-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.border-2{border-width:2px!important}.border-blue-600{border-color:#2563eb!important}.text-blue-600{color:#2563eb!important}.hover\\\\:bg-blue-50:hover{background-color:#eff6ff!important}.py-20{padding-top:5rem!important;padding-bottom:5rem!important}.grid{display:grid!important}.md\\\\:grid-cols-3{}@media(min-width:768px){.md\\\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}.gap-8{gap:2rem!important}.bg-gradient-to-br{background-image:-webkit-linear-gradient(top left,var(--tw-gradient-stops))!important;background-image:-moz-linear-gradient(top left,var(--tw-gradient-stops))!important;background-image:-o-linear-gradient(top left,var(--tw-gradient-stops))!important;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))!important}.from-blue-50{--tw-gradient-from:#eff6ff!important;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(239, 246, 255, 0))!important}.to-purple-50{--tw-gradient-to:#faf5ff!important}.p-8{padding:2rem!important}.rounded-2xl{-webkit-border-radius:1rem!important;-moz-border-radius:1rem!important;border-radius:1rem!important}.border{border-width:1px!important}.border-blue-100{border-color:#dbeafe!important}.h-12{height:3rem!important}.w-12{width:3rem!important}.mb-6{margin-bottom:1.5rem!important}.text-xl{font-size:1.25rem!important;line-height:1.75rem!important}.font-semibold{font-weight:600!important}.text-slate-900{color:#0f172a!important}.mb-4{margin-bottom:1rem!important}.text-slate-600{color:#475569!important}.bg-slate-50{background-color:#f8fafc!important}.bg-white{background-color:#fff!important}.p-8{padding:2rem!important}.rounded-2xl{-webkit-border-radius:1rem!important;-moz-border-radius:1rem!important;border-radius:1rem!important}.shadow-lg{-webkit-box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)!important;-moz-box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)!important;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)!important}.text-2xl{font-size:1.5rem!important;line-height:2rem!important}.font-bold{font-weight:700!important}.text-slate-900{color:#0f172a!important}.mb-4{margin-bottom:1rem!important}.text-slate-600{color:#475569!important}.mb-6{margin-bottom:1.5rem!important}.space-y-3{margin-top:.75rem!important}.space-y-3>*+*{margin-top:.75rem!important}.flex{display:-webkit-box!important;display:-webkit-flex!important;display:-moz-box!important;display:-ms-flexbox!important;display:flex!important}.items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-moz-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.h-5{height:1.25rem!important}.w-5{width:1.25rem!important}.text-green-500{color:#10b981!important}.mt-0\\\\.5 {margin-top:.125rem!important}.mr-3{margin-right:.75rem!important}.flex-shrink-0{-webkit-flex-shrink:0!important;-ms-flex-negative:0!important;flex-shrink:0!important}.text-slate-600{color:#475569!important}.bg-gradient-to-r{background-image:-webkit-linear-gradient(left,var(--tw-gradient-stops))!important;background-image:-moz-linear-gradient(left,var(--tw-gradient-stops))!important;background-image:-o-linear-gradient(left,var(--tw-gradient-stops))!important;background-image:linear-gradient(to right,var(--tw-gradient-stops))!important}.from-blue-600{--tw-gradient-from:#2563eb!important;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(37, 99, 235, 0))!important}.to-purple-600{--tw-gradient-to:#9333ea!important}.text-white{color:#fff!important}.py-20{padding-top:5rem!important;padding-bottom:5rem!important}.text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.font-bold{font-weight:700!important}.text-white{color:#fff!important}.mb-4{margin-bottom:1rem!important}.md\\\\:grid-cols-4{}@media(min-width:768px){.md\\\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.font-bold{font-weight:700!important}.text-white{color:#fff!important}.mb-2{margin-bottom:.5rem!important}.text-blue-100{color:#dbeafe!important}.bg-slate-900{background-color:#0f172a!important}.text-white{color:#fff!important}.py-16{padding-top:4rem!important;padding-bottom:4rem!important}.md\\\\:grid-cols-4{}@media(min-width:768px){.md\\\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.gap-8{gap:2rem!important}.text-2xl{font-size:1.5rem!important;line-height:2rem!important}.font-bold{font-weight:700!important}.text-slate-300{color:#cbd5e1!important}.mb-4{margin-bottom:1rem!important}.space-y-2{margin-top:.5rem!important}.space-y-2>*+*{margin-top:.5rem!important}.text-slate-300{color:#cbd5e1!important}.hover\\\\:text-white:hover{color:#fff!important}.transition-colors{-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;-moz-transition-timing-function:color,background-color,border-color,text-decoration-color,fill,stroke!important;-o-transition-timing-function:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important}.border-t{border-top-width:1px!important}.border-slate-700{border-color:#334155!important}.mt-12{margin-top:3rem!important}.pt-8{padding-top:2rem!important}.text-center{text-align:center!important}.text-slate-400{color:#94a3b8!important}"})]}),(0,a.jsx)(y.A,{}),(0,a.jsx)(u.A,{}),(0,a.jsx)(e,{...r}),(0,a.jsx)(v.A,{}),(0,a.jsx)(b.Toaster,{})]})})})})]})})})};o()}catch(e){o(e)}})},48847:(e,t,r)=>{"use strict";function o(){}r.d(t,{L:()=>o})},52801:(e,t,r)=>{"use strict";r.d(t,{I:()=>i,o:()=>s});var o=r(8732),a=r(82015);let n=(0,a.createContext)(void 0),i=({children:e})=>{let[t,r]=(0,a.useState)("fr");return(0,o.jsx)(n.Provider,{value:{language:t,setLanguage:r,toggleLanguage:()=>{r(e=>"fr"===e?"en":"fr")}},children:e})},s=()=>{let e=(0,a.useContext)(n);if(void 0===e)throw Error("useLanguage must be used within a LanguageProvider");return e}},56178:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var o=r(8732),a=r(4722),n=r(73392);let i=({children:e})=>{let{status:t}=(0,a.useSession)();return"authenticated"!==t?(0,o.jsx)(o.Fragment,{children:e}):(0,o.jsx)(n.f,{children:e})}},60979:()=>{},65289:(e,t,r)=>{"use strict";r.a(e,async(e,o)=>{try{r.d(t,{A:()=>c});var a=r(82015),n=r(44233),i=r(88989),s=e([i]);i=(s.then?(await s)():s)[0];let c=()=>{let e=(0,n.useRouter)(),{visitorBehavior:t,showEducationalPrompt:r,showNewsletterPrompt:o,showGroupChatPrompt:s}=(0,i.F)(),c=(0,a.useRef)(null);return(0,a.useCallback)((e,t)=>{c.current&&clearTimeout(c.current),c.current=setTimeout(e,t)},[]),(0,a.useEffect)(()=>()=>{c.current&&clearTimeout(c.current)},[]),(0,a.useEffect)(()=>{let a=e.asPath,n=(t.timeOnSite,({"/":{timeThreshold:45,prompt:()=>{let e=Math.random();e>.66?r("class-action"):e>.33?o():s()}},"/faq":{timeThreshold:60,prompt:()=>{Math.random()>.5?r("rights"):s()}},"/about":{timeThreshold:30,prompt:()=>{Math.random()>.5?o():s()}},"/class-action":{timeThreshold:90,prompt:()=>{let e=Math.random();e>.66?o():e>.33?r("rights"):s()}},"/contact":{timeThreshold:20,prompt:()=>{Math.random()>.5?r("class-action"):s()}},"/resources":{timeThreshold:45,prompt:()=>{Math.random()>.5?o():s()}},"/privacy-policy":{timeThreshold:15,prompt:()=>r("rights")},"/terms":{timeThreshold:15,prompt:()=>r("class-action")},"/who":{timeThreshold:30,prompt:()=>s()}})[a]);n&&n.timeThreshold},[e.asPath]),(0,a.useEffect)(()=>{},[]),(0,a.useEffect)(()=>{},[]),(0,a.useEffect)(()=>{},[]),null};o()}catch(e){o(e)}})},67001:(e,t,r)=>{"use strict";r.d(t,{A:()=>p});var o=r(8732);r(82015);var a=r(22792);let n=(e,t)=>(e+t)%360,i=e=>[n(e,-30),n(e,30)],s=e=>[n(e,120),n(e,240)],c=e=>[n(e,150),n(e,210)],l=e=>[n(e,90),n(e,180),n(e,270)],d=(e,t,r)=>{let o=t*Math.min(r/=100,1-r)/100,a=t=>{let a=(t+e/30)%12;return Math.round(255*(r-o*Math.max(Math.min(a-3,9-a,1),-1))).toString(16).padStart(2,"0")};return`#${a(0)}${a(8)}${a(4)}`},m=()=>{let e=Math.floor(360*Math.random()),t=[s,c,l,i],[r,o]=(0,t[Math.floor(Math.random()*t.length)])(e),a=d(e,70+20*Math.random(),40+10*Math.random()),n=d((e+20+20*Math.random())%360,80+10*Math.random(),35+10*Math.random()),m=d(r,70+20*Math.random(),60+10*Math.random()),p=d((r+20+20*Math.random())%360,80+10*Math.random(),55+10*Math.random()),u=d(o,70+20*Math.random(),50+10*Math.random()),g=d((o+20+20*Math.random())%360,80+10*Math.random(),45+10*Math.random());return{primary:a,"primary-dark":n,"primary-light":d(e,60+20*Math.random(),70+10*Math.random()),secondary:m,"secondary-dark":p,"secondary-light":d(r,60+20*Math.random(),80+10*Math.random()),accent:u,"accent-dark":g,"accent-light":d(o,60+20*Math.random(),75+10*Math.random()),gradientStart:a,gradientEnd:n}},p=()=>{let{setTheme:e}=(0,a.D)();return(0,o.jsx)("button",{className:"fixed bottom-6 right-6 z-50 bg-primary text-background-light rounded-full shadow-lg p-4 hover:bg-primary-dark focus:outline-none",onClick:()=>{e(m())},"aria-label":"Randomize Theme",children:"\uD83C\uDFB2"})}},73392:(e,t,r)=>{"use strict";r.d(t,{f:()=>l,h:()=>d});var o=r(8732),a=r(82015),n=r(4722);class i{static getInstance(){return i.instance||(i.instance=new i),i.instance}startRenderTimer(){this.renderStartTime=performance.now()}endRenderTimer(e){let t=performance.now()-this.renderStartTime;this.metrics.renderTime=t,t>16.67&&console.warn(`âš ī¸ Slow render detected in ${e||"component"}: ${t.toFixed(2)}ms`)}trackWebSocketConnection(){this.metrics.webSocketConnections++,console.log(`🔌 WebSocket connections: ${this.metrics.webSocketConnections}`)}trackWebSocketDisconnection(){this.metrics.webSocketConnections=Math.max(0,this.metrics.webSocketConnections-1),console.log(`🔌 WebSocket connections: ${this.metrics.webSocketConnections}`)}trackActiveTimer(){this.metrics.activeTimers++,this.metrics.activeTimers>10&&console.warn(`⏰ High number of active timers: ${this.metrics.activeTimers}`)}trackTimerCleanup(){this.metrics.activeTimers=Math.max(0,this.metrics.activeTimers-1)}getMemoryUsage(){if("memory"in performance)return performance.memory.usedJSHeapSize/1024/1024}logPerformanceReport(){let e=this.getMemoryUsage();console.group("\uD83D\uDCCA Performance Report"),console.log(`🎨 Last render time: ${this.metrics.renderTime.toFixed(2)}ms`),console.log(`🔌 Active WebSocket connections: ${this.metrics.webSocketConnections}`),console.log(`⏰ Active timers: ${this.metrics.activeTimers}`),e&&console.log(`💾 Memory usage: ${e.toFixed(2)}MB`),console.groupEnd()}detectIssues(){let e=[];this.metrics.renderTime>100&&e.push(`Extremely slow render: ${this.metrics.renderTime.toFixed(2)}ms`),this.metrics.webSocketConnections>3&&e.push(`Too many WebSocket connections: ${this.metrics.webSocketConnections}`),this.metrics.activeTimers>15&&e.push(`Too many active timers: ${this.metrics.activeTimers}`);let t=this.getMemoryUsage();return t&&t>100&&e.push(`High memory usage: ${t.toFixed(2)}MB`),e}constructor(){this.metrics={renderTime:0,webSocketConnections:0,activeTimers:0},this.renderStartTime=0}}let s=i.getInstance(),c=(0,a.createContext)({ws:null,connected:!1,connectionState:"disconnected",sendMessage:()=>{},sendTyping:()=>{},joinRoom:async()=>{},leaveRoom:async()=>{},directMessageNotifications:new Map,markDirectMessagesAsRead:()=>{},getTotalUnreadDirectMessages:()=>0,incomingVideoCall:null,acceptVideoCall:()=>{},declineVideoCall:()=>{},reconnect:()=>{},disconnect:()=>{},connectionStats:{reconnectAttempts:0,lastConnected:null,messagesSent:0,messagesReceived:0},videoCallActive:!1,startVideoCall:()=>{},endVideoCall:()=>{},currentVideoCall:null}),l=({children:e})=>{let{data:t,status:r}=(0,n.useSession)(),i=(0,a.useRef)(null),l=(0,a.useRef)(null),[d,m]=(0,a.useState)(!1),[p,u]=(0,a.useState)("disconnected"),[g,b]=(0,a.useState)(null),[h,f]=(0,a.useState)(new Map),[x,w]=(0,a.useState)(null),[k,y]=(0,a.useState)(!1),[v,S]=(0,a.useState)(null),C=(0,a.useRef)(null),j=(0,a.useRef)(!1),N=(0,a.useRef)(null),T=(0,a.useRef)(0),[M,I]=(0,a.useState)({reconnectAttempts:0,lastConnected:null,messagesSent:0,messagesReceived:0}),E=(0,a.useRef)({count:0,lastReset:Date.now(),maxMessages:100,windowMs:6e4}),W=e=>{try{if(!e||"object"!=typeof e)return console.warn("[WebSocket] \uD83D\uDEA8 Invalid message structure"),!1;if(!e.type||"string"!=typeof e.type)return console.warn("[WebSocket] \uD83D\uDEA8 Missing or invalid message type"),!1;if(!["pong","ping","DIRECT_MESSAGE","webrtc-offer","webrtc-answer","webrtc-ice-candidate","webrtc-end-call","webrtc-call-rejected","webrtc-call-accepted","PARTICIPANT_LIST_UPDATE","PRESENCE_UPDATE"].includes(e.type))return console.warn("[WebSocket] \uD83D\uDEA8 Unauthorized message type:",e.type),!1;if(e.data&&"object"==typeof e.data)for(let t in e.data)"string"==typeof e.data[t]&&(e.data[t]=e.data[t].replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/javascript:/gi,"").replace(/on\w+\s*=/gi,""));return!0}catch(e){return console.error("[WebSocket] \uD83D\uDEA8 Message validation error:",e),!1}},z=()=>{let e=Date.now(),t=E.current;return(e-t.lastReset>t.windowMs&&(t.count=0,t.lastReset=e),t.count>=t.maxMessages)?(console.warn("[WebSocket] \uD83D\uDEA8 Rate limit exceeded - blocking message"),!1):(t.count++,!0)},P=()=>`conn_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,R=(0,a.useCallback)(e=>{f(t=>{let r=new Map(t),o=r.get(e);return o&&r.set(e,{...o,unreadCount:0}),r})},[]),A=(0,a.useCallback)(()=>{let e=0;return h.forEach(t=>{e+=t.unreadCount}),e},[h]),$=(0,a.useCallback)(e=>{if(console.log("[WebSocket] \uD83D\uDCDE Video call accepted:",e.senderName),i.current?.readyState===WebSocket.OPEN){let r={type:"webrtc-call-accepted",data:{recipientId:e.senderId,signal:e.signal},senderId:t?.user?.id,senderName:t?.user?.name||"Unknown User"};i.current.send(JSON.stringify(r)),console.log("[WebSocket] \uD83D\uDCDE Sent call acceptance to:",e.senderId)}y(!0),S({recipientId:e.senderId,recipientName:e.senderName,isInitiator:!1}),w(null)},[t?.user?.id,t?.user?.name]),D=(0,a.useCallback)(()=>{if(console.log("[WebSocket] \uD83D\uDCDE Video call declined"),x&&i.current?.readyState===WebSocket.OPEN){let e={type:"webrtc-call-rejected",data:{recipientId:x.senderId,reason:"declined"},senderId:t?.user?.id,senderName:t?.user?.name||"Unknown User"};i.current.send(JSON.stringify(e)),console.log("[WebSocket] \uD83D\uDCDE Sent call rejection to:",x.senderId)}w(null)},[x,t?.user?.id,t?.user?.name]),U=(0,a.useCallback)((e,t)=>{console.log("\uD83D\uDCDE [SIMPLE] Starting video call with:",t),y(!0),S({recipientId:e,recipientName:t,isInitiator:!0})},[]),F=(0,a.useCallback)(()=>{console.log("\uD83D\uDCDE [SIMPLE] Ending video call"),y(!1),S(null)},[]),O=(0,a.useCallback)(()=>{console.log("\uD83D\uDD07 Sound disabled - no more buzzing!")},[]),L=(0,a.useCallback)(e=>{if(z())try{let r=JSON.parse(e.data);if(!W(r))return void console.warn("[WebSocket] \uD83D\uDEA8 Message validation failed, ignoring message");switch(I(e=>({...e,messagesReceived:e.messagesReceived+1})),r.type){case"pong":console.log("[WebSocket] \uD83C\uDFD3 Received pong from server - connection healthy");break;case"ping":console.log("[WebSocket] \uD83C\uDFD3 Received ping from server, sending pong"),i.current?.readyState===WebSocket.OPEN&&i.current.send(JSON.stringify({type:"pong",timestamp:Date.now()}));break;case"DIRECT_MESSAGE":r.data&&r.data.senderId&&r.data.senderId!==t?.user?.id&&(console.log("[WebSocket] \uD83D\uDCAC Received direct message from:",r.data.sender?.name),f(e=>{let t=new Map(e),o=r.data.senderId,a=t.get(o);return t.set(o,{senderId:o,senderName:r.data.sender?.name||"Unknown User",lastMessage:r.data.content,timestamp:Date.now(),unreadCount:(a?.unreadCount||0)+1}),t}),"granted"===Notification.permission&&new Notification(`New message from ${r.data.sender?.name||"Unknown User"}`,{body:r.data.content,icon:"/icons/apple-touch-icon-180x180.png"}));break;case"webrtc-offer":if(console.log("[WebSocket] \uD83D\uDCDE Received video call offer from:",r.senderId),r.senderId&&r.senderId!==t?.user?.id){let e=r.senderName||r.data?.senderName||`User ${r.senderId.slice(-4)}`;if(x&&x.senderId===r.senderId)console.log("[WebSocket] \uD83D\uDCDE Ignoring duplicate call from same sender");else{let t={senderId:r.senderId,senderName:e,signal:r.data?.signal||r.signal,timestamp:Date.now()};w(t),O(),"granted"===Notification.permission&&new Notification(`📞 Incoming Video Call`,{body:`${e} is calling you`,icon:"/icons/apple-touch-icon-180x180.png"})}}break;case"webrtc-answer":case"webrtc-ice-candidate":case"webrtc-end-call":console.log("[WebSocket] \uD83D\uDCE1 WebRTC signaling:",r.type);break;case"webrtc-call-rejected":r.senderId&&r.senderId!==t?.user?.id&&(console.log("[WebSocket] \uD83D\uDCDE Call was rejected by:",r.senderName),window.dispatchEvent(new CustomEvent("video-call-rejected",{detail:{senderId:r.senderId,senderName:r.senderName,reason:r.data?.reason||"declined"}})));break;case"webrtc-call-accepted":r.senderId&&r.senderId!==t?.user?.id&&(console.log("[WebSocket] \uD83D\uDCDE Call was accepted by:",r.senderName),window.dispatchEvent(new CustomEvent("video-call-accepted",{detail:{senderId:r.senderId,senderName:r.senderName,signal:r.data?.signal}})));break;case"webrtc-call-cancelled":r.senderId&&r.senderId!==t?.user?.id&&(console.log("[WebSocket] \uD83D\uDCDE Call was cancelled by:",r.senderName,"Reason:",r.data?.reason),w(null),window.dispatchEvent(new CustomEvent("video-call-cancelled",{detail:{senderId:r.senderId,senderName:r.senderName,reason:r.data?.reason||"cancelled"}})));break;default:window.dispatchEvent(new CustomEvent("websocket-message",{detail:r}))}}catch(e){console.error("[WebSocket] ❌ Failed to parse message:",e)}},[t?.user?.id,O]),V=(0,a.useCallback)((e,t)=>{if(!i.current||i.current.readyState!==WebSocket.OPEN)return void console.warn("[WebSocket] Cannot send message - not connected");try{let r=JSON.stringify({type:e,data:t});i.current.send(r),I(e=>({...e,messagesSent:e.messagesSent+1})),console.log(`[WebSocket] 📤 Sent: ${e}`,t)}catch(e){console.error("[WebSocket] ❌ Failed to send message:",e)}},[]),J=(0,a.useCallback)((e,t)=>{V("TYPING",{roomId:e,isTyping:t,timestamp:Date.now()})},[V]),_=(0,a.useCallback)(async e=>new Promise(t=>{V("JOIN_ROOM",{chatRoomId:e}),setTimeout(t,100)}),[V]),q=(0,a.useCallback)(async e=>new Promise(t=>{V("LEAVE_ROOM",{chatRoomId:e}),setTimeout(t,100)}),[V]),B=(0,a.useCallback)(()=>{console.log("[WebSocket] \uD83D\uDD0C Manual disconnect requested"),j.current=!0,i.current&&(i.current.close(1e3,"Manual disconnect"),i.current=null),l.current&&(clearTimeout(l.current),l.current=null),m(!1),u("disconnected"),s.trackWebSocketDisconnection(),b(null)},[]),G=(0,a.useCallback)(()=>{if(i.current&&(i.current.readyState===WebSocket.CONNECTING||i.current.readyState===WebSocket.OPEN))return void console.log("[WebSocket] \uD83D\uDD04 Connection already exists or connecting");if(!t?.user?.id||"authenticated"!==r){console.log("[WebSocket] ❌ Cannot connect - not authenticated"),console.log("[WebSocket] \uD83D\uDD0D Debug - Status:",r,"Session:",t);return}let e=(()=>{try{if(!window.localStorage||!window.sessionStorage)return!0;return!1}catch(e){return!0}})();e&&console.log("[WebSocket] âš ī¸ Incognito/Private browsing detected - using optimized settings");let o=t.user.id;N.current&&N.current!==o&&(console.log("[WebSocket] \uD83D\uDD04 Session changed, forcing clean reconnect"),j.current=!0,B()),N.current=o,j.current=!1,u("connecting");let a=P();C.current=a;let n=t.user.id,c="https:"===window.location.protocol?"wss:":"ws:",d=btoa(JSON.stringify({userId:n,name:t.user.name,timestamp:Date.now(),connId:a})),p=`${c}//${window.location.host}/_ws?token=${d}`;console.log(`[WebSocket] 🔄 Connecting for user: ${t.user.name} (${a})`);try{let o=new WebSocket(p);i.current=o;let n=setTimeout(()=>{o.readyState===WebSocket.CONNECTING&&(console.log("[WebSocket] ⏰ Connection timeout - closing"),o.close(1e3,"Connection timeout"),u("disconnected"))},e?8e3:1e4),c=0,d=setInterval(()=>{c++,console.log(`[WebSocket] Ready State Check #${c}: ${o.readyState} (${a})`),(o.readyState!==WebSocket.CONNECTING||c>=3)&&clearInterval(d)},1e3);o.onopen=()=>{clearInterval(d),clearTimeout(n),console.log(`[WebSocket] ✅ Connected for ${t.user.name} (${a})`),m(!0),u("connected"),s.trackWebSocketConnection(),b(o),T.current=0,I(e=>({...e,reconnectAttempts:0,lastConnected:Date.now()})),l.current&&(clearTimeout(l.current),l.current=null)},o.onmessage=L,o.onclose=e=>{if(clearInterval(d),clearTimeout(n),console.log(`[WebSocket] 🔌 Disconnected (code: ${e.code}, reason: ${e.reason}) (${a})`),m(!1),u("disconnected"),b(null),i.current===o&&(i.current=null),j.current||1e3===e.code||1001===e.code||"authenticated"!==r)return void console.log("[WebSocket] ❌ Clean close or not authenticated - not reconnecting");if("authenticated"===r&&t?.user?.id){let t=T.current;if(t>=5){console.log(`[WebSocket] ❌ Max reconnection attempts reached (${t}). Manual reconnect required.`),u("disconnected");return}u("reconnecting");let r=1006===e.code?0:Math.min(300*(t+1),2e3);console.log(`[WebSocket] 🔄 Reconnecting in ${r}ms (attempt ${t+1}/5) - Code: ${e.code}`),T.current+=1,I(e=>({...e,reconnectAttempts:T.current})),0===r?j.current||G():l.current=setTimeout(()=>{j.current||G()},r)}},o.onerror=e=>{clearInterval(d),clearTimeout(n),console.error(`[WebSocket] ❌ Connection error (${a}):`,e)}}catch(e){console.error("[WebSocket] ❌ Failed to create connection:",e),u("disconnected")}},[t?.user?.id,t?.user?.name,r]),Y=(0,a.useCallback)(()=>{console.log("[WebSocket] \uD83D\uDD04 Manual reconnection requested"),T.current=0,I(e=>({...e,reconnectAttempts:0})),B(),G()},[G,B]);(0,a.useEffect)(()=>(console.log("[WebSocket] \uD83D\uDD0D Connection effect triggered:",{status:r,userId:t?.user?.id,currentWS:i.current?.readyState}),"authenticated"===r&&t?.user?.id?i.current&&i.current.readyState!==WebSocket.CLOSED?console.log("[WebSocket] ✅ Connection already exists, skipping"):(console.log("[WebSocket] \uD83D\uDE80 Connecting immediately (no delay)"),G()):"unauthenticated"===r?(console.log("[WebSocket] \uD83D\uDD10 Unauthenticated, disconnecting"),B()):console.log("[WebSocket] âŗ Auth status loading or unknown:",r),()=>{l.current&&clearTimeout(l.current)}),[r,t?.user?.id]);let H=(0,a.useCallback)(()=>{l.current&&(clearTimeout(l.current),l.current=null),E.current={count:0,lastReset:Date.now(),maxMessages:100,windowMs:6e4},j.current=!1,C.current=null,N.current=null,T.current=0,console.log("[WebSocket] \uD83E\uDDF9 Cleanup completed")},[]);return(0,a.useEffect)(()=>()=>{H(),i.current&&(i.current.close(),i.current=null)},[H]),(0,o.jsx)(c.Provider,{value:{ws:g,connected:d,connectionState:p,sendMessage:V,sendTyping:J,joinRoom:_,leaveRoom:q,reconnect:Y,disconnect:B,connectionStats:M,directMessageNotifications:h,markDirectMessagesAsRead:R,getTotalUnreadDirectMessages:A,incomingVideoCall:x,acceptVideoCall:$,declineVideoCall:D,videoCallActive:k,startVideoCall:U,endVideoCall:F,currentVideoCall:v},children:e})},d=()=>(0,a.useContext)(c)},83810:(e,t,r)=>{"use strict";r.a(e,async(e,o)=>{try{r.d(t,{A:()=>l});var a=r(8732);r(82015);var n=r(19918),i=r.n(n),s=r(88989),c=e([s]);s=(c.then?(await c)():c)[0];let l=()=>{let{activeBanner:e,dismissBanner:t}=(0,s.F)();return e?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:`fixed top-0 left-0 right-0 z-50 border-b-2 ${(()=>{switch(e.priority){case"urgent":return"bg-gradient-to-r from-red-600 to-red-700 text-white border-red-500";case"high":return"bg-gradient-to-r from-orange-500 to-orange-600 text-white border-orange-400";case"medium":return"bg-gradient-to-r from-blue-500 to-blue-600 text-white border-blue-400";default:return"bg-gradient-to-r from-gray-600 to-gray-700 text-white border-gray-500"}})()} ${"urgent"===e.priority?"animate-pulse":""}`,children:(0,a.jsx)("div",{className:"max-w-7xl mx-auto px-4 py-3",children:(0,a.jsxs)("div",{className:"flex flex-col md:flex-row items-center justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex items-center space-x-3 flex-1",children:[(0,a.jsx)("div",{className:"text-2xl",children:(()=>{switch(e.priority){case"urgent":return"\uD83D\uDEA8";case"high":return"\uD83D\uDCF0";case"medium":return"â„šī¸";default:return"\uD83D\uDCE2"}})()}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("div",{className:"font-bold text-lg",children:e.title}),(0,a.jsx)("div",{className:"text-sm opacity-90",children:e.message})]})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-4",children:[e.actionText&&e.actionUrl&&(0,a.jsx)(i(),{href:e.actionUrl,className:"bg-white bg-opacity-20 hover:bg-opacity-30 text-white px-4 py-2 rounded-full font-semibold transition-all duration-200 hover:scale-105",children:e.actionText}),(0,a.jsx)("button",{onClick:t,className:"text-white hover:text-gray-200 p-1 rounded-full hover:bg-white hover:bg-opacity-20 transition-all duration-200","aria-label":"Close banner",children:(0,a.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]})})}),(0,a.jsx)("div",{className:"h-20"})]}):null};o()}catch(e){o(e)}})},88989:(e,t,r)=>{"use strict";r.a(e,async(e,o)=>{try{r.d(t,{F:()=>m,W:()=>d});var a=r(8732),n=r(82015),i=r(44233),s=r(42893),c=e([s]);s=(c.then?(await c)():c)[0];let l=(0,n.createContext)({activeCampaigns:[],visitorBehavior:{sessionId:"",timeOnSite:0,pagesVisited:[],lastActivity:Date.now(),hasSignedUp:!1,hasApplied:!1,notificationsShown:[],language:"en"},updateVisitorBehavior:()=>{},showNotification:()=>{},dismissNotification:()=>{},subscribeToNewsletter:async()=>!1,showEducationalPrompt:()=>{},showNewsletterPrompt:()=>{},showGroupChatPrompt:()=>{},showExitIntent:()=>{},showTimeBasedPrompt:()=>{},activeBanner:null,dismissBanner:()=>{},trackNotificationView:()=>{},trackNotificationClick:()=>{}}),d=({children:e})=>{let t=(0,i.useRouter)(),[r,o]=(0,n.useState)([]),[c,d]=(0,n.useState)({sessionId:"",timeOnSite:0,pagesVisited:[],lastActivity:Date.now(),hasSignedUp:!1,hasApplied:!1,notificationsShown:[],language:t.locale||"en"}),[m,p]=(0,n.useState)(null),[u,g]=(0,n.useState)(!1),[b,h]=(0,n.useState)(!1);(0,n.useEffect)(()=>{},[]),(0,n.useEffect)(()=>{let e=Date.now(),t=e,r=setInterval(()=>{let r=Date.now(),o=Math.floor((r-e)/1e3);o-Math.floor((t-e)/1e3)>=10&&(d(e=>({...e,timeOnSite:o,lastActivity:r})),t=r)},1e4);return()=>clearInterval(r)},[]),(0,n.useEffect)(()=>{let e=t.asPath;d(t=>({...t,pagesVisited:Array.from(new Set([...t.pagesVisited,e]))}))},[t.asPath]),(0,n.useEffect)(()=>{(async()=>{try{let e=await fetch("https://ipapi.co/json/"),t=await e.json();"CA"===t.country_code&&"QC"===t.region?d(e=>({...e,region:"quebec"})):"CA"===t.country_code?d(e=>({...e,region:"canada"})):d(e=>({...e,region:"international"}))}catch(e){console.log("Could not detect region")}})()},[]),(0,n.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/public/notifications/campaigns");if(e.ok){let r=await e.json();o(r),r.find(e=>"banner"===e.type&&e.isActive&&(!e.expiresAt||new Date(e.expiresAt)>new Date)&&(!e.targetPages||e.targetPages.includes(t.asPath))&&("both"===e.language||e.language===c.language))}}catch(e){console.error("Failed to fetch notification campaigns:",e)}})()},[t.asPath]),(0,n.useEffect)(()=>{let e=e=>{e.clientY<=0&&!u&&c.timeOnSite>30&&C()};return document.addEventListener("mouseleave",e),()=>document.removeEventListener("mouseleave",e)},[u]),(0,n.useEffect)(()=>{},[b]);let f=(0,n.useCallback)(e=>{d(t=>({...t,...e}))},[]),x=(0,n.useCallback)(e=>{c.notificationsShown.includes(e.id)||("toast"===e.type&&(0,s.default)(r=>(0,a.jsxs)("div",{className:"flex items-center space-x-3 max-w-md",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"font-medium text-gray-900",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-gray-600",children:e.message})]}),e.actionText&&e.actionUrl&&(0,a.jsx)("button",{onClick:()=>{s.default.dismiss(r.id),M(e.id),t.push(e.actionUrl)},className:"bg-primary text-white px-3 py-1 rounded text-sm hover:bg-primary-dark",children:e.actionText})]}),{duration:"urgent"===e.priority?8e3:5e3,position:"top"===e.placement?"top-right":"bottom-right"}),T(e.id),d(t=>({...t,notificationsShown:[...t.notificationsShown,e.id]})))},[t]),w=(0,n.useCallback)(e=>{},[]),k=(0,n.useCallback)(async e=>{try{if((await fetch("/api/public/newsletter/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,language:c.language,source:"website_notification"})})).ok)return d(e=>({...e,hasSignedUp:!0})),s.default.success("✅ Successfully subscribed to case updates!",{duration:4e3,position:"top-right"}),!0;return!1}catch(e){return s.default.error("Failed to subscribe. Please try again.",{duration:4e3,position:"top-right"}),!1}},[]),y=(0,n.useCallback)(e=>{let r={"class-action":{en:{title:"\uD83D\uDCDA New to Class Actions?",message:"Learn about your rights and how class actions work",actionText:"Learn More",actionUrl:"/faq"},fr:{title:"\uD83D\uDCDA Nouveau aux recours collectifs?",message:"Apprenez vos droits et comment fonctionnent les recours collectifs",actionText:"En savoir plus",actionUrl:"/faq"}},rights:{en:{title:"âš–ī¸ Know Your Rights",message:"Understanding your rights as a former detainee",actionText:"Download Guide",actionUrl:"/resources"},fr:{title:"âš–ī¸ Connaissez vos droits",message:"Comprendre vos droits en tant qu'ancien d\xe9tenu",actionText:"T\xe9l\xe9charger le guide",actionUrl:"/resources"}}}[e]?.[c.language];r&&(0,s.default)(e=>(0,a.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"font-medium text-gray-900",children:r.title}),(0,a.jsx)("p",{className:"text-sm text-gray-600",children:r.message})]}),(0,a.jsx)("button",{onClick:()=>{s.default.dismiss(e.id),t.push(r.actionUrl)},className:"bg-primary text-white px-3 py-1 rounded text-sm hover:bg-primary-dark",children:r.actionText})]}),{duration:6e3,position:"top-right"})},[t]),v=(0,n.useCallback)(()=>{if(c.hasSignedUp)return;let e="fr"===c.language?"Restez inform\xe9 des mises \xe0 jour importantes du dossier":"Stay informed about important case updates",t="fr"===c.language?"S'abonner":"Subscribe";(0,s.default)(r=>(0,a.jsxs)("div",{className:"flex flex-col space-y-2 max-w-sm",children:[(0,a.jsxs)("p",{className:"font-medium text-gray-900",children:["\uD83D\uDCE7 ",e]}),(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)("input",{type:"email",placeholder:"email@example.com",className:"flex-1 px-2 py-1 border rounded text-sm",id:`newsletter-input-${r.id}`,onKeyDown:e=>{if("Enter"===e.key){let t=e.target.value;t&&(k(t),s.default.dismiss(r.id))}}}),(0,a.jsx)("button",{onClick:()=>{let e=document.getElementById(`newsletter-input-${r.id}`);e?.value&&(k(e.value),s.default.dismiss(r.id))},className:"bg-primary text-white px-3 py-1 rounded text-sm hover:bg-primary-dark",children:t})]})]}),{duration:8e3,position:"top-right"})},[k]),S=(0,n.useCallback)(()=>{let e="fr"===c.language?{title:"\uD83D\uDCAC Rejoignez la Communaut\xe9",message:"Connectez-vous avec d'autres membres du recours collectif",description:"Partagez vos exp\xe9riences, obtenez du soutien et restez inform\xe9 avec la communaut\xe9",actionText:"Rejoindre le Chat",benefits:["\uD83E\uDD1D Soutien communautaire","\uD83D\uDCE2 Mises \xe0 jour en temps r\xe9el","\uD83D\uDCAA Force collective"]}:{title:"\uD83D\uDCAC Join the Community",message:"Connect with other class action members",description:"Share experiences, get support, and stay informed with the community",actionText:"Join Chat",benefits:["\uD83E\uDD1D Community support","\uD83D\uDCE2 Real-time updates","\uD83D\uDCAA Collective strength"]};(0,s.default)(r=>(0,a.jsxs)("div",{className:"flex flex-col space-y-3 max-w-sm",children:[(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("div",{className:"text-2xl",children:"\uD83D\uDCAC"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-bold text-gray-900",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-gray-600",children:e.message})]})]}),(0,a.jsx)("div",{className:"text-xs text-gray-600",children:e.description}),(0,a.jsx)("div",{className:"grid grid-cols-1 gap-1 text-xs",children:e.benefits.map((e,t)=>(0,a.jsx)("div",{className:"text-gray-700",children:e},t))}),(0,a.jsxs)("div",{className:"flex space-x-2",children:[(0,a.jsx)("button",{onClick:()=>{s.default.dismiss(r.id),t.push("/group-chat")},className:"flex-1 bg-primary text-white px-3 py-2 rounded text-sm font-medium hover:bg-primary-dark transition-colors",children:e.actionText}),(0,a.jsx)("button",{onClick:()=>s.default.dismiss(r.id),className:"px-3 py-2 text-xs text-gray-500 hover:text-gray-700",children:"fr"===c.language?"Plus tard":"Later"})]})]}),{duration:1e4,position:"bottom-right"})},[t]),C=(0,n.useCallback)(()=>{g(!0);let e="fr"===c.language?"Attendez! Vous pourriez \xeatre \xe9ligible \xe0 une compensation":"Wait! You might be eligible for compensation",r="fr"===c.language?"V\xe9rifier l'\xe9ligibilit\xe9":"Check Eligibility";(0,s.default)(o=>(0,a.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,a.jsx)("div",{className:"text-2xl",children:"âš–ī¸"}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"font-bold text-gray-900",children:e}),(0,a.jsx)("p",{className:"text-sm text-gray-600",children:"fr"===c.language?"D\xe9couvrez si vous pouvez vous joindre au recours collectif":"Find out if you can join the class action"})]}),(0,a.jsx)("button",{onClick:()=>{s.default.dismiss(o.id),t.push("/register")},className:"bg-red-600 text-white px-4 py-2 rounded font-bold hover:bg-red-700",children:r})]}),{duration:1e4,position:"top-center",style:{maxWidth:"500px"}})},[t]),j=(0,n.useCallback)(()=>{h(!0);let e=[{en:{title:"\uD83D\uDD50 Still reading?",message:"Get personalized guidance about your case",actionText:"Free Consultation",actionUrl:"/contact"},fr:{title:"\uD83D\uDD50 Toujours en train de lire?",message:"Obtenez des conseils personnalis\xe9s sur votre dossier",actionText:"Consultation gratuite",actionUrl:"/contact"}},{en:{title:"\uD83D\uDCDE Questions?",message:"Speak with a legal expert about your rights",actionText:"Contact Us",actionUrl:"/contact"},fr:{title:"\uD83D\uDCDE Des questions?",message:"Parlez \xe0 un expert juridique de vos droits",actionText:"Nous contacter",actionUrl:"/contact"}}],r=e[Math.floor(Math.random()*e.length)][c.language];(0,s.default)(e=>(0,a.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"font-medium text-gray-900",children:r.title}),(0,a.jsx)("p",{className:"text-sm text-gray-600",children:r.message})]}),(0,a.jsx)("button",{onClick:()=>{s.default.dismiss(e.id),t.push(r.actionUrl)},className:"bg-primary text-white px-3 py-1 rounded text-sm hover:bg-primary-dark",children:r.actionText})]}),{duration:6e3,position:"top-right"})},[t]),N=(0,n.useCallback)(()=>{},[m]),T=(0,n.useCallback)(e=>{fetch("/api/public/notifications/analytics",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({campaignId:e,event:"view",sessionId:c.sessionId,page:t.asPath})}).catch(()=>{})},[c.sessionId,t.asPath]),M=(0,n.useCallback)(e=>{fetch("/api/public/notifications/analytics",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({campaignId:e,event:"click",sessionId:c.sessionId,page:t.asPath})}).catch(()=>{})},[c.sessionId,t.asPath]);return(0,a.jsx)(l.Provider,{value:{activeCampaigns:r,visitorBehavior:c,updateVisitorBehavior:f,showNotification:x,dismissNotification:w,subscribeToNewsletter:k,showEducationalPrompt:y,showNewsletterPrompt:v,showGroupChatPrompt:S,showExitIntent:C,showTimeBasedPrompt:j,activeBanner:m,dismissBanner:N,trackNotificationView:T,trackNotificationClick:M},children:e})},m=()=>(0,n.useContext)(l);o()}catch(e){o(e)}})}};

CasperSecurity Mini