qurantathbit 1.0.34 → 1.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.html +1 -4
- package/index.pck +0 -0
- package/index.service.worker.js +1 -1
- package/package.json +1 -1
package/index.html
CHANGED
|
@@ -93,10 +93,7 @@ body {
|
|
|
93
93
|
<link id="-gd-engine-icon" rel="icon" type="image/png" href="index.icon.png" />
|
|
94
94
|
<link rel="apple-touch-icon" href="index.apple-touch-icon.png"/>
|
|
95
95
|
<link rel="manifest" href="index.manifest.json">
|
|
96
|
-
<style>body{background-color:#faf5ed}#status::before{content:'QuranTathbit';display:block;font:700 30px/1.25 system-ui,sans-serif;color:#14513d;margin-bottom:14px}#status::after{content:'A calm app for memorising the Qur’an';display:block;font:400 13px/1.5 system-ui,sans-serif;color:#5c6b62;margin-top:18px}#status-progress{-webkit-appearance:none;appearance:none;border:0;height:10px;width:min(60vw,420px);border-radius:99px;overflow:hidden;background:#e6dfce}#status-progress::-webkit-progress-bar{background:#e6dfce;border-radius:99px}#status-progress::-webkit-progress-value{background:#1e6b52;border-radius:99px;transition:width .25s ease-out}#status-progress::-moz-progress-bar{background:#1e6b52;border-radius:99px}</style><script>(function(){if(typeof window.fetch!=='function'||typeof DecompressionStream==='undefined'){return}var nativeFetch=window.fetch.bind(window);function wasmUrl(u){var i=u.indexOf('index.wasm');if(i===-1){return false}var before=(i===0)?'':u.charAt(i-1);var after=u.charAt(i+10);return(before===''||before==='/')&&(after===''||after==='?'||after==='#')}window.fetch=function(input,init){var url=(typeof input==='string')?input:((input&&typeof input.url==='string')?input.url:'');if(!wasmUrl(url)){return nativeFetch(input,init)}return nativeFetch(url.replace('index.wasm','index.wasm.gz'),{credentials:'same-origin'}).then(function(resp){if(!resp.ok){throw new Error('gz missing')}var enc=(resp.headers.get('content-encoding')||'').toLowerCase();if(enc.indexOf('gzip')!==-1){return resp}return new Response(resp.body.pipeThrough(new DecompressionStream('gzip')),{status:200,headers:{'content-type':'application/wasm'}})}).catch(function(){return nativeFetch(input,init)})}})();</script><script>/*qt-browser-keys*/(function(){'use strict';function r(e){var k=e.key;if(!k){return false}var key=(k.length===1)?k.toLowerCase():k;var c=e.ctrlKey||e.metaKey;if(key==='F5'||key==='F6'||key==='F11'||key==='F12'){return true}if(c&&!e.altKey&&key==='v'){return true}if(c&&!e.altKey&&(key==='r'||key==='u'||key==='l'||key==='f'||key==='g'||key==='d'||key==='p'||key==='s'||key==='t'||key==='n'||key==='w')){return true}if(c&&e.shiftKey&&(key==='i'||key==='j'||key==='c'||key==='k')){return true}if(c&&(key==='+'||key==='='||key==='-'||key==='0')){return true}if(e.altKey&&(key==='d'||key==='ArrowLeft'||key==='ArrowRight')){return true}return false}function g(e){if(r(e)){e.stopImmediatePropagation();e.stopPropagation()}}window.addEventListener('keydown',g,true);window.addEventListener('keyup',g,true)})();</script><meta name='apple-mobile-web-app-capable' content='yes'><meta name='mobile-web-app-capable' content='yes'><meta name='apple-mobile-web-app-title' content='QuranTathbit'><script>/*qt-update-watch*/(function(){'use strict';if(!('serviceWorker' in navigator)){return}var tries=0;var reloaded=false;function ask(){navigator.serviceWorker.getRegistration().then(function(reg){if(reg&®.waiting){reg.waiting.postMessage('claim')}}).catch(function(){})}function begin(){navigator.serviceWorker.getRegistration().then(function(reg){if(!reg){if(tries<15){tries+=1;setTimeout(begin,1000)}return}var look=function(){reg.update().catch(function(){})};setInterval(look,900000);document.addEventListener('visibilitychange',function(){if(document.visibilityState==='visible'){look()}});ask()}).catch(function(){})}begin();var held=!!(navigator.serviceWorker.controller);navigator.serviceWorker.addEventListener('controllerchange',function(){if(!held||reloaded){return}reloaded=true;setTimeout(function(){try{location.reload()}catch(e){}},120)})})();</script><script>/*qt-paste-bridge*/(function(){'use strict';window.__qtPasteInstall=window.__qtPasteInstall||{install:function(bridge){window.__qtPasteBridge=bridge}};window.addEventListener('paste',function(e){var t=e.target;if(t&&(t.tagName==='INPUT'||t.tagName==='TEXTAREA')){return}if(!window.__qtPasteBridge){return}var d=e.clipboardData||window.clipboardData;if(!d){return}var text=d.getData('text/plain');if(text){try{window.__qtPasteBridge(text)}catch(err){}}},false)})();<script>/*qt-zip-bridge*/(function(){'use strict';window.__qtZipInstall=window.__qtZipInstall||{install:function(bridge){window.__qtZipBridge=bridge}};window.__qtZipPick=function(){if(!window.__qtZipBridge){return}var i=document.createElement('input');i.type='file';i.accept='.zip,application/zip';i.onchange=function(){var f=i.files&&i.files[0];if(!f){return}var r=new FileReader();r.onload=function(){var s=String(r.result);var c=s.indexOf(',');if(c===-1){return}try{window.__qtZipBridge('import:'+f.name+':'+s.slice(c+1))}catch(err){}};r.readAsDataURL(f)};i.click()}})();<script>/*qt-webgl2-guard*/(function(){'use strict';var ok=true;try{if(typeof WebGL2RenderingContext==='undefined'){ok=false}else{var t=document.createElement('canvas');if(!t.getContext('webgl2')){ok=false}}}catch(e){ok=false}if(ok){return}window.__qtWebGL2Missing=true;if(!window.fetch){window.fetch=function(){return Promise.reject(new Error('fetch unavailable'))}}else{var nf=window.fetch.bind(window);window.fetch=function(input,init){var url=(typeof input==='string')?input:((input&&typeof input.url==='string')?input.url:'');if(url.indexOf('index.wasm')!==-1){return Promise.reject(new Error('WebGL2 unavailable on this device'))}return nf(input,init)}};function say(){var n=document.getElementById('status-notice');var p=document.getElementById('status-progress');if(p){p.style.display='none'}if(n){n.textContent='This browser has no WebGL2, which the web app needs. The Android app runs on this device instead. | این مرورگر WebGL2 ندارد؛ برنامهٔ اندروید روی همین دستگاه اجرا میشود.';n.style.display='block'}}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',say)}else{say()}})();</script><script>/*qt-boot-watch*/(function(){'use strict';var said=false;var told=false;function lines(en,fa,why){if(why){why=String(why).split('|').join(' ').split('
|
|
97
|
-
').join(' ')}return (why?(en+': '+why+'. '):en)+('| '+(why?(fa+': '+why+'. '):fa))}function place(){var n=document.getElementById('status-notice');var s=document.getElementById('status');if(!n||!s){return null}if(s.style.visibility!=='visible'){s.style.visibility='visible'}return n}function say(en,fa,why){if(said||window.__qtWebGL2Missing){return}said=true;var n=place();if(!n){return}var p=document.getElementById('status-progress');if(p){p.style.display='none'}while(n.lastChild){n.removeChild(n.lastChild)}var t=lines(en,fa,why).split('|');for(var i=0;i<t.length;i++){n.appendChild(document.createTextNode(t[i]));n.appendChild(document.createElement('br'))}n.style.display='block'}function note(){if(told||said||window.__qtWebGL2Missing){return}told=true;var n=place();if(!n){return}while(n.lastChild){n.removeChild(n.lastChild)}var t=lines('Still loading after a long wait. The connection may be slow, or this browser may be too old for the web app. Reload to try again; the Android app always runs on this device.','بارگیری خیلی طول کشیده است. ممکن است اینترنت کند باشد یا این مرورگر برای نسخهٔ وب قدیمی باشد. بازکردن دوباره را امتحان کنید؛ برنامهٔ اندروید همیشه روی همین دستگاه اجرا میشود.','').split('|');for(var i=0;i<t.length;i++){n.appendChild(document.createTextNode(t[i]));n.appendChild(document.createElement('br'))}n.style.display='block'}window.addEventListener('error',function(e){var why=(e&&e.message)?e.message:'';say('The web app could not start in this browser','برنامهٔ وب در این مرورگر باز نشد',why)},false);window.addEventListener('unhandledrejection',function(e){var r=(e&&e.reason)?e.reason:'';var why=(r&&r.message)?r.message:r;say('The web app could not finish loading','برنامهٔ وب بارگیری را تمام نکرد',why)},false);var last=null;var quiet=0;setInterval(function(){if(told||said||window.__qtWebGL2Missing){return}var bar=document.getElementById('status-progress');var s=document.getElementById('status');if(!bar||!s){return}if(s.style.visibility!=='visible'){quiet=0;return}var v=bar.hasAttribute('value')?Number(bar.getAttribute('value')):-1;if(v!==last){last=v;quiet=0;return}quiet+=5;if(quiet>=45){note()}},5000)})();</script><script>/*qt-debug-log*/(function(){'use strict';var t0=Date.now();var log=[];window.__qtDebugLog=log;function ts(){return ((Date.now()-t0)/1000).toFixed(1);}function L(m){log.push('['+ts()+'s] '+String(m));if(log.length>500){log.shift();}}L('head parsed; page '+location.href);L('UA '+navigator.userAgent);L('lang '+(navigator.language||'?')+'; online '+(navigator.onLine?'yes':'no'));try{L('screen '+screen.width+'x'+screen.height+' dpr '+(window.devicePixelRatio||1));}catch(e){}L('crossOriginIsolated '+(window.crossOriginIsolated?'yes':(typeof window.crossOriginIsolated==='undefined'?'?':'no')));try{var c=document.createElement('canvas');var g2=c.getContext('webgl2');L('webgl2 '+(g2?'yes':'no'));var g1=c.getContext('webgl')||c.getContext('experimental-webgl');L('webgl1 '+(g1?'yes':'no'));if(g1){var ext=g1.getExtension('WEBGL_debug_renderer_info');if(ext){L('gpu '+(g1.getParameter(ext.UNMASKED_RENDERER_WEBGL)||'?'));}}}catch(e){L('webgl test failed');}try{L('wasm '+(typeof WebAssembly==='object'?'yes':'no'));L('wasm-simd '+(WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,12,0,11]))?'yes':'no'));}catch(e){L('wasm test failed');}L('DecompressionStream '+(typeof DecompressionStream==='function'?'yes':'no'));try{L('sw '+(navigator.serviceWorker?((navigator.serviceWorker.controller)?'controlled':'present'):'none'));}catch(e){L('sw ?');}window.addEventListener('error',function(e){L('ERROR '+((e&&e.message)?e.message:'?')+((e&&e.filename)?(' @'+e.filename+':'+e.lineno):''));},false);window.addEventListener('unhandledrejection',function(e){var r=(e&&e.reason)?e.reason:'';L('REJECT '+((r&&r.message)?r.message:r));},false);var ce=console.error;var cw=console.warn;if(typeof ce==='function'){console.error=function(){try{L('console.error '+Array.prototype.join.call(arguments,' '));}catch(x){}return ce.apply(console,arguments);};}if(typeof cw==='function'){console.warn=function(){try{L('console.warn '+Array.prototype.join.call(arguments,' '));}catch(x){}return cw.apply(console,arguments);};}setInterval(function(){try{var s=document.getElementById('status');if(!s){return;}var p=document.getElementById('status-progress');L('loading: progress '+((p&&p.hasAttribute&&p.hasAttribute('value'))?p.getAttribute('value'):'?')+'; status '+(s.style&&s.style.visibility?s.style.visibility:'?'));}catch(e){}},5000);var taps=0;var last=0;var shown=false;function over(){try{return !!window.__qtAppStarted;}catch(e){return true;}}function countTap(){if(shown||over()){return;}var now=Date.now();if(now-last>12000){taps=0;}last=now;taps+=1;if(taps>=5){show();}}if(window.PointerEvent){window.addEventListener('pointerdown',countTap,true);}else if('ontouchstart' in window){window.addEventListener('touchstart',countTap,{capture:true,passive:true});}else{window.addEventListener('mousedown',countTap,true);}function show(){shown=true;taps=0;var d=document.createElement('div');d.setAttribute('style','position:fixed;left:0;right:0;top:0;bottom:0;z-index:2147483647;background:#fff;color:#111;font:12px/1.45 monospace;overflow:auto;padding:10px;margin:0;');var bar=document.createElement('div');bar.setAttribute('style','position:sticky;top:0;background:#fff;border-bottom:1px solid #ccc;padding:6px 0 10px 0;');var bCopy=document.createElement('button');bCopy.textContent='Copy';bCopy.setAttribute('style','margin:0 8px 0 0;padding:7px 14px;font:700 13px system-ui,sans-serif;border:0;border-radius:8px;background:#14513d;color:#fff;');var bClose=document.createElement('button');bClose.textContent='Close';bClose.setAttribute('style','margin:0;padding:7px 14px;font:700 13px system-ui,sans-serif;border:0;border-radius:8px;background:#eee;color:#333;');var cap=document.createElement('div');cap.setAttribute('style','margin:8px 0 0 4px;font:700 12px/1.5 system-ui,sans-serif;color:#14513d;');cap.textContent='Debug log. Tap Copy and send it to the developer. | گزارش خطا: کپی کنید و برای سازنده بفرستید.';var pre=document.createElement('pre');pre.setAttribute('style','white-space:pre-wrap;word-break:break-all;margin:0;padding:10px 2px;');var text='QuranTathbit '+location.href+'
|
|
98
|
-
'+log.join('
|
|
99
|
-
');pre.textContent=text;bCopy.onclick=function(){var done=function(ok){bCopy.textContent=ok?'Copied':'Copy failed - select the text';};var fallback=function(){try{var ta=document.createElement('textarea');ta.value=text;ta.setAttribute('style','position:fixed;left:-9999px;top:0;');document.body.appendChild(ta);ta.focus();ta.select();var ok=document.execCommand('copy');document.body.removeChild(ta);done(ok);}catch(x2){done(false);}};try{if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(text).then(function(){done(true);},fallback);return;}}catch(x3){}fallback();};bClose.onclick=function(){shown=false;if(d.parentNode){d.parentNode.removeChild(d);}};bar.appendChild(bCopy);bar.appendChild(bClose);bar.appendChild(cap);d.appendChild(bar);d.appendChild(pre);(document.body||document.documentElement).appendChild(d);}window.__qtDebugShow=show;})();</script>
|
|
96
|
+
<style>body{background-color:#faf5ed}#status::before{content:'QuranTathbit';display:block;font:700 30px/1.25 system-ui,sans-serif;color:#14513d;margin-bottom:14px}#status::after{content:'A calm app for memorising the Qur’an';display:block;font:400 13px/1.5 system-ui,sans-serif;color:#5c6b62;margin-top:18px}#status-progress{-webkit-appearance:none;appearance:none;border:0;height:10px;width:min(60vw,420px);border-radius:99px;overflow:hidden;background:#e6dfce}#status-progress::-webkit-progress-bar{background:#e6dfce;border-radius:99px}#status-progress::-webkit-progress-value{background:#1e6b52;border-radius:99px;transition:width .25s ease-out}#status-progress::-moz-progress-bar{background:#1e6b52;border-radius:99px}</style><script>(function(){if(typeof window.fetch!=='function'||typeof DecompressionStream==='undefined'){return}var nativeFetch=window.fetch.bind(window);function wasmUrl(u){var i=u.indexOf('index.wasm');if(i===-1){return false}var before=(i===0)?'':u.charAt(i-1);var after=u.charAt(i+10);return(before===''||before==='/')&&(after===''||after==='?'||after==='#')}window.fetch=function(input,init){var url=(typeof input==='string')?input:((input&&typeof input.url==='string')?input.url:'');if(!wasmUrl(url)){return nativeFetch(input,init)}return nativeFetch(url.replace('index.wasm','index.wasm.gz'),{credentials:'same-origin'}).then(function(resp){if(!resp.ok){throw new Error('gz missing')}var enc=(resp.headers.get('content-encoding')||'').toLowerCase();if(enc.indexOf('gzip')!==-1){return resp}return new Response(resp.body.pipeThrough(new DecompressionStream('gzip')),{status:200,headers:{'content-type':'application/wasm'}})}).catch(function(){return nativeFetch(input,init)})}})();</script><script>/*qt-browser-keys*/(function(){'use strict';function r(e){var k=e.key;if(!k){return false}var key=(k.length===1)?k.toLowerCase():k;var c=e.ctrlKey||e.metaKey;if(key==='F5'||key==='F6'||key==='F11'||key==='F12'){return true}if(c&&!e.altKey&&key==='v'){return true}if(c&&!e.altKey&&(key==='r'||key==='u'||key==='l'||key==='f'||key==='g'||key==='d'||key==='p'||key==='s'||key==='t'||key==='n'||key==='w')){return true}if(c&&e.shiftKey&&(key==='i'||key==='j'||key==='c'||key==='k')){return true}if(c&&(key==='+'||key==='='||key==='-'||key==='0')){return true}if(e.altKey&&(key==='d'||key==='ArrowLeft'||key==='ArrowRight')){return true}return false}function g(e){if(r(e)){e.stopImmediatePropagation();e.stopPropagation()}}window.addEventListener('keydown',g,true);window.addEventListener('keyup',g,true)})();</script><meta name='apple-mobile-web-app-capable' content='yes'><meta name='mobile-web-app-capable' content='yes'><meta name='apple-mobile-web-app-title' content='QuranTathbit'><script>/*qt-update-watch*/(function(){'use strict';if(!('serviceWorker' in navigator)){return}var tries=0;var reloaded=false;function ask(){navigator.serviceWorker.getRegistration().then(function(reg){if(reg&®.waiting){reg.waiting.postMessage('claim')}}).catch(function(){})}function begin(){navigator.serviceWorker.getRegistration().then(function(reg){if(!reg){if(tries<15){tries+=1;setTimeout(begin,1000)}return}var look=function(){reg.update().catch(function(){})};setInterval(look,900000);document.addEventListener('visibilitychange',function(){if(document.visibilityState==='visible'){look()}});ask()}).catch(function(){})}begin();var held=!!(navigator.serviceWorker.controller);navigator.serviceWorker.addEventListener('controllerchange',function(){if(!held||reloaded){return}reloaded=true;setTimeout(function(){try{location.reload()}catch(e){}},120)})})();</script><script>/*qt-paste-bridge*/(function(){'use strict';window.__qtPasteInstall=window.__qtPasteInstall||{install:function(bridge){window.__qtPasteBridge=bridge}};window.addEventListener('paste',function(e){var t=e.target;if(t&&(t.tagName==='INPUT'||t.tagName==='TEXTAREA')){return}if(!window.__qtPasteBridge){return}var d=e.clipboardData||window.clipboardData;if(!d){return}var text=d.getData('text/plain');if(text){try{window.__qtPasteBridge(text)}catch(err){}}},false)})();</script><script>/*qt-zip-bridge*/(function(){'use strict';window.__qtZipInstall=window.__qtZipInstall||{install:function(bridge){window.__qtZipBridge=bridge}};window.__qtZipPick=function(){if(!window.__qtZipBridge){return}var i=document.createElement('input');i.type='file';i.accept='.zip,application/zip';i.onchange=function(){var f=i.files&&i.files[0];if(!f){return}var r=new FileReader();r.onload=function(){var s=String(r.result);var c=s.indexOf(',');if(c===-1){return}try{window.__qtZipBridge('import:'+f.name+':'+s.slice(c+1))}catch(err){}};r.readAsDataURL(f)};i.click()}})();</script><script>/*qt-webgl2-guard*/(function(){'use strict';var ok=true;try{if(typeof WebGL2RenderingContext==='undefined'){ok=false}else{var t=document.createElement('canvas');if(!t.getContext('webgl2')){ok=false}}}catch(e){ok=false}if(ok){return}window.__qtWebGL2Missing=true;if(!window.fetch){window.fetch=function(){return Promise.reject(new Error('fetch unavailable'))}}else{var nf=window.fetch.bind(window);window.fetch=function(input,init){var url=(typeof input==='string')?input:((input&&typeof input.url==='string')?input.url:'');if(url.indexOf('index.wasm')!==-1){return Promise.reject(new Error('WebGL2 unavailable on this device'))}return nf(input,init)}};function say(){var n=document.getElementById('status-notice');var p=document.getElementById('status-progress');if(p){p.style.display='none'}if(n){n.textContent='This browser has no WebGL2, which the web app needs. The Android app runs on this device instead. | این مرورگر WebGL2 ندارد؛ برنامهٔ اندروید روی همین دستگاه اجرا میشود.';n.style.display='block'}}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',say)}else{say()}})();</script><script>/*qt-simd-guard*/(function(){'use strict';var ok=true;try{if(typeof WebAssembly==='undefined'){ok=false}else{ok=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,22,1,20,0,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11]))}}catch(e){ok=false}if(ok){return}window.__qtWasmSimdMissing=true;if(!window.fetch){window.fetch=function(){return Promise.reject(new Error('fetch unavailable'))}}else{var nf=window.fetch.bind(window);window.fetch=function(input,init){var url=(typeof input==='string')?input:((input&&typeof input.url==='string')?input.url:'');if(url.indexOf('index.wasm')!==-1){return Promise.reject(new Error('WebAssembly SIMD unavailable in this browser'))}return nf(input,init)}};function say(){if(window.__qtWebGL2Missing){return}var n=document.getElementById('status-notice');var p=document.getElementById('status-progress');if(p){p.style.display='none'}if(n){n.textContent='This browser has no WebAssembly SIMD, which the web app needs. The Android app runs on this device instead. | این مرورگر WebAssembly SIMD ندارد؛ برنامهٔ اندروید روی همین دستگاه اجرا میشود.';n.style.display='block'}}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',say)}else{say()}})();</script><script>/*qt-boot-watch*/(function(){'use strict';var said=false;var told=false;function lines(en,fa,why){if(why){why=String(why).split('|').join(' ').split('\n').join(' ')}return (why?(en+': '+why+'. '):en)+('| '+(why?(fa+': '+why+'. '):fa))}function place(){var n=document.getElementById('status-notice');var s=document.getElementById('status');if(!n||!s){return null}if(s.style.visibility!=='visible'){s.style.visibility='visible'}return n}function say(en,fa,why){if(said||window.__qtWebGL2Missing||window.__qtWasmSimdMissing){return}said=true;var n=place();if(!n){return}var p=document.getElementById('status-progress');if(p){p.style.display='none'}while(n.lastChild){n.removeChild(n.lastChild)}var t=lines(en,fa,why).split('|');for(var i=0;i<t.length;i++){n.appendChild(document.createTextNode(t[i]));n.appendChild(document.createElement('br'))}n.style.display='block'}function note(){if(told||said||window.__qtWebGL2Missing||window.__qtWasmSimdMissing){return}told=true;var n=place();if(!n){return}while(n.lastChild){n.removeChild(n.lastChild)}var t=lines('Still loading after a long wait. The connection may be slow, or this browser may be too old for the web app. Reload to try again; the Android app always runs on this device.','بارگیری خیلی طول کشیده است. ممکن است اینترنت کند باشد یا این مرورگر برای نسخهٔ وب قدیمی باشد. بازکردن دوباره را امتحان کنید؛ برنامهٔ اندروید همیشه روی همین دستگاه اجرا میشود.','').split('|');for(var i=0;i<t.length;i++){n.appendChild(document.createTextNode(t[i]));n.appendChild(document.createElement('br'))}n.style.display='block'}window.addEventListener('error',function(e){var why=(e&&e.message)?e.message:'';say('The web app could not start in this browser','برنامهٔ وب در این مرورگر باز نشد',why)},false);window.addEventListener('unhandledrejection',function(e){var r=(e&&e.reason)?e.reason:'';var why=(r&&r.message)?r.message:r;say('The web app could not finish loading','برنامهٔ وب بارگیری را تمام نکرد',why)},false);var last=null;var quiet=0;setInterval(function(){if(told||said||window.__qtWebGL2Missing||window.__qtWasmSimdMissing){return}var bar=document.getElementById('status-progress');var s=document.getElementById('status');if(!bar||!s){return}if(s.style.visibility!=='visible'){quiet=0;return}var v=bar.hasAttribute('value')?Number(bar.getAttribute('value')):-1;if(v!==last){last=v;quiet=0;return}quiet+=5;if(quiet>=45){note()}},5000)})();</script><script>/*qt-debug-log*/(function(){'use strict';var t0=Date.now();var log=[];window.__qtDebugLog=log;function ts(){return ((Date.now()-t0)/1000).toFixed(1);}function L(m){log.push('['+ts()+'s] '+String(m));if(log.length>500){log.shift();}}L('head parsed; page '+location.href);L('UA '+navigator.userAgent);L('lang '+(navigator.language||'?')+'; online '+(navigator.onLine?'yes':'no'));try{L('screen '+screen.width+'x'+screen.height+' dpr '+(window.devicePixelRatio||1));}catch(e){}L('crossOriginIsolated '+(window.crossOriginIsolated?'yes':(typeof window.crossOriginIsolated==='undefined'?'?':'no')));try{var c=document.createElement('canvas');var g2=c.getContext('webgl2');L('webgl2 '+(g2?'yes':'no'));var g1=c.getContext('webgl')||c.getContext('experimental-webgl');L('webgl1 '+(g1?'yes':'no'));if(g1){var ext=g1.getExtension('WEBGL_debug_renderer_info');if(ext){L('gpu '+(g1.getParameter(ext.UNMASKED_RENDERER_WEBGL)||'?'));}}}catch(e){L('webgl test failed');}try{L('wasm '+(typeof WebAssembly==='object'?'yes':'no'));L('wasm-simd '+(WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,22,1,20,0,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11]))?'yes':'no'));}catch(e){L('wasm test failed');}L('DecompressionStream '+(typeof DecompressionStream==='function'?'yes':'no'));try{L('sw '+(navigator.serviceWorker?((navigator.serviceWorker.controller)?'controlled':'present'):'none'));}catch(e){L('sw ?');}window.addEventListener('error',function(e){L('ERROR '+((e&&e.message)?e.message:'?')+((e&&e.filename)?(' @'+e.filename+':'+e.lineno):''));},false);window.addEventListener('unhandledrejection',function(e){var r=(e&&e.reason)?e.reason:'';L('REJECT '+((r&&r.message)?r.message:r));},false);var ce=console.error;var cw=console.warn;if(typeof ce==='function'){console.error=function(){try{L('console.error '+Array.prototype.join.call(arguments,' '));}catch(x){}return ce.apply(console,arguments);};}if(typeof cw==='function'){console.warn=function(){try{L('console.warn '+Array.prototype.join.call(arguments,' '));}catch(x){}return cw.apply(console,arguments);};}setInterval(function(){try{var s=document.getElementById('status');if(!s){return;}var p=document.getElementById('status-progress');L('loading: progress '+((p&&p.hasAttribute&&p.hasAttribute('value'))?p.getAttribute('value'):'?')+'; status '+(s.style&&s.style.visibility?s.style.visibility:'?'));}catch(e){}},5000);var taps=0;var last=0;var shown=false;function over(){try{return !!window.__qtAppStarted;}catch(e){return true;}}function countTap(){if(shown||over()){return;}var now=Date.now();if(now-last>12000){taps=0;}last=now;taps+=1;if(taps>=5){show();}}if(window.PointerEvent){window.addEventListener('pointerdown',countTap,true);}else if('ontouchstart' in window){window.addEventListener('touchstart',countTap,{capture:true,passive:true});}else{window.addEventListener('mousedown',countTap,true);}function show(){shown=true;taps=0;var d=document.createElement('div');d.setAttribute('style','position:fixed;left:0;right:0;top:0;bottom:0;z-index:2147483647;background:#fff;color:#111;font:12px/1.45 monospace;overflow:auto;padding:10px;margin:0;');var bar=document.createElement('div');bar.setAttribute('style','position:sticky;top:0;background:#fff;border-bottom:1px solid #ccc;padding:6px 0 10px 0;');var bCopy=document.createElement('button');bCopy.textContent='Copy';bCopy.setAttribute('style','margin:0 8px 0 0;padding:7px 14px;font:700 13px system-ui,sans-serif;border:0;border-radius:8px;background:#14513d;color:#fff;');var bClose=document.createElement('button');bClose.textContent='Close';bClose.setAttribute('style','margin:0;padding:7px 14px;font:700 13px system-ui,sans-serif;border:0;border-radius:8px;background:#eee;color:#333;');var cap=document.createElement('div');cap.setAttribute('style','margin:8px 0 0 4px;font:700 12px/1.5 system-ui,sans-serif;color:#14513d;');cap.textContent='Debug log. Tap Copy and send it to the developer. | گزارش خطا: کپی کنید و برای سازنده بفرستید.';var pre=document.createElement('pre');pre.setAttribute('style','white-space:pre-wrap;word-break:break-all;margin:0;padding:10px 2px;');var text='QuranTathbit '+location.href+'\n'+log.join('\n');pre.textContent=text;bCopy.onclick=function(){var done=function(ok){bCopy.textContent=ok?'Copied':'Copy failed - select the text';};var fallback=function(){try{var ta=document.createElement('textarea');ta.value=text;ta.setAttribute('style','position:fixed;left:-9999px;top:0;');document.body.appendChild(ta);ta.focus();ta.select();var ok=document.execCommand('copy');document.body.removeChild(ta);done(ok);}catch(x2){done(false);}};try{if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(text).then(function(){done(true);},fallback);return;}}catch(x3){}fallback();};bClose.onclick=function(){shown=false;if(d.parentNode){d.parentNode.removeChild(d);}};bar.appendChild(bCopy);bar.appendChild(bClose);bar.appendChild(cap);d.appendChild(bar);d.appendChild(pre);(document.body||document.documentElement).appendChild(d);}window.__qtDebugShow=show;})();</script>
|
|
100
97
|
</head>
|
|
101
98
|
<body>
|
|
102
99
|
<canvas id="canvas">
|
package/index.pck
CHANGED
|
Binary file
|
package/index.service.worker.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// Incrementing CACHE_VERSION will kick off the install event and force
|
|
5
5
|
// previously cached resources to be updated from the network.
|
|
6
6
|
/** @type {string} */
|
|
7
|
-
const CACHE_VERSION = '
|
|
7
|
+
const CACHE_VERSION = '1792436066|1885880';
|
|
8
8
|
/** @type {string} */
|
|
9
9
|
const CACHE_PREFIX = 'QuranTathbit-sw-cache-';
|
|
10
10
|
const CACHE_NAME = CACHE_PREFIX + CACHE_VERSION;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qurantathbit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.35",
|
|
4
4
|
"description": "A quiet companion for keeping the Qur'an close — one deck, one card at a time, with your own GitHub as the cloud. Web build served from any static host or `npx qurantathbit`.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|