diff --git a/apps/readest-app/public/locales/ar/translation.json b/apps/readest-app/public/locales/ar/translation.json index 309b07bb..c12dbb28 100644 --- a/apps/readest-app/public/locales/ar/translation.json +++ b/apps/readest-app/public/locales/ar/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "فئة Pro", "RTL Direction": "الاتجاه من اليمين إلى اليسار", "Maximum Column Height": "الارتفاع الأقصى للعمود", - "Maximum Column Width": "العرض الأقصى للعمود" + "Maximum Column Width": "العرض الأقصى للعمود", + "Continuous Scroll": "التمرير المستمر" } diff --git a/apps/readest-app/public/locales/de/translation.json b/apps/readest-app/public/locales/de/translation.json index a8975910..dc5dde2b 100644 --- a/apps/readest-app/public/locales/de/translation.json +++ b/apps/readest-app/public/locales/de/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Pro-Stufe", "RTL Direction": "RTL-Richtung", "Maximum Column Height": "Maximale Spaltenhöhe", - "Maximum Column Width": "Maximale Spaltenbreite" + "Maximum Column Width": "Maximale Spaltenbreite", + "Continuous Scroll": "Kontinuierliches Scrollen" } diff --git a/apps/readest-app/public/locales/el/translation.json b/apps/readest-app/public/locales/el/translation.json index 2b646780..e8464cff 100644 --- a/apps/readest-app/public/locales/el/translation.json +++ b/apps/readest-app/public/locales/el/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Βαθμίδα Pro", "RTL Direction": "Κατεύθυνση RTL", "Maximum Column Height": "Μέγιστο ύψος στήλης", - "Maximum Column Width": "Μέγιστο πλάτος στήλης" + "Maximum Column Width": "Μέγιστο πλάτος στήλης", + "Continuous Scroll": "Συνεχής κύλιση" } diff --git a/apps/readest-app/public/locales/es/translation.json b/apps/readest-app/public/locales/es/translation.json index e8302e29..b0806d1c 100644 --- a/apps/readest-app/public/locales/es/translation.json +++ b/apps/readest-app/public/locales/es/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Nivel Pro", "RTL Direction": "Dirección RTL", "Maximum Column Height": "Altura máxima de columna", - "Maximum Column Width": "Ancho máximo de columna" + "Maximum Column Width": "Ancho máximo de columna", + "Continuous Scroll": "Desplazamiento continuo" } diff --git a/apps/readest-app/public/locales/fr/translation.json b/apps/readest-app/public/locales/fr/translation.json index 0dbc392f..de00b1a5 100644 --- a/apps/readest-app/public/locales/fr/translation.json +++ b/apps/readest-app/public/locales/fr/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Niveau Pro", "RTL Direction": "Direction RTL", "Maximum Column Height": "Hauteur maximale de colonne", - "Maximum Column Width": "Largeur maximale de colonne" + "Maximum Column Width": "Largeur maximale de colonne", + "Continuous Scroll": "Défilement continu" } diff --git a/apps/readest-app/public/locales/hi/translation.json b/apps/readest-app/public/locales/hi/translation.json index 2f2a676e..8cf37501 100644 --- a/apps/readest-app/public/locales/hi/translation.json +++ b/apps/readest-app/public/locales/hi/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "प्रो टियर", "RTL Direction": "RTL दिशा", "Maximum Column Height": "कॉलम की अधिकतम ऊँचाई", - "Maximum Column Width": "कॉलम की अधिकतम चौड़ाई" + "Maximum Column Width": "कॉलम की अधिकतम चौड़ाई", + "Continuous Scroll": "निरंतर स्क्रॉल" } diff --git a/apps/readest-app/public/locales/id/translation.json b/apps/readest-app/public/locales/id/translation.json index c4ef6e0f..26617148 100644 --- a/apps/readest-app/public/locales/id/translation.json +++ b/apps/readest-app/public/locales/id/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Tingkat Pro", "RTL Direction": "Arah RTL", "Maximum Column Height": "Tinggi Kolom Maksimum", - "Maximum Column Width": "Lebar Kolom Maksimum" + "Maximum Column Width": "Lebar Kolom Maksimum", + "Continuous Scroll": "Gulir Terus" } diff --git a/apps/readest-app/public/locales/it/translation.json b/apps/readest-app/public/locales/it/translation.json index 6abffa22..638d7176 100644 --- a/apps/readest-app/public/locales/it/translation.json +++ b/apps/readest-app/public/locales/it/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Piano Pro", "RTL Direction": "Direzione RTL", "Maximum Column Height": "Altezza massima colonna", - "Maximum Column Width": "Larghezza massima colonna" + "Maximum Column Width": "Larghezza massima colonna", + "Continuous Scroll": "Scorrimento continuo" } diff --git a/apps/readest-app/public/locales/ja/translation.json b/apps/readest-app/public/locales/ja/translation.json index e76a99cc..f4e71ba0 100644 --- a/apps/readest-app/public/locales/ja/translation.json +++ b/apps/readest-app/public/locales/ja/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Proプラン", "RTL Direction": "RTL方向", "Maximum Column Height": "最大列高", - "Maximum Column Width": "最大列幅" + "Maximum Column Width": "最大列幅", + "Continuous Scroll": "連続スクロール" } diff --git a/apps/readest-app/public/locales/ko/translation.json b/apps/readest-app/public/locales/ko/translation.json index 2da6b4a5..ce3e0fed 100644 --- a/apps/readest-app/public/locales/ko/translation.json +++ b/apps/readest-app/public/locales/ko/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "프로 등급", "RTL Direction": "RTL 방향", "Maximum Column Height": "최대 열 높이", - "Maximum Column Width": "최대 열 너비" + "Maximum Column Width": "최대 열 너비", + "Continuous Scroll": "연속 스크롤" } diff --git a/apps/readest-app/public/locales/pl/translation.json b/apps/readest-app/public/locales/pl/translation.json index 850c2e53..d71b1e46 100644 --- a/apps/readest-app/public/locales/pl/translation.json +++ b/apps/readest-app/public/locales/pl/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Plan Pro", "RTL Direction": "Kierunek RTL", "Maximum Column Height": "Maksymalna wysokość kolumny", - "Maximum Column Width": "Maksymalna szerokość kolumny" + "Maximum Column Width": "Maksymalna szerokość kolumny", + "Continuous Scroll": "Przewijanie ciągłe" } diff --git a/apps/readest-app/public/locales/pt/translation.json b/apps/readest-app/public/locales/pt/translation.json index a9904b73..ef38d209 100644 --- a/apps/readest-app/public/locales/pt/translation.json +++ b/apps/readest-app/public/locales/pt/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Plano Pro", "RTL Direction": "Direção RTL", "Maximum Column Height": "Altura Máxima da Coluna", - "Maximum Column Width": "Largura Máxima da Coluna" + "Maximum Column Width": "Largura Máxima da Coluna", + "Continuous Scroll": "Rolagem Contínua" } diff --git a/apps/readest-app/public/locales/ru/translation.json b/apps/readest-app/public/locales/ru/translation.json index 91d61bc8..7821f690 100644 --- a/apps/readest-app/public/locales/ru/translation.json +++ b/apps/readest-app/public/locales/ru/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Тариф Pro", "RTL Direction": "Направление RTL", "Maximum Column Height": "Максимальная высота колонки", - "Maximum Column Width": "Максимальная ширина колонки" + "Maximum Column Width": "Максимальная ширина колонки", + "Continuous Scroll": "Непрерывная прокрутка" } diff --git a/apps/readest-app/public/locales/tr/translation.json b/apps/readest-app/public/locales/tr/translation.json index ad340f0f..870b993a 100644 --- a/apps/readest-app/public/locales/tr/translation.json +++ b/apps/readest-app/public/locales/tr/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Pro Paket", "RTL Direction": "RTL Yönü", "Maximum Column Height": "Maksimum Sütun Yüksekliği", - "Maximum Column Width": "Maksimum Sütun Genişliği" + "Maximum Column Width": "Maksimum Sütun Genişliği", + "Continuous Scroll": "Sürekli Kaydırma" } diff --git a/apps/readest-app/public/locales/uk/translation.json b/apps/readest-app/public/locales/uk/translation.json index fe0db2ea..969b66b8 100644 --- a/apps/readest-app/public/locales/uk/translation.json +++ b/apps/readest-app/public/locales/uk/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Тариф Pro", "RTL Direction": "Напрямок RTL", "Maximum Column Height": "Максимальна висота колонки", - "Maximum Column Width": "Максимальна ширина колонки" + "Maximum Column Width": "Максимальна ширина колонки", + "Continuous Scroll": "Постійна прокрутка" } diff --git a/apps/readest-app/public/locales/vi/translation.json b/apps/readest-app/public/locales/vi/translation.json index 11245cc4..a5293fe4 100644 --- a/apps/readest-app/public/locales/vi/translation.json +++ b/apps/readest-app/public/locales/vi/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "Gói Pro", "RTL Direction": "Hướng RTL", "Maximum Column Height": "Chiều cao cột tối đa", - "Maximum Column Width": "Chiều rộng cột tối đa" + "Maximum Column Width": "Chiều rộng cột tối đa", + "Continuous Scroll": "Cuộn liên tục" } diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json index 9a9cf75f..06d55819 100644 --- a/apps/readest-app/public/locales/zh-CN/translation.json +++ b/apps/readest-app/public/locales/zh-CN/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "专业版", "RTL Direction": "从右向左", "Maximum Column Height": "最大列高", - "Maximum Column Width": "最大列宽" + "Maximum Column Width": "最大列宽", + "Continuous Scroll": "连续滚动" } diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json index a2130a16..684197be 100644 --- a/apps/readest-app/public/locales/zh-TW/translation.json +++ b/apps/readest-app/public/locales/zh-TW/translation.json @@ -231,5 +231,6 @@ "Pro Tier": "專業方案", "RTL Direction": "從右向左", "Maximum Column Height": "最大列高", - "Maximum Column Width": "最大列寬" + "Maximum Column Width": "最大列寬", + "Continuous Scroll": "連續滾動" } diff --git a/apps/readest-app/src/app/reader/components/FoliateViewer.tsx b/apps/readest-app/src/app/reader/components/FoliateViewer.tsx index 9be3f7ca..2a4ad934 100644 --- a/apps/readest-app/src/app/reader/components/FoliateViewer.tsx +++ b/apps/readest-app/src/app/reader/components/FoliateViewer.tsx @@ -91,7 +91,8 @@ const FoliateViewer: React.FC<{ if (detail.reason === 'scroll') { const renderer = viewRef.current?.renderer; - if (renderer) { + const viewSettings = getViewSettings(bookKey)!; + if (renderer && viewSettings.continuousScroll) { if (renderer.start <= 0) { viewRef.current?.prev(1); // sometimes viewSize has subpixel value that the end never reaches diff --git a/apps/readest-app/src/app/reader/components/settings/MiscPanel.tsx b/apps/readest-app/src/app/reader/components/settings/MiscPanel.tsx index 4b70ded9..b71f714f 100644 --- a/apps/readest-app/src/app/reader/components/settings/MiscPanel.tsx +++ b/apps/readest-app/src/app/reader/components/settings/MiscPanel.tsx @@ -17,6 +17,7 @@ const MiscPanel: React.FC<{ bookKey: string }> = ({ bookKey }) => { const [animated, setAnimated] = useState(viewSettings.animated!); const [isDisableClick, setIsDisableClick] = useState(viewSettings.disableClick!); + const [isContinuousScroll, setIsContinuousScroll] = useState(viewSettings.continuousScroll!); const [draftStylesheet, setDraftStylesheet] = useState(viewSettings.userStylesheet!); const [draftStylesheetSaved, setDraftStylesheetSaved] = useState(true); const [error, setError] = useState(null); @@ -92,6 +93,16 @@ const MiscPanel: React.FC<{ bookKey: string }> = ({ bookKey }) => { // eslint-disable-next-line react-hooks/exhaustive-deps }, [isDisableClick]); + useEffect(() => { + viewSettings.continuousScroll = isContinuousScroll; + setViewSettings(bookKey, viewSettings); + if (isFontLayoutSettingsGlobal) { + settings.globalViewSettings.continuousScroll = isContinuousScroll; + setSettings(settings); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [isContinuousScroll]); + return (
@@ -115,7 +126,16 @@ const MiscPanel: React.FC<{ bookKey: string }> = ({ bookKey }) => {

{_('Behavior')}

-
+
+ {_('Continuous Scroll')} + setIsContinuousScroll(!isContinuousScroll)} + /> +
+
{_('Disable Click-to-Flip')}