1import{r as a,j as t}from"./vendor-react-DJzUMfd1.js";import{V as m,t as p}from"./types-BY_76wxi.js";import{getLessonById as g}from"./lessonService-KFFZxx1P.js";import{u,m as i}from"./index-C0esqoXR.js";import"./YouTube.esm-DZtBeJDg.js";import"./soundEffects-BNObq7V4.js";import"./vendor-katex-DqEyuLHo.js";import"./MathText-CUiST3AE.js";import"./vendor-firebase-NOrVjYbK.js";import"./vendor-3d-B-0V4uEN.js";function S(){const{lessonId:e}=u(),[n,l]=a.useState(null),[c,r]=a.useState(!0),[o,d]=a.useState(null);return a.useEffect(()=>{e&&(async()=>{try{r(!0);const s=await g(e);l(s)}catch(s){d("Không tìm thấy bà i giảng hoặc bà i giảng không tá»n tại."),console.error(s)}finally{r(!1)}})()},[e]),c?t.jsx("div",{className:"student-player-loading",children:t.jsxs(i.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},className:"loading-content",children:[t.jsx("div",{className:"loading-spinner"}),t.jsx("p",{children:"Äang tải bà i giảng..."})]})}):o||!n?t.jsx("div",{className:"student-player-error",children:t.jsxs(i.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:"error-content",children:[t.jsx("div",{className:"error-icon",children:"â"}
1),t.jsx("h2",{children:"Không tìm thấy bà i giảng"}),t.jsx("p",{children:o||"Bà i giảng không tá»n tại hoặc Äã bá» xóa."})]})}):t.jsx("div",{className:"student-player-page",children:t.jsx(i.div,{className:"player-wrapper",initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.5},children:t.jsx(m,{quizData:p(n),onBack:null})})})}export{S 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.