PageSourceSearch

https://digikenacademy.africa/assets/courses-CWNw6Stl.js

js digikenacademy.africa collected 2026-10-04 12:55:17 UTC 21,304 bytes, 58 lines download raw bytes

1import{r as g,s as X,k as e,aC as x,aA as ee,A as R,j as te,ce as j,aE as ae,q as se,Z as z,av as re}from"./main-9bNfIXEI.js";import{B as le}from"./breadcrumb.esm-_U4mkKkK.js";import{C as S}from"./card.esm-DMBhAPoZ.js";import{T as oe}from"./toast.esm-BTnB9GaK.js";import{D as E}from"./dropdown.esm-D3luyPw9.js";import{D as ne,C as A}from"./column.esm-BvUoPS8l.js";import{T as Q}from"./tag.esm-BalMzH3p.js";import{I as ie}from"./inputtext.esm-DJYFyGNa.js";import"./index.esm-DQgiFSDq.js";import"./assertThisInitialized-B9jnkVVz.js";import"./index.esm-Ck9u7znm.js";import"./inputnumber.esm-q-JVx2lj.js";import"./index.esm-JsF_eSrX.js";import"./keyfilter.esm-MvIqwb0x.js";function V({queryClient:m,categories:h,tutors:v}){const[P,i]=g.useState(!1),[N,w]=g.useState("center"),[l,o]=g.useState({title:"",category:"",img:"",courseCode:"",tags:[],courseOutline:[{content:""}],language:"",description:"",headline:"",tutor:"",previewVideoUrl:"",targetAudience:"",level:"",mandatory:!1}),{title:p,category:d,tags:u,courseCode:s,courseOutline:n,language:c,description:T,headline:L,tutor:M,img:a,previewVideoUrl:b,targetAudience:C,level:O,mandatory:I}=l,[_,q]=g.useState([]);g.useEffect(()=>{const t=d&&h.find(r=>r._id===d?._id);t&&q(t.tags)},[d,h]);const U=g.useRef(null),B=t=>{U.current.show({severity:"success",summary:"Success",detail:t,life:5e3})},k=t=>{U.current.show({severity:"error",summary:"Error",detail:t,life:5e3})},f=t=>{const{name:r,value:y}=t.target;o(F=>({...F,[r]:y}))},H=(t,r,y)=>{const F=[...n];F[t][r]=y,o({...l,courseOutline:F})},W=()=>{o({...l,courseOutline:[...n,{content:""}]})},Y=t=>{if(n?.length===1)return;const r=n?.filter((y,F)=>F!==t);o({...l,courseOutline:r})},K=()=>{if(!p||!d||!s||!c||!T||!L||!b||!C||!O||!a){k("Please fill in all required fields");return}if(n.some(t=>!t.content)){k("Please fill in all course outline fields");return}if(u?.length===0){k("Please select at least one tag");return}if(!M){k("Please select a tutor for this course");return}},G=async()=>{try{K();const t={title:p,category:d._id,level:O.name,language:c.name,description:T,headline:L,courseCode:s,tags:u?.map(y=>({name:y.name})),courseOutline:n,tutor:M,img:a,previewVideoUrl:b,targetAudience:C,mandatory:I},{data:r}=await R.post("/course",t);B(r.message)}catch(t){k(t.response.data.message)}},{mutate:$,isPending:D}=X({mutationFn:G,onSuccess:()=>{m.invalidateQueries("courses"),o({title:"",category:"",img:"",courseCode:"",tags:[],courseOutline:[{content:""}],mandatory:!1})},onError:t=>{k(t.response.data.message)}}),J=e.jsxs("div",{className:"flex justify-end gap-4 my-2 items-center",children:[e.jsx(x,{label:"Cancel",icon:"pi pi-times",onClick:()=>i(!1),className:"py-2 px-4 border-2 hover:bg-red-500"}),D?e.jsx(x,{label:"Just a moment...",icon:"pi pi-spin pi-spinner",className:"py-2 px-5 border-4 bg-[#009FDD]",disabled:!0}):e.jsx(x,{label:"Save",icon:"pi pi-save",onClick:$,className:"py-2 px-5 border-2 bg-[#009FDD] hover:bg-[#3b3f8c] text-white rounded-lg transform hover:scale-105 ease-linear transition-all",disabled:D})]}),Z=t=>{w(t),i(!0)};return e.jsxs("div",{children:[e.jsx(oe,{ref:U}),e.jsx(x,{label:"Add Course",icon:"pi pi-plus",onClick:()=>Z("top-right"),className:"py-3 px-5 border-2 text-white rounded-lg bg-[#009FDD] transform hover:scale-105 ease-linear transition-all"}),e.jsx(ee,{header:"Add Course",visible:P,position:N,className:"w-full md:w-[50vw]",footer:J,onHide:()=>i(!1),draggable:!0,resizable:!0,maximizable:!0,breakpoints:{"960px":"75vw","641px":"100vw"},children:e.jsxs("div",{className:"flex flex-col gap-3 w-full bg-zinc-50 p-4 rounded-md",children:[e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"title",className:"block font-medium text-gray-700 mb-1",children:"Course Title"}),e.jsx("input",{type:"text",name:"title",value:p,onChange:f,className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"name",className:"block font-medium text-gray-700 mb-1",children:"Course Category"}),h?.length>0?e.jsx(E,{variant:"filled",value:d,onChange:t=>o({...l,category:t.value}),options:h,optionLabel:"name",placeholder:"Select a category",checkmark:!0,highlightOnSelect:!1,invalid:d==="",editable:!0,filter:!0,showClear:!0,loading:h?.length===0||D,virtualScrollerOptions:{itemSize:38},disabled:D,className:"w-full md:w-14rem px-4 capitalize py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"}):e.jsx(E,{variant:"filled",value:d,onChange:t=>o({...l,category:t.value}),optionLabel:"name",placeholder:"Select a category",className:"w-full md:w-14rem px-4 capitalize border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"courseCode",className:"block font-medium text-gray-700 mb-1",children:"Course Code"}),e.jsx("input",{type:"text",name:"courseCode",value:s,onChange:f,className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"})]}),e.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",name:"mandatory",checked:I,onChange:t=>o(r=>({...r,mandatory:t.target.checked})),className:"w-4 h-4 text-[#009FDD] focus:ring-[#009FDD] border-gray-300 rounded"}),e.jsx("label",{htmlFor:"mandatory",className:"font-medium text-gray-700",children:"Mandatory Course"})]}),d&&e.jsxs("div",{className:"mb-4",children:[e.jsxs("label",{htmlFor:"tags",className:"block font-medium text-gray-700 mb-1",children:["Tags that apply to this course"," ",e.jsx("small",{className:"",children:"(if none, go back and add some tags to the category)"})]}),e.jsx("div",{className:"flex flex-wrap gap-3 p-2",children:_&&_?.map(t=>e.jsx("div",{className:`px-1 py-1 rounded-md cursor-pointer ${u.includes(t)?"bg-[#009FDD] text-[#000]":"bg-gray-300"}`,onClick:()=>{u.includes(t)?o({...l,tags:u?.filter(r=>r!==t)}):o({...l,tags:[...u,t]})},children:t.name},t._id))})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"language",className:"block font-medium text-gray-700 mb-1",children:"What language is this course in?"}),e.jsx(E,{variant:"filled",value:c,onChange:t=>o({...l,language:t.value}),options:[{name:"English"},{name:"French"},{name:"Spanish"},{name:"German"},{name:"Japanese"}],optionLabel:"name",placeholder:"Select a language",checkmark:!0,highlightOnSelect:!1,invalid:c==="",editable:!0,filter:!0,showClear:!0,virtualScrollerOptions:{itemSize:38},disabled:D,className:"w-full md:w-14rem px-4 capitalize py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"headline",className:"block font-medium text-gray-700 mb-1",children:"Headline for this course"}),e.jsx("input",{type:"text",name:"headline",value:L,onChange:f,maxLength:60,className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"img",className:"block font-medium text-gray-700 mb-1",children:"Cover Image URL"}),e.jsx("input",{type:"text",name:"img",value:a,onChange:f,className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"level",className:"block font-medium text-gray-700 mb-1",children:"What level is this course?"}),e.jsx(E,{value:O,onChange:t=>o({...l,level:t.value}),options:[{name:"Beginner"},{name:"Intermediate"},{name:"Advanced"}],optionLabel:"name",placeholder:"Select difficulty level",checkmark:!0,highlightOnSelect:!0,invalid:O==="",showClear:!0,disabled:D,className:"w-full md:w-14rem px-4 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"courseOutline",className:"block font-medium text-gray-700 mb-1",children:"What will students learn in this course? (Course Outline)"}),n?.map((t,r)=>e.jsxs("div",{className:"flex gap-3",children:[e.jsx("input",{type:"text",name:"content",value:t.content,onChange:y=>H(r,"content",y.target.value),className:"w-full my-2 px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"}),e.jsx(x,{icon:"pi pi-trash",className:"p-button-danger p-button-rounded p-button-text",onClick:()=>Y(r)})]},r)),e.jsx(x,{label:"Add Another",icon:"pi pi-plus",onClick:W,className:"py-1 m-1 px-2 border-2 border-[#009FDD] hover:bg-[#009FDD]"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"tutor",className:"block font-medium text-gray-700 mb-1",children:"Who is the tutor for this course?"}),e.jsxs("select",{name:"tutor",value:M,onChange:f,className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200",children:[e.jsx("option",{value:"",children:"Select a tutor"}),v?.length>0?v?.map(t=>e.jsxs("option",{value:t._id,children:[t.firstName," ",t.lastName]},t._id)):e.jsx("option",{value:"",disabled:!0,children:"No tutors available"})]}),e.jsx("small",{className:"text-gray-500",children:"Please ensure the tutor is already registered"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"description",className:"block font-medium text-gray-700 mb-1",children:"Specifically describe this course"}),e.jsx("textarea",{name:"description",value:T,rows:4,onChange:f,placeholder:"",className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"targetAudience",className:"block font-medium text-gray-700 mb-1",children:"Who is this course for?"}),e.jsx("textarea",{name:"targetAudience",rows:3,placeholder:"people who want to learn about...",value:C,onChange:f,className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"previewVideoUrl",className:"block font-medium text-gray-700 mb-1",children:"Preview Video URL"}),e.jsx("input",{type:"text",name:"previewVideoUrl",value:b,onChange:f,className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-[#009FDD] bg-gray-200",placeholder:"https://www.youtube.com/watch?v=..."})]})]})})]})}const de=`
2  .custom-datatable .p-datatable-header {
3    background: #f8fafc !important;
4    border-bottom: 1px solid #e2e8f0 !important;
5    padding: 1rem !important;
6  }
7  
8  .custom-datatable .p-datatable-thead > tr > th {
9    background: #f8fafc !important;
10    color: #374151 !important;
11    font-weight: 600 !important;
12    font-size: 0.875rem !important;
13    padding: 1rem 0.75rem !important;
14    border-bottom: 1px solid #e2e8f0 !important;
15  }
16  
17  .custom-datatable .p-datatable-tbody > tr > td {
18    padding: 1rem 0.75rem !important;
19    border-bottom: 1px solid #f1f5f9 !important;
20    font-size: 0.875rem !important;
21  }
22  
23  .custom-datatable .p-datatable-tbody > tr:hover > td {
24    background: #eff6ff !important;
25  }
26  
27  .custom-datatable .p-datatable-filter-container input {
28    border: 1px solid #d1d5db !important;
29    border-radius: 0.375rem !important;
30    padding: 0.5rem 0.75rem !important;
31    font-size: 0.75rem !important;
32    background: white !important;
33  }
34  
35  .custom-datatable .p-datatable-filter-container input:focus {
36    border-color: #3b82f6 !important;
37    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
38    outline: none !important;
39  }
40  
41  .custom-datatable .p-paginator {
42    background: #f8fafc !important;
43    border-top: 1px solid #e2e8f0 !important;
44    padding: 1rem !important;
45  }
46  
47  .custom-datatable .p-paginator .p-paginator-page {
48    background: white !important;
49    border: 1px solid #d1d5db !important;
50    color: #374151 !important;
51  }
52  
53  .custom-datatable .p-paginator .p-paginator-page.p-highlight {
54    background: #3b82f6 !important;
55    border-color: #3b82f6 !important;
56    color: white !important;
57  }
58`;function ce({courses:m,queryClient:h}){const v=te(),[P,i]=g.useState(!1),[N,w]=g.useState(""),[l,o]=g.useState({global:{value:null,matchMode:j.CONTAINS},title:{value:null,matchMode:j.STARTS_WITH},category:{value:null,matchMode:j.EQUALS},language:{value:null,matchMode:j.EQUALS},level:{value:null,matchMode:j.EQUALS},published:{value:null,matchMode:j.EQUALS},tutor:{value:null,matchMode:j.EQUALS}}),p=a=>{const b=a.target.value;let C={...l};C.global.value=b,o(C),w(b)},u=e.jsxs("div",{className:"flex justify-between items-center mb-6",children:[e.jsx("div",{className:"flex items-center gap-3",children:e.jsx("span",{className:"text-sky-600 font-semibold text-lg underline",children:"All Courses"})}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"relative",children:e.jsx(ie,{value:N,onChange:p,placeholder:"Keyword Search",className:"w-64 text-sm border border-gray-300 rounded-md px-4 py-2 focus:outline-none focus:ring-2 focus:ring-sky-500 focus:border-sky-500 bg-white"})}),e.jsx(x,{icon:P?"pi pi-spin pi-spinner":"pi pi-refresh",rounded:!0,className:"bg-sky-600 hover:bg-sky-700 border-0",onClick:()=>{i(!0),h.invalidateQueries("courses"),setTimeout(()=>{i(!1)},3e3)}})]})]}),s=a=>e.jsx("p",{className:"text-[#000]",children:a?.firstName+" "+a?.lastName}),n={Beginner:"success",Intermediate:"warning",Advanced:"info"},c=a=>{const b=n[a?.level]||"default";return e.jsx(Q,{className:"p-mr-2",severity:b,value:a.level})},T=e.jsx("div",{className:"flex justify-between items-center pt-4 border-t border-gray-200",children:e.jsxs("span",{className:"text-sm text-gray-600 font-medium",children:["In total there are ",m?m?.length:0," course",m?.length===1?"":"s"]})}),L=e.jsx(x,{type:"button",icon:"pi pi-refresh",text:!0,className:"text-gray-600 hover:text-gray-800"}),M=e.jsx(x,{type:"button",icon:"pi pi-download",text:!0,className:"text-gray-600 hover:text-gray-800"});return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:de}),e.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-gray-200",children:e.jsxs("div",{className:"p-6",children:[u,e.jsxs(ne,{paginatorTemplate:"RowsPerPageDropdown FirstPageLink PrevPageLink CurrentPageReport NextPageLink LastPageLink",currentPageReportTemplate:"{first} to {last} of {totalRecords}",paginatorLeft:L,paginatorRight:M,sortMode:"multiple",removableSort:!0,scrollable:!0,className:"custom-datatable",scrollHeight:"100vh",paginator:!0,rows:20,rowsPerPageOptions:[20,30,40,50],value:m,footer:T,dataKey:"_id",filters:l,filterDisplay:"row",globalFilterFields:["title","category.name","language","level","published","tutor.firstName","tutor.lastName","updatedAt"],emptyMessage:e.jsxs("div",{className:"flex flex-col items-center justify-center py-12",children:[e.jsx("i",{className:"pi pi-book text-4xl text-gray-400 mb-4"}),e.jsx("h3",{className:"text-gray-600 font-medium text-lg mb-2",children:"No courses found"}),e.jsx("p",{className:"text-gray-500 text-sm",children:"Try adjusting your search criteria"})]}),onRowClick:a=>v(`/admin/course/${a.data?._id}?origin=admin-table`),rowClassName:"hover:bg-sky-50 cursor-pointer border-b border-gray-100",headerClassName:"bg-gray-50 text-gray-700 font-semibold",filterRowClassName:"bg-gray-25 border-b border-gray-200",children:[e.jsx(A,{field:"title",header:"Title",className:"text-sm font-medium text-gray-900"}),e.jsx(A,{field:"category",header:"Category",sortable:!0,body:a=>e.jsx(Q,{value:a.category?.name,className:"px-3 py-1 text-xs font-medium",severity:"info"})}),e.jsx(A,{field:"tutor",header:"Tutor",body:a=>e.jsx("span",{className:"text-sm text-gray-700 font-medium",children:s(a.tutor)})}),e.jsx(A,{field:"published",header:"Published",sortable:!0,body:a=>e.jsx("span",{className:`px-3 py-1 rounded-full text-xs font-semibold ${a.published?"bg-green-100 text-green-800":"bg-red-100 text-red-800"}`,children:a.published?"Yes":"No"})}),e.jsx(A,{field:"level",header:"Level",sortable:!0,className:"text-sm",body:c,filterMatchMode:l.level?.matchMode,filterPlaceholder:"Se
58arch",filterClassName:"text-xs"}),e.jsx(A,{field:"updatedAt",header:"Last Updated",sortable:!0,body:a=>e.jsx("span",{className:"text-sm text-gray-600",children:ae(a.updatedAt).format("DD/MM/YYYY")})})]})]})})]})}function ke({queryClient:m}){const{user:h}=se(),v=async()=>{const{data:s}=await R.get("/courses");return s?.data.sort((n,c)=>new Date(c.createdAt)-new Date(n.createdAt)),s?.data},P=async()=>{const{data:s}=await R.get("/categories");return s.sort((n,c)=>new Date(c.createdAt)-new Date(n.createdAt)),s},{data:i,isPending:N}=z({queryKey:["courses"],queryFn:v,refetchInterval:3e5}),{data:w,isLoading:l}=z({queryKey:["categories"],queryFn:P,refetchInterval:3e5}),o=async()=>{const{data:s}=await R.get("/users");return s?.data?.filter(c=>c.role==="tutor")},{data:p,isPending:d}=z({queryKey:["tutors"],queryFn:o});if(N||l||d)return e.jsx("div",{className:"h-screen flex items-center justify-center bg-gradient-to-br from-stone-200 to-sky-50",children:e.jsx(re,{msg:N?"fetching courses...":"fetching categories..."})});const u=[{label:"Courses",url:"/admin/courses"}];return e.jsxs("div",{className:"min-h-screen bg-stone-300",children:[e.jsx("div",{className:"bg-white shadow-sm border-b border-gray-200",children:e.jsxs("div",{className:"container mt-12 mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx(le,{model:u,home:{icon:"pi pi-home",url:"/"},className:"py-4 text-sm border-none mb-4"}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center pb-6 gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold text-sky-600",children:"Course Management"}),e.jsx("p",{className:"text-gray-600 mt-1",children:"Manage and organize the educational content"})]}),e.jsx(V,{queryClient:m,categories:w,tutors:p})]})]})}),e.jsx("div",{className:"container mx-auto px-4 sm:px-6 lg:px-8 py-8",children:i?.length>0?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-6 mb-8",children:[e.jsx(S,{className:"border-0 shadow-sm bg-white",children:e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-500 text-sm font-medium",children:"Total Courses"}),e.jsx("p",{className:"text-3xl font-bold mt-2 text-gray-800",children:i?.length||0})]}),e.jsx("div",{className:"w-12 h-12 bg-sky-100 rounded-full flex items-center justify-center",children:e.jsx("i",{className:"pi pi-book text-xl text-sky-600"})})]})})}),e.jsx(S,{className:"border-0 shadow-sm bg-white",children:e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-green-500 text-sm font-medium",children:"Published"}),e.jsx("p",{className:"text-3xl font-bold mt-2 text-gray-800",children:i?.filter(s=>s.published)?.length||0})]}),e.jsx("div",{className:"w-12 h-12 bg-green-100 rounded-full flex items-center justify-center",children:e.jsx("i",{className:"pi pi-check-circle text-xl text-green-600"})})]})})}),e.jsx(S,{className:"border-0 shadow-sm bg-white",children:e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-orange-500 text-sm font-medium",children:"Draft"}),e.jsx("p",{className:"text-3xl font-bold mt-2 text-gray-800",children:i?.filter(s=>!s.published)?.length||0})]}),e.jsx("div",{className:"w-12 h-12 bg-orange-100 rounded-full flex items-center justify-center",children:e.jsx("i",{className:"pi pi-clock text-xl text-orange-600"})})]})})}),e.jsx(S,{className:"border-0 shadow-sm bg-white",children:e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sky-500 text-sm font-medium",children:"Featured"}),e.jsx("p",{className:"text-3xl font-bold mt-2 text-gray-800",children:i?.filter(s=>s.featured)?.length||0})]}),e.jsx("div",{className:"w-12 h-12 bg-sky-100 rounded-full flex items-center justify-center",children:e.jsx("i",{className:"pi pi-star text-xl text-sky-600"})})]})})})]}),e.jsx(S,{className:"border-0 shadow-sm bg-white",children:e.jsx(ce,{courses:i,queryClient:m})})]}):e.jsx(S,{className:"border-0 shadow-xl bg-white/80 backdrop-blur-sm",children:e.jsxs("div",{className:"p-12 text-center",children:[e.jsx("div",{className:"w-24 h-24 mx-auto mb-6 bg-gradient-to-br from-sky-100 to-sky-100 rounded-full flex items-center justify-center",children:e.jsx("i",{className:"pi pi-book text-4xl text-sky-500"})}
58),e.jsx("h3",{className:"text-2xl font-bold text-gray-800 mb-3",children:"No Courses Yet"}),e.jsx("p",{className:"text-gray-600 mb-8 max-w-md mx-auto",children:"Check back later when an instructor has added courses."}),e.jsx(V,{queryClient:m,categories:w,tutors:p})]})})})]})}export{ke as default};

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.