1import{j as s,c as C,i as v,aJ as S,e as h,r as m,a3 as P,gk as I,X as _,a4 as M,ex as E,S as b,bv as N,bx as T}from"./index-BWLcZZIp.js";import{g as j,u as R}from"./useQuery-BMvceQDr.js";import{w,u as L}from"./ErrorBoundary-animBvaW.js";import{T as G}from"./myCoursesStudent.graphql-DxW_qWOo.js";import{ak as O,c as $,d as q,e as D}from"./AppTemplate-DUlEOhgX.js";import{C as F,a as f}from"./PercentageBar-BV0D_Fhs.js";import{C as B}from"./CognitiveMessage-DCA-tUUE.js";import"./useLogin-vwrO0p24.js";import"./AccessIllustration-Cs37n9AU.js";import"./SessionError-Qwv_8uTK.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"[email protected]"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f2fb1a6b-8b61-46ed-b4ae-83f41da874bc",e._sentryDebugIdIdentifier="sentry-dbid-f2fb1a6b-8b61-46ed-b4ae-83f41da874bc")}catch{}})();const k=e=>s.jsx("div",{className:"cds-course-card","data-testid":e.qa,children:e.children}),A=e=>s.jsx("div",{className:"cds-course-card__figure",children:e.children}),H=e=>s.jsx("div",{className:"cds-course-card__summary",children:e.children}),V=e=>s.jsx("h3",{className:"cds-course-card__title",children:e.children}),g=Object.assign(k,{Figure:A,Summary:H,Title:V}),Y=e=>s.jsx("ul",{className:"cds-course-list","data-testid":e.qa,children:e.children}),Q=e=>s.jsx("li",{className:"cds-course-list__item",children:e.children}),p=Object.assign(Y,{Item:Q}),x=e=>s.jsxs("div",{className:C("cds-percentage-bar-labelled",e.classNameExt&&e.classNameExt),"data-score":e.value,"data-testid":e.qa,children:[s.jsx("div",{className:"cds-percentage-bar-labelled__label",children:e.label}),s.jsx("div",{className:"cds-percentage-bar-labelled__value",children:e.labelledValue&&e.labelledValue.length?e.labelledValue:`${e.value}%`}),s.jsx(F,{type:e.type,value:e.value})]}),U=j` 2 query($input: ReadMyCoursesStudentInput!) { 3 myCoursesStudent(input: $input) { 4 count 5 courses { 6 courseId 7 name 8 iconCode 9 icon 10 labelIds 11 subject { 12 labelId 13 labelType 14 name 15 } 16 studyGroups { 17 studyGroupId 18 name 19 analytics { 20 nuggetsPercentProgress 21 percentScore 22 } 23 } 24 } 25 } 26 } 27`;j` 28 query myCourseCount($input: ReadMyCoursesStudentInput!) { 29 myCoursesStudent(input: $input) { 30 count 31 } 32 } 33`;function z(e){const{course:t,studyGroupId:a,progress:n,score:r,subject:c}=e,o=v();return s.jsx(p.Item,{children:s.jsx(S,{to:`${o.pathname.replace(/\/$/,"")}/study-groups/${a}`,children:s.jsxs(g,{children:[s.jsxs(g.Summary,{children:[s.jsx(g.Title,{children:t.name}),s.jsx(x,{type:f.COMPLETION,value:n,label:s.jsx(h,{id:"course-nuggets-last-completion",defaultMessage:"Completion"})}),s.jsx(x,{type:f.SCORE,value:r,label:s.jsx(h,{id:"average-score",defaultMessage:"Average Score"})})]}),s.jsx(g.Figure,{children:s.jsx(O,{item:{subject:c,iconCode:t.iconCode,icon:t.icon||void 0}})})]})})},t.courseId)}function J(e){return s.jsx(p,{children:e.courses.map(t=>{const a=t.studyGroups[0],n=a.studyGroupId,r=a.analytics?a.analytics[0]:null,c={_id:t.subject.labelId,name:t.subject.name},o=r?.nuggetsPercentProgress||0,u=Math.round(o/100),i=r?.percentScore||0,l=Math.round(i/100),d={course:t,score:l,progress:u,subject:c,studyGroupId:n};return s.jsx(z,{...d},t.courseId)})})}const X=()=>{const[e,t]=m.useState(!1),a=m.useRef(null),n=m.useMemo(()=>({variables:{input:{courseType:"standard",testPrepFilterSelector:G.STANDARD_ONLY,studyGroupStatus:"current"}},fetchPolicy:"network-only",context:{clientName:"roentgen"}}),[]),r=P(),c=I("my-path",r),o=_(r,"cognitive-message","isEnabled",!0)&&M(r),{loading:u,error:i,data:l,refetch:d}=R(U,n);L("learn-my-course"),m.useEffect(()=>{a.current&&clearTimeout(a.current),u&&(a.current=setTimeout(d,800))},[u,d]);const y=l?.myCoursesStudent?.courses?E(l.myCoursesStudent.courses,"name",!0):null;if(i){if(!e)return d(),t(!0),s.jsx(b,{type:"independent"});throw i}return u&&!y?s.jsx(b,{type:"independent"}):y===null?null:s.jsxs(N,{children:[s.jsx($,{children:s.jsx(q,{children:s.jsx(D,{children:s.jsx("h1",{"data-testid":"my-courses-header",children:s.jsx(h,{id:"my-courses-header",defaultMessage:"My Courses"})})})})}),s.jsx(T,{children:s.jsx(J,{courses:y})}),o&&c&&s.jsx(B,{})]})},oe=w(X);export{X as MyCourses,oe 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.