1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1528],{8755:(e,t,a)=>{"use strict";a.d(t,{A:()=>o});var s=a(95155),r=a(12115),l=a(12363),i=a(64577),d=a(80642),n=a(89083);function o({name:e,options:t,value:a,defaultValue:c,onChange:x,placeholder:m="Pilih opsi...",required:u=!1,disabled:b=!1,className:p="",id:h}){let[g,f]=(0,r.useState)(!1),[k,v]=(0,r.useState)(c||""),j=(0,r.useRef)(null),N=void 0!==a,y=N?a:k,w=t.find(e=>e.value===y);return(0,r.useEffect)(()=>{let e=e=>{j.current&&!j.current.contains(e.target)&&f(!1)};return g&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[g]),(0,s.jsxs)("div",{className:`relative ${p}`,ref:j,children:[e&&(0,s.jsx)("input",{type:"text",id:h,name:e,value:y||"",required:u,readOnly:!0,tabIndex:-1,className:"absolute opacity-0 w-1 h-1 overflow-hidden pointer-events-none top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"}),(0,s.jsxs)("div",{className:`w-full px-4 py-2.5 rounded-xl border flex items-center justify-between cursor-pointer transition-all ${b?"bg-slate-100 dark:bg-slate-900 border-slate-200 dark:border-slate-800 text-slate-400 dark:text-slate-600 cursor-not-allowed":g?"bg-white dark:bg-slate-950 border-blue-500 ring-2 ring-blue-500/20 text-slate-900 dark:text-white":"bg-white dark:bg-slate-950 border-slate-200 dark:border-slate-700 text-slate-900 dark:text-white hover:border-blue-400 dark:hover:border-blue-500"}`,onClick:()=>!b&&f(!g),tabIndex:b?-1:0,onKeyDown:e=>{b||"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),f(!g))},children:[(0,s.jsx)("span",{className:`block truncate ${!w?"text-slate-500 dark:text-slate-400 font-normal":"font-medium"}`,children:w?w.label:m}),(0,s.jsx)(l.A,{size:18,className:`text-slate-400 transition-transform duration-300 ${g?"rotate-180 text-blue-500":""}`})]}),(0,s.jsx)(d.N,{children:g&&(0,s.jsx)(n.P.div,{initial:{opacity:0,y:-10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-10,scale:.95},transition:{duration:.2,ease:"easeOut"},className:"absolute z-50 min-w-full w-max mt-2 bg-white dark:bg-slate-900 border border-slate-200 dark:border-slate-700 rounded-xl shadow-lg shadow-slate-200/20 dark:shadow-black/40 overflow-hidden",children:(0,s.jsx)("ul",{className:"max-h-60 overflow-y-auto custom-scrollbar p-1",children:0===t.length?(0,s.jsx)("li",{className:"px-4 py-3 text-sm text-slate-500 text-center",children:"Tidak ada opsi"}):t.map(e=>(0,s.jsxs)("li",{onClick:()=>{var t;return t=e.value,void(!N&&v(t),x?.(t),f(!1))},className:`flex items-center justify-between px-3 py-2.5 rounded-lg cursor-pointer transition-colors text-sm ${y===e.value?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400 font-medium":"text-slate-700 dark:text-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800"}`,children:[(0,s.jsx)("span",{className:"whitespace-nowrap pr-4",children:e.label}),y===e.value&&(0,s.jsx)(i.A,{size:16,className:"text-blue-600 dark:text-blue-400"})]},e.value))})})})]})}},25044:(e,t,a)=>{"use strict";a.d(t,{ToastProvider:()=>m,o:()=>x});var s=a(95155),r=a(12115),l=a(64962),i=a(11012),d=a(14577),n=a(35484),o=a(9005);function c(e){window.dispatchEvent(new CustomEvent("bimbelsync-toast",{detail:{id:Math.random().toString(36).slice(2,9),...e}}))}function x(e,t){c({message:e,type:"confirm",...t})}function m(){let[e,t]=(0,r.useState)([]),a=e=>t(t=>t.filter(t=>t.id!==e));return((0,r.useEffect)(()=>{let e=e=>{let s=e.detail;t(e=>[...e,s]),setTimeout(()=>a(s.id),s.duration??("confirm"===s.type?8e3:3500))};return window.addEventListener("bimbelsync-toast",e),()=>window.removeEventListener("bimbelsync-toast",e)},[]),0===e.length)?null:(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-[9999] flex flex-col gap-2 w-80",children:e.map(e=>{let t="confirm"===e.type,r=t?"bg-white dark:bg-slate-900 border-slate-200 dark:border-slate-700":"success"===e.type?"bg-emerald-50 dark:bg-emerald-900/40 border-emerald-200 dark:border-emerald-800/50":"error"===e.type?"bg-red-50 dark:bg-red-900/40 border-red-200 dark:border-red-800/50":"bg-white dark:bg-slate-800 border-slate-200 dark:border-slate-700",c=t?"text-amber-500":"success"===e.type?"text-emerald-600 dark:text-emerald-400":"error"===e.type?"text-red-600 dark:text-red-400":"text-blue-600 dar
1k:text-blue-400",x=t?"text-slate-900 dark:text-white":"success"===e.type?"text-emerald-800 dark:text-emerald-200":"error"===e.type?"text-red-800 dark:text-red-200":"text-slate-800 dark:text-slate-200";return(0,s.jsxs)("div",{className:`flex flex-col w-full px-4 py-3.5 rounded-2xl shadow-lg border animate-in slide-in-from-bottom-4 fade-in duration-300 ${r}`,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsxs)("span",{className:`shrink-0 mt-0.5 ${c}`,children:["success"===e.type&&(0,s.jsx)(l.A,{size:17}),"error"===e.type&&(0,s.jsx)(i.A,{size:17}),"info"===e.type&&(0,s.jsx)(d.A,{size:17}),t&&(0,s.jsx)(n.A,{size:17})]}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:`text-sm font-semibold leading-snug ${x}`,children:e.message}),e.description&&(0,s.jsx)("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-0.5 leading-relaxed",children:e.description})]}),(0,s.jsx)("button",{onClick:()=>a(e.id),className:"shrink-0 -mt-0.5 text-slate-400 hover:text-slate-600 dark:hover:text-slate-200 transition",children:(0,s.jsx)(o.A,{size:14})})]}),t&&(e.action||e.cancel)&&(0,s.jsxs)("div",{className:"flex gap-2 mt-3 pt-3 border-t border-slate-100 dark:border-slate-800",children:[e.cancel&&(0,s.jsx)("button",{onClick:()=>{e.cancel.onClick(),a(e.id)},className:"flex-1 py-1.5 text-xs font-semibold text-slate-600 dark:text-slate-300 bg-slate-100 dark:bg-slate-800 hover:bg-slate-200 dark:hover:bg-slate-700 rounded-lg transition",children:e.cancel.label}),e.action&&(0,s.jsx)("button",{onClick:()=>{e.action.onClick(),a(e.id)},className:"flex-1 py-1.5 text-xs font-semibold text-white bg-red-600 hover:bg-red-700 rounded-lg transition",children:e.action.label})]})]},e.id)})})}x.success=e=>c({message:e,type:"success"}),x.error=e=>c({message:e,type:"error"}),x.info=e=>c({message:e,type:"info"})},30369:(e,t,a)=>{Promise.resolve().then(a.bind(a,43249))},35571:(e,t,a)=>{"use strict";a.d(t,{UserAvatar:()=>i});var s=a(95155),r=a(12115),l=a(5772);function i({id:e,email:t,avatarUrl:a,size:d=32,className:n=""}){let[o,c]=(0,r.useState)(!1),x=`https://api.dicebear.com/7.x/notionists/svg?seed=${e}`,m=a&&!o?a:x;return(0,s.jsx)("div",{className:`rounded-full bg-slate-200 dark:bg-slate-700 overflow-hidden border border-slate-300 dark:border-slate-600 shrink-0 ${n}`,style:{width:d,height:d},children:(0,s.jsx)(l.default,{src:m,alt:t,width:d,height:d,className:"w-full h-full object-cover",onError:()=>c(!0),unoptimized:m.startsWith("https://api.dicebear.com")})})}},43249:(e,t,a)=>{"use strict";a.d(t,{default:()=>j});var s=a(95155),r=a(12115),l=a(12980),i=a(36483),d=a(91161),n=a(2125),o=a(65377),c=a(65738),x=a(1275),m=a(9005),u=a(92571),b=a(25044),p=a(9339);let h=(0,p.createServerReference)("40dac1e2cd5398b6ac0a05a344e42f55cc109aecc4",p.callServer,void 0,p.findSourceMapURL,"createMaterialAction");var g=a(8755);function f({isOpen:e,onClose:t,tenantSlug:a,academyId:n,programs:o}){let[c,x]=(0,r.useState)(!1),[p,k]=(0,r.useState)({title:"",programId:"",materialType:"DOCUMENT_LINK",url:"",description:""});if(!e)return null;let v=async e=>{if(e.preventDefault(),!p.title||!p.programId||!p.url)return void b.o.error("Silakan lengkapi kolom yang wajib diisi!");try{x(!0);let e=await h({academyId:n,programId:p.programId,title:p.title,description:p.description,materialType:p.materialType,url:p.url,tenantSlug:a});if(e.error)throw Error(e.error);b.o.success("Materi berhasil ditambahkan!"),k({title:"",programId:"",materialType:"DOCUMENT_LINK",url:"",description:""}),t()}catch(e){b.o.error(e.message||"Terjadi kesalahan")}finally{x(!1)}};return(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm animate-in fade-in duration-200",children:(0,s.jsxs)("div",{className:"bg-white dark:bg-slate-900 rounded-2xl shadow-xl w-full max-w-md overflow-hidden animate-in zoom-in-95 duration-200 max-h-[95vh] flex flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between p-4 sm:p-5 border-b border-slate-100 dark:border-slate-800 shrink-0",children:[(0,s.jsx)("h2",{className:"text-lg font-bold text-slate-800 dark:text-white",children:"Tambah Materi Baru"}),(0,s.jsx)("button",{onClick:t,className:"p-2 text-slate-400 hover:bg-slate-100 dar
1k:hover:bg-slate-800 rounded-full transition",children:(0,s.jsx)(m.A,{size:20})})]}),(0,s.jsxs)("form",{onSubmit:v,className:"p-4 sm:p-5 space-y-4 overflow-y-auto custom-scrollbar",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsxs)("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:["Judul Materi ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsx)("input",{type:"text",required:!0,value:p.title,onChange:e=>k({...p,title:e.target.value}),className:"w-full px-3 py-2 sm:px-4 bg-slate-50 dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl focus:ring-2 focus:ring-blue-500 outline-none transition text-sm",placeholder:"Contoh: Modul Matematika Bab 1"})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsxs)("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:["Program Terkait ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsx)(g.A,{value:p.programId,onChange:e=>k({...p,programId:e}),name:"program_id",required:!0,placeholder:"-- Pilih Program --",options:o.map(e=>({value:e.id,label:e.name}))})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Jenis Materi"}),(0,s.jsx)("div",{className:"grid grid-cols-3 gap-2",children:[{id:"DOCUMENT_LINK",label:"Dokumen",icon:(0,s.jsx)(i.A,{size:16})},{id:"VIDEO_LINK",label:"Video",icon:(0,s.jsx)(l.A,{size:16})},{id:"OTHER_LINK",label:"Link Lain",icon:(0,s.jsx)(d.A,{size:16})}].map(e=>(0,s.jsxs)("button",{type:"button",onClick:()=>k({...p,materialType:e.id}),className:`flex flex-col items-center justify-center gap-1 py-2 sm:py-3 border rounded-xl text-[11px] sm:text-xs font-semibold transition ${p.materialType===e.id?"border-blue-500 bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-400":"border-slate-200 dark:border-slate-700 text-slate-500 hover:bg-slate-50 dark:hover:bg-slate-800"}`,children:[e.icon,e.label]},e.id))})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsxs)("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:["Tautan (URL) ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsx)("input",{type:"url",required:!0,value:p.url,onChange:e=>k({...p,url:e.target.value}),className:"w-full px-3 py-2 sm:px-4 bg-slate-50 dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl focus:ring-2 focus:ring-blue-500 outline-none transition text-sm",placeholder:"https://..."})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Deskripsi (Opsional)"}),(0,s.jsx)("textarea",{rows:2,value:p.description,onChange:e=>k({...p,description:e.target.value}),className:"w-full px-3 py-2 sm:px-4 bg-slate-50 dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl focus:ring-2 focus:ring-blue-500 outline-none transition text-sm resize-none",placeholder:"Catatan tambahan untuk materi ini..."})]}),(0,s.jsxs)("div",{className:"pt-4 flex justify-end gap-3",children:[(0,s.jsx)("button",{type:"button",onClick:t,disabled:c,className:"px-4 py-2 text-sm font-semibold text-slate-600 bg-slate-100 hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-300 dark:hover:bg-slate-700 rounded-xl transition",children:"Batal"}),(0,s.jsxs)("button",{type:"submit",disabled:c,className:"px-4 py-2 text-sm font-semibold text-white bg-blue-600 hover:bg-blue-700 disabled:opacity-50 rounded-xl transition flex items-center gap-2",children:[c?(0,s.jsx)(u.A,{size:16,className:"animate-spin"}):null,"Simpan Materi"]})]})]})]})})}var k=a(35571);let v=(0,p.createServerReference)("6045486ab2ca17f8a77db904c752adf368f502c134",p.callServer,void 0,p.findSourceMapURL,"deleteMaterialAction");function j({materials:e,programs:t,tenantSlug:a,academyId:m,userRole:u}){let[p,h]=(0,r.useState)(!1),[N,y]=(0,r.useState)(""),[w,C]=(0,r.useState)("ALL"),[A,L]=(0,r.useState)(null),z=e.filter(e=>{let t=e.title.toLowerCase().includes(N.toLowerCase())||(e.description||"").toLowerCase().includes(N.toLowerCase()),a="ALL"===w||e.program_id===w;return t&&a}),T=async e=>{if(confirm("Apakah Anda yakin ingin menghapus materi ini?"))try{L(e);let t=await v(e,a);if(t.error)throw Error(t.error);b.o.success("Materi berhasil dihapus!")}catch(e){b.o.error(e.message||"Gagal menghapus materi")}finally{L(null)}};return(0,s.jsxs)("div",{className:"space-y-8 animate-in fade-in duration-500 pb-20",children:[(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-slate-900 dark:text-white tracking-tight",children:"Learning Materials"}),(0,s.jsx)("p",{className:"text-slate-500 dark:text-slate-400 mt-1",children:"Bank soal, modul, dan materi pembelajaran untuk tutor."})]}),"TUTOR"===u&&(0,s.jsxs)("button",{onClick:()=>h(!0),className:"bg-blue-600 hover:bg-blue-700 text-white px-5 py-2.5 rounded-xl font-semibold text-sm transition shadow-sm flex items-center gap-2",children:[(0,s.jsx)(n.A,{size:18}),"Tambah Materi"]})]}),(0,s.jsxs)("div",{className:"bg-white dark:bg-slate-900 border border-slate-200 dark:border-slate-800 rounded-2xl shadow-sm p-4 flex flex-col sm:flex-row gap-4",children:[(0,s.jsxs)("div",{className:"relative flex-1",children:[(0,s.jsx)("div",{className:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none",children:(0,s.jsx)(o.A,{size:16,className:"text-slate-400"})}),(0,s.jsx)("input",{type:"text",placeholder:"Cari materi, modul, atau catatan...",value:N,onChange:e=>y(e.target.value),className:"block w-full pl-9 pr-3 py-2 border border-slate-200 dark:border-slate-700 rounded-xl text-sm focus:ring-blue-500 focus:border-blue-500 dark:bg-slate-800 dark:text-slate-200"})]}),(0,s.jsx)("div",{className:"sm:w-64",children:(0,s.jsx)(g.A,{value:w,onChange:C,options:[{value:"ALL",label:"Semua Program"},...t.map(e=>({value:e.id,label:e.name}))]})})]}),0===z.length?(0,s.jsxs)("div",{className:"bg-white dark:bg-slate-900 border border-slate-200 dark:border-slate-800 rounded-2xl p-12 text-center",children:[(0,s.jsx)(i.A,{size:48,className:"mx-auto text-slate-300 dark:text-slate-600 mb-4"}),(0,s.jsx)("h3",{className:"text-lg font-semibold text-slate-800 dark:text-slate-200",children:"Belum ada materi"}),(0,s.jsx)("p",{className:"text-slate-500 dark:text-slate-400 mt-2",children:"Tidak ada materi yang sesuai dengan pencarian atau program yang dipilih."})]}):(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:z.map(e=>{var t;return(0,s.jsxs)("div",{className:"bg-white dark:bg-slate-900 border border-slate-200 dark:border-slate-800 rounded-2xl p-5 shadow-sm hover:shadow-md transition flex flex-col h-full group",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between mb-4",children:[(0,s.jsx)("div",{className:"p-3 bg-slate-50 dark:bg-slate-800 rounded-xl",children:"VIDEO_LINK"===(t=e.material_type)?(0,s.jsx)(l.A,{size:24,className:"text-red-500"}):"DOCUMENT_LINK"===t?(0,s.jsx)(i.A,{size:24,className:"text-blue-500"}):(0,s.jsx)(d.A,{size:24,className:"text-emerald-500"})}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-wider text-slate-500 bg-slate-100 dar
1k:bg-slate-800 px-2.5 py-1 rounded-md",children:e.program.name}),"TUTOR"===u&&(0,s.jsx)("button",{onClick:()=>T(e.id),disabled:A===e.id,className:"text-slate-400 hover:text-red-500 p-1.5 rounded hover:bg-red-50 dark:hover:bg-red-900/20 opacity-0 group-hover:opacity-100 transition shrink-0",children:(0,s.jsx)(c.A,{size:16})})]})]}),(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)("h3",{className:"font-bold text-slate-900 dark:text-white text-base line-clamp-2",title:e.title,children:e.title}),e.description&&(0,s.jsx)("p",{className:"text-sm text-slate-500 mt-2 line-clamp-2",children:e.description})]}),(0,s.jsxs)("div",{className:"mt-6 pt-4 border-t border-slate-100 dark:border-slate-800 flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(k.UserAvatar,{id:e.creator?.id||"",email:e.creator?.email,avatarUrl:e.creator?.avatar_url,size:24}),(0,s.jsx)("span",{className:"text-xs text-slate-500 font-medium",children:e.creator?.name?.split(" ")[0]||"Staff"})]}),(0,s.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 text-xs font-bold text-blue-600 hover:text-blue-700 bg-blue-50 hover:bg-blue-100 dark:bg-blue-900/20 dark:text-blue-400 px-3 py-1.5 rounded-lg transition",children:["Buka Link ",(0,s.jsx)(x.A,{size:14})]})]})]},e.id)})}),(0,s.jsx)(f,{isOpen:p,onClose:()=>h(!1),tenantSlug:a,academyId:m,programs:t})]})}}},e=>{e.O(0,[8222,5772,8616,8441,5254,7358],()=>e(e.s=30369)),_N_E=e.O()}]);
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.