1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8093],{415:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/home/student",function(){return n(24610)}])},24610:function(e,t,n){"use strict";n.r(t),n.d(t,{__N_SSP:function(){return _}});var s=n(85893),a=n(2962),o=n(5152),i=n.n(o),c=n(11163),r=n(67294),l=n(87446),d=n(99937),u=n(209),p=n(46312),m=n(94380);let h=i()(()=>Promise.all([n.e(4976),n.e(3562),n.e(6190),n.e(31),n.e(3892),n.e(6888),n.e(3032),n.e(5498)]).then(n.bind(n,65498)),{loadableGenerated:{webpack:()=>[65498]},ssr:!1}),f=i()(()=>Promise.all([n.e(4976),n.e(3562),n.e(6190),n.e(31),n.e(3892),n.e(9994)]).then(n.bind(n,69994)),{loadableGenerated:{webpack:()=>[69994]},ssr:!1}),w=i()(()=>Promise.all([n.e(4976),n.e(1028),n.e(6212),n.e(4550),n.e(8499),n.e(1423),n.e(3562),n.e(6190),n.e(31),n.e(5645),n.e(8660),n.e(8471)]).then(n.bind(n,28471)),{loadableGenerated:{webpack:()=>[28471]},ssr:!1});var _=!0;t.default=e=>{let t=(0,c.useRouter)(),[n,o]=r.useState(e.showUnitEnd),[i,_]=r.useState(e.showGetStarted),[S,y]=r.useState(m.H.transformActivityData(e.studentActivity)),[k,b]=r.useState(!1),[v,T]=r.useState(!1),[g,x]=r.useState(e.unitLessons),[D,C]=r.useState(e.completedTaskId?e.completedTaskId:e.upNext),[N,P]=r.useState(e.currentUnitName),U=async e=>{let n=g.lesson_components.find(t=>t.id===e);t.push(n.url)},j=async t=>{let n=e.lessonProgress.findIndex(e=>e.lessonComponentId===t),s=g.lesson_components[n],a=g.lesson_components[n+1],[,i]=await Promise.all([I({lesson:s,completed:!1,confirmedCompleted:!1,skipped:!0}),L()]);y(i);let c=[...g.lesson_components];if(c[n].status="skipped",x({...g,lesson_components:c}),!a){b(!0),setTimeout(()=>{o(!0),C(null)},500);return}C(a.id)},A=async t=>{let n=g.lesson_components.findIndex(e=>e.id===t),s=g.lesson_components[n],a=g.lesson_components[n+1];(await (await E()).json()).confirmedLessonComponents.includes(t)||await I({lesson:s,completed:e.studentActivity.currentLesson.completed,confirmedCompleted:!0,skipped:e.studentActivity.currentLesson.skipped}),y(await L());let i=[...g.lesson_components];if(i[n].status="completed",x({...g,lesson_components:i}),!a){b(!0),setTimeout(()=>{o(!0),C(null)},500);return}C(a.id)},L=async()=>{let e=await (await fetch("".concat(u.Z.appHost,"/api/next/get-student-activity"))).json();return m.H.transformActivityData(e.activity)};(0,r.useEffect)(()=>{L().then(y).catch(e=>console.error("Failed to load activity date ranges",e))},[]);let O=async()=>{await H({unit:g.unit.name,completed:!0,confirmedCompleted:!0,metadata:{}}),T(!0);let e=new URLSearchParams({unit:m.H.getNextUnit(g.unit.name)}).toString();window.location.href="".concat(t.pathname,"?").concat(e)},H=async e=>{let{unit:t,completed:n,confirmedCompleted:s,metadata:a}=e;return fetch("".concat(u.Z.appHost,"/api/next/post-unit-progress"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({unit:t,completed:n,confirmedCompleted:s,metadata:a})})},I=async e=>{let{lesson:t,completed:n,confirmedCompleted:s,skipped:a}=e;return fetch("".concat(u.Z.appHost,"/api/next/post-lesson-progress"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lesson:t,completed:n,confirmedCompleted:s,skipped:a,currentUnit:g.unit.name})})},E=async()=>fetch("".concat(u.Z.appHost,"/api/next/post-confirm-all-lessons"),{method:"POST",headers:{"Content-Type":"application/json"}});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.PB,{description:""}),(0,s.jsx)(l.p,{...e.navProps,user:e.user,className:"bg-purple-vivid",children:i?(0,s.jsx)(f,{user:e.user,handleStartLesson:()=>{p.A.setSeenGetStartedCookie(e.userServiceUserId),t.push("".concat(u.Z.authHost,"/lessons/piano/first-song/video"))},handleTakeQuiz:()=>{p.A.setSeenGetStartedCookie(e.userServiceUserId),t.push("/placement-quiz")},tabDisableDiscoverFeed:!0,useNext:!0}):n?(0,s.jsx)(w,{unitLessons:g,handleBack:()=>{setTimeout(()=>{T(!1),b(!1)},300),o(!1)},handleContinue:O,fadeOut:v}):(0,s.jsx)(h,{accountUsers:e.accountUsers,completedTaskID:e.completedTaskId,handleTaskComplete:A,user:e.user,unitLessons:g,upNext:D,handleTaskStart:U,handleTaskSkip:j,handleChangeUnit:e=>{let n=new URLSearchParams({...t.query,unit:m.H.isValidUnitName(e)?e:"unit-1"}).toString();window.location.href="".concat(t.pathname,"?").concat(n)},useNext:!0,tabDisableAchievements:!0,tabDisableActivity:null===S,activities:S,discoverFeed:e.discoverFeed,fadeOut:k,progressEnableDownloadsModal:!0,unitDownloads:e.unitDownloads,unitDownloadsLimit:e.unitDownloadsLimit,handleFileDownload:e=>(0,d.Pm)(e),currentUnit:N,progressDisableDownloads:0===Object.keys(e.unitDownloads).length,enableActivityTrend:!0})})]})}},46312:function(e,t,n){"use strict";n.d(t,{A:function(){return a}});var s=n(47041);class a{static setSeenGetStartedCookie(e){(0,s.setCookie)(e?"ha_seen_get_started_".concat(e):"ha_seen_get_started","true",{expires:new Date(Date.now()+6048e5),path:"/",domain:".hoffmanacademy.com"})}}}},function(e){e.O(0,[1876,5076,3282,2888,9774,179],function(){return e(e.s=415)}),_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.