1"use strict";(self.webpackChunkschool_crm_desktop=self.webpackChunkschool_crm_desktop||[]).push([[1404],{1404(e,t,s){s.r(t),s.d(t,{default:()=>b});var n=s(9379),o=s(5043),r=s(3216),a=s(12),l=s(6938),i=s(3862),d=s(7902),c=s(579);const p={READY:{bg:"#d1fae5",color:"#065f46",label:"Ready"},TRIED_BUT_DIDNT_PASS:{bg:"#ffedd5",color:"#9a3412",label:"Tried"},ABSENT:{bg:"#fee2e2",color:"#991b1b",label:"Absent"}},x="undefined"!==typeof window&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,m=x?{duration:0}:{type:"spring",stiffness:300,damping:28},u=x?{}:{initial:{opacity:0,y:16},animate:{opacity:1,y:0}};function h(e){let{className:t=""}=e;return(0,c.jsx)("div",{className:"animate-pulse rounded-lg bg-gray-200 ".concat(t)})}function g(e){let{label:t,value:s,color:n,bg:o,loading:r}=e;return(0,c.jsxs)("div",{className:"flex-1 min-w-[100px] rounded-2xl border border-gray-100 bg-white shadow-sm px-4 py-3",children:[(0,c.jsx)("p",{className:"text-[10px] font-bold uppercase tracking-widest text-gray-400 mb-1",children:t}),r?(0,c.jsx)(h,{className:"h-6 w-12"}):(0,c.jsx)("p",{className:"text-2xl font-black",style:{color:n},children:s})]})}const b=function(){const e=(0,r.Zp)(),{theme:t}=(0,d.DP)(),[s,b]=(0,o.useState)([]),[f,y]=(0,o.useState)(!0),[w,j]=(0,o.useState)(""),[N,v]=(0,o.useState)(""),[k,_]=(0,o.useState)(1),[A,C]=(0,o.useState)({total:0,pages:1}),[L,S]=(0,o.useState)({}),P=(0,o.useRef)(null);(0,o.useEffect)(()=>{localStorage.getItem("user")||e("/login",{replace:!0})},[]),(0,o.useEffect)(()=>{I(N,k)},[k]);const D=(0,o.useCallback)(e=>{v(e),_(1),clearTimeout(P.current),P.current=setTimeout(()=>I(e,1),350)},[]),I=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;y(!0);try{const s=new URLSearchParams({page:t,limit:50});e.trim()&&s.set("search",e.trim());const n=await(0,i.n)("/students?".concat(s)),o=await n.json();if(o.success){const e=o.data||[];if(b(e),C(o.meta||{total:0,pages:1}),e.length>0){const t=e.map(e=>e.id).join(",");(0,i.n)("/readiness-checks/student-statuses?studentIds=".concat(t)).then(e=>e.json()).then(e=>{e.success&&S(e.data||{})}).catch(()=>{})}}}catch(s){j("Failed to load students")}finally{y(!1)}},M=s.filter(e=>"ACTIVE"===e.status).length,E=w.startsWith("success:"),R=w.replace(/^(success|error):/,""),T=(()=>{if(A.pages<=7)return Array.from({length:A.pages},(e,t)=>t+1);return[...new Set([1,2,k-1,k,k+1,A.pages-1,A.pages])].filter(e=>e>=1&&e<=A.pages).sort((e,t)=>e-t)})();return(0,c.jsx)("div",{className:"min-h-screen",style:{backgroundColor:t.bgPage},children:(0,c.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6 space-y-6",children:[(0,c.jsxs)(a.P.div,(0,n.A)((0,n.A)({},u),{},{transition:(0,n.A)((0,n.A)({},m),{},{delay:0}),className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[(0,c.jsxs)("div",{children:[(0,c.jsx)("p",{className:"text-xs font-bold uppercase tracking-widest text-gray-400 mb-1",children:"Admin"}),(0,c.jsx)("h1",{className:"text-3xl sm:text-4xl font-black tracking-tight",style:{color:t.primary},children:"Students"}),!f&&(0,c.jsxs)("p",{className:"text-sm text-gray-400 mt-1 font-medium",children:[A.total.toLocaleString()," students registered"]})]}),(0,c.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,c.jsxs)("button",{onClick:()=>e("/students/add"),className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-xl font-semibold text-sm text-white shadow-sm hover:shadow-md transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-offset-2",style:{backgroundColor:t.primary,"--tw-ring-color":t.primary},children:[(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,c.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4.5v15m7.5-7.5h-15"})}),"Add Student"]}),(0,c.jsxs)("button",{onClick:async()=>{try{const e=await(0,i.n)("/students/export");if(!e.ok)return void j("error:Export failed");const t=await e.blob(),s=URL.createObjectURL(t),n=document.createElement("a");n.href=s,n.download="students-export-".concat((new Date).toISOString().split("T")[0],".csv"),n.click(),URL.revokeObjectURL(s)}catch(e){j("error:Error exporting students")}},className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-xl font-semibold text-sm text-white shadow-sm hover:shadow-md transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-400",style:{backgroundColor:"#6366f1"},children:[(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,c.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"})}),"Export CSV"]}),(0,c.jsxs)("button",{onClick:()=>e("/import"),className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-xl font-semibold text-sm text-white shadow-sm hover:shadow-md transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-emerald-400",style:{backgroundColor:"#10b981"},children:[(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,c.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"})}),"Import"]}),(0,c.jsxs)("button",{onClick:()=>{const e=(new Date).toLocaleDateString("en-GB",{day:"2-digit",month:"long",year:"numeric"}),t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"16pt";return'<tr>\n <td style="width:140pt;padding:2pt 5pt;font-size:9pt;font-weight:bold;color:#1e293b;border:0.75pt solid #cbd5e1;background:#f1f5f9;">'.concat(e,'</td>\n <td style="padding:2pt 5pt;border:0.75pt solid #cbd5e1;height:').concat(t,';"></td>\n </tr>')},s=e=>'<tr><td colspan="2" style="background:#1e3a5f;color:white;font-size:9pt;font-weight:bold;padding:3pt 6pt;border:0.75pt solid #1e3a5f;">'.concat(e,"</td></tr>"),n='<!DOCTYPE html>
1\n<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word">\n<head>\n <meta charset="UTF-8">\n \x3c!--[if gte mso 9]><xml><w:WordDocument><w:View>Print</w:View><w:DoNotOptimizeForBrowser/></w:WordDocument></xml><![endif]--\x3e\n <style>\n @page { size: A4 portrait; margin: 1.2cm 1.5cm; }\n body { font-family: Calibri, Arial, sans-serif; color: #1e293b; font-size: 9pt; }\n table { border-collapse: collapse; width: 100%; }\n p { margin: 0; }\n </style>\n</head>\n<body>\n\n \x3c!-- Header --\x3e\n <div style="text-align:center;margin-bottom:6pt;padding-bottom:5pt;border-bottom:2pt solid #1e3a5f;">\n <p style="font-size:15pt;font-weight:bold;color:#1e3a5f;">Student Registration Form</p>\n <p style="font-size:8pt;color:#64748b;margin-top:2pt;">Please fill in all fields clearly using block letters \xb7 '.concat(e,'</p>\n </div>\n\n \x3c!-- Student ID --\x3e\n <table style="margin-bottom:5pt;">\n <tr>\n <td style="width:50%;padding:2pt 5pt;font-size:9pt;font-weight:bold;color:#1e293b;border:0.75pt solid #cbd5e1;background:#f1f5f9;">Student ID (office use)</td>\n <td style="width:50%;padding:2pt 5pt;border:0.75pt solid #cbd5e1;height:16pt;"></td>\n </tr>\n </table>\n\n \x3c!-- PERSONAL INFORMATION --\x3e\n <table style="margin-bottom:5pt;">\n ').concat(s("1. Personal Information"),"\n ").concat(t("First Name"),"\n ").concat(t("Last Name"),"\n ").concat(t("Date of Birth (DD/MM/YYYY)"),"\n ").concat(t("Phone Number"),'\n </table>\n\n \x3c!-- PARENT / GUARDIAN --\x3e\n <table style="margin-bottom:5pt;">\n ').concat(s("2. Parent / Guardian Information"),"\n ").concat(t("Parent Full Name"),"\n ").concat(t("Parent Phone (primary)"),"\n ").concat(t("Parent Phone (secondary)"),'\n </table>\n\n \x3c!-- ACADEMIC INFORMATION --\x3e\n <table style="margin-bottom:5pt;">\n ').concat(s("3. Academic Information"),"\n ").concat(t("Preferred Group / Schedule"),'\n <tr>\n <td style="width:140pt;padding:2pt 5pt;font-size:9pt;font-weight:bold;color:#1e293b;border:0.75pt solid #cbd5e1;background:#f1f5f9;">How did you hear about us?</td>\n <td style="padding:2pt 5pt;border:0.75pt solid #cbd5e1;font-size:9pt;height:16pt;">\n \u2610 Friend \u2610 Instagram \u2610 Telegram \u2610 Banner \u2610 Other: ___________\n </td>\n </tr>\n ').concat(t("Referred by (name)"),'\n </table>\n\n \x3c!-- PAYMENT --\x3e\n <table style="margin-bottom:5pt;">\n ').concat(s("4. Payment Information"),"\n ").concat(t("Enrollment Date (DD/MM/YYYY)"),'\n </table>\n\n \x3c!-- NOTES --\x3e\n <table style="margin-bottom:5pt;">\n ').concat(s("5. Additional Notes"),"\n ").concat(t("Internal Notes (office use)","28pt"),'\n </table>\n\n \x3c!-- Signatures --\x3e\n <table style="margin-top:8pt;">\n <tr>\n <td style="width:100%;padding:4pt 3pt;font-size:8.5pt;color:#475569;border-top:0.75pt solid #94a3b8;">\n Registered by (Staff): _________________________\n \n Date: ___________________\n </td>\n </tr>\n </table>\n\n</body>\n</html>'),o=new Blob(["\ufeff",n],{type:"application/msword"}),r=URL.createObjectURL(o),a=document.createElement("a");a.href=r,a.download="student-registration-form.doc",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)},className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-xl font-semibold text-sm text-white shadow-sm hover:shadow-md transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-amber-400",style:{backgroundColor:"#d97706"},children:[(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,c.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"})}),"Reg Form"]})]})]})),(0,c.jsxs)(a.P.div,(0,n.A)((0,n.A)({},u),{},{transition:(0,n.A)((0,n.A)({},m),{},{delay:.05}),className:"flex gap-3 flex-wrap",children:[(0,c.jsx)(g,{label:"Total",value:A.total.toLocaleStr
1ing(),color:t.primary,loading:f}),(0,c.jsx)(g,{label:"Active (this page)",value:M,color:"#10b981",loading:f}),(0,c.jsx)(g,{label:"Page",value:"".concat(k," / ").concat(A.pages),color:"#6366f1",loading:f})]})),(0,c.jsxs)(a.P.div,(0,n.A)((0,n.A)({},u),{},{transition:(0,n.A)((0,n.A)({},m),{},{delay:.08}),className:"relative",children:[(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-400 pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,c.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"})}),(0,c.jsx)("input",{type:"text",placeholder:"Search by name, ID, phone or parent phone\u2026",value:N,onChange:e=>D(e.target.value),className:"w-full pl-12 pr-4 py-3 bg-white rounded-2xl border border-gray-100 shadow-sm text-sm text-gray-800 placeholder-gray-400 focus:outline-none focus:ring-2 focus:border-transparent transition-shadow",style:{"--tw-ring-color":t.primary}}),N&&(0,c.jsx)("button",{onClick:()=>D(""),className:"absolute right-4 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 transition-colors","aria-label":"Clear search",children:(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,c.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]})),(0,c.jsx)(l.N,{children:w&&(0,c.jsx)(a.P.div,{initial:{opacity:0,y:-8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},className:"rounded-xl px-4 py-3 text-sm font-semibold border",style:{backgroundColor:E?"#f0fdf4":"#fef2f2",borderColor:E?"#bbf7d0":"#fecaca",color:E?"#166534":"#991b1b"},children:R},"msg")}),(0,c.jsx)(a.P.div,(0,n.A)((0,n.A)({},u),{},{transition:(0,n.A)((0,n.A)({},m),{},{delay:.12}),children:f?(0,c.jsx)("div",{className:"bg-white rounded-2xl shadow-sm border border-gray-100 p-6 space-y-3",children:Array.from({length:8}).map((e,t)=>(0,c.jsx)(h,{className:"h-14 w-full"},t))}):0===s.length?(0,c.jsxs)("div",{className:"bg-white rounded-2xl shadow-sm border border-gray-100 p-16 flex flex-col items-center gap-3 text-gray-300",children:[(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-14 h-14",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1,children:(0,c.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"})}),(0,c.jsx)("p",{className:"text-base font-semibold text-gray-400",children:N?"No students match your search":"No students yet"}),!N&&(0,c.jsx)("p",{className:"text-sm text-gray-400",children:"Import students to get started"})]}):(0,c.jsxs)("div",{className:"bg-white rounded-2xl shadow-sm border border-gray-100 overflow-hidden",children:[(0,c.jsx)("div",{className:"overflow-x-auto",children:(0,c.jsxs)("table",{className:"w-full border-collapse",children:[(0,c.jsx)("thead",{children:(0,c.jsxs)("tr",{className:"border-b-2 border-gray-100",children:[(0,c.jsx)("th",{className:"px-4 py-3.5 text-left text-[11px] font-bold uppercase tracking-widest text-gray-400",children:"ID"}),(0,c.jsx)("th",{className:"px-4 py-3.5 text-left text-[11px] font-bold uppercase tracking-widest text-gray-400",children:"Name"}),(0,c.jsx)("th",{className:"px-4 py-3.5 text-left text-[11px] font-bold uppercase tracking-widest text-gray-400 hidden sm:table-cell",children:"Phone"}),(0,c.jsx)("th",{className:"px-4 py-3.5 text-left text-[11px] font-bold uppercase tracking-widest text-gray-400",children:"Status"}),(0,c.jsx)("th",{className:"px-4 py-3.5 text-left text-[11px] font-bold uppercase tracking-widest text-gray-400 hidden md:table-cell",children:"Groups"}),(0,c.jsx)("th",{className:"px-4 py-3.5 text-left text-[11px] font-bold uppercase tracking-widest text-gray-400 hidden lg:table-cell",children:"Readiness"}),(0,c.jsx)("th",{className:"px-4 py-3.5 text-right text-[11px] font-bold uppercase tracking-widest text-gray-400",children:"Actions"})]})}),(0,c.jsx)("tbody",{className:"divide-y divide-gray-50",children:s.map((t,s)=>{var n,o,r,l,d;const m=L[t.id],u=m?p[m.status]:null;return(0,c.jsxs)(a.P.tr,{initial:x?{}:{opacity:0}
1,animate:{opacity:1},transition:{delay:.015*s},onClick:()=>e("/students/".concat(t.id)),className:"cursor-pointer hover:bg-gray-50/80 transition-colors duration-100 group",children:[(0,c.jsx)("td",{className:"px-4 py-3.5",children:(0,c.jsx)("span",{className:"font-mono text-xs text-gray-400 group-hover:text-gray-600 transition-colors",children:t.studentId})}),(0,c.jsxs)("td",{className:"px-4 py-3.5",children:[(0,c.jsxs)("p",{className:"font-semibold text-sm text-gray-800 leading-tight",children:[null===(n=t.user)||void 0===n?void 0:n.firstName," ",null===(o=t.user)||void 0===o?void 0:o.lastName]}),(null===(r=t.user)||void 0===r?void 0:r.email)&&(0,c.jsx)("p",{className:"text-xs text-gray-400 mt-0.5 truncate max-w-[180px]",children:t.user.email})]}),(0,c.jsx)("td",{className:"px-4 py-3.5 hidden sm:table-cell",children:(0,c.jsx)("span",{className:"text-sm text-gray-600",children:(null===(l=t.user)||void 0===l?void 0:l.phoneNumber)||(0,c.jsx)("span",{className:"text-gray-300",children:"\u2014"})})}),(0,c.jsx)("td",{className:"px-4 py-3.5",children:(0,c.jsx)("span",{className:"inline-block text-[11px] font-bold px-2.5 py-1 rounded-full",style:{backgroundColor:"ACTIVE"===t.status?"#d1fae5":"#fee2e2",color:"ACTIVE"===t.status?"#059669":"#dc2626"},children:t.status})}),(0,c.jsx)("td",{className:"px-4 py-3.5 hidden md:table-cell",children:(null===(d=t.enrollments)||void 0===d?void 0:d.length)>0?(0,c.jsx)("div",{className:"flex flex-wrap gap-1",children:t.enrollments.map(e=>(0,c.jsx)("span",{className:"text-[11px] font-semibold px-2 py-0.5 rounded-full border whitespace-nowrap",style:{backgroundColor:"#eff6ff",color:"#2563eb",borderColor:"#bfdbfe"},children:e.group.name},e.id))}):(0,c.jsx)("span",{className:"text-xs text-gray-300",children:"No group"})}),(0,c.jsx)("td",{className:"px-4 py-3.5 hidden lg:table-cell",children:u?(0,c.jsx)("span",{title:"".concat(m.groupName," \xb7 ").concat(m.checkTitle),className:"text-[11px] font-bold px-2.5 py-1 rounded-full whitespace-nowrap",style:{backgroundColor:u.bg,color:u.color},children:u.label}):(0,c.jsx)("span",{className:"text-gray-300 text-xs",children:"\u2014"})}),(0,c.jsx)("td",{className:"px-4 py-3.5 text-right",onClick:e=>e.stopPropagation(),children:(0,c.jsxs)("button",{onClick:()=>(async e=>{if(window.confirm("Are you sure you want to delete this student?"))try{(await(0,i.n)("/students/".concat(e),{method:"DELETE"})).ok?(j("success:Student deleted successfully"),I(N,k)):j("error:Failed to delete student")}catch(t){j("error:Error deleting student")}})(t.id),className:"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-semibold text-red-600 bg-red-50 border border-red-100 hover:bg-red-100 transition-colors duration-100 focus:outline-none focus:ring-2 focus:ring-red-300",children:[(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,c.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"})}),"Delete"]})})]},t.id)})})]})}),A.pages>1&&(0,c.jsxs)("div",{className:"flex items-center justify-between px-4 py-3.5 border-t border-gray-100",children:[(0,c.jsxs)("p",{className:"text-xs text-gray-400 font-medium hidden sm:block",children:[(50*(k-1)+1).toLocaleString(),"\u2013",Math.min(50*k,A.total).toLocaleString()," of"," ",A.total.toLocaleString()," students"]}),(0,c.jsxs)("div",{className:"flex items-center gap-1 mx-auto sm:mx-0",children:[(0,c.jsx)("button",{onClick:()=>_(e=>Math.max(1,e-1)),disabled:k<=1,className:"px-3 py-1.5 rounded-lg text-sm font-semibold border border-gray-200 text-gray-600 hover:bg-gray-50 disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:"\u2190"}),T.map((e,s)=>
1{const n=T[s-1],r=n&&e-n>1;return(0,c.jsxs)(o.Fragment,{children:[r&&(0,c.jsx)("span",{className:"px-1 text-gray-300 text-sm select-none",children:"\u2026"}),(0,c.jsx)("button",{onClick:()=>_(e),className:"w-8 h-8 rounded-lg text-sm font-bold transition-colors focus:outline-none",style:e===k?{backgroundColor:t.primary,color:"white"}:{color:"#6b7280"},children:e})]},e)}),(0,c.jsx)("button",{onClick:()=>_(e=>Math.min(A.pages,e+1)),disabled:k>=A.pages,className:"px-3 py-1.5 rounded-lg text-sm font-semibold border border-gray-200 text-gray-600 hover:bg-gray-50 disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:"\u2192"})]})]})]})}))]})})}}}]); 2//# sourceMappingURL=1404.ea751334.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.