PageSourceSearch

https://www.desent.io/_next/static/chunks/pages/admin/employees-d2743e905c8bdcba.js

js desent.io collected 2026-10-07 03:05:05 UTC 16,878 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1141],{20946:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return N}});var n=r(59499),a=r(50029),i=r(64687),s=r.n(i),o=r(9008),u=r.n(o),c=r(67294),l=r(67701),d=r(11706),f=r(19138),m=r(57087),p=r(43948),x=r(94618),h=r(26545),v=r(85893);function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?g(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b=(0,p.Z)({palette:{mode:"dark",background:{default:"#111827",paper:"#1f2937"},primary:{main:"#C8FF00"}}}),w={border:"1px solid #374151",borderRadius:3,"& .MuiDataGrid-columnHeaders":{backgroundColor:"#1f2937",borderBottom:"1px solid #374151"},"& .MuiDataGrid-cell":{borderBottom:"1px solid #1f2937",py:1.5,display:"flex",alignItems:"center"},"& .MuiDataGrid-row:hover":{backgroundColor:"#1f293799"},"& .MuiDataGrid-footerContainer":{borderTop:"1px solid #374151"},"& .MuiTablePagination-root":{color:"#9ca3af"}};function j(e){return null==e?"text-gray-500":e>=7.5?"text-green-400":e>=5?"text-yellow-400":"text-red-400"}function N(){var e=(0,f.S)(),t=e.user,r=e.loading,n=e.isAdmin,i=(0,c.useState)(""),o=i[0],p=i[1],g=(0,c.useState)(""),N=g[0],k=g[1],S=(0,c.useState)(""),A=S[0],Z=S[1],C=(0,c.useState)(!1),O=C[0],I=C[1],_=(0,c.useState)([]),E=_[0],D=_[1],P=(0,c.useState)(!1),R=P[0],F=P[1],U=(0,c.useState)(""),z=U[0],L=U[1],G=(0,c.useState)(""),J=G[0],T=G[1],B=(0,c.useState)("active"),M=B[0],H=B[1],X=function(){var e=(0,a.Z)(s().mark((function e(t){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),Z(""),I(!0),e.prev=3,e.next=6,(0,l.zB)(o,N);case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(3),Z("auth/wrong-password"===e.t0.code||"auth/user-not-found"===e.t0.code||"auth/invalid-credential"===e.t0.code?"Invalid email or password.":"Login failed. Please try again.");case 11:return e.prev=11,I(!1),e.finish(11);case 14:case"end":return e.stop()}}),e,null,[[3,8,11,14]])}
1)));return function(t){return e.apply(this,arguments)}}(),q=(0,c.useCallback)((0,a.Z)(s().mark((function e(){var t,r,n,a,i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return F(!0),L(""),e.prev=2,e.next=5,null===(t=d.I8.currentUser)||void 0===t?void 0:t.getIdToken();case 5:return r=e.sent,e.next=8,fetch("/api/admin/employees",{headers:{Authorization:"Bearer ".concat(r)}});case 8:if((n=e.sent).ok){e.next=14;break}return e.next=12,n.json();case 12:throw a=e.sent,new Error(a.error||"Failed to fetch");case 14:return e.next=16,n.json();case 16:i=e.sent,D(i.employees),e.next=23;break;case 20:e.prev=20,e.t0=e.catch(2),L(e.t0.message||"Failed to load employees.");case 23:return e.prev=23,F(!1),e.finish(23);case 26:case"end":return e.stop()}}),e,null,[[2,20,23,26]])}))),[]);(0,c.useEffect)((function(){t&&n&&q()}),[t,n,q]);var Q=[{field:"displayName",headerName:"Name",flex:1.2,minWidth:200,valueGetter:function(e,t){var r;return(null===(r=t.profile)||void 0===r?void 0:r.displayName)||t.email},renderCell:function(e){var t;return(0,v.jsxs)("div",{className:"flex items-center gap-3",children:[(0,v.jsx)("img",{src:(null===(t=e.row.profile)||void 0===t?void 0:t.photoURL)||"https://ui-avatars.com/api/?name=".concat(encodeURIComponent(e.value||"?"),"&size=32&background=random&bold=true"),alt:"",className:"w-8 h-8 rounded-full object-cover"}),(0,v.jsx)("a",{href:"/admin/employees/".concat(e.row.uid),className:"text-prime-100 hover:underline",onClick:function(e){return e.stopPropagation()},children:e.value||"\u2014"})]})}},{field:"email",headerName:"Email",flex:1.2,minWidth:200},{field:"title",headerName:"Title",flex:1,minWidth:140,valueGetter:function(e,t){var r;return(null===(r=t.profile)||void 0===r?void 0:r.title)||""},renderCell:function(e){return(0,v.jsx)("span",{className:"text-gray-300",children:e.value||(0,v.jsx)("span",{className:"text-gray-600",children:"\u2014"})})}},{field:"status",headerName:"Status",width:100,valueGetter:function(e,t){var r;return(null===(r=t.profile)||void 0===r?void 0:r.status)||"active"},renderCell:function(e){var t="active"===e.value?"bg-green-400/10 text-green-400":"bg-gray-400/10 text-gray-400";return(0,v.jsx)("span",{className:"inline-block px-2.5 py-0.5 rounded-full text-xs font-medium ".concat(t),children:e.value})}},{field:"assessmentCount",headerName:"Assessments",width:120,renderCell:function(e){return(0,v.jsx)("span",{className:"text-gray-300",children:e.value||0})}},{field:"lastAssessmentScore",headerName:"Last score",width:110,renderCell:function(e){var t=e.value;return(0,v.jsx)("span",{className:"font-semibold ".concat(j(t)),children:null!=t?t.toFixed(1):"\u2014"})}},{field:"lastAssessmentAt",headerName:"Last assessment",width:160,valueGetter:function(e){return e?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):"\u2014"}}];if(r)return(0,v.jsx)("div",{className:"min-h-screen bg-gray-900 flex items-center justify-center",children:(0,v.jsx)("div",{className:"w-8 h-8 border-2 border-prime-100 border-t-transparent rounded-full animate-spin"})});if(!t)return(0,v.jsxs)("div",{className:"bg-gray-900 min-h-screen",children:[(0,v.jsxs)(u(),{children:[(0,v.jsx)("title",{children:"Admin Login"}),(0,v.jsx)("meta",{name:"robots",content:"noindex, nofollow"})]}),(0,v.jsx)("div",{className:"flex items-center justify-center min-h-screen px-4",children:(0,v.jsxs)("form",{onSubmit:X,className:"w-full max-w-sm space-y-6",children:[(0,v.jsxs)("div",{className:"text-center",children:[(0,v.jsx)("h1",{className:"text-2xl font-bold text-white",children:"Admin Login"}),(0,v.jsx)("p",{className:"text-gray-400 text-sm mt-1",children:"Authorized personnel only."})]}),(0,v.jsxs)("div",{children:[(0,v.jsx)("label",{htmlFor:"email",className:"block text-sm font-medium text-gray-300 mb-1.5",children:"Email"}),(0,v.jsx)("input",{id:"email",type:"email",required:!0,value:o,onChange:function(e){return p(e.target.value)},className:"w-full bg-gray-900 ring-1 ring-gray-700 rounded-lg px-4 py-3 text-white placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-prime-100",placeholder:"[email protected]"})]}),(0,v.jsxs)("div",{children:[(0,v.jsx)("label",{htmlFor:"password",className:"block text-sm font-medium text-gray-300 mb-1.5",children:"Password"}),(0,v.jsx)("input",{id:"password",type:"password",required:!0,value:N,onChange:function(e){return k(e.target.value)},className:"w-full bg-gray-900 ring-1 ring-gray-700 rounded-lg px-4 py-3 text-white placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-prime-100",placeholder:"********"})]}),A&&(0,v.jsx)("p",{className:"text-red-400 text-sm text-center",children:A}),(0,v.jsx)("button",{type:"submit",disabled:O,className:"w-full bg-prime-100 hover:bg-prime-200 text-gray-900 font-bold px-6 py-3 rounded-lg transition-colors disabled:opacity-40",children:O?"Signing in...":"Sign In"})]})})]});if(!n)return(0,v.jsxs)("div",{className:"bg-gray-900 min-h-screen",children:[(0,v.jsxs)(u(),{children:[(0,v.jsx)("title",{children:"Access Denied"}),(0,v.jsx)("meta",{name:"robots",content:"noindex, nofollow"})]}),(0,v.jsx)("div",{className:"flex flex-col items-center justify-center min-h-screen px-4 text-center",children:(0,v.jsxs)("div",{className:"bg-gray-800 rounded-2xl p-8 ring-1 ring-red-500/30 max-w-md",children:[(0,v.jsx)("h1",{className:"text-2xl font-bold text-red-400 mb-3",children:"Access Denied"}),(0,v.jsx)("p",{className:"text-gray-300 mb-2",children:"Your account is not authorized to view this page."}),(0,v.jsxs)("p",{className:"text-gray-500 text-xs mb-6 font-mono break-all",children:["UID: ",null===t||void 0===t?void 0:t.uid]}),(0,v.jsx)("button",{onClick:function(){return(0,l.w7)()},className:"bg-gray-700 hover:bg-gray-600 text-white font-medium px-6 py-2.5 rounded-lg transition-colors",children:"Sign Out"})]})})]});var V=E.filter((function(e){var t,r,n,a,i,s;if("all"!==M&&((null===(t=e.profile)||void 0===t?void 0:t.status)||"active")!==M)return!1;if(!J.trim())return!0;var o=J.toLowerCase();return(null===(r=e.profile)||void 0===r||null===(n=r.displayName)||void 0===n?void 0:n.toLowerCase().includes(o))||(null===(a=e.email)||void 0===a?void 0:a.toLowerCase().includes(o))||(null===(i=e.profile)||void 0===i||null===(s=i.title)||void 0===s?void 0:s.toLowerCase().includes(o))}));return(0,v.jsxs)(x.Z,{theme:b,children:[(0,v.jsx)(h.ZP,{}),(0,v.jsxs)("div",{className:"bg-gray-900 min-h-screen",children:[(0,v.jsxs)(u(),{children:[(0,v.jsx)("title",{children:"Employees \u2013 Admin"}),(0,v.jsx)("meta",{name:"robots",content:"noindex, nofollow"})]}),(0,v.jsx)("div",{className:"global-container pt-32 pb-20 px-4 sm:px-6 lg:pt-40 lg:px-8",children:(0,v.jsxs)("div",{className:"max-w-[1400px] mx-auto",children:[(0,v.jsxs)("div",{className:"flex items-center justify-between mb-10",children:[(0,v.jsxs)("div",{children:[(0,v.jsxs)("div",{className:"flex items-center gap-3 mb-1",children:[(0,v.jsx)("a",{href:"/admin",className:"text-gray-400 hover:text-gray-200 text-sm transition-colors",children:"Admin"}),(0,v.jsx)("span",{className:"text-gray-600",children:"/"}),(0,v.jsx)("span",{className:"text-white text-sm",children:"Employees"})]}),(0,v.jsx)("h1",{className:"text-3xl font-bold text-white",children:"Employees"}),(0,v.jsxs)("p",{className:"text-gray-400 text-sm mt-1",children:[E.length," total"]})]}),(0,v.jsx)("button",{onClick:function(){return(0,l.w7)()},className:"bg-gray-800 hover:bg-gray-700 text-gray-300 font-medium px-4 py-2 rounded-lg transition-colors ring-1 ring-gray-700 text-sm",children:"Sign Out"})]}),(0,v.jsx)("div",{className:"flex gap-1 mb-6 bg-gray-800/50 p-1 rounded-lg w-fit ring-1 ring-gray-700/50",children:[{key:"active",label:"Active"},{key:"inactive",label:"Inactive"},{key:"all",label:"All"}].map((function(e){var t=E.filter((function(t){var r;return"all"===e.key||((null===(r=t.profile)||void 0===r?void 0:r.status)||"active")===e.ke
1y})).length,r=M===e.key;return(0,v.jsxs)("button",{onClick:function(){return H(e.key)},className:"px-4 py-2 rounded-md text-sm font-medium transition-colors ".concat(r?"bg-gray-700 text-white shadow-sm":"text-gray-400 hover:text-gray-200"),children:[e.label,(0,v.jsx)("span",{className:"ml-2 text-xs ".concat(r?"text-gray-300":"text-gray-500"),children:t})]},e.key)}))}),(0,v.jsx)("div",{className:"mb-6",children:(0,v.jsx)("input",{type:"text",value:J,onChange:function(e){return T(e.target.value)},placeholder:"Search by name, email, or title...",className:"w-full max-w-md bg-gray-800 ring-1 ring-gray-700 rounded-lg px-4 py-2.5 text-white placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-prime-100 text-sm"})}),z&&(0,v.jsx)("div",{className:"bg-red-500/10 ring-1 ring-red-500/30 rounded-xl p-4 text-red-400 text-center mb-6",children:z}),(0,v.jsx)("div",{style:{width:"100%"},children:(0,v.jsx)(m._,{rows:V.map((function(e){return y(y({},e),{},{id:e.uid})})),columns:Q,loading:R,initialState:{pagination:{paginationModel:{pageSize:25}}},pageSizeOptions:[10,25,50],disableRowSelectionOnClick:!0,autoHeight:!0,getRowHeight:function(){return 64},sx:w})})]})})]})]})}},67701:function(e,t,r){"use strict";r.d(t,{F_:function(){return p},H$:function(){return b},JN:function(){return h},S7:function(){return g},Vc:function(){return v},XU:function(){return y},et:function(){return x},w7:function(){return f},x9:function(){return m},y1:function(){return l},zB:function(){return d}});var n=r(50029),a=r(64687),i=r.n(a),s=r(67294),o=r(85876),u=r(39828),c=r(11706),l=function(){var e=(0,n.Z)(i().mark((function e(t,r){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,o.Xb)(c.I8,t,r);case 2:return n=e.sent,e.abrupt("return",n.user);case 4:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),d=function(){var e=(0,n.Z)(i().mark((function e(t,r){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,o.e5)(c.I8,t,r);case 2:return n=e.sent,e.abrupt("return",n.user);case 4:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),f=function(){var e=(0,n.Z)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,o.w7)(c.I8);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),m=function(){var e=(0,n.Z)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,o.LS)(c.I8,t);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),p=function(){var e=(0,s.useState)(null),t=e[0],r=e[1],n=(0,s.useState)(!0),a=n[0],i=n[1];return(0,s.useEffect)((function(){var e=(0,o.Aj)(c.I8,(function(e){r(e),i(!1)}));return function(){return e()}}),[]),{user:t,loading:a}},x=function(){var e=(0,n.Z)(i().mark((function e(t){var r,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=(0,u.JU)(c.RZ,"users",t),e.next=3,(0,u.QT)(r);case 3:if(!(n=e.sent).exists()){e.next=6;break}return e.abrupt("return",n.data());case 6:return e.abrupt("return",null);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),h=function(){var e=(0,n.Z)(i().mark((function e(t,r){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=(0,u.JU)(c.RZ,"users",t),e.next=3,(0,u.pl)(n,r,{merge:!0});case 3:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),v=function(){var e=(0,n.Z)(i().mark((function e(t){var r,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=(0,u.JU)(c.RZ,"users_envirize",t),e.next=3,(0,u.QT)(r);case 3:if(!(n=e.sent).exists()){e.next=6;break}return e.abrupt("return",n.data());case 6:return e.abrupt("return",null);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),g=function(){var e=(0,n.Z)(i().mark((function e(t,r){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=(0,u.JU)(c.RZ,"users_envirize",t),e.next=3,(0,u.pl)(n,r,{merge:!0});case 3:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),y=function(){var e=(0,n.Z)(i().mark((function e(t){var r,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=(0,u.JU)(c.RZ,"users_jl",t),e.next=3,(0,u.QT)(r);case 3:if(!(n=e.sent).exists()){e.next=6;break}return e.abrupt("return",n.data());case 6:return e.abrupt("return",null);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),b=function(){var e=(0,n.Z)(i().mark((function e(t,r){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=(0,u.JU)(c.RZ,"users_jl",t),e.next=3,(0,u.pl)(n,r,{merge:!0});case 3:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()},11706:function(e,t,r){"use strict";r.d(t,{Fs:function(){return c}
1,I8:function(){return d},RZ:function(){return l},tO:function(){return f}});var n=r(83977),a=r(51019),i=r(39828),s=r(85876),o=r(16689),u=(0,n.ZF)({apiKey:"AIzaSyB2z3myeszNyN3gN-5jVvqYf46oj0Bl8u4",authDomain:"desent-io.firebaseapp.com",databaseURL:"https://desent-io-default-rtdb.asia-southeast1.firebasedatabase.app",projectId:"desent-io",storageBucket:"desent-io.firebasestorage.app",messagingSenderId:"43198631246",appId:"1:43198631246:web:7a2fd728140769fcc0e21f",measurementId:"G-JZXVFHKZRF"}),c=(0,a.N8)(u),l=(0,i.ad)(u),d=(0,s.v0)(u),f=(0,o.cF)(u)},19138:function(e,t,r){"use strict";r.d(t,{S:function(){return o}});var n=r(67294),a=r(39828),i=r(11706),s=r(67701);function o(){var e=(0,s.F_)(),t=e.user,r=e.loading,o=(0,n.useState)({isAdmin:!1,isSuperAdmin:!1}),u=o[0],c=o[1],l=(0,n.useState)(!0),d=l[0],f=l[1];return(0,n.useEffect)((function(){if(!r){if(!t)return c({isAdmin:!1,isSuperAdmin:!1}),void f(!1);f(!0);var e=(0,a.JU)(i.RZ,"admins",t.uid),n=(0,a.cf)(e,(function(e){if(e.exists()){var t=e.data()||{};c({isAdmin:!0,isSuperAdmin:!!t.superAdmin})}else c({isAdmin:!1,isSuperAdmin:!1});f(!1)}),(function(){c({isAdmin:!1,isSuperAdmin:!1}),f(!1)}));return function(){return n()}}}),[t,r]),{user:t,loading:r||d,isAdmin:u.isAdmin,isSuperAdmin:u.isSuperAdmin}}},60055:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/employees",function(){return r(20946)}])}},function(e){e.O(0,[5703,6724,2281,2594,8879,3886,7458,9774,2888,179],(function(){return t=60055,e(e.s=t);var t}));var t=e.O();_N_E=t}]);

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.