summaryrefslogtreecommitdiff
path: root/read.html
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2018-02-01 21:56:10 +0300
committerAndrew Dolgov <[email protected]>2018-02-01 22:36:46 +0300
commit0af56d18e86ac90cdd53d8e79781777b3fa23688 (patch)
treec7bf32de005aa3ed3bc8c53c91b1e4dce1fc9541 /read.html
parentf7f56cc0c0307bbf7f01d2375f916e976be49cdb (diff)
various fixes related to multi-theme support
Diffstat (limited to 'read.html')
-rw-r--r--read.html61
1 files changed, 51 insertions, 10 deletions
diff --git a/read.html b/read.html
index dab5767..aef9d91 100644
--- a/read.html
+++ b/read.html
@@ -66,8 +66,9 @@
<div class="col-sm-9">
<select class="theme_name form-control" onchange="change_theme(this)">
<option value="default">Default</option>
- <option value="night">Night</option>
<option value="mocca">Mocca</option>
+ <option value="night">Night</option>
+ <option value="plan9">Plan9</option>
</select>
</div>
</div>
@@ -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($("<link rel='stylesheet' id='theme_css' type='text/css'>")
+ .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("<link rel='stylesheet' id='theme_css' type='text/css' href='themes/default.css'>")
-
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);