From 0af56d18e86ac90cdd53d8e79781777b3fa23688 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 1 Feb 2018 21:56:10 +0300 Subject: various fixes related to multi-theme support --- read.html | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 51 insertions(+), 10 deletions(-) (limited to 'read.html') diff --git a/read.html b/read.html index dab5767..aef9d91 100644 --- a/read.html +++ b/read.html @@ -66,8 +66,9 @@
@@ -259,6 +260,8 @@ } $(document).ready(function() { + apply_theme(); + $(window).on('online', function() { console.log("we're online, storing lastread"); @@ -362,13 +365,25 @@ }); init_taps(); - apply_theme(); document.onkeydown = hotkey_handler; localforage.getItem("epube.enable-fullscreen").then(function(enable) { _enable_fullscreen = enable; }); + EPUBJS.Hooks.register("beforeChapterDisplay").applyTheme = function(callback, renderer) { + var baseUrl = window.location.href.match(/^.*\//)[0]; + +console.log('tn', themeName); + + $(book.renderer.doc.head) + .append($("") + .attr('href', baseUrl + 'themes/' + themeName + '.css')); + + + if (callback) callback(); + } + EPUBJS.Hooks.register("beforeChapterDisplay").swipeDetection = function(callback, renderer) { var baseUrl = window.location.href.match(/^.*\//)[0]; @@ -379,9 +394,6 @@ EPUBJS.core.addCss(baseUrl + "css/reader.css", null, renderer.doc.head); - $(book.renderer.doc.head) - .append("") - localforage.getItem("epube.disable-swipes").then(function(noswipes) { if (!noswipes) { @@ -425,9 +437,30 @@ }); } - window.book = book; + var fontSize; + var fontFamily; + var lineHeight; + var themeName; + + Promise.all([ + localforage.getItem("epube.fontSize"), + localforage.getItem("epube.fontFamily"), + localforage.getItem("epube.lineHeight"), + localforage.getItem("epube.theme") + ]).then(function(res) { + fontSize = res[0] ? res[0] + "px" : DEFAULT_FONT_SIZE + "px"; + fontFamily = res[1] ? res[1] : DEFAULT_FONT_FAMILY; + lineHeight = res[2] ? res[2] + "%" : DEFAULT_LINE_HEIGHT + "%"; + themeName = res[3] ? res[3] : 'default'; + + book.setStyle("fontSize", fontSize); + book.setStyle("fontFamily", fontFamily); + book.setStyle("lineHeight", lineHeight); + book.setStyle("textAlign", "justify"); + }); - var rendered = book.renderTo("reader"); + window.book = book; + rendered = book.renderTo("reader"); $('#settings-modal').on('shown.bs.modal', function() { @@ -646,10 +679,18 @@ }); book.on("renderer:chapterDisplayed", function() { - $("#reader").hide(); - apply_theme(); - apply_styles(); + // variables defined above after reading from localforage + + $("#reader iframe").contents().find("p") + .css("background", "") + .css("color", "") + .css("background-color", "") + .css("font-family", fontFamily) + .css("font-size", fontSize) + .css("line-height", lineHeight) + .css("text-align", "justify"); + }); book.on("renderer:keydown", hotkey_handler); -- cgit v1.2.3