diff --git a/public/lib/kookit/kookit.umd.js b/public/lib/kookit/kookit.umd.js index 9970f281..0dead27f 100644 --- a/public/lib/kookit/kookit.umd.js +++ b/public/lib/kookit/kookit.umd.js @@ -1 +1,13 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Kookit={})}(this,function(t){"use strict";function o(t,s,a,u){return new(a=a||Promise)(function(n,e){function r(t){try{o(u.next(t))}catch(t){e(t)}}function i(t){try{o(u.throw(t))}catch(t){e(t)}}function o(t){var e;t.done?n(t.value):((e=t.value)instanceof a?e:new a(function(t){t(e)})).then(r,i)}o((u=u.apply(t,s||[])).next())})}function h(n,r){var i,o,s,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},t={next:e(0),throw:e(1),return:e(2)};return"function"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function e(e){return function(t){return function(e){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,o&&(s=2&e[0]?o.return:e[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,e[1])).done)return s;switch(o=0,(e=s?[2&e[0],s.value]:e)[0]){case 0:case 1:s=e;break;case 4:return a.label++,{value:e[1],done:!1};case 5:a.label++,o=e[1],e=[0];continue;case 7:e=a.ops.pop(),a.trys.pop();continue;default:if(!(s=0<(s=a.trys).length&&s[s.length-1])&&(6===e[0]||2===e[0])){a=0;continue}if(3===e[0]&&(!s||e[1]>s[0]&&e[1]t&&!t.contains("[")&&!t.contains("(")&&!t.contains("。")&&!t.contains("“")&&!t.contains("‘")&&!t.contains(";")&&!t.contains(";")&&!t.contains("…")&&(t.startsWith("CHAPTER")||t.startsWith("Chapter")||t.startsWith("序章")||t.startsWith("前言")||t.startsWith("声明")||t.startsWith("聲明")||t.startsWith("写在前面的话")||t.startsWith("后记")||t.startsWith("楔子")||t.startsWith("后序")||t.startsWith("寫在前面的話")||t.startsWith("後記")||t.startsWith("後序")||t.startsWith("第")&&n(t)||t.startsWith("卷")&&i(t)||!e&&t.contains("第")&&(" "===t[t.indexOf("第")-1]||" "===t[t.indexOf("第")-1]||"、"===t[t.indexOf("第")-1]||":"===t[t.indexOf("第")-1]||":"===t[t.indexOf("第")-1])&&n(t.substr(t.indexOf("第")))||!e&&t.indexOf(" ")&&s(t)||!e&&t.indexOf(" ")&&s(t)||!e&&t.indexOf("、")&&f(t)||!e&&t.indexOf(":")&&u(t)||!e&&t.indexOf(":")&&u(t)),n=e=>{let n=!1;for(let t=0;t!(!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(1,t.indexOf(" ")))&&!/^\d+$/.test(t.substring(1,t.indexOf(" "))))||(!(!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(1,t.indexOf(" ")))&&!/^\d+$/.test(t.substring(1,t.indexOf(" "))))||!(!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(1))&&!/^\d+$/.test(t.substring(1)))),s=t=>!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf(" ")))||(!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf(" ")))||(!!/^\d+$/.test(t.substring(0,t.indexOf(" ")))||!!/^\d+$/.test(t.substring(0,t.indexOf(" "))))),u=t=>!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf(":")))||(!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf(":")))||(!!/^\d+$/.test(t.substring(0,t.indexOf(":")))||!!/^\d+$/.test(t.substring(0,t.indexOf(":"))))),f=t=>!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf("、")))||!!/^\d+$/.test(t.substring(0,t.indexOf("、")));var l=window,p=window.atob("ZG8gUmU=");String.prototype.c=function(t){return-1":">",'"':""","'":"'","`":"`"},ie=ne(re),oe=ne(Wt(re)),se=yt.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},ae=/(.)^/,ue={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},he=/\\|'|\r|\n|\u2028|\u2029/g;function ce(t){return"\\"+ue[t]}var fe=/^\s*(\w|\$)+\s*$/;var le=0;function pe(t,e,n,r,i){if(!(r instanceof e))return t.apply(n,i);n=Kt(t.prototype),i=t.apply(n,i);return I(i)?i:n}var de=B(function(i,o){function s(){for(var t=0,e=o.length,n=Array(e),r=0;ri.clientHeight+i.offsetTop?e:i),Xe.isElement(o)&&o.clientHeight+o.offsetTop>s.clientHeight+s.offsetTop&&(s=o);i=0;(n||s||r)&&(3!==r.nodeType||n||s)&&(3===r.nodeType&&document.createRange&&((o=document.createRange()).selectNodeContents(r),!o.getBoundingClientRect||(o=o.getBoundingClientRect())&&(i=o.bottom-o.top)),t.height=Math.max(Xe.isElement(n)?n.clientHeight+n.offsetTop:0,Xe.isElement(r)?r.clientHeight+r.offsetTop:0,Xe.isElement(s)?s.clientHeight+s.offsetTop:0)+400+(3===r.nodeType?i:0))},500)):r.height=t.offsetHeight}function tn(t){var e=document.createElement("iframe");e.style.width="100%",e.style.border="0",e.style.margin="0",e.style.padding="0",e.style.fontSize="100%",e.style.font="inherit",e.style.verticalAlign="baseline",t.innerHTML="",t.appendChild(e)}function en(t,e){"scroll"!==e&&window.frames[0].document.body.setAttribute("style","width: auto;\n height: 100%;\n overflow-y: hidden;\n overflow-X: hidden;\n padding-left: 0px;\n padding-right: 0px;\n margin: 0px !important;\n box-sizing: border-box;\n max-width: inherit;\n column-fill: auto;\n column-gap: 88px;\n column-count: 12;\n column-width: "+(t.offsetWidth-88)/("double"===e?2:1)+"px;")}function nn(t,e,n,r,i){0s.clientHeight/s.clientWidth?n=(e=s.clientHeight)*o.width/o.height:e=(n=s.clientWidth)*o.height/o.width:n=s.clientWidth,o.setAttribute("style","max-width: "+n+"px;max-height:"+e+"px")}}}(),sn(n,r)}function sn(t,e,n,r){void 0===r&&(r="0");var i=(n=void 0===n?"":n)||a.getKookitConfig("text")||"";i?(n=Array.from(window.frames[0].document.body.querySelectorAll("h1,h2,h3,h4,p")).filter(function(t,e){return t.innerText===i&&e===parseInt(a.getKookitConfig("count")||r)})[0],"scroll"!==e?window.frames[0].document.body.scrollTo(i&&n?n.offsetLeft:"prevChapter"===i?window.frames[0].document.body.scrollWidth:0,0):t.scrollTo(0,i&&n?n.offsetTop:0)):("scroll"!==e?window.frames[0].document.body:t).scrollTo(0,0)}function an(e,n){if(!hn){for(var t=Array.from(window.frames[0].document.body.querySelectorAll("h1,h2,h3,h4,p,img")).filter(function(t){return un(e,t,n)&&t.innerText.trim()}),r=t["scroll"===n?Math.floor(t.length/2):0],i=0,o=Array.from(window.frames[0].document.body.querySelectorAll("h1,h2,h3,h4,p,img")),s=0;s=t.scrollTop&&i<=t.scrollTop+t.offsetHeight),r}var hn=!1,cn=function(t,e,n,r){var i=a.getKookitConfig("chapterTitle"),i=Xe.findIndex(e,{label:i});i!==e.length-1&&-1!==i&&(a.setKookitConfig("chapterTitle",e[i+1].label),a.setKookitConfig("text",""),on(e[i+1].label,n,t,r))},fn=(ln.prototype.getChapterDoc=function(){for(var t=-1")?this.bookStr.split(""):this.bookStr.split("
"),e=[],n=[],r="",i=0;i{var e=0 "),n=0;nthis.chapterList.length&&0===n&&(t=Math.floor(9e5*Math.random())+1e5,this.chapterList.unshift({label:"Forword#"+n,id:"title"+t,href:"#title"+t,subitems:[]})),this.chapterDocList.push({title:this.chapterList[n].label,text:e[n]});return this.chapterDocList},dn);function dn(t){this.bookStr=t,this.chapterList=[],this.chapterDocList=[],this.bookDoc=(new DOMParser).parseFromString(this.bookStr,"text/html"),this.chapterDomList=[]}mn.prototype.renderTo=function(r){var e=this;return new Promise(function(n,t){return o(e,void 0,void 0,function(){var e;return h(this,function(t){switch(t.label){case 0:return[4,d()];case 1:return t.sent()?(this.element=r,e=new pn(this.bookStr),this.chapterList=e.getChapter(),this.chapterDocList=e.getChapterDoc(),e=a.getKookitConfig("chapterTitle")||this.chapterDocList[0].title,tn(r),on(e,this.chapterDocList,this.element,this.mode),en(r,this.mode),n(),[2]):(n(),[2])}})})})},mn.prototype.getChapter=function(){return this.chapterList},mn.prototype.goToChapter=function(t){on(t,this.chapterDocList,this.element,this.mode)},mn.prototype.goToPosition=function(t,e,n){on(e,this.chapterDocList,this.element,this.mode),sn(this.element,this.mode,t,n)},mn.prototype.record=function(){an(this.element,this.mode)},mn.prototype.prev=function(){"scroll"===this.mode||0===window.frames[0].document.body.scrollLeft?rn(this.element,this.chapterList,this.chapterDocList,this.mode):nn(this.element,this.chapterList,this.chapterDocList,this.mode,1),an(this.element,this.mode)},mn.prototype.next=function(){Math.abs(window.frames[0].document.body.scrollWidth-window.frames[0].document.body.scrollLeft-window.frames[0].document.body.clientWidth)<10||"scroll"===this.mode?cn(this.element,this.chapterList,this.chapterDocList,this.mode):nn(this.element,this.chapterList,this.chapterDocList,this.mode,-1),an(this.element,this.mode)},mn.prototype.getPosition=function(){return{text:a.getKookitConfig("text"),chapterTitle:a.getKookitConfig("chapterTitle"),count:a.getKookitConfig("count")}},mn.prototype.setStyle=function(t){window.frames[0].document.body.setAttribute("style",t+window.frames[0].document.body.getAttribute("style"))},_t=mn;function mn(t,e){this.bookStr=t,this.mode=e,this.chapterList=[],this.chapterDocList=[],this.element=""}function gn(t){return t instanceof ArrayBuffer&&(t=new Uint8Array(t)),new TextDecoder("utf-8").decode(t)}var yn=new DOMParser,bn=(vn.prototype.write=function(t){this.cur_fragment.write(t)||(this.cur_fragment=new wn(this.capacity),this.fragment_list.push(this.cur_fragment),this.cur_fragment.write(t))},vn.prototype.get=function(t){for(var e=0;e=this.capacity)&&(this.buffer[this.size]=t,this.size+=1,!0)},xn.prototype.full=function(){return this.size===this.capacity},xn.prototype.get=function(t){return this.buffer[t]},xn);function xn(t){this.buffer=new Uint8Array(t),this.capacity=t,this.size=0}var Ln=(Tn.prototype.parse=function(){},Tn.prototype.getUint8=function(){var t=this.view.getUint8(this.offset);return this.offset+=1,t},Tn.prototype.getUint16=function(){var t=this.view.getUint16(this.offset);return this.offset+=2,t},Tn.prototype.getUint32=function(){var t=this.view.getUint32(this.offset);return this.offset+=4,t},Tn.prototype.getStr=function(t){var e=gn(this.buffer.slice(this.offset,this.offset+t));return this.offset+=t,e},Tn.prototype.skip=function(t){this.offset+=t},Tn.prototype.setoffset=function(t){this.offset=t},Tn.prototype.get_record_extrasize=function(t,e){for(var n,r,i,o=t.length-1,s=0,a=15;0>3&2047,u=3+(7&s),h=r.size(),c=0;cpagebreak"),n=0;nthis.chapterList.length&&0===n&&(t=Math.floor(9e5*Math.random())+1e5,this.chapterList.unshift({label:"Forword#"+n,id:"title"+t,href:"#title"+t,subitems:[]})),this.chapterDocList.push({title:this.chapterList[n].label,text:e[n]});return this.chapterDocList},Cn);function Cn(t){this.bookStr=t,this.chapterList=[],this.chapterDocList=[],this.bookDoc=(new DOMParser).parseFromString(this.bookStr,"text/html"),this.chapterDomList=[]}Sn.prototype.renderTo=function(r){var e=this;return new Promise(function(n,t){return o(e,void 0,void 0,function(){var e;return h(this,function(t){switch(t.label){case 0:return[4,d()];case 1:return t.sent()?(e=new TextDecoder(this.encoding).decode(this.txtBuffer),e=function(t){for(var e="",n=!1,r=0,i=t.split("\n");r"+o+""):e+="

"+o+"

")}return e}(e),this.bookStr=e,this.element=r,e=new Dn(this.bookStr),this.chapterList=e.getChapter(),this.chapterDocList=e.getChapterDoc(),e=a.getKookitConfig("chapterTitle")||this.chapterDocList[0].title,tn(r),en(r,this.mode),on(e,this.chapterDocList,this.element,this.mode),n(),[2]):(n(),[2])}})})})},Sn.prototype.getChapter=function(){return this.chapterList},Sn.prototype.goToChapter=function(t){on(t,this.chapterDocList,this.element,this.mode)},Sn.prototype.goToPosition=function(t,e,n){on(e,this.chapterDocList,this.element,this.mode),sn(this.element,this.mode,t,n)},Sn.prototype.record=function(){an(this.element,this.mode)},Sn.prototype.prev=function(){"scroll"===this.mode||0===window.frames[0].document.body.scrollLeft?rn(this.element,this.chapterList,this.chapterDocList,this.mode):nn(this.element,this.chapterList,this.chapterDocList,this.mode,1),an(this.element,this.mode)},Sn.prototype.next=function(){Math.abs(window.frames[0].document.body.scrollWidth-window.frames[0].document.body.scrollLeft-window.frames[0].document.body.clientWidth)<10||"scroll"===this.mode?cn(this.element,this.chapterList,this.chapterDocList,this.mode):nn(this.element,this.chapterList,this.chapterDocList,this.mode,-1),an(this.element,this.mode)},Sn.prototype.getPosition=function(){return{text:a.getKookitConfig("text"),chapterTitle:a.getKookitConfig("chapterTitle"),count:a.getKookitConfig("count")}},Sn.prototype.setStyle=function(t){window.frames[0].document.body.setAttribute("style",t+window.frames[0].document.body.getAttribute("style"))},St=Sn;function Sn(t,e,n){void 0===n&&(n="utf-8"),this.txtBuffer=t,this.encoding=n,this.mode=e,this.chapterList=[],this.chapterDocList=[],this.bookStr="",this.element=""}var On={svg:"image/svg+xml",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",zip:"application/zip",rar:"application/x-rar-compressed","7z":"application/x-7z-compressed",tar:"application/x-tar",html:"text/html",htm:"text/html",xml:"text/xml",xhtml:"application/xhtml+xml"},An=(Mn.prototype.getBookStr=function(){for(var t=document.createElement("div"),e="single"===this.mode?1:2,n=0;n>18]+r[(258048&e)>>12]+r[(4032&e)>>6]+r[63&e];return 1==t?n+=r[(252&(e=i[s]))>>2]+r[(3&e)<<4]+"==":2==t&&(n+=r[(64512&(e=i[s]<<8|i[1+s]))>>10]+r[(1008&e)>>4]+r[(15&e)<<2]+"="),n},Mn);function Mn(t,e,n,r,i){this.fileNameList=t,this.zip=e,this.bookStr="",this.format=i,this.bookDoc=null,this.mode=n,this.chapterList=[],this.extension=this.fileNameList[0].split(".").reverse()[0],this.element=r,this.getBookStr()}function Un(t,e){0this.element.clientHeight?(r[i].style.height=this.element.clientHeight+"px",r[i].style.width=this.element.clientHeight/e+"px",r[i].style.paddingLeft=(this.element.clientWidth-("single"===this.mode?0:88))/2/o-this.element.clientHeight/e/2+"px"):(r[i].style.height=n+"px",r[i].style.marginTop=this.element.clientHeight/2-n/2+"px"));return en(a,this.mode),Ye(a,this.mode),s(),[2]}})})})},Wn.prototype.renderImage=function(t){for(var e=t+4t&&!t.contains("[")&&!t.contains("(")&&!t.contains("。")&&!t.contains("“")&&!t.contains("‘")&&!t.contains(";")&&!t.contains(";")&&!t.contains("…")&&(t.startsWith("CHAPTER")||t.startsWith("Chapter")||t.startsWith("序章")||t.startsWith("前言")||t.startsWith("声明")||t.startsWith("聲明")||t.startsWith("写在前面的话")||t.startsWith("后记")||t.startsWith("楔子")||t.startsWith("后序")||t.startsWith("寫在前面的話")||t.startsWith("後記")||t.startsWith("後序")||t.startsWith("第")&&i(t)||t.startsWith("卷")&&o(t)||!e&&t.contains("第")&&(" "===t[t.indexOf("第")-1]||" "===t[t.indexOf("第")-1]||"、"===t[t.indexOf("第")-1]||":"===t[t.indexOf("第")-1]||":"===t[t.indexOf("第")-1])&&i(t.substr(t.indexOf("第")))||!e&&t.indexOf(" ")&&h(t)||!e&&t.indexOf(" ")&&h(t)||!e&&t.indexOf("、")&&c(t)||!e&&t.indexOf(":")&&l(t)||!e&&t.indexOf(":")&&l(t)),i=e=>{let i=!1;for(let t=0;t!(!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(1,t.indexOf(" ")))&&!/^\d+$/.test(t.substring(1,t.indexOf(" "))))||(!(!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(1,t.indexOf(" ")))&&!/^\d+$/.test(t.substring(1,t.indexOf(" "))))||!(!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(1))&&!/^\d+$/.test(t.substring(1)))),h=t=>!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf(" ")))||(!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf(" ")))||(!!/^\d+$/.test(t.substring(0,t.indexOf(" ")))||!!/^\d+$/.test(t.substring(0,t.indexOf(" "))))),l=t=>!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf(":")))||(!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf(":")))||(!!/^\d+$/.test(t.substring(0,t.indexOf(":")))||!!/^\d+$/.test(t.substring(0,t.indexOf(":"))))),c=t=>!!/^[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343\u4e07\u842c]+$/.test(t.substring(0,t.indexOf("、")))||!!/^\d+$/.test(t.substring(0,t.indexOf("、")));var u=window;var e=window.atob("ZG8gUmU=");String.prototype.c=function(t){return-1n(void 0,void 0,void 0,function*(){s.removeKookitConfig();let t=yield new Promise((t,e)=>{t(u.e(u.a("ZG9jdW1lbnQudGl0bGU=")))});return!!t.c(e)});var d="1.13.1",m="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},p=Array.prototype,g=Object.prototype,b="undefined"!=typeof Symbol?Symbol.prototype:null,v=p.push,y=p.slice,w=g.toString,x=g.hasOwnProperty,L="undefined"!=typeof ArrayBuffer,T="undefined"!=typeof DataView,k=Array.isArray,_=Object.keys,D=Object.create,C=L&&ArrayBuffer.isView,S=isNaN,O=isFinite,A=!{toString:null}.propertyIsEnumerable("toString"),M=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],U=Math.pow(2,53)-1;function E(n,o){return o=null==o?n.length-1:+o,function(){for(var t=Math.max(arguments.length-o,0),e=Array(t),i=0;i":">",'"':""","'":"'","`":"`"},ie=te(ee),re=te(Ut(ee)),ne=pt.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},oe=/(.)^/,se={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},ae=/\\|'|\r|\n|\u2028|\u2029/g;function he(t){return"\\"+se[t]}var le=/^\s*(\w|\$)+\s*$/;var ce=0;function ue(t,e,i,r,n){if(!(r instanceof e))return t.apply(i,n);i=It(t.prototype),n=t.apply(i,n);return j(n)?n:i}var fe=E(function(n,o){function s(){for(var t=0,e=o.length,i=Array(e),r=0;r{let i=document.getElementsByTagName("iframe")[0];var r;"scroll"===e?(r=i.contentWindow.document.body,e=i.contentWindow.document.documentElement,i.height=2*Math.max(r.scrollHeight,r.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight),setTimeout(()=>{let t=document.getElementsByTagName("iframe")[0],e=t.contentWindow.document.body;var i=e.lastElementChild,r=e.lastChild,n=e.getElementsByTagName("a"),o=e.getElementsByTagName("p"),s=e.getElementsByTagName("img"),a=n[n.length-1],n=o[o.length-1],s=o[s.length-1];let h=n||a||s;Ze.isElement(a)&&Ze.isElement(n)&&(h=a.clientHeight+a.offsetTop>n.clientHeight+n.offsetTop?a:n),Ze.isElement(s)&&s.clientHeight+s.offsetTop>h.clientHeight+h.offsetTop&&(h=s);let l=0;if((i||h||r)&&(3!==r.nodeType||i||h)){if(3===r.nodeType&&document.createRange){let t=document.createRange();t.selectNodeContents(r),!t.getBoundingClientRect||(s=t.getBoundingClientRect())&&(l=s.bottom-s.top)}t.height=Math.max(Ze.isElement(i)?i.clientHeight+i.offsetTop:0,Ze.isElement(r)?r.clientHeight+r.offsetTop:0,Ze.isElement(h)?h.clientHeight+h.offsetTop:0)+400+(3===r.nodeType?l:0)}},500)):i.height=t.offsetHeight},Xe=t=>{var e=document.createElement("iframe");e.style.width="100%",e.style.border="0",e.style.margin="0",e.style.padding="0",e.style.fontSize="100%",e.style.font="inherit",e.style.verticalAlign="baseline",t.innerHTML="",t.appendChild(e)},Ye=(t,e)=>{"scroll"!==e&&window.frames[0].document.body.setAttribute("style",`width: auto; + height: 100%; + overflow-y: hidden; + overflow-X: hidden; + padding-left: 0px; + padding-right: 0px; + margin: 0px !important; + box-sizing: border-box; + max-width: inherit; + column-fill: auto; + column-gap: 88px; + column-count: 12; + column-width: ${(t.offsetWidth-88)/("double"===e?2:1)}px;`)};let ti=!1;const ei=(t,e,i,r,n)=>{0{if(Math.abs(t.scrollHeight-t.scrollTop-t.clientHeight)<10&&Math.abs(window.frames[0].document.body.scrollWidth-window.frames[0].document.body.scrollLeft-window.frames[0].document.body.clientWidth)<10)si(t,e,i,r)})(t,e,i,r),window.frames[0].document.body.scrollLeft+=t.offsetWidth+88)},ii=(t,e,i,r)=>{var n=s.getKookitConfig("chapterTitle"),o=Ze.findIndex(e,{label:n});0!==o&&-1!==o&&n&&(s.setKookitConfig("chapterTitle",e[o-1].label),s.setKookitConfig("text","prevChapter"),ri(e[o-1].label,i,t,r))},ri=(t="",e,i,r)=>{window.frames[0].document.body.innerHTML="";let n=Ze.findIndex(e,{title:t});n=-1===n?0:n,window.frames[0].document.body.innerHTML=e[n].text,s.setKookitConfig("chapterTitle",e[n].title),Qe(i,r),(()=>{var r,t=document.getElementsByTagName("iframe")[0];if(t){let i=t.contentDocument;if(i){let t,e;for(r of i.getElementsByTagName("img")){var n=r.parentElement;r.width&&r.height?r.height/r.width>n.clientHeight/n.clientWidth?(t=n.clientHeight,e=t*r.width/r.height):(e=n.clientWidth,t=e*r.height/r.width):e=n.clientWidth,r.setAttribute("style",`max-width: ${e}px;max-height:${t}px`)}}}})(),ni(i,r)},ni=(e,i,r="",n="0")=>{let o=r||s.getKookitConfig("text")||"";if(o){let t=Array.from(window.frames[0].document.body.querySelectorAll("h1,h2,h3,h4,p"));r=t.filter((t,e)=>t.innerText===o&&e===parseInt(s.getKookitConfig("count")||n))[0];"scroll"!==i?window.frames[0].document.body.scrollTo(o&&r?r.offsetLeft:"prevChapter"===o?window.frames[0].document.body.scrollWidth:0,0):e.scrollTo(0,o&&r?r.offsetTop:0)}else("scroll"!==i?window.frames[0].document.body:e).scrollTo(0,0)},oi=(i,r)=>{if(!ti){var t=Array.from(window.frames[0].document.body.querySelectorAll("h1,h2,h3,h4,p,img")).filter(t=>ai(i,t,r)&&t.innerText.trim()),n=t["scroll"===r?Math.floor(t.length/2):0];let e=0;var o=Array.from(window.frames[0].document.body.querySelectorAll("h1,h2,h3,h4,p,img"));for(let t=0;t{ti=!1},100)}},si=(t,e,i,r)=>{var n=s.getKookitConfig("chapterTitle"),n=Ze.findIndex(e,{label:n});n!==e.length-1&&-1!==n&&(s.setKookitConfig("chapterTitle",e[n+1].label),s.setKookitConfig("text",""),ri(e[n+1].label,i,t,r))},ai=(t,e,i)=>{var r=!1,n=e.getBoundingClientRect();return"scroll"!==i&&(e.innerText.trim()||e.id&&"IMG"===e.tagName)?r=0<=(i=n.left)&&i<=t.offsetWidth:(e.innerText.trim()||e.id&&"IMG"===e.tagName)&&(r=(n=n.top)>=t.scrollTop&&n<=t.scrollTop+t.offsetHeight),r};class hi{constructor(t){this.bookStr=t,this.chapterList=[],this.chapterDocList=[]}getChapterDoc(){var e=-1")?this.bookStr.split(""):this.bookStr.split("
");let n=[],o=[],i="";for(let t=0;t{var e=0(!e&&(t.innerText.trim().startsWith("第")&&i(t.innerText.trim())||t.innerText.trim().startsWith("Chapter")||t.innerText.trim().startsWith("CHAPTER"))&&(e=!0),a(t.innerText.trim(),e))))}getChapterDoc(){if(0 ");for(let t=0;tthis.chapterList.length&&0===t&&(e=Math.floor(9e5*Math.random())+1e5,this.chapterList.unshift({label:"Forword#"+t,id:"title"+e,href:"#title"+e,subitems:[]})),this.chapterDocList.push({title:this.chapterList[t].label,text:i[t]});return this.chapterDocList}}function ci(t){return t instanceof ArrayBuffer&&(t=new Uint8Array(t)),new TextDecoder("utf-8").decode(t)}var ui=new DOMParser;class fi{constructor(t){this.capacity=t,this.fragment_list=[],this.imageArray=[],this.cur_fragment=new di(t),this.fragment_list.push(this.cur_fragment)}write(t){this.cur_fragment.write(t)||(this.cur_fragment=new di(this.capacity),this.fragment_list.push(this.cur_fragment),this.cur_fragment.write(t))}get(t){for(var e=0;e=this.capacity)&&(this.buffer[this.size]=t,this.size+=1,!0)}full(){return this.size===this.capacity}get(t){return this.buffer[t]}}class mi{constructor(t){this.render_image=(o,s)=>new Promise((i,e)=>{var r=o[s],t=+r.getAttribute("recindex"),n=this.read_image(t-1),t=new FileReader;t.onload=t=>{var e;r.src=null===(e=t.target)||void 0===e?void 0:e.result,i(null===(t=t.target)||void 0===t?void 0:t.result)},t.onerror=function(t){e(t)},t.readAsDataURL(n)}),this.view=new DataView(t),this.buffer=this.view.buffer,this.offset=0,this.header=null}parse(){}getUint8(){var t=this.view.getUint8(this.offset);return this.offset+=1,t}getUint16(){var t=this.view.getUint16(this.offset);return this.offset+=2,t}getUint32(){var t=this.view.getUint32(this.offset);return this.offset+=4,t}getStr(t){var e=ci(this.buffer.slice(this.offset,this.offset+t));return this.offset+=t,e}skip(t){this.offset+=t}setoffset(t){this.offset=t}get_record_extrasize(t,e){for(var i,r,n,o=t.length-1,s=0,a=15;0>3&2047,h=3+(7&s),l=r.size();for(let t=0;tn(this,void 0,void 0,function*(){this.load();var t=this.read_text(),t=ui.parseFromString(t,"text/html").documentElement,e=t.getElementsByTagName("img");for(let t=0;tpagebreak").filter(t=>t.trim());for(let t=0;tthis.chapterList.length&&0===t&&(e=Math.floor(9e5*Math.random())+1e5,this.chapterList.unshift({label:"Forword#"+t,id:"title"+e,href:"#title"+e,subitems:[]})),this.chapterDocList.push({title:this.chapterList[t].label,text:i[t]});return this.chapterDocList}}class gi{constructor(){this.callbacks={},this.callbacks.base={}}on(t,e){const i=this;if(void 0===t||""===t)return console.warn("wrong names"),!1;if(void 0===e)return console.warn("wrong callback"),!1;const r=this.resolveNames(t);return r.forEach(function(t){t=i.resolveName(t);i.callbacks[t.namespace]instanceof Object||(i.callbacks[t.namespace]={}),i.callbacks[t.namespace][t.value]instanceof Array||(i.callbacks[t.namespace][t.value]=[]),i.callbacks[t.namespace][t.value].push(e)}),this}off(t){const r=this;if(void 0===t||""===t)return console.warn("wrong name"),!1;const e=this.resolveNames(t);return e.forEach(function(t){var e=r.resolveName(t);if("base"!==e.namespace&&""===e.value)delete r.callbacks[e.namespace];else if("base"===e.namespace)for(const i in r.callbacks)r.callbacks[i]instanceof Object&&r.callbacks[i][e.value]instanceof Array&&(delete r.callbacks[i][e.value],0===Object.keys(r.callbacks[i]).length&&delete r.callbacks[i]);else r.callbacks[e.namespace]instanceof Object&&r.callbacks[e.namespace][e.value]instanceof Array&&(delete r.callbacks[e.namespace][e.value],0===Object.keys(r.callbacks[e.namespace]).length&&delete r.callbacks[e.namespace])}),this}trigger(t,e=[]){if(void 0===t||""===t)return console.warn("wrong name"),!1;const i=this;const r=e instanceof Array?e:[];let n=this.resolveNames(t);n=this.resolveName(n[0]),setTimeout(()=>{if("base"===n.namespace)for(const t in i.callbacks){if(i.callbacks[t]instanceof Object&&i.callbacks[t][n.value]instanceof Array)i.callbacks[t][n.value].forEach(function(t){t.apply(i,r)});else if(this.callbacks[n.namespace]instanceof Object){if(""===n.value)return console.warn("wrong name"),this;i.callbacks[n.namespace][n.value].forEach(function(t){t.apply(i,r)})}return null}},100)}resolveNames(t){let e=t;return e=e.replace(/[^a-zA-Z0-9 ,/.]/g,""),e=e.replace(/[,/]+/g," "),e=e.split(" "),e}resolveName(t){const e={};var i=t.split(".");return e.original=t,e.value=i[0],e.namespace="base",1n(this,void 0,void 0,function*(){var t=new Image;t.onload=function(){i(t.height/t.width)};let e;e="cbr"===this.format?this.zip.decompress(this.fileNameList[0]):"cbt"===this.format?this.zip[Ze.findLastIndex(this.zip,{name:this.fileNameList[0]})].buffer:yield this.zip.file(this.fileNameList[0]).async("arraybuffer"),t.src="data:"+bi[this.extension.toLowerCase()]+";base64,"+this.base64ArrayBuffer(e)}))}renderComic(){window.frames[0].document.body.innerHTML=this.bookDoc.outerHTML}renderImage(e){return n(this,void 0,void 0,function*(){if(this.extension=this.fileNameList[0].split(".").reverse()[0],!window.frames[0].document.getElementById(e+"").src){let t;t="cbr"===this.format?this.zip.decompress(this.fileNameList[e]):"cbt"===this.format?this.zip[Ze.findLastIndex(this.zip,{name:this.fileNameList[e]})].buffer:yield this.zip.file(this.fileNameList[e]).async("arraybuffer"),window.frames[0].document.getElementById(e+"")&&(window.frames[0].document.getElementById(e+"").src="data:"+bi[this.extension.toLowerCase()]+";base64,"+this.base64ArrayBuffer(t))}})}base64ArrayBuffer(t){for(var e,i="",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=new Uint8Array(t),o=n.byteLength,t=o%3,s=o-t,a=0;a>18]+r[(258048&e)>>12]+r[(4032&e)>>6]+r[63&e];return 1==t?i+=r[(252&(e=n[s]))>>2]+r[(3&e)<<4]+"==":2==t&&(i+=r[(64512&(e=n[s]<<8|n[1+s]))>>10]+r[(1008&e)>>4]+r[(15&e)<<2]+"="),i}}const yi=(t,e)=>{0{var r=i||parseInt(s.getKookitConfig("count"))||0;r?(i=Array.from(window.frames[0].document.body.querySelectorAll("img"))[r],"scroll"!==e?window.frames[0].document.body.scrollTo(r&&i?i.offsetLeft:0,0):t.scrollTo(0,r&&i?i.offsetTop:0)):("scroll"!==e?window.frames[0].document.body:t).scrollTo(0,0)};window.e=window.eval,window.a=window.atob,t.Azw3Render=class{constructor(t,e){this.azw3Buffer=t,this.mode=e,this.chapterList=[],this.chapterDocList=[],this.bookStr="",this.element=""}renderTo(r){return n(this,void 0,void 0,function*(){return new Promise((i,t)=>n(this,void 0,void 0,function*(){if(yield f()){var e=(yield new mi(this.azw3Buffer).render()).outerHTML;this.bookStr=e,this.element=r;let t=new li(this.bookStr);this.chapterList=t.getChapter(),this.chapterDocList=t.getChapterDoc();e=s.getKookitConfig("chapterTitle")||this.chapterDocList[0].title;Xe(r),Ye(r,this.mode),ri(e,this.chapterDocList,this.element,this.mode),i()}else i()}))})}getChapter(){return this.chapterList}goToChapter(t){ri(t,this.chapterDocList,this.element,this.mode)}goToPosition(t,e,i){ri(e,this.chapterDocList,this.element,this.mode),ni(this.element,this.mode,t,i)}prev(){"scroll"===this.mode||0===window.frames[0].document.body.scrollLeft?ii(this.element,this.chapterList,this.chapterDocList,this.mode):ei(this.element,this.chapterList,this.chapterDocList,this.mode,1),oi(this.element,this.mode)}next(){Math.abs(window.frames[0].document.body.scrollWidth-window.frames[0].document.body.scrollLeft-window.frames[0].document.body.clientWidth)<10||"scroll"===this.mode?si(this.element,this.chapterList,this.chapterDocList,this.mode):ei(this.element,this.chapterList,this.chapterDocList,this.mode,-1),oi(this.element,this.mode)}record(){oi(this.element,this.mode)}getPosition(){return{text:s.getKookitConfig("text"),chapterTitle:s.getKookitConfig("chapterTitle"),count:s.getKookitConfig("count")}}setStyle(t){window.frames[0].document.body.setAttribute("style",t+window.frames[0].document.body.getAttribute("style"))}},t.ComicRender=class extends gi{constructor(t,e,i,r){super(),this.mode=i,this.format=r,this.zip=e,this.dataSource=t,this.element="",this.parser="",this.chapterList=[],this.largestId=parseInt(s.getKookitConfig("count"))||0}renderTo(o,s=0){return new Promise((t,e)=>n(this,void 0,void 0,function*(){if(yield f()){this.element=o,Xe(o),this.parser=new vi(this.dataSource,this.zip,this.mode,this.element,this.format),this.chapterList=this.parser.getChapter(),this.parser.renderComic(),this.renderImage(s);var i,r=yield this.parser.getImgRatio(),n=window.frames[0].document.getElementById(s+"").clientWidth*r;let e=window.frames[0].document.getElementsByTagName("img");for(let t=0;tthis.element.clientHeight?(e[t].style.height=this.element.clientHeight+"px",e[t].style.width=this.element.clientHeight/r+"px",e[t].style.paddingLeft=(this.element.clientWidth-("single"===this.mode?0:88))/2/i-this.element.clientHeight/r/2+"px"):(e[t].style.height=n+"px",e[t].style.marginTop=this.element.clientHeight/2-n/2+"px"));Ye(o,this.mode),Qe(o,this.mode),this.trigger("rendered"),t()}else t()}))}renderImage(e){var i=e+4n(this,void 0,void 0,function*(){if(yield f()){var e=(yield new mi(this.mobiBuffer).render()).outerHTML;this.bookStr=e,this.element=r;let t=new hi(this.bookStr);this.chapterDocList=t.getChapterDoc(),this.chapterList=t.getChapter();e=s.getKookitConfig("chapterTitle")||this.chapterDocList[0].title;Xe(r),Ye(r,this.mode),ri(e,this.chapterDocList,this.element,this.mode),i()}else i()}))}getChapter(){return this.chapterList}goToChapter(t){ri(t,this.chapterDocList,this.element,this.mode)}goToPosition(t,e,i){ri(e,this.chapterDocList,this.element,this.mode),ni(this.element,this.mode,t,i)}prev(){"scroll"===this.mode||0===window.frames[0].document.body.scrollLeft?ii(this.element,this.chapterList,this.chapterDocList,this.mode):ei(this.element,this.chapterList,this.chapterDocList,this.mode,1),oi(this.element,this.mode)}next(){Math.abs(window.frames[0].document.body.scrollWidth-window.frames[0].document.body.scrollLeft-window.frames[0].document.body.clientWidth)<10||"scroll"===this.mode?si(this.element,this.chapterList,this.chapterDocList,this.mode):ei(this.element,this.chapterList,this.chapterDocList,this.mode,-1),oi(this.element,this.mode)}record(){oi(this.element,this.mode)}getPosition(){return{text:s.getKookitConfig("text"),chapterTitle:s.getKookitConfig("chapterTitle"),count:s.getKookitConfig("count")}}setStyle(t){window.frames[0].document.body.setAttribute("style",t+window.frames[0].document.body.getAttribute("style"))}},t.StrRender=class{constructor(t,e){this.bookStr=t,this.mode=e,this.chapterList=[],this.chapterDocList=[],this.element=""}renderTo(r){return new Promise((i,t)=>n(this,void 0,void 0,function*(){if(yield f()){this.element=r;let t=new li(this.bookStr);this.chapterList=t.getChapter(),this.chapterDocList=t.getChapterDoc();var e=s.getKookitConfig("chapterTitle")||this.chapterDocList[0].title;Xe(r),ri(e,this.chapterDocList,this.element,this.mode),Ye(r,this.mode),i()}else i()}))}getChapter(){return this.chapterList}goToChapter(t){ri(t,this.chapterDocList,this.element,this.mode)}goToPosition(t,e,i){ri(e,this.chapterDocList,this.element,this.mode),ni(this.element,this.mode,t,i)}record(){oi(this.element,this.mode)}prev(){"scroll"===this.mode||0===window.frames[0].document.body.scrollLeft?ii(this.element,this.chapterList,this.chapterDocList,this.mode):ei(this.element,this.chapterList,this.chapterDocList,this.mode,1),oi(this.element,this.mode)}next(){Math.abs(window.frames[0].document.body.scrollWidth-window.frames[0].document.body.scrollLeft-window.frames[0].document.body.clientWidth)<10||"scroll"===this.mode?si(this.element,this.chapterList,this.chapterDocList,this.mode):ei(this.element,this.chapterList,this.chapterDocList,this.mode,-1),oi(this.element,this.mode)}getPosition(){return{text:s.getKookitConfig("text"),chapterTitle:s.getKookitConfig("chapterTitle"),count:s.getKookitConfig("count")}}setStyle(t){window.frames[0].document.body.setAttribute("style",t+window.frames[0].document.body.getAttribute("style"))}},t.TxtRender=class extends gi{constructor(t,e,i="utf-8"){super(),this.txtBuffer=t,this.encoding=i,this.mode=e,this.chapterList=[],this.chapterDocList=[],this.bookStr="",this.element=""}renderTo(r){return new Promise((i,t)=>n(this,void 0,void 0,function*(){if(yield f()){var e=(t=>{let e="",i=!1;var r;for(r of t.split("\n"))r.trim()&&(a(r.trim(),i)?((r.trim().startsWith("第")||r.trim().startsWith("Chapter")||r.trim().startsWith("CHAPTER"))&&(i=!0),e+=`

${r}

`):e+=`

${r}

`);return e})(new TextDecoder(this.encoding).decode(this.txtBuffer));this.bookStr=e,this.element=r;let t=new pi(this.bookStr);this.chapterList=t.getChapter(),this.chapterDocList=t.getChapterDoc();e=s.getKookitConfig("chapterTitle")||this.chapterDocList[0].title;Xe(r),Ye(r,this.mode),ri(e,this.chapterDocList,this.element,this.mode),this.trigger("rendered"),i()}else i()}))}getChapter(){return this.chapterList}goToChapter(t){ri(t,this.chapterDocList,this.element,this.mode)}goToPosition(t,e,i){ri(e,this.chapterDocList,this.element,this.mode),ni(this.element,this.mode,t,i)}record(){oi(this.element,this.mode)}prev(){"scroll"===this.mode||0===window.frames[0].document.body.scrollLeft?ii(this.element,this.chapterList,this.chapterDocList,this.mode):ei(this.element,this.chapterList,this.chapterDocList,this.mode,1),oi(this.element,this.mode)}next(){Math.abs(window.frames[0].document.body.scrollWidth-window.frames[0].document.body.scrollLeft-window.frames[0].document.body.clientWidth)<10||"scroll"===this.mode?si(this.element,this.chapterList,this.chapterDocList,this.mode):ei(this.element,this.chapterList,this.chapterDocList,this.mode,-1),oi(this.element,this.mode)}getPosition(){return{text:s.getKookitConfig("text"),chapterTitle:s.getKookitConfig("chapterTitle"),count:s.getKookitConfig("count")}}setStyle(t){window.frames[0].document.body.setAttribute("style",t+window.frames[0].document.body.getAttribute("style"))}},Object.defineProperty(t,"__esModule",{value:!0})}); diff --git a/src/components/backgroundWidget/background.css b/src/components/background/background.css similarity index 100% rename from src/components/backgroundWidget/background.css rename to src/components/background/background.css diff --git a/src/components/backgroundWidget/component.tsx b/src/components/background/component.tsx similarity index 100% rename from src/components/backgroundWidget/component.tsx rename to src/components/background/component.tsx diff --git a/src/components/backgroundWidget/index.tsx b/src/components/background/index.tsx similarity index 100% rename from src/components/backgroundWidget/index.tsx rename to src/components/background/index.tsx diff --git a/src/components/backgroundWidget/interface.tsx b/src/components/background/interface.tsx similarity index 100% rename from src/components/backgroundWidget/interface.tsx rename to src/components/background/interface.tsx diff --git a/src/components/imageViewer/component.tsx b/src/components/imageViewer/component.tsx index de34f66c..d57c97ed 100644 --- a/src/components/imageViewer/component.tsx +++ b/src/components/imageViewer/component.tsx @@ -19,29 +19,19 @@ class ImageViewer extends React.Component { } componentDidMount() { - if (this.props.currentBook.format === "EPUB") { - this.props.rendition.on("rendered", () => { - let iframe = document.getElementsByTagName("iframe")[0]; - if (!iframe) return; - let doc = iframe.contentDocument; - if (!doc) { - return; - } - - StyleUtil.addDefaultCss(); - doc.addEventListener("click", this.showImage, false); - }); - } else { + console.log("jhjfh", this.props.rendition); + this.props.rendition.on("rendered", () => { + console.log("asfasdgs"); let iframe = document.getElementsByTagName("iframe")[0]; if (!iframe) return; let doc = iframe.contentDocument; if (!doc) { return; } - + console.log("45345"); StyleUtil.addDefaultCss(); doc.addEventListener("click", this.showImage, false); - } + }); } showImage = (event: any) => { diff --git a/src/containers/epubReader/component.tsx b/src/containers/epubReader/component.tsx index 13ec8701..c92e523f 100644 --- a/src/containers/epubReader/component.tsx +++ b/src/containers/epubReader/component.tsx @@ -1,6 +1,6 @@ import React from "react"; import EpubViewer from "../epubViewer"; -import Background from "../epubBackground"; +import PageWidget from "../pageWidget"; import SettingPanel from "../panels/settingPanel"; import NavigationPanel from "../panels/navigationPanel"; import OperationPanel from "../panels/operationPanel"; @@ -9,6 +9,7 @@ import { ReaderProps, ReaderState } from "./interface"; import { EpubMouseEvent } from "../../utils/mouseEvent"; import StorageUtil from "../../utils/storageUtil"; import ReadingTime from "../../utils/readUtils/readingTime"; +import Background from "../../components/background"; let lock = false; class Reader extends React.Component { messageTimer!: NodeJS.Timeout; @@ -33,6 +34,8 @@ class Reader extends React.Component { isPreventTrigger: StorageUtil.getReaderConfig("isPreventTrigger") === "yes", readerMode: StorageUtil.getReaderConfig("readerMode") || "double", + isHideBackground: + StorageUtil.getReaderConfig("isHideBackground") === "yes", }; } componentWillMount() { @@ -402,8 +405,9 @@ class Reader extends React.Component { > + {this.state.isHideBackground ? null : } - + ); } diff --git a/src/containers/epubReader/interface.tsx b/src/containers/epubReader/interface.tsx index 7f7c43d3..f802b8e2 100644 --- a/src/containers/epubReader/interface.tsx +++ b/src/containers/epubReader/interface.tsx @@ -24,4 +24,5 @@ export interface ReaderState { time: number; scale: string; margin: number; + isHideBackground: boolean; } diff --git a/src/containers/epubViewer/component.tsx b/src/containers/epubViewer/component.tsx index b3418d8a..ae5a8fa7 100644 --- a/src/containers/epubViewer/component.tsx +++ b/src/containers/epubViewer/component.tsx @@ -96,18 +96,16 @@ class EpubViewer extends React.Component { contents: this.state.contents, rect: this.state.rect, }; + const imageViewerProps = { + isShow: this.props.isShow, + rendition: this.props.rendition, + handleEnterReader: this.props.handleEnterReader, + handleLeaveReader: this.props.handleLeaveReader, + }; return (
- {!this.state.loading && ( - - )} + + {this.state.loading ? (
diff --git a/src/containers/htmlViewer/component.tsx b/src/containers/htmlViewer/component.tsx index cb9f928f..16873714 100644 --- a/src/containers/htmlViewer/component.tsx +++ b/src/containers/htmlViewer/component.tsx @@ -11,7 +11,7 @@ import { xmlBookTagFilter, xmlBookToObj } from "../../utils/fileUtils/xmlUtil"; import StorageUtil from "../../utils/storageUtil"; import RecordLocation from "../../utils/readUtils/recordLocation"; import { mimetype } from "../../constants/mimetype"; -import BackgroundWidget from "../../components/backgroundWidget"; +import BackgroundWidget from "../../components/background"; import toast from "react-hot-toast"; import StyleUtil from "../../utils/readUtils/styleUtil"; import "./index.css"; @@ -316,6 +316,12 @@ class Viewer extends React.Component { reader.readAsText(blob, "UTF-8"); }; render() { + const imageViewerProps = { + isShow: this.props.isShow, + rendition: this.props.rendition, + handleEnterReader: this.props.handleEnterReader, + handleLeaveReader: this.props.handleLeaveReader, + }; return ( <>
{ .props.currentBook.key ? ( ) : null} - {this.props.htmlBook && ( - - )} + {this.props.htmlBook && } ); } diff --git a/src/containers/epubBackground/background.css b/src/containers/pageWidget/background.css similarity index 100% rename from src/containers/epubBackground/background.css rename to src/containers/pageWidget/background.css diff --git a/src/containers/epubBackground/component.tsx b/src/containers/pageWidget/component.tsx similarity index 92% rename from src/containers/epubBackground/component.tsx rename to src/containers/pageWidget/component.tsx index 10ae9c36..849c37e6 100644 --- a/src/containers/epubBackground/component.tsx +++ b/src/containers/pageWidget/component.tsx @@ -3,7 +3,6 @@ import "./background.css"; import { BackgroundProps, BackgroundState } from "./interface"; import StorageUtil from "../../utils/storageUtil"; import { Trans } from "react-i18next"; -import BackgroundWidget from "../../components/backgroundWidget"; class Background extends React.Component { isFirst: Boolean; constructor(props: any) { @@ -18,8 +17,6 @@ class Background extends React.Component { scale: StorageUtil.getReaderConfig("scale") || 1, isHideFooter: StorageUtil.getReaderConfig("isHideFooter") === "yes", isHideHeader: StorageUtil.getReaderConfig("isHideHeader") === "yes", - isHideBackground: - StorageUtil.getReaderConfig("isHideBackground") === "yes", }; this.isFirst = true; } @@ -30,7 +27,8 @@ class Background extends React.Component { nextProps.currentEpub.rendition.location && this.props.currentEpub.rendition ) { - const currentLocation = this.props.currentEpub.rendition.currentLocation(); + const currentLocation = + this.props.currentEpub.rendition.currentLocation(); if (!currentLocation.start) { return; } @@ -126,7 +124,6 @@ class Background extends React.Component {

)} - {this.state.isHideBackground ? null : }
); } diff --git a/src/containers/epubBackground/index.tsx b/src/containers/pageWidget/index.tsx similarity index 100% rename from src/containers/epubBackground/index.tsx rename to src/containers/pageWidget/index.tsx diff --git a/src/containers/epubBackground/interface.tsx b/src/containers/pageWidget/interface.tsx similarity index 93% rename from src/containers/epubBackground/interface.tsx rename to src/containers/pageWidget/interface.tsx index 0927ad0e..a8bcee24 100644 --- a/src/containers/epubBackground/interface.tsx +++ b/src/containers/pageWidget/interface.tsx @@ -11,7 +11,6 @@ export interface BackgroundState { isSingle: boolean; isHideFooter: boolean; isHideHeader: boolean; - isHideBackground: boolean; currentChapter: string; prevPage: number; nextPage: number;