PageSourceSearch

https://app.chevostik.ru/assets/ProgressPage-CcPP3TyG.js

js chevostik.ru collected 2026-10-02 05:31:58 UTC 25,142 bytes, 5 lines download raw bytes

1import{c as m,u as De,r as i,f as Ee,d as x,h as ze,j as e,U as I,l as ee}from"./index-Cf3Yve_A.js";import{B as $e}from"./BottomNav-DzIqzISs.js";import{P as se}from"./ParentalGate-BrHGAPWh.js";import{T as He}from"./TrialBanner-DEqZFgfr.js";import{p as R}from"./streakLabel-C8JEkOIL.js";import{g as Me,a as We}from"./parentReport-p6doUV_K.js";const Oe="_page_gdiyk_5",Pe="_content_gdiyk_158",Ge="_section_gdiyk_166",Ue="_sectionRow_gdiyk_168",Qe="_sectionTitle_gdiyk_175",Ke="_sectionMeta_gdiyk_183",Xe="_sectionLink_gdiyk_189",Je="_emptyHint_gdiyk_200",Ve="_weekCard_gdiyk_211",Ye="_weekDots_gdiyk_218",Ze="_weekDotCol_gdiyk_224",es="_weekDot_gdiyk_218",ss="_dotActive_gdiyk_245",ts="_dotToday_gdiyk_250",is="_dotFuture_gdiyk_256",ns="_dotTodayDot_gdiyk_258",ls="_dotDay_gdiyk_265",cs="_dotDayToday_gdiyk_266",os="_dotDayFuture_gdiyk_267",as="_weekSummary_gdiyk_269",ds="_topicList_gdiyk_394",rs="_topicRow_gdiyk_401",hs="_topicNum_gdiyk_410",gs="_topicEmoji_gdiyk_411",us="_topicInfo_gdiyk_412",ps="_topicName_gdiyk_414",ms="_topicSub_gdiyk_421",xs="_topicFavBadge_gdiyk_427",_s="_skillsList_gdiyk_440",ys="_skillRow_gdiyk_450",vs="_skillIcon_gdiyk_456",ks="_skillInfo_gdiyk_458",js="_skillName_gdiyk_466",fs="_skillBar_gdiyk_468",bs="_skillFill_gdiyk_475",Ns="_skillLabel_gdiyk_481",ws="_adviceCard_gdiyk_493",Ss="_adviceHeader_gdiyk_500",Cs="_adviceAvatar_gdiyk_507",qs="_adviceName_gdiyk_508",Ts="_adviceTopic_gdiyk_509",Fs="_adviceText_gdiyk_511",As="_adviceAskBtn_gdiyk_519",Ls="_subBanner_gdiyk_543",Bs="_subLeft_gdiyk_555",Is="_subName_gdiyk_556",Rs="_subExpiry_gdiyk_557",Ds="_subManage_gdiyk_558",Es="_settingsCard_gdiyk_560",zs="_settingsRow_gdiyk_568",$s="_noBorder_gdiyk_577",Hs="_settingsLeft_gdiyk_579",Ms="_settingsTitle_gdiyk_581",Ws="_settingsSub_gdiyk_582",Os="_arrow_gdiyk_583",Ps="_logoutBtn_gdiyk_585",Gs="_qOverlay_gdiyk_601",Us="_qSheet_gdiyk_610",Qs="_qHandle_gdiyk_621",Ks="_qHeader_gdiyk_629",Xs="_qAvatar_gdiyk_636",Js="_qTitle_gdiyk_638",Vs="_qSub_gdiyk_644",Ys="_qClose_gdiyk_651",Zs="_qLoading_gdiyk_667",et="_qList_gdiyk_675",st="_qItem_gdiyk_681",tt="_qItemCopied_gdiyk_695",it="_qNum_gdiyk_697",nt="_qText_gdiyk_706",lt="_qCopyIcon_gdiyk_715",s={page:Oe,content:Pe,
1section:Ge,sectionRow:Ue,sectionTitle:Qe,sectionMeta:Ke,sectionLink:Xe,emptyHint:Je,weekCard:Ve,weekDots:Ye,weekDotCol:Ze,weekDot:es,dotActive:ss,dotToday:ts,dotFuture:is,dotTodayDot:ns,dotDay:ls,dotDayToday:cs,dotDayFuture:os,weekSummary:as,topicList:ds,topicRow:rs,topicNum:hs,topicEmoji:gs,topicInfo:us,topicName:ps,topicSub:ms,topicFavBadge:xs,skillsList:_s,skillRow:ys,skillIcon:vs,skillInfo:ks,skillName:js,skillBar:fs,skillFill:bs,skillLabel:Ns,adviceCard:ws,adviceHeader:Ss,adviceAvatar:Cs,adviceName:qs,adviceTopic:Ts,adviceText:Fs,adviceAskBtn:As,subBanner:Ls,subLeft:Bs,subName:Is,subExpiry:Rs,subManage:Ds,settingsCard:Es,settingsRow:zs,noBorder:$s,settingsLeft:Hs,settingsTitle:Ms,settingsSub:Ws,arrow:Os,logoutBtn:Ps,qOverlay:Gs,qSheet:Us,qHandle:Qs,qHeader:Ks,qAvatar:Xs,qTitle:Js,qSub:Vs,qClose:Ys,qLoading:Zs,qList:et,qItem:st,qItemCopied:tt,qNum:it,qText:nt,qCopyIcon:lt};function ct(c){let r=1,d=0;for(;;){const v=r*100;if(d+v>c)return{level:r,xpInLvl:c-d,xpToNext:v};d+=v,r++}}function ot(c){return c>=80?{label:"Отлично",color:"#2E8B60",bg:"#EDFAF4"}:c>=60?{label:"Хорошо",color:"#3BA8B8",bg:"#E8F7FA"}:c>=35?{label:"Растёт",color:"#D4713A",bg:"#FEF3EC"}:{label:"Тренируем",color:"#9B59B6",bg:"#F6EFFE"}}const at={"self-learning":"books","logical-thinking":"puzzle",influence:"handshake",teamwork:"family",creativity:"palette","self-evaluation":"magnifier","critical-thinking":"target","problem-solving":"brain",communication:"envelope"};function dt(c){if(!c)return"0м";const r=Math.floor(c/60),d=c%60;return r>0&&d>0?`${r}ч ${d}м`:r>0?`${r}ч`:`${c}м`}function Nt(){const c=m(t=>t.child),r=m(t=>t.setChild),d=m(t=>t.equipped),v=m(t=>t.setEquipped),te=m(t=>t.setUserPlan),D=m(t=>t.setLoggedIn),h=De(),[k,ie]=i.useState([]),[j,ne]=i.useState([]),[f,le]=i.useState([]),[rt,ce]=i.useState([]),[T,oe]=i.useState(null),[E,F]=i.useState(null),[ae,w]=i.useState(!1),[A,z]=i.useState([]),[de,$]=i.useState(!1),[re,L]=i.useState(!1),[H,M]=i.useState(null),[b,he]=i.useState(null),[g,ge]=i.useState(null),[W,ue]=i.useState(null),[a,O]=i.useState(null),[P,G]=i.useState(!1),[pe,me]=i.useState(null),[xe,_e]=i.useState(null),[ye,S]=i.useState(!1),[ht,ve]=i.useState(null),[ke,je]=i.useState(null),[fe,be]=i.useState(null),[_,Ne]=i.useState(null),[gt,we]=i.useState(0),[ut,Se]=i.useState(null),[U,B]=i.useState(null);i.useEffect(()=>{Ee().then(t=>Se(t.station)).catch(()=>{})},[]),i.useEffect(()=>{x.get("/chekoins/me").then(({data:t})=>{Ne(t||null),we((t==null?void 0:t.balance)??0),t!=null&&t.equipped&&v(t.equipped),r({...m.getState().child,xp:(t==null?void 0:t.xp)??0,streak:(t==null?void 0:t.streak)??0,bestStreak:Math.max((t==null?void 0:t.best_streak)??0,(t==null?void 0:t.streak)??0)})}).catch(()=>{}),x.get("/users/me").then(({data:t})=>{ge(t),me(t.streak??null),_e(t.total_minutes??null),ve(t.session_minutes??null),je(t.completed_count??null),be(t.xp??null);const l=t.child||{};r({...m.getState().child,name:l.name||c.name,initial:l.display_initial||c.initial,color:l.display_color||c.color,totalMinutes:t.total_minutes,completedCount:t.completed_count}),t.plan&&te(t.plan),x.get(`/users/${t.id}/subscription`).then(({data:n})=>{const o=Array.isArray(n)?n.find(u=>u.status==="active"):null;he(o)}).catch(()=>{})}).catch(()=>{}),Me().then(t=>O(t)).catch(()=>O(null)),x.get("/users/me/stats").then(({data:t})=>{ie(t.week_activity||[]),ne((t.skills||[]).slice(0,5)),le((t.top_topics||[]).slice(0,5)),ce((t.recent_content||[]).slice(0,8)),oe(t.learned_summary||null),t.total_content_minutes!=null&&ue(t.total_content_minutes)}).catch(()=>{}),w(!0),x.get("/users/me/advice",{params:{name:c.name||""}}).then(({data:t})=>F((t==null?void 0:t.advice)||null)).catch(()=>{}).finally(()=>w(!1))},[]);const Q=async()=>{await ee(),D(!1),h("/auth")},[K,X]=i.useState(!1),Ce=async()=>{var n;if(!(!window.confirm("Удалить аккаунт? Все данные, профили детей, прогресс и подписка будут удалены навсегда. Это действие нельзя отменить.")||!window.confirm("Точно удалить? Это последнее предупреждение — после подтверждения данные восстановить нельзя."))){X(!0);try{await x.delete("/users/me"),await ee(),D(!1),h("/auth")}catch(o){X(!1),((n=o==null?void 0:o.response)==null?void 0:n.status)===401?h("/auth"):alert("Ошибка удаления. Попробуйте ещё раз или напишите [email protected].")}}},qe=async()=>
1{if(L(!0),!A.length){$(!0);try{const{data:t}=await x.get("/users/me/parent-questions",{params:{name:c.name||""}});z(Array.isArray(t==null?void 0:t.questions)?t.questions:[])}catch{z([])}finally{$(!1)}}},Te=(t,l)=>{var n;(n=navigator.clipboard)==null||n.writeText(t).catch(()=>{}),M(l),setTimeout(()=>M(null),1800)};(_==null?void 0:_.streak)??pe??c.streak,ke??c.completedCount;const Fe=(_==null?void 0:_.xp)??fe??c.xp??0,Ae=d!=null&&d.skin&&d.skin!=="skin_default"?d.skin.replace(/^skin_/,""):"default";ze(Ae);const Le=xe??c.totalMinutes??0,J=W??Le,C=c.name||"Ребёнок",{level:pt,xpInLvl:mt,xpToNext:xt}=ct(Fe),q=k.filter(t=>t.minutes>0||t.active||t.in_streak).length,V=k.reduce((t,l)=>t+l.minutes,0);Math.max(1,...k.map(t=>t.minutes));const Be={trial:"Пробный",month:"Месяц",year:"Год",family:"Семья",forever:"Навсегда"}[g==null?void 0:g.plan]??"Нет подписки",Y=(g==null?void 0:g.plan)==="forever"?null:b!=null&&b.expires_at?new Date(b.expires_at).toLocaleDateString("ru-RU",{day:"numeric",month:"long",year:"numeric"}):null;async function Ie(){var t,l;if(!P){G(!0);try{const n=await We();h(`/report/${n.id}`)}catch(n){const o=((l=(t=n==null?void 0:n.response)==null?void 0:t.data)==null?void 0:l.error)||"Не удалось сгенерировать отчёт. Попробуй позже.";alert(o)}finally{G(!1)}}}return e.jsxs("div",{className:s.page,children:[e.jsxs("div",{style:{padding:"18px 0 6px"},children:[e.jsxs("h1",{style:{fontSize:22,fontWeight:800,margin:0,color:"#2C2C2A"},children:["Родителям · ",C]}),e.jsxs("div",{style:{fontSize:13,color:"#888780",marginTop:4},children:["Что ребёнок изучает и как развивается",J?` · ${dt(J)} учёбы`:""]})]}),e.jsxs("div",{className:s.content,children:[e.jsx(He,{}),e.jsxs("div",{className:s.subBanner,onClick:()=>B("/subscription"),children:[e.jsxs("div",{className:s.subLeft,children:[e.jsx("span",{style:{fontSize:18},children:b?e.jsx("img",{src:"/icons/check_circle.webp",alt:"",style:{width:16,height:16,verticalAlign:"middle"}}):e.jsx("img",{src:"/icons/hourglass.webp",alt:"",style:{width:20,height:20,verticalAlign:"middle"}})}),e.jsxs("div",{children:[e.jsxs("div",{className:s.subName,children:["Подписка: ",Be]}),e.jsx("div",{className:s.subExpiry,children:(g==null?void 0:g.plan)==="forever"?"Полный доступ без срока":Y?`Действует до ${Y}`:g?"Нет активной подписки":"Загрузка..."})]})]}),e.jsx("span",{className:s.subManage,children:"Управлять →"})]}),e.jsx("div",{className:s.settingsCard,style:{marginTop:10},children:e.jsxs("div",{className:`${s.settingsRow} ${s.noBorder}`,onClick:()=>h("/adventures"),children:[e.jsxs("div",{className:s.settingsLeft,children:[e.jsx("span",{children:e.jsx("img",{src:"/icons/globe.webp",alt:"",style:{width:24,height:24,verticalAlign:"middle",display:"inline-block"}})}),e.jsxs("div",{children:[e.jsx("div",{className:s.settingsTitle,children:"Оглавление и поиск"}),e.jsx("div",{className:s.settingsSub,children:"Все миры и главы · видео, аудио, материалы"})]})]}),e.jsx("span",{className:s.arrow,children:"›"})]})}),e.jsxs("div",{className:s.section,children:[e.jsxs("div",{className:s.sectionRow,children:[e.jsx("h3",{className:s.sectionTitle,children:"Активность на этой неделе"}),e.jsx("span",{className:s.sectionMeta,children:V>0?`${V} мин`:""})]}),e.jsxs("div",{className:s.weekCard,children:[e.jsx("div",{className:s.weekDots,children:k.map(({day:t,minutes:l,today:n,in_streak:o,active:u},p)=>{const y=l>0||u||o&&!n,N=n,Z=!n&&!y&&!o&&p>k.findIndex(Re=>Re.today);return e.jsxs("div",{className:s.weekDotCol,children:[e.jsxs("div",{className:`${s.weekDot}
2                      ${y&&!N?s.dotActive:""}
3                      ${N?s.dotToday:""}
4                      ${Z?s.dotFuture:""}
5                    `,children:[y&&!N&&e.jsx("span",{children:"✓"}),N&&e.jsx("span",{className:s.dotTodayDot})]}),e.jsx("div",{className:`${s.dotDay} ${N?s.dotDayToday:""} ${Z?s.dotDayFuture:""}`,children:t})]},p)})}),e.jsx("div",{className:s.weekSummary,children:q>0?`Занятий: ${q} ${q===1?"день":q<5?"дня":"дней"} из 7`:"Начнём заниматься сегодня!"})]})]}),a&&e.jsxs("div",{className:s.section,children:[e.jsxs("div",{style:{background:"#fff",border:"1px solid #e5e7eb",borderRadius:16,padding:"14px 16px",marginBottom:10},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e.jsx("img",{src:"/icons/brain.webp",alt:"",style:{width:30,height:30,objectFit:"contain"}}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:800,color:"#1f2937"},children:"Отчёт о развитии"}),e.jsx("div",{style:{fontSize:11,color:"#6b7280",marginTop:2},children:"Чевостик развивает любознательность, логику и критическое мышление — а вы видите прогресс в отчёте"})]})]}),(f[0]||j[0])&&e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:8,marginTop:10},children:[f[0]&&e.jsxs("span",{style:{background:"#EDFAF4",color:"#236B4A",borderRadius:999,padding:"5px 12px",fontSize:12,fontWeight:700},children:["Любимая тема: ",f[0].name]}),j[0]&&e.jsxs("span",{style:{background:"#FFF8E0",color:"#9A6B00",borderRadius:999,padding:"5px 12px",fontSize:12,fontWeight:700},children:["Сильная сторона: ",j[0].name]})]})]}),a.status==="available"&&e.jsxs("div",{onClick:Ie,style:{background:"linear-gradient(135deg, #2E8B60 0%, #6BC195 100%)",color:"#fff",borderRadius:16,padding:16,cursor:"pointer",display:"flex",alignItems:"center",gap:14,boxShadow:"0 6px 18px rgba(46,139,96,.3)"},children:[e.jsx("div",{style:{lineHeight:0},children:e.jsx("img",{src:"/icons/brain.webp",alt:"",style:{width:36,height:36,objectFit:"contain"}})}),e.jsxs("div",{style:{flex:1},children:[e.jsx("div",{style:{fontSize:14,fontWeight:800},children:P?"Готовим отчёт…":"Готов твой первый отчёт о ребёнке"}),e.jsx("div",{style:{fontSize:12,opacity:.9,marginTop:4},children:"Узнай к чему склонен и что попробовать дальше"})]}),e.jsx("div",{style:{fontSize:22},children:"→"})]}),a.status==="wait_next"&&a.existing_report_id&&e.jsxs("div",{onClick:()=>h(`/report/${a.existing_report_id}`),style:{background:"#F0F4F8",borderRadius:16,padding:14,cursor:"pointer",display:"flex",alignItems:"center",gap:12},children:[e.jsx("div",{style:{lineHeight:0},children:e.jsx("img",{src:I.chart,alt:"",style:{width:28,height:28,objectFit:"contain"}})}),e.jsxs("div",{style:{flex:1},children:[e.jsx("div",{style:{fontSize:13,fontWeight:800,color:"#1f2937"},children:"Открыть прошлый отчёт"}),e.jsxs("div",{style:{fontSize:11,color:"#6b7280",marginTop:2},children:["Следующий — через ",a.days_until_next," ",R(a.days_until_next)]})]}),e.jsx("div",{style:{color:"#9ca3af",fontSize:18},children:"→"})]}),a.status==="too_early"&&e.jsxs("div",{style:{background:"#FFFAEB",borderRadius:16,padding:14,display:"flex",alignItems:"center",gap:12,border:"1px dashed #EDB84A"},children:[e.jsx("div",{style:{lineHeight:0},children:e.jsx("img",{src:"/icons/brain.webp",alt:"",style:{width:28,height:28,objectFit:"contain"}})}),e.jsxs("div",{style:{flex:1},children:[e.jsxs("div",{style:{fontSize:13,fontWeight:800,color:"#1f2937"},children:["Отчёт о развитии будет готов через ",a.days_until_first_report," ",R(a.days_until_first_report)]}),e.jsx("div",{style:{fontSize:11,color:"#6b7280",marginTop:2},children:"Соберём данные за месяц — пока изучай новые материалы"})]})]}),a.status==="trial_active"&&e.jsxs("div",{onClick:()=>S(!0),style:{background:"#EDFAF4",borderRadius:16,padding:14,cursor:"pointer",display:"flex",alignItems:"center",gap:12,border:"1px solid #82C9A0"},children:[e.jsx("div",{style:{lineHeight:0},children:e.jsx("img",{src:"/icons/brain.webp",alt:"",style:{width:28,height:28,objectFit:"contain"}})}),e.jsxs("div",{style:{flex:1},children:[e.jsx("div",{style:{fontSize:13,fontWeight:800,color:"#1f2937"},children:"Полный отчёт о ребёнке — в подписке"}),e.jsxs("div",{style:{fontSize:11,color:"#6b7280",marginTop:2},children:["Пробный период: осталось ",a.trial_days_left," ",R(a.trial_days_left),". Пока изучайте материалы"]})]}),e.jsx("div",{style:{color:"#2E8B60",fontSize:13,fontWeight:800},children:"Открыть →"})]}),a.status==="no_paid_subscription"&&e.jsxs("div",{onClick:()=>S(!0),style:{background:"#FFF0EB",borderRadius:16,padding:14,cursor:"pointer",display:"flex",alignItems:"center",gap:12,border:"1px solid #FFB89A"},children:[e.jsx("div",{style:{fontSize:28},children:e.jsx("img",{src:"/icons/lock_closed.webp",alt:"",style:{width:18,height:18,verticalAlign:"middle",display:"inline-block"}})}),e.jsxs("div",{style:{flex:1},children:[e.jsx("div",{style:{fontSize:13,fontWeight:800,color:"#1f2937"},children:"Полный отчёт о развитии — в подписке"}),e.jsx("div",{style:{fontSize:11,color:"#6b7280",marginTop:2},children:"Узнайте, чем интересуется ребёнок и какие навыки растут"})]}),e.jsx("div",{style:{color:"#FF8C00",fontSize:13,fontWeight:800},children:"Оформить →"})]})]}),e.jsx(se,{open:ye,title:"Доступ к оплате — для родителя",onClose:()=>S(!1),onPass:()=>{S(!1),h("/paywall")}}),e.jsx(se,{open:!!U,title:"Только для родителя",onClose:()=>B(null),onPass:()=>{const t=U;B(null),t==="__logout__"?Q():t&&h(t)}}),T&&e.jsxs("div",{className:s.section,children:[e.jsxs("div",{className:s.sectionRow,children:[e.jsx("h3",{className:s.sectionTitle,children:"Что изучил ребёнок"}),e.jsx("span",{className:s.sectionMeta,children:"за неделю"})]}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:10},children:[["video","/icons/video.webp","видео"],["audio","/icons/audio.webp","аудио"],["material","/icons/palette.webp","раскраски"],["card","/icons/material_icon.webp","инструкции"]].map(([t,l,n])=>{var o,u;return e.jsxs("div",{style:{background:"#F6F8F4",borderRadius:12,padding:"12px 8px",textAlign:"center"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:8},children:[e.jsx("img",{src:l,alt:"",style:{width:22,height:22,objectFit:"contain"}}),e.jsx("span",{style:{fontSize:20,fontWeight:800,color:"#2C2C2A"},children:((o=T[t])==null?void 0:o.week)??0})]}),e.jsx("div",{style:{fontSize:11,color:"#888780"},children:n}),e.jsxs("div",{style:{fontSize:11,color:"#B4B2A9",marginTop:2},children:["всего ",((u=T[t])==null?void 0:u.total)??0]})]},t)})})]}),e.jsxs("div",{className:s.section,children:[e.jsxs("div",{className:s.sectionRow,children:[e.jsx("h3",{className:s.sectionTitle,children:"Совет для родителей"}),e.jsx("button",{className:s.sectionLink,onClick:()=>{F(null),w(!0),x.get("/users/me/advice",{params:{name:C}}).then(({data:t})=>F((t==null?void 0:t.advice)||null)).catch(()=>{}).finally(()=>w(!1))},children:"Обновить ↻"})]}),e.jsxs("div",{className:s.adviceCard,children:[e.jsxs("div",{className:s.adviceHeader,children:[e.jsx("img",{src:"/icons/kuzya.webp",alt:"Дядя Кузя",className:s.adviceAvatar}),e.jsxs("div",{children:[e.jsx("div",{className:s.adviceName,children:"Дядя Кузя"}),e.jsx("div",{className:s.adviceTopic,children:"Персональный совет"})]})]}),ae?e.jsx("div",{className:s.emptyHint,children:"Кузя думает…"}):e.jsx("div",{className:s.adviceText,children:E||"Пройди первые материалы — и Кузя даст персональный совет!"}),E&&e.jsxs("button",{className:s.adviceAskBtn,onClick:qe,children:[e.jsx("img",{src:"/icons/question.webp",alt:"",style:{width:16,height:16,objectFit:"contain"}}),"Что спросить у ребёнка"]})]})]}),e.jsxs("div",{className:s.section,children:[e.jsx("div",{className:s.sectionRow,children:e.jsx("h3",{className:s.sectionTitle,children:"Любимые темы"})}),f.length===0?e.jsx("div",{className:s.emptyHint,children:"Пройди первые материалы — появятся любимые темы"}):e.jsx("div",{className:s.topicList,children:f.map(({name:t,emoji:l,logo_url:n,completed:o,total:u},p)=>e.jsxs("div",{className:s.topicRow,children:[e.jsx("div",{className:s.topicNum,children:p+1}),e.jsx("div",{className:s.topicEmoji,style:{background:"transparent"},children:n?e.jsx("img",{src:n,alt:"",style:{width:36,height:36,objectFit:"contain",background:"transparent"}}):l||e.jsx("img",{src:"/icons/books.webp",alt:"",style:{width:28,height:28,objectFit:"contain"}})}),e.jsxs("div",{className:s.topicInfo,children:[e.jsx("div",{className:s.topicName,children:t}),e.jsxs("div",{className:s.topicSub,children:["изучено ",o," ",o===1?"материал":o<5?"материала":"материалов"]})]}),p===0&&e.jsx("span",{className:s.topicFavBadge,children:"любимая"})]},t))})]}),e.jsxs("div",{className:s.section,children:[e.jsx("div",{className:s.sectionRow,children:e.jsx("h3",{className:s.sectionTitle,children:"Навыки для будущего"})}),j.length===0?e.jsx("div",{className:s.emptyHint,children:"Данные появятся после первых материалов"}):e.jsx("div",{className:s.skillsList,children:j.map(({name:t,slug:l,pct:n,emoji:o,logo_url:u})=>{const p=ot(n),y=at[l];return e.jsxs("div",{className:s.skillRow,children:[e.jsx("div",{className:s.skillIcon,style:{background:"transparent"},children:u?e.jsx("img",{src:u,alt:"",style:{width:32,height:32,objectFit:"contain",background:"transparent"}}):y?e.jsx("img",{src:`/icons/${y}.webp`,alt:"",style:{width:32,height:32,objectFit:"contain",background:"transparent"}}):o||e.jsx("img",{src:"/icons/star_filled.webp",alt:"",style:{width:26,height:26,objectFit:"contain"}})}),e.jsxs("div",{className:s.skillInfo,children:[e.jsx("div",{className:s.skillName,children:t}),e.jsx("div",{className:s.skillBar,children:e.jsx("div",{className:s.skillFill,style:{width:`${n}%`,background:p.color}})})]}),e.jsx("span",{className:s.skillLabel,style:{background:p.bg,color:p.color},children:p.label})]},t)})})]}),e.jsxs("div",{className:s.section,children:[e.jsx("div",{className:s.sectionRow,children:e.jsxs("h3",{className:s.sectionTitle,style:{display:"flex",alignItems:"center",gap:6},children:[e.jsx("img",{src:"/icons/key.webp",alt:"",style:{width:18,height:18,objectFit:"contain"}}),"Кабинет родителя"]})}),e.jsxs("div",{className:s.settingsCard,children:[e.jsxs("div",{className:s.settingsRow,onClick:()=>h("/edit-child"),children:[e.jsxs("div",{className:s.settingsLeft,children:[e.jsx("span",{children:e.jsx("img",{src:I.child,alt:"",style:{width:24,height:24,verticalAlign:"middle",display:"inline-block"}})}),e.jsxs("div",{children:[e.jsx("div",{className:s.settingsTitle,children:"Профиль ребёнка"}),e.jsxs("div",{className:s.settingsSub,children:[C," · возраст, интересы"]})]})]}),e.jsx("span",{className:s.arrow,children:"›"})]}),e.jsxs("div",{className:s.settingsRow,onClick:()=>h("/edit-account"),children:[e.jsxs("div",{className:s.settingsLeft,children:[e.jsx("span",{children:e.jsx("img",{src:"/icons/key.webp",alt:"",style:{width:22,height:22,verticalAlign:"middle",display:"inline-block"}})}),e.jsxs("div",{children:[e.jsx("div",{className:s.settingsTitle,children:"Аккаунт и безопасность"}),e.jsx("div",{className:s.settingsSub,children:"Имя, email, пароль"})]})]}),e.jsx("span",{className:s.arrow,children:"›"})]})]}),e.jsx("div",{className:s.settingsCard,children:e.jsxs("div",{className:`${s.settingsRow} ${s.noBorder}`,onClick:()=>window.open("mailto:[email protected]?subject=Обратная связь","_blank"),children:[e.jsxs("div",{className:s.settingsLeft,children:[e.jsx("span",{children:e.jsx("img",{src:"/icons/envelope.webp",alt:"",style:{width:22,height:22,verticalAlign:"middle",display:"inline-block"}})}),e.jsxs("d
5iv",{children:[e.jsx("div",{className:s.settingsTitle,children:"Обратная связь"}),e.jsx("div",{className:s.settingsSub,children:"[email protected]"})]})]}),e.jsx("span",{className:s.arrow,children:"›"})]})}),e.jsxs("button",{className:s.logoutBtn,onClick:Q,children:[e.jsx("img",{src:I.logout,alt:"",style:{width:18,height:18,verticalAlign:"-3px",marginRight:6}}),"Выйти из аккаунта"]}),e.jsx("button",{onClick:Ce,disabled:K,style:{width:"100%",marginTop:12,padding:"14px 20px",background:"transparent",border:"none",color:"#9ca3af",fontSize:14,fontWeight:600,cursor:"pointer",textDecoration:"underline",textDecorationColor:"#d1d5db",textUnderlineOffset:"4px"},children:K?"Удаляем…":"Удалить аккаунт навсегда"})]}),e.jsx("div",{style:{height:32}})]}),e.jsx($e,{}),re&&e.jsx("div",{className:s.qOverlay,onClick:()=>L(!1),children:e.jsxs("div",{className:s.qSheet,onClick:t=>t.stopPropagation(),children:[e.jsx("div",{className:s.qHandle}),e.jsxs("div",{className:s.qHeader,children:[e.jsx("img",{src:"/icons/kuzya.webp",alt:"Дядя Кузя",className:s.qAvatar}),e.jsxs("div",{children:[e.jsxs("div",{className:s.qTitle,children:[C," — вопросы от Кузи"]}),e.jsx("div",{className:s.qSub,children:"Нажми на вопрос — скопируется"})]}),e.jsx("button",{className:s.qClose,onClick:()=>L(!1),children:"✕"})]}),de?e.jsx("div",{className:s.qLoading,children:"Дядя Кузя думает…"}):A.length?e.jsx("div",{className:s.qList,children:A.map((t,l)=>e.jsxs("button",{className:`${s.qItem} ${H===l?s.qItemCopied:""}`,onClick:()=>Te(t,l),children:[e.jsx("span",{className:s.qNum,children:l+1}),e.jsx("span",{className:s.qText,children:t}),e.jsx("span",{className:s.qCopyIcon,children:H===l?"✓":"⎘"})]},l))}):e.jsx("div",{className:s.qLoading,children:"Пройди больше материалов — Кузя придумает интересные вопросы!"})]})})]})}export{Nt 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.