PageSourceSearch

https://ireadify.com/_next/static/chunks/pages/teacher/students-5a51149e13f2b2f7.js

js ireadify.com collected 2026-09-28 12:31:11 UTC 11,032 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7493],{62521:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/teacher/students",function(){return t(33122)}])},16202:function(e,n,t){"use strict";t.d(n,{DL:function(){return l},U4:function(){return a},gT:function(){return s},ow:function(){return r}});var s="\n  query ClassesBySchool(\n    $schoolCode: String!\n    $filter: ModelClassRoomFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    classesBySchool(\n      schoolCode: $schoolCode\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        grade\n        description\n        schoolCode\n        teacherIds\n        readingGoalBooks\n        isActive\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n",r="\n  query ClassesBySchoolAndGrade(\n    $schoolCode: String!\n    $grade: ModelStringKeyConditionInput\n    $filter: ModelClassRoomFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    classesBySchoolAndGrade(\n      schoolCode: $schoolCode\n      grade: $grade\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        grade\n        description\n        schoolCode\n        teacherIds\n        readingGoalBooks\n        isActive\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n",a="\n  query GetClassRoom($id: ID!) {\n    getClassRoom(id: $id) {\n      id\n      name\n      grade\n      description\n      schoolCode\n      teacherIds\n      readingGoalBooks\n      isActive\n      createdAt\n      updatedAt\n      __typename\n    }\n  }\n",l="\n  query UsersByClass(\n    $classId: ID\n    $filter: ModelUserSubscriptionFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    usersByClass(\n      classId: $classId\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        email\n        firstName\n        lastName\n        code\n        grade\n        classId\n        className\n        isActive\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n"},17179:function(e,n,t){"use strict";var s=t(85893);t(67294);n.Z=function(e){var n=e.page,t=e.totalPages,r=e.totalItems,a=e.pageSize,l=e.onPageChange,o=e.itemLabel,i=void 0===o?"items":o;if(r<=a)return null;var d=(n-1)*a+1,c=Math.min(n*a,r);return(0,s.jsxs)("div",{className:"mt-4 flex flex-col sm:flex-row items-center justify-between gap-3 border-t border-gray-200 pt-4",children:[(0,s.jsxs)("p",{className:"text-sm text-gray-600",children:["Showing ",d,"\u2013",c," of ",r," ",i]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:function(){return l(n-1)},disabled:n<=1,className:"px-3 py-1.5 text-sm border border-gray-300 rounded-md bg-white hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Previous"}),(0,s.jsxs)("span",{className:"text-sm text-gray-700",children:["Page ",n," of ",t]}),(0,s.jsx)("button",{type:"button",onClick:function(){return l(n+1)},disabled:n>=t,className:"px-3 py-1.5 text-sm border border-gray-300 rounded-md bg-white hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",children:"Next"})]})]})}},79419:function(e,n,t){"use strict";t.d(n,{e:function(){return r},y:function(){return s}});var s=20,r=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s,r=e.length,a=Math.max(1,Math.ceil(r/t)),l=Math.min(Math.max(1,n),a),o=(l-1)*t;return{page:l,totalPages:a,totalItems:r,pageItems:e.slice(o,o+t)}}},33122:function(e,n,t){"use strict";t.r(n);var s=t(47568),r=t(29815),a=t(70655),l=t(85893),o=t(10552),i=t(44541),d=t(38901),c=t(41664),u=t.n(c),m=t(67294),h=t(16202),x=t(47767),f=t(17179),p=t(47531),g=t(79419),b=t(77095),v=function(e,n){return(0,r.Z)(e).sort((function(e,t){return(n(e)||"").localeCompare(n(t)||"",void 0,{sensitivity:"base"})}))};n.default=function(){var e,n=(0,m.useState)([]),t=n[0],c=n[1],y=(0,m.useState)(!0),N=y[0],j=y[1],C=(0,m.useState)(null),w=C[0],I=C[1],k=(0,m.useState)(""),$=k[0],S=k[1],A=(0,m.useState)(""),T=A[0],_=A[1],M=(0,m.useState)(1),E=M[0],B=M[1],P=(null===w||void 0===w?void 0:w.schoolCode)||"",G=(0,m.useMemo)((function(){return v((null===w||void 0===w?void 0:w.classes)||[],(function(e){return e.name}))}),[w]),L=(0,m.useMemo)((function(){var e=$.trim().toLowerCase(),n=t.filter((function(e){return!1!==e.isActive}));return e&&(n=n.filter((function(n){return(n.email||"").toLowerCase().includes(e)||(n.firstName||"").toLowerCase().includes(e)||(n.lastName||"").toLowerCase().includes(e)}))),n}),[t,$]),Z=(0,m.useMemo)((function(){return(0,g.e)(L,E,g.y)}),[L,E]),F=(0,m.useMemo)((function(){return Z.pageItems.length?function(e,n){var t=Object.fromEntries(n.map((function(e){return[e.id,e]}))),s=new Map,a=!0,l=!1,o=void 0;try{for(var i,d=e[Symbol.iterator]();!(a=(i=d.next()).done);a=!0){var c=i.value;c.classId&&(s.has(c.classId)||s.set(c.classId,[]),s.get(c.classId).push(c))}}catch(u){l=!0,o=u}finally{try{a||null==d.return||d.return()}finally{if(l)throw o}}return v((0,r.Z)(s.keys()),(function(e){var n,r;return(null===(n=t[e])||void 0===n?void 0:n.name)||(null===(r=s.get(e)[0])||void 0===r?void 0:r.className)||""})).map((function(e){var n,r;return{key:e,title:(null===(n=t[e])||void 0===n?void 0:n.name)?"".concat(t[e].name," 
1(Grade ").concat(t[e].grade,")"):(null===(r=s.get(e)[0])||void 0===r?void 0:r.className)||"Class",students:s.get(e)}}))}(Z.pageItems,(null===w||void 0===w?void 0:w.classes)||[]):[]}),[Z.pageItems,w]),q=(0,m.useCallback)((0,s.Z)((function(){var e,n,t,s,l,d,u,m,x,f,p,g,b,v,y,N,C;return(0,a.__generator)(this,(function(a){switch(a.label){case 0:if(!(null===w||void 0===w?void 0:w.schoolCode)||!(null===(e=w.allowedClassIds)||void 0===e?void 0:e.length))return c([]),j(!1),[2];j(!0),a.label=1;case 1:a.trys.push([1,12,13,14]),n=T?[T]:w.allowedClassIds,t=[],s=!0,l=!1,d=void 0,a.label=2;case 2:a.trys.push([2,9,10,11]),u=n[Symbol.iterator](),a.label=3;case 3:if(s=(m=u.next()).done)return[3,8];if(x=m.value,!w.allowedClassIds.includes(x))return[3,7];f=null,a.label=4;case 4:return[4,o.b.graphql((0,i.wT)(h.DL,{classId:x,nextToken:f}))];case 5:b=a.sent(),v=null===b||void 0===b||null===(g=b.data)||void 0===g?void 0:g.usersByClass,(p=t).push.apply(p,(0,r.Z)((null===v||void 0===v?void 0:v.items)||[])),f=null===v||void 0===v?void 0:v.nextToken,a.label=6;case 6:if(f)return[3,4];a.label=7;case 7:return s=!0,[3,3];case 8:return[3,11];case 9:return y=a.sent(),l=!0,d=y,[3,11];case 10:try{s||null==u.return||u.return()}finally{if(l)throw d}return[7];case 11:return N={},t.forEach((function(e){e.email&&e.code===P&&!1!==e.isActive&&(N[e.email]=e)})),c(Object.values(N)),[3,14];case 12:return C=a.sent(),console.error("Failed to load students:",C),c([]),[3,14];case 13:return j(!1),[7];case 14:return[2]}}
1))})),[w,T,P]);(0,m.useEffect)((function(){(0,s.Z)((function(){var e,n;return(0,a.__generator)(this,(function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),[4,d.g.currentAuthenticatedUser()];case 1:return t.sent(),[4,(0,b.B)()];case 2:return e=t.sent(),I(e),[3,4];case 3:return n=t.sent(),console.error(n),[3,4];case 4:return[2]}}))}))()}),[]),(0,m.useEffect)((function(){T&&!G.some((function(e){return e.id===T}))&&_("")}),[T,G]),(0,m.useEffect)((function(){B(1)}),[T,$]),(0,m.useEffect)((function(){q()}),[q]);return(0,l.jsx)(p.Z,{children:(0,l.jsx)("div",{className:"flex flex-1 flex-col md:flex-row lg:flex-row mx-2",children:(0,l.jsxs)("div",{className:"mb-2 border-solid border-gray-300 rounded border shadow-sm w-full",children:[(0,l.jsxs)("div",{className:"p-4",children:[(0,l.jsxs)("div",{className:"mb-4",children:[(0,l.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Filter by class"}),(0,l.jsxs)("select",{value:T,onChange:function(e){return _(e.target.value)},className:"w-full border border-gray-300 rounded-md px-3 py-2 max-w-md",children:[(0,l.jsx)("option",{value:"",children:"All my classes"}),G.map((function(e){return(0,l.jsxs)("option",{value:e.id,children:[e.name," (Grade ",e.grade,")"]},e.id)}))]})]}),(0,l.jsxs)("div",{className:"mb-4",children:[(0,l.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Search"}),(0,l.jsx)("input",{className:"w-full border border-gray-300 rounded-md px-3 py-2 max-w-md",value:$,onChange:function(e){return S(e.target.value)},placeholder:"Name or email"})]})]}),(0,l.jsxs)("div",{className:"bg-purple-bright text-white text-bold px-2 py-3 border-solid border-gray-200 border-b flex flex-wrap justify-between items-center gap-2",children:[(0,l.jsx)("span",{children:"My students"}),!N&&(0,l.jsxs)("span",{className:"text-sm font-normal",children:[L.length," student",1===L.length?"":"s"]})]}),(0,l.jsx)("div",{className:"p-3",children:N?(0,l.jsx)(x.Z,{}):(null===w||void 0===w||null===(e=w.allowedClassIds)||void 0===e?void 0:e.length)?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("table",{className:"w-full rounded",children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{className:"border px-4 py-2",children:"First name"}),(0,l.jsx)("th",{className:"border px-4 py-2",children:"Last name"}),(0,l.jsx)("th",{className:"border px-4 py-2",children:"Email"}),(0,l.jsx)("th",{className:"border px-4 py-2",children:"Grade"}),(0,l.jsx)("th",{className:"border px-4 py-2",children:"Class"}),(0,l.jsx)("th",{className:"border px-4 py-2",children:"Actions"})]})}),(0,l.jsx)("tbody",{children:F.length>0?F.flatMap((function(e){var n=[];return n.push((0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:6,className:"border px-4 py-2 bg-gray-100 text-left font-semibold",children:e.title})},"hdr-".concat(e.key))),e.students.forEach((function(e){n.push((0,l.jsxs)("tr",{className:"text-center",children:[(0,l.jsx)("td",{className:"border px-4 py-2",children:e.firstName||"-"}),(0,l.jsx)("td",{className:"border px-4 py-2",children:e.lastName||"-"}),(0,l.jsx)("td",{className:"border px-4 py-2",children:e.email||"-"}),(0,l.jsx)("td",{className:"border px-4 py-2",children:e.grade||"-"}),(0,l.jsx)("td",{className:"border px-4 py-2 text-sm",children:e.className||"\u2014"}),(0,l.jsx)("td",{className:"border px-4 py-2",children:(0,l.jsx)(u(),{href:"/teacher/students/activity/".concat(encodeURIComponent(e.email||"")),legacyBehavior:!0,children:(0,l.jsx)("a",{className:"text-indigo-600 hover:underline text-sm",children:"View activity"})})})]},e.id))}
1)),n})):(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:6,className:"border px-4 py-2 text-center text-gray-500",children:"No students found"})})})]}),(0,l.jsx)(f.Z,{page:Z.page,totalPages:Z.totalPages,totalItems:Z.totalItems,pageSize:g.y,onPageChange:B,itemLabel:"students"})]}):(0,l.jsx)("p",{className:"text-gray-600 text-sm",children:"No classes assigned."})})]})})})}}},function(e){e.O(0,[1664,3654,3616,9424,9356,5558,7859,9774,2888,179],(function(){return n=62521,e(e.s=n);var n}));var n=e.O();_N_E=n}]);

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.