diff --git a/frontend/js/phys9_legacy.js b/frontend/js/phys9_legacy.js index 7e3dfdd..4fe44c0 100644 --- a/frontend/js/phys9_legacy.js +++ b/frontend/js/phys9_legacy.js @@ -5947,4 +5947,6 @@ try { if (typeof TASKS_P33 !== "undefined") window.TASKS_P33 = TASKS_P33; } catc try { if (typeof TASKS_P34 !== "undefined") window.TASKS_P34 = TASKS_P34; } catch(e) {} try { if (typeof TASKS_P35 !== "undefined") window.TASKS_P35 = TASKS_P35; } catch(e) {} try { if (typeof TASKS_P36 !== "undefined") window.TASKS_P36 = TASKS_P36; } catch(e) {} +try { if (typeof POOLS !== "undefined") window.POOLS = POOLS; } catch(e) {} +try { if (typeof STATE !== "undefined") window.STATE = STATE; } catch(e) {} })(); diff --git a/frontend/textbooks/physics_9_ch1.html b/frontend/textbooks/physics_9_ch1.html index 007ab82..07da14a 100644 --- a/frontend/textbooks/physics_9_ch1.html +++ b/frontend/textbooks/physics_9_ch1.html @@ -778,6 +778,35 @@ function buildParaSelector(){ const BUILT=new Set(); const BUILDERS = { p1:()=>build_p1(), p2:()=>build_p2(), p3:()=>build_p3(), p4:()=>build_p4(), p5:()=>build_p5(), p6:()=>build_p6(), p7:()=>build_p7(), p8:()=>build_p8(), p9:()=>build_p9(), p10:()=>build_p10(), p11:()=>build_p11(), p12:()=>build_p12(), p13:()=>build_p13(), p14:()=>build_p14(), final1:()=>build_final1() }; function ensureBuilt(id){ if(BUILT.has(id)) return; const fn=BUILDERS[id]; if(fn){ fn(); BUILT.add(id); } } + +function _makeTaskBlock(sec){ + return '' + + '
' + + '
' + + '
Задачи параграфа
' + + '
0 верно
' + + '
0/?
' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + + '' + + '
'; +} +function _injectTasks(id){ + if(!id || !id.startsWith('p')) return; + if(!window.POOLS || !window.POOLS[id]) return; + var body = document.getElementById(id + '-body'); + if(!body || body.querySelector('.legacy-tasks')) return; + body.insertAdjacentHTML('beforeend', _makeTaskBlock(id)); + setTimeout(function(){ try { if(window.renderTask) window.renderTask(id); if(window.renderNav) window.renderNav(id); } catch(e){} }, 60); +} +var _origEnsureBuilt = ensureBuilt; +ensureBuilt = function(id){ _origEnsureBuilt(id); _injectTasks(id); }; + function goTo(id){ STATE.current=id; ensureBuilt(id); document.querySelectorAll('.sec').forEach(s=>s.classList.remove('active')); diff --git a/frontend/textbooks/physics_9_ch2.html b/frontend/textbooks/physics_9_ch2.html index c69bdd0..0f74a75 100644 --- a/frontend/textbooks/physics_9_ch2.html +++ b/frontend/textbooks/physics_9_ch2.html @@ -762,6 +762,35 @@ function buildParaSelector(){ const BUILT=new Set(); const BUILDERS = { p15:()=>build_p15(), p16:()=>build_p16(), p17:()=>build_p17(), p18:()=>build_p18(), p19:()=>build_p19(), p20:()=>build_p20(), p21:()=>build_p21(), p22:()=>build_p22(), p23:()=>build_p23(), p24:()=>build_p24(), final2:()=>build_final2() }; function ensureBuilt(id){ if(BUILT.has(id)) return; const fn=BUILDERS[id]; if(fn){ fn(); BUILT.add(id); } } + +function _makeTaskBlock(sec){ + return '' + + '
' + + '
' + + '
Задачи параграфа
' + + '
0 верно
' + + '
0/?
' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + + '' + + '
'; +} +function _injectTasks(id){ + if(!id || !id.startsWith('p')) return; + if(!window.POOLS || !window.POOLS[id]) return; + var body = document.getElementById(id + '-body'); + if(!body || body.querySelector('.legacy-tasks')) return; + body.insertAdjacentHTML('beforeend', _makeTaskBlock(id)); + setTimeout(function(){ try { if(window.renderTask) window.renderTask(id); if(window.renderNav) window.renderNav(id); } catch(e){} }, 60); +} +var _origEnsureBuilt = ensureBuilt; +ensureBuilt = function(id){ _origEnsureBuilt(id); _injectTasks(id); }; + function goTo(id){ STATE.current=id; ensureBuilt(id); document.querySelectorAll('.sec').forEach(s=>s.classList.remove('active')); diff --git a/frontend/textbooks/physics_9_ch3.html b/frontend/textbooks/physics_9_ch3.html index 257fc6b..85735aa 100644 --- a/frontend/textbooks/physics_9_ch3.html +++ b/frontend/textbooks/physics_9_ch3.html @@ -746,6 +746,35 @@ function buildParaSelector(){ const BUILT=new Set(); const BUILDERS = { p25:()=>build_p25(), p26:()=>build_p26(), p27:()=>build_p27(), p28:()=>build_p28(), p29:()=>build_p29(), p30:()=>build_p30(), final3:()=>build_final3() }; function ensureBuilt(id){ if(BUILT.has(id)) return; const fn=BUILDERS[id]; if(fn){ fn(); BUILT.add(id); } } + +function _makeTaskBlock(sec){ + return '' + + '
' + + '
' + + '
Задачи параграфа
' + + '
0 верно
' + + '
0/?
' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + + '' + + '
'; +} +function _injectTasks(id){ + if(!id || !id.startsWith('p')) return; + if(!window.POOLS || !window.POOLS[id]) return; + var body = document.getElementById(id + '-body'); + if(!body || body.querySelector('.legacy-tasks')) return; + body.insertAdjacentHTML('beforeend', _makeTaskBlock(id)); + setTimeout(function(){ try { if(window.renderTask) window.renderTask(id); if(window.renderNav) window.renderNav(id); } catch(e){} }, 60); +} +var _origEnsureBuilt = ensureBuilt; +ensureBuilt = function(id){ _origEnsureBuilt(id); _injectTasks(id); }; + function goTo(id){ STATE.current=id; ensureBuilt(id); document.querySelectorAll('.sec').forEach(s=>s.classList.remove('active')); diff --git a/frontend/textbooks/physics_9_ch4.html b/frontend/textbooks/physics_9_ch4.html index 74bd9ca..33cd6ec 100644 --- a/frontend/textbooks/physics_9_ch4.html +++ b/frontend/textbooks/physics_9_ch4.html @@ -746,6 +746,35 @@ function buildParaSelector(){ const BUILT=new Set(); const BUILDERS = { p31:()=>build_p31(), p32:()=>build_p32(), p33:()=>build_p33(), p34:()=>build_p34(), p35:()=>build_p35(), p36:()=>build_p36(), final4:()=>build_final4() }; function ensureBuilt(id){ if(BUILT.has(id)) return; const fn=BUILDERS[id]; if(fn){ fn(); BUILT.add(id); } } + +function _makeTaskBlock(sec){ + return '' + + '
' + + '
' + + '
Задачи параграфа
' + + '
0 верно
' + + '
0/?
' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + + '' + + '
'; +} +function _injectTasks(id){ + if(!id || !id.startsWith('p')) return; + if(!window.POOLS || !window.POOLS[id]) return; + var body = document.getElementById(id + '-body'); + if(!body || body.querySelector('.legacy-tasks')) return; + body.insertAdjacentHTML('beforeend', _makeTaskBlock(id)); + setTimeout(function(){ try { if(window.renderTask) window.renderTask(id); if(window.renderNav) window.renderNav(id); } catch(e){} }, 60); +} +var _origEnsureBuilt = ensureBuilt; +ensureBuilt = function(id){ _origEnsureBuilt(id); _injectTasks(id); }; + function goTo(id){ STATE.current=id; ensureBuilt(id); document.querySelectorAll('.sec').forEach(s=>s.classList.remove('active')); diff --git a/frontend/textbooks/physics_9_ch5.html b/frontend/textbooks/physics_9_ch5.html index 5ad88af..1a29fe3 100644 --- a/frontend/textbooks/physics_9_ch5.html +++ b/frontend/textbooks/physics_9_ch5.html @@ -770,6 +770,35 @@ function buildParaSelector(){ const BUILT=new Set(); const BUILDERS = { lr1:()=>build_lr1(), lr2:()=>build_lr2(), lr3:()=>build_lr3(), lr4:()=>build_lr4(), lr5:()=>build_lr5(), lr6:()=>build_lr6(), lr7:()=>build_lr7(), lr8:()=>build_lr8(), lr9:()=>build_lr9(), lr10:()=>build_lr10(), lr11:()=>build_lr11(), lr12:()=>build_lr12(), final5:()=>build_final5() }; function ensureBuilt(id){ if(BUILT.has(id)) return; const fn=BUILDERS[id]; if(fn){ fn(); BUILT.add(id); } } + +function _makeTaskBlock(sec){ + return '' + + '
' + + '
' + + '
Задачи параграфа
' + + '
0 верно
' + + '
0/?
' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + + '' + + '
'; +} +function _injectTasks(id){ + if(!id || !id.startsWith('p')) return; + if(!window.POOLS || !window.POOLS[id]) return; + var body = document.getElementById(id + '-body'); + if(!body || body.querySelector('.legacy-tasks')) return; + body.insertAdjacentHTML('beforeend', _makeTaskBlock(id)); + setTimeout(function(){ try { if(window.renderTask) window.renderTask(id); if(window.renderNav) window.renderNav(id); } catch(e){} }, 60); +} +var _origEnsureBuilt = ensureBuilt; +ensureBuilt = function(id){ _origEnsureBuilt(id); _injectTasks(id); }; + function goTo(id){ STATE.current=id; ensureBuilt(id); document.querySelectorAll('.sec').forEach(s=>s.classList.remove('active'));