PageSourceSearch

https://www.hapa.mr/_next/static/chunks/app/global-error-08e58ba65f667cf4.js

js hapa.mr collected 2026-10-07 02:09:13 UTC 8,797 bytes, 129 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4219],{14739:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a});var i=r(87039),o=r(72119);let n={ar:{title:"خطأ في النظام",description:"حدث خطأ غير متوقع في التطبيق. تم إبلاغ فريقنا التقني تلقائيًا وهو يعمل على حل المشكلة.",retry:"إعادة المحاولة",home:"الصفحة الرئيسية",report:"إبلاغ",support:"الدعم التقني",details:"تفاصيل تقنية",emailSubject:"خطأ حرج في HAPA",emailBody:(e,t,r)=>`حدث خطأ حرج في موقع HAPA.
2
3رسالة الخطأ: ${e}
4التوقيت: ${new Date().toISOString()}
5معرف الخطأ (النظام): ${t}
6الرابط: ${r}
7
8يرجى معالجة هذا الخطأ بأولوية.`},fr:{title:"Erreur syst\xe8me critique",description:"Une erreur critique s'est produite dans l'application. Nos \xe9quipes techniques ont \xe9t\xe9 automatiquement inform\xe9es et travaillent \xe0 r\xe9soudre ce probl\xe8me.",retry:"R\xe9essayer",home:"Page d'accueil",report:"Signaler",support:"Support technique",details:"D\xe9tails techniques",emailSubject:"Erreur critique HAPA",emailBody:(e,t,r)=>`Une erreur critique s'est produite sur le site HAPA.
9
10Message d'erreur: ${e}
11Horodatage: ${new Date().toISOString()}
12ID de l'erreur (syst\xe8me): ${t}
13URL: ${r}
14
15Veuillez traiter cette erreur en priorit\xe9.`}};function a(e){let{error:t,reset:r}=e,[a,s]=(0,o.useState)("ar");(0,o.useEffect)(()=>{let e;s((e=window.location.pathname).startsWith("/fr")?"fr":e.startsWith("/ar")?"ar":navigator.language?.startsWith("fr")?"fr":"ar")},[]),(0,o.useEffect)(()=>{console.error("[HAPA] root global-error boundary",{message:t.message,digest:t.digest,url:window.location.href,timestamp:new Date().toISOString()})},[t]);let l=n[a],d="ar"===a;return(0,i.jsxs)("html",{lang:a,dir:d?"rtl":"ltr",children:[(0,i.jsxs)("head",{children:[(0,i.jsxs)("title",{children:[l.title," — HAPA"]}),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),(0,i.jsx)("meta",{charSet:"utf-8"}),(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:`
16            * { margin: 0; padding: 0; box-sizing: border-box; }
17
18            body {
19              font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
20              line-height: 1.6;
21              color: #333;
22              background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
23              min-height: 100vh;
24              display: flex;
25              align-items: center;
26              justify-content: center;
27              padding: 20px;
28            }
29
30            .error-container {
31              max-width: 600px;
32              width: 100%;
33              background: white;
34              border-radius: 12px;
35              box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
36              padding: 40px;
37              text-align: center;
38            }
39
40            .error-icon {
41              width: 80px;
42              height: 80px;
43              background: #fee2e2;
44              border-radius: 50%;
45              display: flex;
46              align-items: center;
47              justify-content: center;
48              margin: 0 auto 24px;
49            }
50
51            .error-icon svg { width: 40px; height: 40px; }
52
53            .error-title {
54              font-size: 28px;
55              font-weight: 700;
56              color: #1f2937;
57              margin-bottom: 16px;
58            }
59
60            .error-description {
61              font-size: 16px;
62              color: #6b7280;
63              margin-bottom: 32px;
64              line-height: 1.6;
65            }
66
67            .button-group {
68              display: flex;
69              flex-direction: column;
70              gap: 12px;
71              align-items: center;
72            }
73
74            @media (min-width: 480px) {
75              .button-group { flex-direction: row; justify-content: center; }
76            }
77
78            .button {
79              display: inline-flex;
80              align-items: center;
81              gap: 8px;
82              padding: 12px 24px;
83              border-radius: 8px;
84              font-weight: 600;
85              font-size: 14px;
86              border: none;
87              cursor: pointer;
88              transition: all 0.2s ease;
89              min-width: 140px;
90              justify-content: center;
91              text-decoration: none;
92            }
93
94            .button-primary { background: #138B3A; color: white; }
95            .button-primary:hover { background: #0F7A2E; transform: translateY(-1px); }
96
97            .button-secondary { background: white; color: #374151; border: 1px solid #d1d5db; }
98            .button-secondary:hover { background: #f9fafb; border-color: #9ca3af; transform: translateY(-1px); }
99
100            .technical-details {
101              margin-top: 32px;
102              padding-top: 24px;
103              border-top: 1px solid #e5e7eb;
104              text-align: start;
105            }
106
107            .technical-details pre {
108              background: #f3f4f6;
109              padding: 12px;
110              border-radius: 6px;
111              font-size: 12px;
112              color: #6b7280;
113              overflow-x: auto;
114              white-space: pre-wrap;
115              direction: ltr;
116              text-align: left;
117            }
118
119            .hapa-logo { color: #138B3A; font-weight: 700; font-size: 20px; margin-bottom: 20px; }
120
121            .contact-info {
122              margin-top: 24px;
123              padding: 16px;
124              background: #f0fdf4;
125              border-radius: 8px;
126              font-size: 14px;
127              color: #166534;
128            }
129          `}})]}),(0,i.jsx)("body",{children:(0,i.jsxs)("div",{className:"error-container",children:[(0,i.jsx)("div",{className:"hapa-logo",children:"HAPA"}),(0,i.jsx)("div",{className:"error-icon",children:(0,i.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"#dc2626",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,i.jsx)("path",{d:"M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"}),(0,i.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,i.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]})}),(0,i.jsx)("h1",{className:"error-title",children:l.title}),(0,i.jsx)("p",{className:"error-description",children:l.description}),(0,i.jsxs)("div",{className:"button-group",children:[(0,i.jsxs)("button",{onClick:()=>{try{r()}catch{window.location.reload()}},className:"button button-primary",children:[(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,i.jsx)("polyline",{points:"23 4 23 10 17 10"}),(0,i.jsx)("polyline",{points:"1 20 1 14 7 14"}),(0,i.jsx)("path",{d:"M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"})]}),l.retry]}),(0,i.jsxs)("button",{onClick:()=>{window.location.href=`/${a}`},className:"button button-secondary",children:[(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,i.jsx)("path",{d:"M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z"}),(0,i.jsx)("polyline",{points:"9 22 9 12 15 12 15 22"})]}),l.home]}),(0,i.jsxs)("button",{onClick:()=>{let e=n[a],r=encodeURIComponent(`${e.emailSubject} - ${t.message}`),i=encodeURIComponent(e.emailBody(t.message,t.digest||"N/A",window.location.href));window.open(`mailto:[email protected]?subject=${r}&body=${i}`)},className:"button button-secondary",children:[(0,i.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,i.jsx)("path",{d:"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07A19.5 19.5 0 013.07 10.8a19.79 19.79 0 01-3.07-8.67A2 2 0 012 0h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L6.09 7.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 14.92z"})}),l.report]})]}),(0,i.jsxs)("div",{className:"contact-info",children:[(0,i.jsxs)("strong",{children:[l.support,":"]})," [email protected] | +222 45 25 25 25"]}),(0,i.jsxs)("details",{className:"technical-details",children:[(0,i.jsx)("summary",{style:{cursor:"pointer",marginBottom:"12px"},children:l.details}),(0,i.jsx)("pre",{children:JSON.stringify({message:t.message,digest:t.digest,timestamp:new Date().toISOString(),url:window.location.href},null,2)})]})]})})]})}},24135:(e,t,r)=>{Promise.resolve().then(r.bind(r,14739))}},e=>{e.O(0,[217,1990,3642,7358],()=>e(e.s=24135)),_N_E=e.O()}]);

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.