๐ File Manager
๐
/
/
home
/
u449181296
/
domains
/
birulogi.smakpbaleendah.sch.id
/
public_html
/
lms
/
tukang-ngatur
/
assets
/
img
/
qr-logos
/home/u449181296/domains/birulogi.smakpbaleendah.sch.id/public_html/lms/tukang-ngatur/assets/img/qr-logos
Upload
Name
Size
Date
CHMOD
Action
โ FILE โ
logo_1773801405.php
6.73 KB
2026-03-18 02:36
644
(rw-r--r--)
Edit
|
Rename
|
Preview
|
Del
Edit
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Login-CfDIQlpx.js","assets/react-vendor-Cdu9POhR.js","assets/firebase-vendor-CChqQX8m.js","assets/router-vendor-EW88JuZe.js","assets/pdf-vendor-BoEiDn9A.js","assets/TeacherPanel-CIYYdgGZ.js","assets/xlsx-BBWTpfDg.js","assets/workflowPersistence-DDxwZzXF.js","assets/exportHelpers-Cejv61rR.js","assets/SarprasWorkspace-DG2TJLxC.js","assets/teacherQrAttendance-CUj8y-HB.js","assets/monthlyReports-PaugBugx.js","assets/attendanceMonthlySummary-eT_fJds3.js","assets/GuruPiketPanel-DLKCfo9b.js","assets/PiketAttendanceRecap-Bx4T88UR.js","assets/attendanceDailySummary-CI3kC1cf.js","assets/Pic5SPanel-D9pXh0xS.js","assets/WaliKelasPanel-tXaAxMJD.js","assets/financeMonthlySummary-tLHWz_OX.js","assets/finance-Tc08cmEj.js","assets/CoachingMinutesModule-BiCeiulB.js","assets/BKPanel-mAqdzqmH.js","assets/studentMonitoring-DCfdCpPS.js","assets/KesiswaanPanel-Bf3UOEdV.js","assets/archiveMaintenance-CNgCPRxm.js","assets/KurikulumPanel-VTD3F4g0.js","assets/Dashboard-B7RSJSpa.js","assets/usageMonitoring-Cy9wN31H.js","assets/Management-BS-aifqQ.js","assets/genai-vendor-caxStTHX.js","assets/AttendanceCheck-DHc0KeOc.js","assets/FinanceWorkspace-BsHZD8uC.js","assets/recharts-vendor-BkUVXPhp.js","assets/StudentApp-B_oIn23v.js","assets/Guide-B8LyQyNp.js","assets/SarprasPanel-D4_vrwZ_.js","assets/PrincipalPanel-BAy6cCc_.js","assets/FinancePanel-BsUR7XTR.js","assets/TeacherAccountPanel-F4vJKBAP.js"])))=>i.map(i=>d[i]); import{r as p,j as a,c as ke,d as Se}from"./react-vendor-Cdu9POhR.js";import{_ as x}from"./pdf-vendor-BoEiDn9A.js";import{i as Ce,g as Ae,a as Pe,c as n,b as X,p as ve,d as Te,m as Ne,e as W,s as $,f as B,h as ee,j as Ee,o as Ie}from"./firebase-vendor-CChqQX8m.js";import{u as ae,L as Y,H as Le,R as Re,a as u,N as h}from"./router-vendor-EW88JuZe.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const d of l)if(d.type==="childList")for(const i of d.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function o(l){const d={};return l.integrity&&(d.integrity=l.integrity),l.referrerPolicy&&(d.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?d.credentials="include":l.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(l){if(l.ep)return;l.ep=!0;const d=o(l);fetch(l.href,d)}})();const De={apiKey:"AIzaSyDJMvA8kK8Rf0DIaVeFWH4UPX9uxBtq3rk",authDomain:"selaras-49d45.firebaseapp.com",projectId:"selaras-49d45",storageBucket:"selaras-49d45.firebasestorage.app",messagingSenderId:"947681355328",appId:"1:947681355328:web:de1627b5ae14f3e28661a5"},V=Ce(De),Ke=()=>{try{return X(V,{localCache:ve({tabManager:Te()})})}catch(e){return console.warn("Fallback ke cache memori Firestore.",e),X(V,{localCache:Ne()})}},t=Ke();Ae(V);const ga=Pe(V),fa=n(t,"teachers"),te=n(t,"classes"),_a=n(t,"sessions"),ja=n(t,"schedules"),ba=n(t,"grades"),ya=n(t,"portal_accounts"),wa=n(t,"daily_class_attendance"),ka=n(t,"teacher_daily_attendance"),Sa=n(t,"daily_piket_notes"),Ca=n(t,"piket_5s_settings"),Aa=n(t,"piket_5s_reports"),Pa=n(t,"student_behavior_notes"),va=n(t,"student_case_notes"),Ta=n(t,"student_followups"),Na=n(t,"curriculum_monthly_configs"),Ea=n(t,"wali_monthly_reports");n(t,"master_record_categories");n(t,"master_record_subcategories");const Ia=n(t,"student_records"),La=n(t,"student_cases"),Ra=n(t,"student_case_events"),Da=n(t,"student_profiles"),Ka=n(t,"coaching_minutes"),Ma=n(t,"document_templates"),Ba=n(t,"generated_documents"),Oa=n(t,"rooms"),za=n(t,"assets"),Fa=n(t,"furnitures"),Ga=n(t,"facility_reports"),Ha=n(t,"financial_records"),Va=n(t,"extracurricular_masters"),Ua=n(t,"extracurricular_records"),Wa=n(t,"achievement_records"),$a=n(t,"scholarship_records"),qa=n(t,"teacher_attendance_settings");n(t,"teacher_attendance_month_locks");n(t,"teacher_attendance_audit_logs");n(t,"teacher_attendance_qr_codes");const Ja=n(t,"teacher_barcode_cards"),Xa=n(t,"teacher_scan_logs"),Ya=n(t,"teacher_presence_logs");n(t,"attendance_daily_summary");const Qa=n(t,"attendance_monthly_summary"),Za=n(t,"attendance_monthly_summary_classes"),et=n(t,"attendance_monthly_summary_teachers"),at=n(t,"finance_monthly_summary"),tt=n(t,"finance_monthly_summary_classes"),st=n(t,"finance_monthly_summary_students"),nt=n(t,"student_case_summary"),ot=n(t,"student_case_summary_classes"),rt=n(t,"historical_archives"),lt=n(t,"maintenance_jobs"),it=n(t,"firebase_monitoring_settings"),ct=n(t,"firebase_monitoring_daily"),dt=n(t,"firebase_monitoring_alerts");n(t,"_system_rebuild_queue");n(t,"lifecycle_policies");const S=e=>String(e||"").trim(),Me=e=>S(e).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"siswa",q=e=>S((e==null?void 0:e.id)||(e==null?void 0:e.nisn)),Be=e=>S((e==null?void 0:e.nisn)||(e==null?void 0:e.originalNisn)||(e==null?void 0:e.id)),Oe=(e,s)=>{const o=q(s),r=S(e);return!r&&!o?"":`${r}__${o}`},ze=(e,s=[])=>{const o=new Map;return[...s].map((r,l)=>{const d=q(r)||`tanpa-id-${l+1}`,i=Be(r)||d,f=S(r.name)||`Siswa ${l+1}`,_=(o.get(d)||0)+1;o.set(d,_);const j=_===1?d:`${d}__${Me(f)}-${_}`;return{...r,id:j,nisn:i,name:f,originalId:d,originalNisn:i,displayId:i||d,identityKey:Oe(e,{id:j,nisn:i})}}).sort((r,l)=>r.name.localeCompare(l.name)||String(r.displayId||"").localeCompare(String(l.displayId||""),void 0,{numeric:!0}))},Fe=(e=[])=>[...e].map(s=>({...s,name:S(s.name),students:ze(s.id,s.students||[])})).sort((s,o)=>s.name.localeCompare(o.name)),ht=e=>{const s={};return((e==null?void 0:e.students)||[]).forEach(o=>{const r=o;[o.id,r.originalId,o.nisn,r.originalNisn].map(S).filter(Boolean).forEach(d=>{s[d]||(s[d]=o.name)})}),s},mt=(e,s={})=>{const o={};return((e==null?void 0:e.students)||[]).forEach(r=>{const l=r,i=[r.id,l.originalId,r.nisn,l.originalNisn].map(S).filter(Boolean).find(f=>s[f]);o[r.id]=(i?s[i]:void 0)||"Hadir"}),o},pt=e=>{const s=new Set;for(const o of(e==null?void 0:e.students)||[]){const r=q(o);if(r){if(s.has(r))return!0;s.add(r)}}return!1},J=e=>e?e!=null&&e.isAdmin||e.portalType==="guru_piket_shared"?!0:e.portalType&&e.portalType!=="teacher_regular"?!1:!!(e.isCurriculumTeacher||e.isPrincipalTeacher):!1,se=e=>e?e.portalType==="guru_piket_shared"?"/guru-piket":e.portalType==="pic_5s_shared"?"/pic-5s":J(e)?"/dashboard":e.isFinanceTeacher?"/keuangan":"/panel":"/login",ut=async e=>{const s=W(t,"teacher_auth",e.id),o=await ee(s),r=String(e.code||"").trim().toUpperCase();return o.exists()?o.data():(await $(s,{teacherId:e.id,code:r,passwordHash:r,mustChangePassword:!0,createdAt:B(),updatedAt:B()},{merge:!0}),{code:r,passwordHash:r,mustChangePassword:!0})},xt=async(e,s)=>{const o=W(t,"teacher_auth",e.id);await $(o,{teacherId:e.id,code:String(e.code||"").trim().toUpperCase(),passwordHash:s,mustChangePassword:!1,updatedAt:B()},{merge:!0})},Ge=async e=>{var r;const s=await Ee(te),o=Fe(s.docs.map(l=>({id:l.id,...l.data()})));for(const l of o){const d=(r=l.students)==null?void 0:r.find(i=>String(i.nisn||i.id).trim()===e.trim());if(d)return{student:d,classInfo:{id:l.id,name:l.name}}}return null},He=async e=>{const s=W(t,"student_auth",e),o=await ee(s);return o.exists()?o.data():(await $(s,{passwordHash:e,mustChangePassword:!0,createdAt:B(),updatedAt:B()},{merge:!0}),{passwordHash:e,mustChangePassword:!0})},gt=async(e,s)=>{const o=await Ge(e);if(!o)throw new Error("NISN tidak ditemukan.");if(o.student.isRestricted)throw new Error("Akses siswa diblokir oleh Manajemen.");const r=String(o.student.id||o.student.nisn||"").trim(),l=await He(r);if((l.passwordHash||"")!==s)throw new Error("Password siswa salah.");return{...o,studentId:r,mustChangePassword:l.mustChangePassword===!0}},Ve=({user:e,onLogout:s})=>{var E,m,y,w,I,L,R,D;const o=ae(),[r,l]=p.useState(!1),[d,i]=p.useState(!1),f=o.pathname==="/admin-selaras"||o.pathname==="/management",_=(e==null?void 0:e.role)==="teacher"&&((E=e.data)==null?void 0:E.portalType)==="guru_piket_shared",j=(e==null?void 0:e.role)==="teacher"&&((m=e.data)==null?void 0:m.portalType)==="pic_5s_shared",b=_||j,O=(e==null?void 0:e.role)==="teacher"&&!!((y=e.data)!=null&&y.isBkTeacher)&&!b,z=(e==null?void 0:e.role)==="teacher"&&!!((w=e.data)!=null&&w.isKesiswaanTeacher)&&!b,g=(e==null?void 0:e.role)==="teacher"&&!!((I=e.data)!=null&&I.isCurriculumTeacher)&&!b,T=(e==null?void 0:e.role)==="teacher"&&!!((L=e.data)!=null&&L.isSarprasTeacher)&&!j,A=(e==null?void 0:e.role)==="teacher"&&!!((R=e.data)!=null&&R.isPrincipalTeacher)&&!b,P=(e==null?void 0:e.role)==="teacher"&&!!((D=e.data)!=null&&D.isFinanceTeacher)&&!b,C=(e==null?void 0:e.role)==="teacher"&&J(e.data),F=se((e==null?void 0:e.role)==="teacher"?e.data:null);p.useEffect(()=>{var K,M;if((e==null?void 0:e.role)!=="teacher"||b){i(!1);return}const k=((K=e.data)==null?void 0:K.id)||"",v=(((M=e.data)==null?void 0:M.name)||"").trim().toLowerCase(),G=Ie(te,U=>{const ye=U.docs.some(we=>{const H=we.data();return H.waliKelasTeacherId&&H.waliKelasTeacherId===k?!0:!H.waliKelasTeacherId&&(H.waliKelasTeacherName||"").trim().toLowerCase()===v});i(ye)});return()=>{G()}},[e,b]);const N=k=>o.pathname===k,c=({to:k,label:v})=>a.jsxs(Y,{to:k,onClick:()=>l(!1),className:`relative px-4 py-2 text-sm font-semibold transition-all duration-300 rounded-lg ${N(k)?"text-blue-700 bg-blue-50":"text-gray-500 hover:text-blue-600 hover:bg-gray-50"}`,children:[v,N(k)&&a.jsx("span",{className:"absolute bottom-0 left-1/2 -translate-x-1/2 w-1 h-1 bg-blue-600 rounded-full"})]});return a.jsxs("nav",{className:"glass sticky top-0 z-[100] border-b border-gray-100",children:[a.jsxs("div",{className:"container mx-auto px-4 h-20 flex items-center justify-between",children:[a.jsxs(Y,{to:(e==null?void 0:e.role)==="teacher"?F:(e==null?void 0:e.role)==="student"?"/student":"/login",className:"flex items-center space-x-3 group",children:[a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"absolute inset-0 bg-blue-200 blur-lg rounded-full opacity-0 group-hover:opacity-40 transition-opacity"}),a.jsx("img",{src:"/logo.png",alt:"Logo",className:"h-12 w-auto relative z-10"})]}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"text-blue-900 font-extrabold text-xl tracking-tight leading-none",children:"SELARAS"}),a.jsx("span",{className:"text-gray-400 text-[9px] font-bold tracking-[0.2em] uppercase",children:f?"ADMIN SISTEM":_?"PORTAL GURU PIKET":j?"PORTAL PIC 5S":A?"PORTAL KEPALA SEKOLAH":P?"PORTAL KEUANGAN":(e==null?void 0:e.role)==="teacher"?"PORTAL GURU":(e==null?void 0:e.role)==="student"?"PORTAL SISWA":"SMA KP BALEENDAH"})]})]}),a.jsxs("div",{className:"hidden lg:flex items-center space-x-2",children:[!e&&!f&&a.jsx(c,{to:"/login",label:"Login"}),(e==null?void 0:e.role)==="teacher"&&!b&&a.jsxs(a.Fragment,{children:[C&&a.jsx(c,{to:"/dashboard",label:"Dashboard"}),a.jsx(c,{to:"/panel",label:"Panel Guru"}),A&&a.jsx(c,{to:"/kepala-sekolah",label:"Kepala Sekolah"}),P&&a.jsx(c,{to:"/keuangan",label:"Keuangan"}),d&&a.jsx(c,{to:"/wali-kelas",label:"Wali Kelas"}),O&&a.jsx(c,{to:"/bk",label:"Guru BK"}),z&&a.jsx(c,{to:"/kesiswaan",label:"Kesiswaan"}),g&&a.jsx(c,{to:"/kurikulum",label:"Kurikulum"}),a.jsx(c,{to:"/sarpras",label:T?"Sarpras":"Lapor Sarpras"}),a.jsx(c,{to:"/akun-guru",label:"Akun Guru"})]}),(e==null?void 0:e.role)==="teacher"&&_&&a.jsxs(a.Fragment,{children:[C&&a.jsx(c,{to:"/dashboard",label:"Dashboard"}),a.jsx(c,{to:"/guru-piket",label:"Guru Piket"}),a.jsx(c,{to:"/sarpras",label:"Lapor Sarpras"})]}),(e==null?void 0:e.role)==="teacher"&&j&&a.jsx(a.Fragment,{children:a.jsx(c,{to:"/pic-5s",label:"PIC 5S"})}),(e==null?void 0:e.role)==="student"&&a.jsx(c,{to:"/student",label:"Panel Siswa"}),e?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"h-6 w-[1px] bg-gray-200 mx-4"}),a.jsx("button",{onClick:()=>{confirm("Yakin ingin keluar?")&&s()},className:"bg-red-600 text-white px-5 py-2.5 rounded-xl text-xs font-bold hover:bg-red-700 transition-all shadow-lg",children:"Keluar"})]}):a.jsxs(a.Fragment,{children:[!f&&a.jsx(c,{to:"/login",label:"Login Utama"}),f&&a.jsx(c,{to:"/management",label:"Manajemen"})]})]}),a.jsx("button",{onClick:()=>l(!r),className:"lg:hidden p-2 text-gray-600 hover:bg-gray-100 rounded-xl",children:a.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:r?"M6 18L18 6M6 6l12 12":"M4 6h16M4 12h16M4 18h16"})})})]}),r&&a.jsx("div",{className:"lg:hidden animate-fade-in px-4 pb-6 pt-2 bg-white border-b space-y-2 flex flex-col shadow-2xl",children:e?a.jsxs(a.Fragment,{children:[e.role==="teacher"?_?a.jsxs(a.Fragment,{children:[C&&a.jsx(c,{to:"/dashboard",label:"Dashboard"}),a.jsx(c,{to:"/guru-piket",label:"Guru Piket"}),a.jsx(c,{to:"/sarpras",label:"Lapor Sarpras"})]}):j?a.jsx(a.Fragment,{children:a.jsx(c,{to:"/pic-5s",label:"PIC 5S"})}):a.jsxs(a.Fragment,{children:[C&&a.jsx(c,{to:"/dashboard",label:"Dashboard"}),a.jsx(c,{to:"/panel",label:"Panel Guru"}),A&&a.jsx(c,{to:"/kepala-sekolah",label:"Kepala Sekolah"}),P&&a.jsx(c,{to:"/keuangan",label:"Keuangan"}),d&&a.jsx(c,{to:"/wali-kelas",label:"Wali Kelas"}),O&&a.jsx(c,{to:"/bk",label:"Guru BK"}),z&&a.jsx(c,{to:"/kesiswaan",label:"Kesiswaan"}),g&&a.jsx(c,{to:"/kurikulum",label:"Kurikulum"}),a.jsx(c,{to:"/sarpras",label:T?"Sarpras":"Lapor Sarpras"}),a.jsx(c,{to:"/akun-guru",label:"Akun Guru"})]}):a.jsx(c,{to:"/student",label:"Panel Siswa"}),a.jsx("button",{onClick:s,className:"mt-4 w-full bg-red-50 text-red-600 py-3 rounded-xl font-bold",children:"Keluar"})]}):a.jsxs(a.Fragment,{children:[!f&&a.jsx(c,{to:"/login",label:"Login Utama"}),f&&a.jsx(c,{to:"/management",label:"Manajemen"})]})})]})},Ue=()=>a.jsx("footer",{className:"bg-white border-t py-10",children:a.jsxs("div",{className:"container mx-auto px-4 flex flex-col items-center justify-center space-y-4",children:[a.jsxs("div",{className:"flex flex-col items-center space-y-1",children:[a.jsx("p",{className:"text-slate-400 text-sm font-bold tracking-tight",children:"Sistem Laporan Ruang Ajar Siswa"}),a.jsx("p",{className:"text-slate-400 text-sm font-bold tracking-tight",children:"SELARAS X AFM07"}),a.jsx("p",{className:"text-slate-300 text-[10px] uppercase tracking-[0.3em] font-black",children:"ยฉ 2026 SMA KP BALEENDAH"})]}),a.jsx("div",{className:"pt-2"})]})}),We=()=>x(()=>import("./Login-CfDIQlpx.js"),__vite__mapDeps([0,1,2,3,4])),ne=()=>x(()=>import("./TeacherPanel-CIYYdgGZ.js"),__vite__mapDeps([5,1,6,7,2,8,9,10,11,12,4,3])),oe=()=>x(()=>import("./GuruPiketPanel-DLKCfo9b.js"),__vite__mapDeps([13,1,14,6,2,12,15,10,4,3])),re=()=>x(()=>import("./Pic5SPanel-D9pXh0xS.js"),__vite__mapDeps([16,1,2,4,3])),le=()=>x(()=>import("./WaliKelasPanel-tXaAxMJD.js"),__vite__mapDeps([17,1,6,7,2,15,12,18,19,11,20,9,4,3])),ie=()=>x(()=>import("./BKPanel-mAqdzqmH.js"),__vite__mapDeps([21,1,6,7,2,20,22,8,4,3])),ce=()=>x(()=>import("./KesiswaanPanel-Bf3UOEdV.js"),__vite__mapDeps([23,1,6,7,2,20,22,24,4,3])),de=()=>x(()=>import("./KurikulumPanel-VTD3F4g0.js"),__vite__mapDeps([25,1,6,11,14,2,12,15,4,3])),he=()=>x(()=>import("./Dashboard-B7RSJSpa.js"),__vite__mapDeps([26,1,27,2,15,4,3])),me=()=>x(()=>import("./Management-BS-aifqQ.js"),__vite__mapDeps([28,1,6,29,27,2,30,4,3,31,18,19,24,32,15,12,10])),pe=()=>x(()=>import("./AttendanceCheck-DHc0KeOc.js"),__vite__mapDeps([30,1,6,2,4,3])),ue=()=>x(()=>import("./StudentApp-B_oIn23v.js"),__vite__mapDeps([33,1,2,4,9,6,19,3])),xe=()=>x(()=>import("./Guide-B8LyQyNp.js"),__vite__mapDeps([34,1,4])),ge=()=>x(()=>import("./SarprasPanel-D4_vrwZ_.js"),__vite__mapDeps([35,1,9,6,2,4,3])),fe=()=>x(()=>import("./PrincipalPanel-BAy6cCc_.js"),__vite__mapDeps([36,1,19,32,2,4,3])),_e=()=>x(()=>import("./FinancePanel-BsUR7XTR.js"),__vite__mapDeps([37,1,31,6,18,19,2,24,32,4,3])),je=()=>x(()=>import("./TeacherAccountPanel-F4vJKBAP.js"),__vite__mapDeps([38,1,4,2,3])),$e=p.lazy(We),qe=p.lazy(ne),Je=p.lazy(oe),Xe=p.lazy(re),Ye=p.lazy(le),Qe=p.lazy(ie),Ze=p.lazy(ce),ea=p.lazy(de),Q=p.lazy(he),aa=p.lazy(me);p.lazy(pe);const ta=p.lazy(ue),sa=p.lazy(xe),na=p.lazy(ge),oa=p.lazy(fe),ra=p.lazy(_e),la=p.lazy(je);class ia extends p.Component{constructor(s){super(s),this.handleReload=()=>{typeof window<"u"&&window.location.reload()},this.state={hasError:!1,errorMessage:""}}static getDerivedStateFromError(s){return{hasError:!0,errorMessage:s instanceof Error?s.message:"Terjadi kesalahan tak terduga."}}componentDidCatch(s,o){console.error("RouteErrorBoundary menangkap error",s,o)}render(){return this.state.hasError?a.jsx("div",{className:"max-w-3xl mx-auto px-4 py-12",children:a.jsxs("div",{className:"bg-white border border-red-100 rounded-[2rem] shadow-xl p-8 text-center",children:[a.jsx("p",{className:"text-[10px] font-black uppercase tracking-[0.3em] text-red-400",children:"SELARAS"}),a.jsx("h2",{className:"mt-3 text-2xl font-black text-slate-800",children:this.props.title}),a.jsx("p",{className:"mt-3 text-sm font-medium text-slate-500",children:this.props.description}),this.state.errorMessage?a.jsxs("p",{className:"mt-4 text-xs font-bold text-red-500",children:["Detail: ",this.state.errorMessage]}):null,a.jsxs("div",{className:"mt-6 flex flex-col sm:flex-row justify-center gap-3",children:[a.jsx("button",{type:"button",onClick:this.handleReload,className:"px-5 py-3 rounded-2xl bg-slate-900 text-white font-black shadow-lg hover:bg-slate-700 transition-colors",children:"Muat ulang halaman"}),a.jsx("button",{type:"button",onClick:()=>{typeof window<"u"&&(sessionStorage.removeItem("selaras_management_access"),window.location.hash="#/login")},className:"px-5 py-3 rounded-2xl bg-slate-100 text-slate-700 font-black shadow-sm hover:bg-slate-200 transition-colors",children:"Kembali ke login"})]})]})}):this.props.children}}const ca=({user:e,onLogout:s,children:o})=>{const r=ae(),l=r.pathname==="/login"||r.pathname.startsWith("/student")&&(!e||e.role!=="student");return a.jsxs(a.Fragment,{children:[!l&&a.jsx(Ve,{user:e,onLogout:s}),o]})},Z=({children:e,user:s})=>{const[o,r]=p.useState(()=>typeof window>"u"?!1:sessionStorage.getItem("selaras_management_access")==="authorized"),[l,d]=p.useState("");return p.useEffect(()=>{var i;(s==null?void 0:s.role)==="teacher"&&((i=s.data)!=null&&i.isAdmin)&&(r(!0),typeof window<"u"&&sessionStorage.setItem("selaras_management_access","authorized"))},[s]),o?a.jsx(a.Fragment,{children:e}):a.jsx("div",{className:"max-w-md mx-auto mt-20 p-4",children:a.jsxs("div",{className:"bg-white p-10 rounded-3xl shadow-xl text-center",children:[a.jsx("h2",{className:"text-xl font-black mb-6",children:"Gerbang Manajemen"}),a.jsxs("form",{onSubmit:i=>{i.preventDefault(),l==="kulubhui"?(r(!0),typeof window<"u"&&sessionStorage.setItem("selaras_management_access","authorized")):alert("Sandi salah")},children:[a.jsx("input",{type:"password",value:l,onChange:i=>d(i.target.value),className:"w-full mb-4 px-4 py-3 rounded-xl border",placeholder:"Katasandi"}),a.jsx("button",{className:"w-full bg-slate-900 text-white py-3 rounded-xl font-black",children:"Buka"})]})]})})},da=()=>{var T,A,P,C,F,N,c,E;const[e,s]=p.useState(()=>{if(typeof window>"u")return null;try{const m=localStorage.getItem("selaras_auth");return m?JSON.parse(m):null}catch{return null}});p.useEffect(()=>{var I,L,R,D,k,v,G,K,M;if(!e)return;const m=[he,xe];e.role==="student"?m.push(ue):(m.push(ne,le),((I=e.data)==null?void 0:I.portalType)==="guru_piket_shared"&&m.push(oe),((L=e.data)==null?void 0:L.portalType)==="pic_5s_shared"&&m.push(re),(R=e.data)!=null&&R.isBkTeacher&&m.push(ie),(D=e.data)!=null&&D.isKesiswaanTeacher&&m.push(ce),(k=e.data)!=null&&k.isCurriculumTeacher&&m.push(de),(v=e.data)!=null&&v.isSarprasTeacher&&m.push(ge),(G=e.data)!=null&&G.isPrincipalTeacher&&m.push(fe),(K=e.data)!=null&&K.isFinanceTeacher&&m.push(_e),m.push(je),(M=e.data)!=null&&M.isAdmin&&m.push(me,pe));const y=()=>{m.forEach(U=>{U().catch(()=>{})})},w=typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback(y,{timeout:1200}):window.setTimeout(y,500):void 0;return()=>{typeof window>"u"||w===void 0||("cancelIdleCallback"in window&&typeof w=="number"?window.cancelIdleCallback(w):window.clearTimeout(w))}},[e]);const o=(m,y)=>{const w={role:m,data:y};s(w),localStorage.setItem("selaras_auth",JSON.stringify(w)),typeof window<"u"&&!(m==="teacher"&&(y!=null&&y.isAdmin))&&sessionStorage.removeItem("selaras_management_access")},r=()=>{s(null),localStorage.removeItem("selaras_auth"),typeof window<"u"&&sessionStorage.removeItem("selaras_management_access")},l=(e==null?void 0:e.role)==="teacher"&&((T=e.data)==null?void 0:T.portalType)==="guru_piket_shared",d=(e==null?void 0:e.role)==="teacher"&&((A=e.data)==null?void 0:A.portalType)==="pic_5s_shared",i=l||d,f=(e==null?void 0:e.role)==="teacher"&&!!((P=e.data)!=null&&P.isBkTeacher)&&!i,_=(e==null?void 0:e.role)==="teacher"&&!!((C=e.data)!=null&&C.isKesiswaanTeacher)&&!i,j=(e==null?void 0:e.role)==="teacher"&&!!((F=e.data)!=null&&F.isCurriculumTeacher)&&!i;(e==null?void 0:e.role)==="teacher"&&((N=e.data)!=null&&N.isSarprasTeacher);const b=(e==null?void 0:e.role)==="teacher"&&!!((c=e.data)!=null&&c.isPrincipalTeacher)&&!i,O=(e==null?void 0:e.role)==="teacher"&&!!((E=e.data)!=null&&E.isFinanceTeacher)&&!i,z=(e==null?void 0:e.role)==="teacher"&&J(e.data),g=()=>se((e==null?void 0:e.role)==="teacher"?e.data:null);return a.jsx(Le,{children:a.jsxs("div",{className:"flex flex-col min-h-screen",children:[a.jsx(ca,{user:e,onLogout:r,children:a.jsx("main",{className:"flex-grow container mx-auto px-4 py-8",children:a.jsx(p.Suspense,{fallback:a.jsx("div",{className:"max-w-4xl mx-auto px-4 py-12",children:a.jsxs("div",{className:"bg-white border border-slate-100 rounded-[2rem] shadow-xl p-8 text-center",children:[a.jsx("p",{className:"text-[10px] font-black uppercase tracking-[0.3em] text-slate-400",children:"SELARAS"}),a.jsx("h2",{className:"mt-3 text-2xl font-black text-slate-800",children:"Memuat panel..."}),a.jsx("p",{className:"mt-2 text-sm font-medium text-slate-500",children:"Sistem sedang menyiapkan modul yang Anda buka."})]})}),children:a.jsxs(Re,{children:[a.jsx(u,{path:"/",element:a.jsx(h,{to:e?e.role==="teacher"?g():"/student":"/login",replace:!0})}),a.jsx(u,{path:"/dashboard",element:(e==null?void 0:e.role)==="teacher"?z?a.jsx(Q,{}):a.jsx(h,{to:g(),replace:!0}):a.jsx(h,{to:"/login",replace:!0})}),a.jsx(u,{path:"/guide",element:a.jsx(sa,{})}),a.jsx(u,{path:"/attendance-check",element:a.jsx(h,{to:"/management",replace:!0})}),a.jsx(u,{path:"/login",element:e?a.jsx(h,{to:e.role==="teacher"?g():"/student",replace:!0}):a.jsx($e,{onTeacherLogin:m=>o("teacher",m),onStudentLogin:m=>o("student",m)})}),a.jsx(u,{path:"/student",element:(e==null?void 0:e.role)==="student"?a.jsx(ta,{embeddedUser:e.data,onLogin:m=>o("student",m)}):a.jsx(h,{to:"/login",replace:!0})}),a.jsx(u,{path:"/panel",element:(e==null?void 0:e.role)==="teacher"?i?a.jsx(h,{to:g()}):a.jsx(qe,{teacher:e.data}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/guru-piket",element:(e==null?void 0:e.role)==="teacher"?l?a.jsx(Je,{teacher:e.data}):a.jsx(h,{to:d?"/pic-5s":"/panel"}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/pic-5s",element:(e==null?void 0:e.role)==="teacher"?d?a.jsx(Xe,{teacher:e.data}):a.jsx(h,{to:l?"/guru-piket":"/panel"}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/wali-kelas",element:(e==null?void 0:e.role)==="teacher"?i?a.jsx(h,{to:g()}):a.jsx(Ye,{teacher:e.data}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/bk",element:(e==null?void 0:e.role)==="teacher"?i?a.jsx(h,{to:g()}):f?a.jsx(Qe,{teacher:e.data}):a.jsx(h,{to:"/panel"}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/kesiswaan",element:(e==null?void 0:e.role)==="teacher"?i?a.jsx(h,{to:g()}):_?a.jsx(Ze,{teacher:e.data}):a.jsx(h,{to:"/panel"}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/sarpras",element:(e==null?void 0:e.role)==="teacher"?d?a.jsx(h,{to:"/pic-5s"}):a.jsx(na,{teacher:e.data}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/kepala-sekolah",element:(e==null?void 0:e.role)==="teacher"?i?a.jsx(h,{to:g()}):b?a.jsx(oa,{teacher:e.data}):a.jsx(h,{to:"/panel"}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/keuangan",element:(e==null?void 0:e.role)==="teacher"?i?a.jsx(h,{to:g()}):O?a.jsx(ra,{teacher:e.data}):a.jsx(h,{to:"/panel"}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/kurikulum",element:(e==null?void 0:e.role)==="teacher"?i?a.jsx(h,{to:g()}):j?a.jsx(ea,{teacher:e.data}):a.jsx(h,{to:"/panel"}):a.jsx(h,{to:"/login"})}),a.jsx(u,{path:"/akun-guru",element:(e==null?void 0:e.role)==="teacher"?i?a.jsx(h,{to:g(),replace:!0}):a.jsx(la,{teacher:e.data}):a.jsx(h,{to:"/login",replace:!0})}),a.jsx(u,{path:"/admin-selaras",element:a.jsx(Z,{user:e,children:a.jsx(Q,{})})}),a.jsx(u,{path:"/management",element:a.jsx(Z,{user:e,children:a.jsx(ia,{title:"Panel manajemen gagal dimuat",description:"Sistem mencegah layar kosong. Silakan muat ulang halaman. Jika cache browser masih lama, masuk ulang lalu buka panel manajemen kembali.",children:a.jsx(aa,{})})})}),a.jsx(u,{path:"*",element:a.jsx(h,{to:"/",replace:!0})})]})})})}),a.jsx(Ue,{})]})})},be=document.getElementById("root");if(!be)throw new Error("Could not find root element to mount to");const ha=ke.createRoot(be);ha.render(a.jsx(Se.StrictMode,{children:a.jsx(da,{})}));export{Oa as $,Ea as A,tt as B,at as C,ga as D,Ra as E,Va as F,Ua as G,Wa as H,$a as I,Ba as J,Ma as K,Ka as L,nt as M,ot as N,qa as O,ba as P,Sa as Q,dt as R,Ja as S,rt as T,lt as U,ya as V,Ca as W,it as X,ct as Y,Qa as Z,Ga as _,Ya as a,za as a0,Fa as a1,st as a2,xt as a3,_a as b,va as c,t as d,ut as e,Ia as f,Da as g,La as h,mt as i,te as j,et as k,Za as l,ht as m,Fe as n,Xa as o,ka as p,pt as q,Aa as r,ja as s,fa as t,wa as u,gt as v,Pa as w,Ta as x,Ha as y,Na as z};
Save
๐งช PHP Preview
<?php echo 'hello'; ?>
Run PHP
๐ฅ Linux CMD
Run CMD