1import{aw as de,cB as ue,aH as ce,aI as me,aZ as pe,aT as fe,cW as he,bq as we,b6 as ge,bp as ye,aO as ve,gU as Se,aQ as w,dJ as P,aP as E,aC as m,b9 as x,cD as _e,d0 as xe,bg as A,hg as Ce,hh as Fe,hi as ke,bi as H,dg as Me,aX as Te}from"./entry.D_dqNKaD.js";import{u as Ie}from"./useSetState.RAGWIOkA.js";import{u as be}from"./useEffect.DOBomi6c.js";import{u as Ee}from"./useStoreReady.BdUgGpRp.js";/* empty css */import Ae from"./index.D26FGp5t.js";import{f as L}from"./index.module.CWtdx51N.js";import Le from"./index.DUg-GELc.js";import{t as G}from"./timeTracker.D3__XRhH.js";import{L as Re}from"./grammarTip.CtuyzCGk.js";import{L as De}from"./index.BjMhfb7j.js";import Be from"./Header.CrR6kcE7.js";import je from"./CardDisplay.C7pBdeTr.js";import Pe from"./ControlButtons.31hmzdBS.js";import He from"./SettingsModal.CNTvPzgT.js";import{c as Ge}from"./index.BtgXQYSM.js";import{u as Ne}from"./useNoindexCourseCanonical.d3D7uZXR.js";/* empty css */import"./index.QBFXRw-g.js";import"./index.DU4lnQgG.js";import"./index.BiUQ0pIq.js";import"./el-overlay.CjA4dIux.js";import"./event.BMp57Gnf.js";import"./error.F7sIi--R.js";import"./index.ByNwT6Ke.js";/* empty css */import"./back.CZ3e0hMG.js";import"./index.0vZ2tZ5P.js";import"./refs.C0mU2Lp5.js";import"./index.DLJDYbJR.js";import"./GrammarTips.DHJpN_FP.js";import"./htmlDarkMode.JLIOBuxx.js";import"./fetch.hCaEBSu-.js";import"./asyncData.5R8sYrxk.js";import"./SmartTips.V8uQoeLr.js";import"./el-popper.Ce_odT-C.js";import"./constants.0EIrU6de.js";import"./_baseFlatten.CNTMr4H1.js";import"./client-only.DfDl5tM2.js";import"./directive.b_eRZf3u.js";import"./index.BGKITkPk.js";import"./flexRow.C1bYdgaN.js";import"./index.BzbSJJZ7.js";import"./flexCol.UWoG24IK.js";import"./index.DX7tECqm.js";import"./index.tYMOAGFD.js";import"./interval.BPOv_HR-.js";import"./index.CpjkARU-.js";import"./flex.BB22UdKo.js";import"./rive.CnABUSJ3.js";import"./girl.tI0RMpz_.js";import"./new.SOzP-n85.js";import"./index.DzQOZM8z.js";import"./RenderItem.BDudJcy3.js";import"./el-popover.D2OJXR0s.js";import"./dropdown.BaIRxU4f.js";/* empty css */import"./new.BnkScntX.js";import"./useTopicStatus.Be27FUBc.js";import"./index.DNlgr382.js";import"./text.CZgv6AOo.js";import"./emo.CHeXO5c9.js";import"./index.A-_bFP3-.js";import"./use-form-common-props.EOcvfqiT.js";(function(){try{var f=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};f.SENTRY_RELEASE={id:"1efaec818d93a34fc75e3041dd55939e084a0ab6"};var c=new f.Error().stack;c&&(f._sentryDebugIds=f._sentryDebugIds||{},f._sentryDebugIds[c]="21ea47cb-981d-4404-97cc-cad9b2d4f046",f._sentryDebugIdIdentifier="sentry-dbid-21ea47cb-981d-4404-97cc-cad9b2d4f046")}catch{}})();const ta=de({setup(){ue({link:[{rel:"preload",href:"/riv/srs_emoji_perfect.riv",as:"fetch",crossorigin:"anonymous"},{rel:"preload",href:"/riv/srs_emoji_good.riv",as:"fetch",crossorigin:"anonymous"},{rel:"preload",href:"/riv/srs_emoji_again.riv",as:"fetch",crossorigin:"anonymous"},{rel:"preload",href:"/riv/srs_emoji_hard.riv",as:"fetch",crossorigin:"anonymous"}]}),Ne();const{learnLangs:f}=ce(),{t:c,locale:N,localeProperties:O}=me(),{playAudio:K}=pe(),C=fe(),g=he(),U=we(),F=ge(),k=ye(),W=ve(),[a,i]=Ie({topics:[],initialCount:0,currentIndex:0,loading:!0,openModel:!1,showGrammar:!1,setting:{display:"1",audio:"2"},unitArray:[],isEnded:!1,cardStatus:{},status:{weak:0,good:0,perfect:0,hard:0},xp:0,answerShow:!1,exitModal:!1,showExitFinish:!1}),X=["cn","jp","kr"],v=w(()=>X.includes(C.learnLang)),R=w(()=>`flashCardsSetting_${C.learnLang}`),M=()=>({display:v.value?"4":"1",audio:"2"}),S=e=>{const t=M(),o=`${(e==null?void 0:e.display)??t.display}`,s=`${(e==null?void 0:e.audio)??t.audio}`;return{display:o==="4"&&!v.value?t.display:o,audio:s}},V=async()=>{const e=await A.getItem(R.value);if(e)return S(e);const t=await A.getItem("flashCardsSetting");return t?S({...t,display:M().display}):M()},$=w(()=>{const t=Object.values(a.cardStatus).length;return Math.max(a.initialCount-t,0)}),z=w(()=>Object.values(a.cardStatus).filter(e=>e==="weak"||e==="hard").length),J=w(()=>Object.values(a.cardStatus).filter(e=>e==="good"||e==="perfect").length),q=w(()=>W.value==="dark"?"/images/review/new/long_arrow_dark.png":"/images/review/new/long_arrow.png"),y=E(null),_=E(!1);Se(e=>_.value||a.isEnded||a.showExitFinish?!0:(y.value=e,i({exitModal:!0}),!1));const Q=()=>{i({exitModal:!0})},Y=()=>{const e=Object.keys(a.cardStatus).length,t=Math.floor(e/2);if(t>0){i({showExitFinish:!0,xp:t,exitModal:!1});return}ee()},Z=()=>{y.value=null,i({exitModal:!1})},ee=async()=>{_.value=!0;try{await G.stopCalTime(),a.xp>0&&await _e.addXP(a.xp)}catch(e){console.error("save SRS exit history failed",e)}try{await xe()}catch(e){console.error("sync SRS exit history failed",e)}if(y.value){const e=y.value;y.value=null,k.push(e.fullPath);return}k.push(F.path.replace("/flashcards/learn","/flashcards"))},te=async()=>{await H(["/riv/srs_emoji_perfect.riv","/riv/srs_emoji_good.riv","/riv/srs_emoji_again.riv","/riv/srs_emoji_hard.riv","/audio/lesson/srs_status_perfect.mp3","/audio/lesson/srs_status_good.mp3","/audio/lesson/srs_status_again.mp3","/audio/lesson/srs_status_hard.mp3"])},ae=async()=>{var s;if(Me(g.state.knowledges)){_.value=!0,Te(F.path.replace("/flashcards/learn","/flashcards"));return}i({loading:!0}),te();const e=await g.initialize(O.value.key),t={wordData:e.words??[],sentData:e.sents??[]};if(t){const d=(s=g.state.knowledges)==null?void 0:s.reduce((u,r)=>{let h=null;if(r.type==="Word"||r.type==="w"){const p=x(t==null?void 0:t.wordData,{id:r.knowledgeId});p&&(h={...r,topic_data:p})}else if(r.type==="Sentence"||r.type==="s"){const p=x(t==null?void 0:t.sentData,{id:r.knowledgeId});p&&(h={...r,topic_data:p})}return h&&u.push(h),u},[]);i({topics:d,initialCount:d.length})}const o=await V();i({unitArray:e.unitArray??[],setting:o}),await I(0,1),i({loading:!1}),I(1,2),G.startCalTime()},l=w(()=>a.topics[a.currentIndex]),T=w(()=>{var t;return{Sentence:"lesson_s",Word:"lesson_w",Character:"lesson_c",s:"lesson_s",w:"lesson_w",c:"lesson_c"}[(t=l.value)==null?void 0:t.type]||""}),se=e=>{const t=e==null?void 0:e.type;if(t==="Word"||t==="w")return"WordModel3";if(t==="Sentence"||t==="s")return"SentenceModel5"},re=e=>{var o,s;const t=((o=e==null?void 0:e.originInfo)==null?void 0:o.id)??(e==null?void 0:e.knowledgeId)??((s=e
1==null?void 0:e.topic_data)==null?void 0:s.id);return e.originInfo={...e.originInfo,id:t},e.newSchema=e.newSchema??{},e.newSchema.status=e.newSchema.status??{},e},I=async(e,t=3)=>{if(!v.value||a.setting.display!=="4")return;const o=a.topics.slice(e,e+t);await Promise.all(o.map(async s=>{const d=se(s);if(d)try{const u=re(s);Ce(u,"video");const r=await Fe({topic:u,modelType:d,preferredMediaType:"video"});ke(s,r),r.videoUrl&&H([r.videoUrl],void 0,1)}catch(u){console.warn("warmupFlashcardVideoMedia failed",d,s==null?void 0:s.knowledgeId,u)}}))};Ee(g,()=>{ae()});const oe=async e=>{const{runHsAlgorithm:t,set:o}=P(),s=l.value.id;if(g.state.modelType==="srs"){const r=await t(s,e);["weak","hard"].includes(e)&&r&&a.topics.push(l.value),r&&await o(l.value.id,r)}else{const r=Math.floor(Date.now()/1e3);await o(l.value.id,{isReviewed:!0,lastStudyTime:r,lastModifierTime:r,pendingUpdate:!0})}const d=a.currentIndex+1;if(d>a.topics.length-1){i({isEnded:!0}),B();return}const u=l.value.id;i({currentIndex:d,answerShow:!1,status:{...a.status,[e]:a.status[e]+1},cardStatus:{...a.cardStatus,[u]:e}}),I(d),B()},D=()=>{var e,t,o;if(a.setting.audio=="3"){const s=((e=l.value)==null?void 0:e.knowledgeId)??((o=(t=l.value)==null?void 0:t.topic_data)==null?void 0:o.id);T.value&&s&&K({type:T.value,id:s,playStatus:"player_old_"})}i({answerShow:!0})},B=()=>{a.xp=Math.floor(a.initialCount/2)},j=E([{type:"hard",status:"hard",info:"< 1 min",color:"#FF4B4C"},{type:"weak",status:"weak",info:"< 10 min",color:"#FFBFC0"},{type:"good",status:"good",info:"< 2 d",color:"#97ECB3"},{type:"perfect",status:"perfect",info:"< 6 d",color:"#12BB6A"}]);be(()=>{(async()=>{if(!l.value)return;const e=n=>n<60?c("review.srs.srs_status_smin",1).replace("%s","1"):n<3600?c("review.srs.srs_status_smin",(n/60).toFixed(0)).replace("%s",(n/60).toFixed(0)):n<86400?c("review.srs.srs_status_shr",(n/3600).toFixed(0)).replace("%s",(n/3600).toFixed(0)):n<2592e3?c("review.srs.srs_status_sd",(n/86400).toFixed(0)).replace("%s",(n/86400).toFixed(0)):n<12*2592e3?c("review.srs.srs_status_smo",(n/2592e3).toFixed(0)).replace("%s",(n/2592e3).toFixed(0)):c("review.srs.srs_status_syr",(n/31536e3).toFixed(0)).replace("%s",(n/31536e3).toFixed(0)),{runHsAlgorithm:t}=P(),o=new Date().getTime()/1e3,s=l.value.id,[d,u,r,h]=await Promise.all([t(s,"hard"),t(s,"weak"),t(s,"good"),t(s,"perfect")]),p=n=>{if(!n)return c("review.srs.srs_status_due");const b=n-o;return e(b>0?b:0)};j.value=[{type:"hard",status:"hard",info:p(d==null?void 0:d.nextReviewTime),color:"#FF4B4C"},{type:"weak",status:"weak",info:p(u==null?void 0:u.nextReviewTime),color:"#FFBFC0"},{type:"good",status:"good",info:p(r==null?void 0:r.nextReviewTime),color:"#97ECB3"},{type:"perfect",status:"perfect",info:p(h==null?void 0:h.nextReviewTime),color:"#12BB6A"}]})()},[()=>l.value]);const ne=()=>{A.setItem(R.value,S(a.setting)),i({openModel:!1})},ie=()=>{var t;const e=x(a.unitArray,{id:(t=l.value)==null?void 0:t.unitId});e&&(U.unitData=e,i({showGrammar:!0}))},le=()=>{_.value=!0,k.push(F.path.replace("/flashcards/learn","/flashcards"))};return()=>{var e,t;return m("div",{class:Ge("w-full h-full ",{})},[m(Ae,{loading:a.loading},{default:()=>{var o,s;return[(a.isEnded||a.showExitFinish)&&m(Le,{earnXP:a.xp,statusNum:a.status,onReturnBack:le},null),!a.isEnded&&!a.showExitFinish&&m("div",{class:"flex w-full h-full flex-col"},[m("div",{class:"flex-1 flex flex-col"},[m(Be,{remainingCount:$.value,weakHardCount:z.value,goodPerfectCount:J.value,arrowIcon:q.value,onBack:Q,onSettings:()=>i({openModel:!0}),styles:L},null),m(je,{currentTopic:l.value,unitName:(s=x(a.unitArray,{id:(o=l.value)==null?void 0:o.unitId}))==null?void 0:s.nm,mediaType:T.value,setting:a.setting,answerShow:a.answerShow,onShowAnswer:D,onShowGrammar:ie,styles:L},null)]),m(Pe,{answerShow:a.answerShow,emoList:j.value,isSrsModel:g.state.modelType==="srs",onShowAnswer:D,onChangeStatus:oe},null)])]}}),m(He,{open:a.openModel,setting:a.setting,learnLangName:c(`language.${(t=(e=f[C.learnLang])==null?void 0:e.nm)==null?void 0:t.toLowerCase()}`),showVideoOption:v.value,onClose:()=>i({openModel:!1}),onConfirm:ne,onSettingChange:(o,s)=>i({setting:S({...a.setting,[o]:s})}),styles:L},null),m(Re,{open:a.showGrammar,onCancel:()=>i({showGrammar:!1})},null),m(De,{open:a.exitModal,onCancel:Z,onOk:Y},null)])}}});
1export{ta 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.