1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8797],{540:function(e,s,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/instructor/new_class",function(){return a(8352)}])},7444:function(e,s,a){"use strict";var n=a(2322),t=(a(2784),a(9094)),r=a(6577),l=a.n(r);s.Z=function(e){var s=e.width,a=void 0===s?400:s,r=e.height,c=void 0===r?140:r,o=e.link,i=void 0===o?"/":o;return(0,n.jsx)(t.M,{children:(0,n.jsx)("a",{href:i,children:(0,n.jsx)(l(),{src:"/logos/logo.png",alt:"FossilSketch logo",width:a,height:c})})})}},1783:function(e,s,a){"use strict";var n=a(2322),t=a(2784),r=a(7001),l=a(4736),c=a(7973),o=a(7648),i=a(5092),d=a(3341),u=a(8454),_=a(2183),m=a(5166),h=a(8890),p=a(7444),x=a(4621),f=a.n(x),v=a(9097),C=a.n(v),g=a(5632),j=[{path:"/home",text:"Home",icon:o.Z,visibleTo:[0,1,2]},{path:"/database",text:"Database",icon:i.Z,visibleTo:[0,1,2]},{path:"/progress",text:"Progress",icon:d.Z,visibleTo:[0]}],N=[{path:"/instructor/student_stats",text:"Student Statistics",icon:u.Z,visibleTo:[1,2]},{path:"/instructor/game_builder",text:"Game Builder",icon:_.Z,visibleTo:[2]},{path:"/instructor/new_fossil",text:"New Microfossil",icon:u.Z,visibleTo:[1,2]},{path:"/instructor/new_class",text:"New Class",icon:u.Z,visibleTo:[1,2]},{path:"/instructor/game_builder?tab=matching",text:"Matching Games",icon:u.Z,visibleTo:[2]},{path:"/instructor/add_instructor",text:"Add Instructor",icon:u.Z,visibleTo:[2]},{path:"/instructor/select_content",text:"Select Content",icon:u.Z,visibleTo:[1,2]}];s.Z=function(e){var s=e.handleLogout,a=(0,g.useRouter)(),o=(0,t.useContext)(c.Z),i=o.role,d=o.currentClass,u=o.setRole,_=(0,t.useState)(null!==i&&void 0!==i?i:-1),x=_[0],v=_[1];(0,t.useEffect)((function(){var e=localStorage.getItem("role");if(null!==e){var s=parseInt(e,10);if(!Number.isNaN(s))return v(s),void u(s)}void 0!==i&&null!==i&&i>=0&&v(i)}),[i,u]);var w=(0,t.useState)(!1),b=w[0],y=w[1],k=function(e){var s=e.split("?")[0];return a.pathname===s?"".concat(f().link_icon," ").concat(f().active):f().link_icon},S=function(e){var s=e.split("?")[0];return a.pathname===s?"".concat(f().link," ").concat(f().active):f().link};return(0,n.jsxs)("div",{children:[(0,n.jsxs)(r.d,{opened:b,onClose:function(){return y(!1)},size:"md",padding:"xl",overlayOpacity:.3,classNames:{drawer:f().drawer},children:[(0,n.jsx)("div",{className:f().logo,children:(0,n.jsx)(p.Z,{width:270,height:100,link:"/home"})}),j.map((function(e){return e.visibleTo.includes(x)&&(0,n.jsxs)("div",{className:f().link_container,children:[(0,n.jsx)(e.icon,{className:k(e.path)}),(0,n.jsx)(C(),{href:e.path,children:(0,n.jsx)("a",{className:S(e.path),children:e.text})})]},e.path)})),x>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:f().link_container,children:[(0,n.jsx)(m.Z,{className:f().link_icon}),(0,n.jsx)("div",{className:f().link,style:{cursor:"default"},children:"Manage"})]}),(0,n.jsx)("div",{className:f().instructor_container,children:N.filter((function(e){return"/instru
1ctor/add_instructor"!==e.path||"47"!==d&&"48"!==d})).map((function(e){return e.visibleTo.includes(x)&&(0,n.jsxs)("div",{className:"".concat(f().link_container," ").concat(f().manage_link),children:[(0,n.jsx)(e.icon,{className:k(e.path)}),(0,n.jsx)(C(),{href:e.path,children:(0,n.jsx)("a",{className:S(e.path),children:e.text})})]},e.path)}))})]}),(0,n.jsxs)("div",{className:f().link_container,children:[(0,n.jsx)(h.Z,{className:f().link_icon}),(0,n.jsx)("a",{className:f().link,onClick:function(){return s()},children:"Logout"})]})]}),(0,n.jsx)(l.k,{onClick:function(){return y(!0)},children:(0,n.jsx)("div",{className:f().toggle_menu})})]})}},8352:function(e,s,a){"use strict";a.r(s);var n=a(8788),t=a(865),r=a(6670),l=a(2970),c=a(2322),o=a(2784),i=a(9094),d=a(1017),u=a(5117),_=a(6720),m=a(8855),h=a(50),p=a(7841),x=a(61),f=a(9236),v=a(6991),C=a(9834),g=a(7804),j=a(1019),N=a(8060),w=a(3575),b=a(1835),y=a(2246),k=a(6324),S=a(1783),Z=a(1803),E=a.n(Z),I=a(2589),T=[{label:"Class Code",type:"text",name:"classCode"},{label:"Class Name",type:"text",name:"className"}],M=function(e,s,a,n){var t=arguments.length>4&&void 0!==arguments[4]?arguments[4]:5e3;(0,w.c0)({id:e,title:s,message:a,color:n,autoClose:t})};s.default=function(e){var s=e.handleLogout,a=(0,j.c)({initialValues:{className:"",classCode:"",copyFromClassId:null}}),w=(0,o.useState)([]),Z=w[0],z=w[1],F=(0,o.useState)(""),L=F[0],R=F[1],A=(0,o.useState)(-1),D=A[0],P=A[1],O=(0,N.V)({timeout:500}),V=(0,o.useState)(new Set),B=V[0],q=V[1],X=(0,o.useState)(1),G=X[0],K=X[1],Q=(0,o.useState)(""),W=Q[0],H=Q[1],U=(0,o.useState)("classCode"),J=U[0],Y=U[1],$=(0,o.useState)("asc"),ee=$[0],se=$[1],ae=I.S.useQuery(["classroom.getClassroomCodes"]),ne=ae.data,te=ae.refetch,re=I.S.useMutation(["classroom.addNewClassroom"]).mutate,le=I.S.useMutation(["classroom.editClassroom"]).mutate,ce=I.S.useMutation(["classroom.deleteClassroom"]).mutate,oe=function(){setTimeout((function(){te()}),2e3)},ie=function(){var e=(0,n.Z)((function(e){var s,n,t,r,c;return(0,l.__generator)(this,(function(l){return e.preventDefault(),s=a.getInputProps("classCode").value,n=a.getInputProps("className").value,s.trim()&&n.trim()?(t=s.toLowerCase().trim(),Z.find((function(e){return e.classCode.toLowerCase()===t}
1))?(M("exisitingClassroomCode","Error","Classroom with same code already exists.","red"),[2]):Z.find((function(e){return e.className.toLowerCase()===n.toLowerCase().trim()}))?(M("exisitingClassroomName","Error","Classroom with same name already exists.","red"),[2]):(c={},re(((r={}).classroomCode=s,r.classroomName=n,r.copyFromClassroomId=a.values.copyFromClassId?Number(a.values.copyFromClassId):void 0,r),(c.onSuccess=function(){a.reset(),M("addClassroomSuccess","Success","Classroom has been successfully added.","green"),oe()},c.onError=function(e){M("addClassroomError","Error",e.message||"An error occurred while adding the new classroom. Please try again.","red")},c)),[2])):(M("emptyFields","Error","None of the fields can be empty.","red"),[2])}))}));return function(s){return e.apply(this,arguments)}}(),de=function(){var e=(0,n.Z)((function(e){var s,n;return(0,l.__generator)(this,(function(t){return e.preventDefault(),n={},le(((s={}).classroomId=D,s.classroomCode=a.getInputProps("classCode").value,s.classroomName=a.getInputProps("className").value,s),(n.onSuccess=function(){a.reset(),R(""),P(-1),M("renameClassroomSuccess","Success","The classcode and/or classname has been successfully renamed","green"),oe()},n)),[2]}))}));return function(s){return e.apply(this,arguments)}}(),ue=function(e){se((function(s){return J===e&&"asc"===s?"desc":"asc"})),Y(e)},_e=(0,o.useMemo)((function(){var e=W.trim().toLowerCase(),s=Z.filter((function(s){var a,n;return!e||((null===(a=s.classCode)||void 0===a?void 0:a.toLowerCase().includes(e))||(null===(n=s.className)||void 0===n?void 0:n.toLowerCase().includes(e)))}));return s=s.slice().sort((function(e,s){var a="asc"===ee?1:-1,n=(e[J]||"").toString().toLowerCase(),t=(s[J]||"").toString().toLowerCase();return n<t?-1*a:n>t?1*a:0}))}),[Z,W,J,ee]),me=(0,o.useMemo)((function(){var e=10*(G-1);return _e.slice(e,e+10)}),[_e,G]);return(0,o.useEffect)((function(){ne&&z(ne)}),[ne]),(0,c.jsxs)("div",{className:E().background,children:[(0,c.jsx)(S.Z,{handleLogout:s}),(0,c.jsx)(i.M,{children:(0,c.jsxs)(d.Z,{className:E().form_card,children:[T.map((function(e,s){return(0,c.jsxs)("div",{className:E().input_container,children:[(0,c.jsx)(u.x,{className:E().input_label,children:e.label}),(0,c.jsx)(_.I,(0,r.Z)((0,t.Z)({size:"sm",type:e.type,name:e.name},a.getInputProps(e.name)),{required:!0,variant:"unstyled",className:E().input_text}))]},s)})),"rename"!==L&&(0,c.jsxs)("div",{className:E().input_container,children:[(0,c.jsx)(u.x,{className:E().input_label,children:"Copy settings from (optional)"}),(0,c.jsx)(m.Ph,{placeholder:"Start with default settings",clearable:!0,searchable:!0,nothingFound:"No classes found",value:a.values.copyFromClassId,onChange:function(e){return a.setFieldValue("copyFromClassId",e)},data:Z.map((function(e){return{value:String(e.classId),label:"".concat(e.className," (").concat(e.classCode,")")}})),classNames:{input:E().select_input}})]}),(0,c.jsx)(i.M,{children:"rename"===L?(0,c.jsxs)(h.r,{style:{width:"100%"},gutter:"xs",children:[(0,c.jsx)(h.r.Col,{span:6,children:(0,c.jsx)(p.z,{type:"submit",size:"sm",radius:"md",variant:"filled",fullWidth:!0,onClick:de,children:"Rename Class"})}),(0,c.jsx)(h.r.Col,{span:6,children:(0,c.jsx)(p.z,{size:"sm",radius:"md",variant:"outline",color:"gray",fullWidth:!0,onClick:function(){P(-1),R(""),a.reset()},children:"Cancel"})})]}):(0,c.jsx)(p.z,{type:"submit",size:"sm",radius:"md",variant:"filled",onClick:ie,children:"Add Class"})}),(0,c.jsx)("div",{className:E().message_container,children:"rename"===L?(0,c.jsx)(u.x,{children:'Editing the selected class. Update the fields above and press "Rename Class".'}):(0,c.jsx)("div",{})})]})}),(0,c.jsxs)(d.Z,{className:E().class_list_card,children:[(0,c.jsx)("div",{style:{marginBottom:12},children:(0,c.jsx)(x.o,{placeholder:"Search by class code or class name...",value:W,size:"md",onChange:function(e){H(e.currentTarget.value),K(1)}})}),(0,c.jsxs)(h.r,{className:"".concat(E().class_row," ").concat(E().header_row),children:[(0,c.jsxs)(h.r.Col,{span:5,className:E().header_cell,onClick:function(){return ue("classCode")},children:["Class Code"," ","classCode"===J?"asc"===ee?"\u2191":"\u2193":""]}),(0,c.jsxs)(h.r.Col,{span:6,className:E().header_cell,onClick:function(){return ue("className")},children:["Class Name"," ","className"===J?"asc"===ee?"\u2191":"\u2193":""]}),(0,c.jsx)(h.r.Col,{span:1})]}),me.map((function(e){return(0,c.jsxs)(h.r,{className:E().class_row,align:"center",children:[(0,c.jsxs)(h.r.Col,{span:5,children:[(0,c.jsx)(u.x,{className:E().label,children:"code"}),(0,c.jsxs)(f.D,{order:5,className:E().class_code,children:[e.classCode," ",(0,c.jsx)("span",{className:E().clipboard,onClick:function(){return s=e.classCode,O.copy(s),q((function(e){return new Set(e).add(s)})),void setTimeout((function(){q((function(e){var a=new Set(e);return a.delete(s),a}))}),2e3);var s},children:B.has(e.classCode)?(0,c.jsx)(b.Z,{size:16}):(0,c.jsx)(y.Z,{size:16})})]})]}),(0,c.jsxs)(h.r.Col,{span:6,children:[(0,c.jsx)(u.x,{className:E().label,children:"name"}),(0,c.jsx)(f.D,{order:5,className:E().class_name,children:e.className})]}),(0,c.jsx)(h.r.Col,{span:1,style:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:(0,c.jsxs)(v.v,{position:"bottom-end",withinPortal:!0,children:[(0,c.jsx)(v.v.Target,{children:(0,c.jsx)(C.A,{variant:"light",size:"sm","aria-label":"Class actions",children:(0,c.jsx)(k.Z,{size:18})})}),(0,c.jsxs)(v.v.Dropdown,{children:[(0,c.jsx)(v.v.Item,{onClick:function(){return P((s=e).classId),R("rename"),a.setFieldValue("classCode",s.classCode),void a.setFieldValue("className",s.className);var s},children:"Rename"}),(0,c.jsx)(v.v.Item,{color:"red",onClick:function(){return s=e,void(window.confirm("Are you sure you want to delete this classroom? - ".concat(s.className))&&ce({classroomId:s.classId},{onSuccess:function(){R(""),M("deleteClassroomSuccess","Success","The classroom has been deleted successfully.","green"),oe()},onError:function(e){var s=e.message||"An error occurred while deleting the classroom.",a=e.data;a&&"FORBIDDEN"===a.code?M("deleteClassroomForbidden","Forbidden",s,"red"):a&&"BAD_REQUEST"===a.code?M("deleteClassroomBadRequest","Bad Request",s,"red"):M("deleteClassroomError","Error",s,"red")}}));var s},children:"Delete"})]})]})})]},e.classId)})),0===_e.length&&(0,c.jsx)(i.M,{className:E().empty_state,children:(0,c.jsx)(u.x,{children:"No classes match your search."})}),(0,c.jsx)(i.M,{children:(0,c.jsx)(g.t,{className:E().pagination,page:G,onChange:K,total:Math.max(1,Math.ceil(_e.length/10))})})]})]})}},1803:function(e){e.exports={background:"new_class_background__6rT9O",form_c
1ard:"new_class_form_card__bWaRV",input_container:"new_class_input_container__KS7qM",input_label:"new_class_input_label__g5T9a",input_text:"new_class_input_text___fHsy",select_input:"new_class_select_input__OEqqV",message_container:"new_class_message_container__NRm_v",class_list_card:"new_class_class_list_card__S_zig",class_row:"new_class_class_row__3YsH_",class_data_label:"new_class_class_data_label___vGdQ",header_row:"new_class_header_row__XQA96",header_cell:"new_class_header_cell__GphNW",clipboard:"new_class_clipboard__ANhl_",class_code:"new_class_class_code__ovjeA",class_name:"new_class_class_name__OaIET",label:"new_class_label__GsEJ_",empty_state:"new_class_empty_state__RavaS",pagination:"new_class_pagination__K05E_"}},4621:function(e){e.exports={drawer:"sidebar_drawer__KpNLV",logo:"sidebar_logo__3EwEr",link_container:"sidebar_link_container__pZwwX",link_icon:"sidebar_link_icon___D4fO",active:"sidebar_active__zubOB",link:"sidebar_link__gXfrl",instructor_container:"sidebar_instructor_container__K4glu",manage_link:"sidebar_manage_link__MXySh",toggle_menu:"sidebar_toggle_menu__dg0Az"}}},function(e){e.O(0,[6577,443,7301,5944,8855,7216,3977,8423,9774,2888,179],(function(){return s=540,e(e.s=s);var s}));var s=e.O();_N_E=s}]);
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.