feat(epub.js): add saving for settings of the font family to localstorage

This commit is contained in:
IgorKurkov
2025-10-26 18:47:56 +01:00
parent c5571fc359
commit 902368efa7
2 changed files with 11 additions and 3 deletions
+6 -1
View File
@@ -119,11 +119,16 @@ var reader;
const theme = localStorage.getItem("calibre.reader.theme") ?? "lightTheme"; const theme = localStorage.getItem("calibre.reader.theme") ?? "lightTheme";
selectTheme(theme); selectTheme(theme);
// Restore saved font size after reader is ready // Restore saved font and font size after reader is ready
reader.book.ready.then(() => { reader.book.ready.then(() => {
const savedFontSize = localStorage.getItem("calibre.reader.fontSize"); const savedFontSize = localStorage.getItem("calibre.reader.fontSize");
if (savedFontSize) { if (savedFontSize) {
reader.rendition.themes.fontSize(`${savedFontSize}%`); reader.rendition.themes.fontSize(`${savedFontSize}%`);
} }
const savedFont = localStorage.getItem("calibre.reader.font");
if (savedFont && window.selectFont) {
window.selectFont(savedFont);
}
}); });
})(); })();
+5 -2
View File
@@ -335,7 +335,7 @@
let defaultFont; let defaultFont;
function selectFont(id) { window.selectFont = function (id) {
if (!defaultFont) { if (!defaultFont) {
defaultFont = reader.rendition.getContents()[0]?.css("font-family"); defaultFont = reader.rendition.getContents()[0]?.css("font-family");
} }
@@ -346,12 +346,15 @@
} }
document.getElementById(id).querySelector("span").textContent = "✓"; document.getElementById(id).querySelector("span").textContent = "✓";
// Save font selection to localStorage
localStorage.setItem("calibre.reader.font", id);
if (id == "default") { if (id == "default") {
reader.rendition.themes.font(defaultFont); reader.rendition.themes.font(defaultFont);
return; return;
} }
reader.rendition.themes.font(id); reader.rendition.themes.font(id);
} };
function spread(id) { function spread(id) {
spans = document.getElementById("layout").querySelectorAll("span"); spans = document.getElementById("layout").querySelectorAll("span");