penguin/narou-android

Simple 縦書き reader for narou

commit d6211db37d7936d806eb1b8b77f3e93f75edae8d

author斟酌 鵬兄 <tgckpg@gmail.com>
date2026-10-14T08:55:44Z
subjectAdded background color
commit d6211db37d7936d806eb1b8b77f3e93f75edae8d
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date:   2026-10-14T08:55:44Z

    Added background color
---
 app/src/main/assets/reader/content.js        | 9 +++++----
 app/src/main/assets/reader/langpacks/en.json | 1 +
 app/src/main/assets/reader/langpacks/ja.json | 1 +
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/app/src/main/assets/reader/content.js b/app/src/main/assets/reader/content.js
index 36bd7a0..e14841a 100644
--- a/app/src/main/assets/reader/content.js
+++ b/app/src/main/assets/reader/content.js
@@ -10,8 +10,8 @@
   const bindings = [];
   const motionDefaults = {acceleration: 900, speed: 120, deadzone: .08, brake: .15, reverse: false};
   let motionSettings = {...motionDefaults};
-  const defaults = {font: 20, spacing: 1.9, paragraph: 0.3, theme: 'paper', auto: true, normalColor: null, highlightColor: null, language: i18n.language};
-  const textColors = {paper: ['#2d332f', '#17694f'], white: ['#222222', '#17694f'], dark: ['#e2e4de', '#79dfb5']};
+  const defaults = {font: 20, spacing: 1.9, paragraph: 0.3, theme: 'paper', auto: true, normalColor: null, highlightColor: null, backgroundColor: null, language: i18n.language};
+  const textColors = {paper: ['#2d332f', '#17694f', '#e3e3df'], white: ['#222222', '#17694f', '#e3e3df'], dark: ['#e2e4de', '#79dfb5', '#000000']};
   let settings = {...defaults}, opened = false, lastFocus;
   let nativeTheme = null;
   let controlsVisible = false, savedPosition = 0, restoring = false, saveTimer;
@@ -150,7 +150,7 @@
   const auto = el('input', '', {type: 'checkbox', title: '@auto.hint'});
   autoLabel.prepend(auto); header.append(autoLabel);
   const colorInputs = {};
-  for (const [key, label] of [['normalColor', '@normalColor'], ['highlightColor', '@highlightColor']]) {
+  for (const [key, label] of [['normalColor', '@normalColor'], ['highlightColor', '@highlightColor'], ['backgroundColor', '@backgroundColor']]) {
     const wrap = el('label', label);
     const input = el('input', '', {type: 'color', id: `reading-${key}`});
     colorInputs[key] = input; wrap.append(input); header.append(wrap);
@@ -515,9 +515,10 @@
     catch (err) { console.warn('縦書き: settings could not be saved', err); }
   }
   function applyTextColors() {
-    const [normal, highlight] = textColors[settings.theme];
+    const [normal, highlight, background] = textColors[settings.theme];
     article.style.setProperty('--normal-text', settings.normalColor || normal);
     article.style.setProperty('--highlight-text', settings.highlightColor || highlight);
+    panel.style.setProperty('--bg',  settings.backgroundColor || background);
     colorInputs.normalColor.value = settings.normalColor || normal;
     colorInputs.highlightColor.value = settings.highlightColor || highlight;
   }
diff --git a/app/src/main/assets/reader/langpacks/en.json b/app/src/main/assets/reader/langpacks/en.json
index 112434c..eab53df 100644
--- a/app/src/main/assets/reader/langpacks/en.json
+++ b/app/src/main/assets/reader/langpacks/en.json
@@ -13,6 +13,7 @@
   "auto.hint": "Open chapters in vertical mode",
   "normalColor": "Normal text",
   "highlightColor": "Focus text",
+  "backgroundColor": "Background",
   "resetColors": "Reset colors",
   "appMenu": "App menu",
   "original": "Original page",
diff --git a/app/src/main/assets/reader/langpacks/ja.json b/app/src/main/assets/reader/langpacks/ja.json
index cf4d978..c4fe8c8 100644
--- a/app/src/main/assets/reader/langpacks/ja.json
+++ b/app/src/main/assets/reader/langpacks/ja.json
@@ -13,6 +13,7 @@
   "auto.hint": "章を自動で縦書き表示",
   "normalColor": "通常の文字",
   "highlightColor": "注目の文字",
+  "backgroundColor": "背景",
   "resetColors": "文字色を戻す",
   "appMenu": "アプリメニュー",
   "original": "元のページ",