@@ -1190,5 +1190,6 @@
|
||||
"Next Chapter": "الفصل التالي",
|
||||
"Scroll Half Page Down": "تمرير نصف صفحة لأسفل",
|
||||
"Scroll Half Page Up": "تمرير نصف صفحة لأعلى",
|
||||
"Save Note": "حفظ الملاحظة"
|
||||
"Save Note": "حفظ الملاحظة",
|
||||
"Single Section Scroll": "التمرير بقسم واحد"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "পরের অধ্যায়",
|
||||
"Scroll Half Page Down": "অর্ধেক পৃষ্ঠা নিচে স্ক্রল করুন",
|
||||
"Scroll Half Page Up": "অর্ধেক পৃষ্ঠা উপরে স্ক্রল করুন",
|
||||
"Save Note": "নোট সংরক্ষণ করুন"
|
||||
"Save Note": "নোট সংরক্ষণ করুন",
|
||||
"Single Section Scroll": "একক অধ্যায় স্ক্রল"
|
||||
}
|
||||
|
||||
@@ -1125,5 +1125,6 @@
|
||||
"Next Chapter": "རྗེས་མའི་ལེའུ།",
|
||||
"Scroll Half Page Down": "ཤོག་ངོས་ཕྱེད་ཀ་འོག་ཏུ།",
|
||||
"Scroll Half Page Up": "ཤོག་ངོས་ཕྱེད་ཀ་གོང་དུ།",
|
||||
"Save Note": "ཟིན་བྲིས་ཉར་བ།"
|
||||
"Save Note": "ཟིན་བྲིས་ཉར་བ།",
|
||||
"Single Section Scroll": "དོན་ཚན་གཅིག་འགུལ་བ།"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "Nächstes Kapitel",
|
||||
"Scroll Half Page Down": "Halbe Seite nach unten scrollen",
|
||||
"Scroll Half Page Up": "Halbe Seite nach oben scrollen",
|
||||
"Save Note": "Notiz speichern"
|
||||
"Save Note": "Notiz speichern",
|
||||
"Single Section Scroll": "Einzelabschnitt-Scrollen"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "Επόμενο κεφάλαιο",
|
||||
"Scroll Half Page Down": "Κύλιση μισής σελίδας κάτω",
|
||||
"Scroll Half Page Up": "Κύλιση μισής σελίδας πάνω",
|
||||
"Save Note": "Αποθήκευση σημείωσης"
|
||||
"Save Note": "Αποθήκευση σημείωσης",
|
||||
"Single Section Scroll": "Κύλιση μεμονωμένης ενότητας"
|
||||
}
|
||||
|
||||
@@ -1151,5 +1151,6 @@
|
||||
"Next Chapter": "Capítulo siguiente",
|
||||
"Scroll Half Page Down": "Desplazar media página abajo",
|
||||
"Scroll Half Page Up": "Desplazar media página arriba",
|
||||
"Save Note": "Guardar nota"
|
||||
"Save Note": "Guardar nota",
|
||||
"Single Section Scroll": "Desplazamiento por sección"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "فصل بعدی",
|
||||
"Scroll Half Page Down": "پیمایش نیم صفحه پایین",
|
||||
"Scroll Half Page Up": "پیمایش نیم صفحه بالا",
|
||||
"Save Note": "ذخیره یادداشت"
|
||||
"Save Note": "ذخیره یادداشت",
|
||||
"Single Section Scroll": "پیمایش تکبخشی"
|
||||
}
|
||||
|
||||
@@ -1151,5 +1151,6 @@
|
||||
"Next Chapter": "Chapitre suivant",
|
||||
"Scroll Half Page Down": "Défiler d'une demi-page vers le bas",
|
||||
"Scroll Half Page Up": "Défiler d'une demi-page vers le haut",
|
||||
"Save Note": "Enregistrer la note"
|
||||
"Save Note": "Enregistrer la note",
|
||||
"Single Section Scroll": "Défilement par section"
|
||||
}
|
||||
|
||||
@@ -1151,5 +1151,6 @@
|
||||
"Next Chapter": "פרק הבא",
|
||||
"Scroll Half Page Down": "גלול חצי עמוד למטה",
|
||||
"Scroll Half Page Up": "גלול חצי עמוד למעלה",
|
||||
"Save Note": "שמור הערה"
|
||||
"Save Note": "שמור הערה",
|
||||
"Single Section Scroll": "גלילת קטע בודד"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "अगला अध्याय",
|
||||
"Scroll Half Page Down": "आधा पृष्ठ नीचे स्क्रॉल करें",
|
||||
"Scroll Half Page Up": "आधा पृष्ठ ऊपर स्क्रॉल करें",
|
||||
"Save Note": "नोट सहेजें"
|
||||
"Save Note": "नोट सहेजें",
|
||||
"Single Section Scroll": "एकल अनुभाग स्क्रॉल"
|
||||
}
|
||||
|
||||
@@ -1125,5 +1125,6 @@
|
||||
"Next Chapter": "Bab berikutnya",
|
||||
"Scroll Half Page Down": "Gulir setengah halaman ke bawah",
|
||||
"Scroll Half Page Up": "Gulir setengah halaman ke atas",
|
||||
"Save Note": "Simpan catatan"
|
||||
"Save Note": "Simpan catatan",
|
||||
"Single Section Scroll": "Gulir Satu Bagian"
|
||||
}
|
||||
|
||||
@@ -1151,5 +1151,6 @@
|
||||
"Next Chapter": "Capitolo successivo",
|
||||
"Scroll Half Page Down": "Scorri mezza pagina in basso",
|
||||
"Scroll Half Page Up": "Scorri mezza pagina in alto",
|
||||
"Save Note": "Salva nota"
|
||||
"Save Note": "Salva nota",
|
||||
"Single Section Scroll": "Scorrimento a sezione singola"
|
||||
}
|
||||
|
||||
@@ -1125,5 +1125,6 @@
|
||||
"Next Chapter": "次の章",
|
||||
"Scroll Half Page Down": "半ページ下にスクロール",
|
||||
"Scroll Half Page Up": "半ページ上にスクロール",
|
||||
"Save Note": "メモを保存"
|
||||
"Save Note": "メモを保存",
|
||||
"Single Section Scroll": "単一セクションスクロール"
|
||||
}
|
||||
|
||||
@@ -1125,5 +1125,6 @@
|
||||
"Next Chapter": "다음 장",
|
||||
"Scroll Half Page Down": "반 페이지 아래로 스크롤",
|
||||
"Scroll Half Page Up": "반 페이지 위로 스크롤",
|
||||
"Save Note": "메모 저장"
|
||||
"Save Note": "메모 저장",
|
||||
"Single Section Scroll": "단일 섹션 스크롤"
|
||||
}
|
||||
|
||||
@@ -1125,5 +1125,6 @@
|
||||
"Next Chapter": "Bab seterusnya",
|
||||
"Scroll Half Page Down": "Tatal separuh halaman ke bawah",
|
||||
"Scroll Half Page Up": "Tatal separuh halaman ke atas",
|
||||
"Save Note": "Simpan nota"
|
||||
"Save Note": "Simpan nota",
|
||||
"Single Section Scroll": "Tatal Satu Bahagian"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "Volgend hoofdstuk",
|
||||
"Scroll Half Page Down": "Halve pagina naar beneden scrollen",
|
||||
"Scroll Half Page Up": "Halve pagina naar boven scrollen",
|
||||
"Save Note": "Notitie opslaan"
|
||||
"Save Note": "Notitie opslaan",
|
||||
"Single Section Scroll": "Scrollen per sectie"
|
||||
}
|
||||
|
||||
@@ -1164,5 +1164,6 @@
|
||||
"Next Chapter": "Następny rozdział",
|
||||
"Scroll Half Page Down": "Przewiń o pół strony w dół",
|
||||
"Scroll Half Page Up": "Przewiń o pół strony w górę",
|
||||
"Save Note": "Zapisz notatkę"
|
||||
"Save Note": "Zapisz notatkę",
|
||||
"Single Section Scroll": "Przewijanie pojedynczej sekcji"
|
||||
}
|
||||
|
||||
@@ -1151,5 +1151,6 @@
|
||||
"Next Chapter": "Próximo capítulo",
|
||||
"Scroll Half Page Down": "Rolar meia página para baixo",
|
||||
"Scroll Half Page Up": "Rolar meia página para cima",
|
||||
"Save Note": "Salvar nota"
|
||||
"Save Note": "Salvar nota",
|
||||
"Single Section Scroll": "Rolagem por seção"
|
||||
}
|
||||
|
||||
@@ -1164,5 +1164,6 @@
|
||||
"Next Chapter": "Следующая глава",
|
||||
"Scroll Half Page Down": "Прокрутить на полстраницы вниз",
|
||||
"Scroll Half Page Up": "Прокрутить на полстраницы вверх",
|
||||
"Save Note": "Сохранить заметку"
|
||||
"Save Note": "Сохранить заметку",
|
||||
"Single Section Scroll": "Прокрутка одного раздела"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "ඊළඟ පරිච්ඡේදය",
|
||||
"Scroll Half Page Down": "අඩ පිටුවක් පහළට අනුචලනය",
|
||||
"Scroll Half Page Up": "අඩ පිටුවක් ඉහළට අනුචලනය",
|
||||
"Save Note": "සටහන සුරකින්න"
|
||||
"Save Note": "සටහන සුරකින්න",
|
||||
"Single Section Scroll": "තනි කොටස අනුචලනය"
|
||||
}
|
||||
|
||||
@@ -1164,5 +1164,6 @@
|
||||
"Next Chapter": "Naslednje poglavje",
|
||||
"Scroll Half Page Down": "Drsi pol strani navzdol",
|
||||
"Scroll Half Page Up": "Drsi pol strani navzgor",
|
||||
"Save Note": "Shrani opombo"
|
||||
"Save Note": "Shrani opombo",
|
||||
"Single Section Scroll": "Drsenje posameznega razdelka"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "Nästa kapitel",
|
||||
"Scroll Half Page Down": "Rulla en halv sida nedåt",
|
||||
"Scroll Half Page Up": "Rulla en halv sida uppåt",
|
||||
"Save Note": "Spara anteckning"
|
||||
"Save Note": "Spara anteckning",
|
||||
"Single Section Scroll": "Rullning per avsnitt"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "அடுத்த அத்தியாயம்",
|
||||
"Scroll Half Page Down": "அரை பக்கம் கீழே உருட்டுக",
|
||||
"Scroll Half Page Up": "அரை பக்கம் மேலே உருட்டுக",
|
||||
"Save Note": "குறிப்பைச் சேமிக்கவும்"
|
||||
"Save Note": "குறிப்பைச் சேமிக்கவும்",
|
||||
"Single Section Scroll": "ஒற்றைப் பகுதி உருட்டல்"
|
||||
}
|
||||
|
||||
@@ -1125,5 +1125,6 @@
|
||||
"Next Chapter": "บทถัดไป",
|
||||
"Scroll Half Page Down": "เลื่อนลงครึ่งหน้า",
|
||||
"Scroll Half Page Up": "เลื่อนขึ้นครึ่งหน้า",
|
||||
"Save Note": "บันทึกโน้ต"
|
||||
"Save Note": "บันทึกโน้ต",
|
||||
"Single Section Scroll": "เลื่อนทีละส่วน"
|
||||
}
|
||||
|
||||
@@ -1138,5 +1138,6 @@
|
||||
"Next Chapter": "Sonraki bölüm",
|
||||
"Scroll Half Page Down": "Yarım sayfa aşağı kaydır",
|
||||
"Scroll Half Page Up": "Yarım sayfa yukarı kaydır",
|
||||
"Save Note": "Notu kaydet"
|
||||
"Save Note": "Notu kaydet",
|
||||
"Single Section Scroll": "Tek Bölüm Kaydırma"
|
||||
}
|
||||
|
||||
@@ -1164,5 +1164,6 @@
|
||||
"Next Chapter": "Наступний розділ",
|
||||
"Scroll Half Page Down": "Прокрутити на півсторінки вниз",
|
||||
"Scroll Half Page Up": "Прокрутити на півсторінки вгору",
|
||||
"Save Note": "Зберегти нотатку"
|
||||
"Save Note": "Зберегти нотатку",
|
||||
"Single Section Scroll": "Прокрутка одного розділу"
|
||||
}
|
||||
|
||||
@@ -1125,5 +1125,6 @@
|
||||
"Next Chapter": "Chương tiếp",
|
||||
"Scroll Half Page Down": "Cuộn xuống nửa trang",
|
||||
"Scroll Half Page Up": "Cuộn lên nửa trang",
|
||||
"Save Note": "Lưu ghi chú"
|
||||
"Save Note": "Lưu ghi chú",
|
||||
"Single Section Scroll": "Cuộn từng phần"
|
||||
}
|
||||
|
||||
@@ -1125,5 +1125,6 @@
|
||||
"Next Chapter": "下一章",
|
||||
"Scroll Half Page Down": "向下滚动半页",
|
||||
"Scroll Half Page Up": "向上滚动半页",
|
||||
"Save Note": "保存笔记"
|
||||
"Save Note": "保存笔记",
|
||||
"Single Section Scroll": "单章节滚动"
|
||||
}
|
||||
|
||||
@@ -1125,5 +1125,6 @@
|
||||
"Next Chapter": "下一章",
|
||||
"Scroll Half Page Down": "向下捲動半頁",
|
||||
"Scroll Half Page Up": "向上捲動半頁",
|
||||
"Save Note": "儲存筆記"
|
||||
"Save Note": "儲存筆記",
|
||||
"Single Section Scroll": "單章節捲動"
|
||||
}
|
||||
|
||||
@@ -609,6 +609,11 @@ const FoliateViewer: React.FC<{
|
||||
viewRef.current?.renderer.setAttribute('gap', `${viewSettings.gapPercent}%`);
|
||||
if (viewSettings.scrolled) {
|
||||
viewRef.current?.renderer.setAttribute('flow', 'scrolled');
|
||||
if (viewSettings.noContinuousScroll) {
|
||||
viewRef.current?.renderer.setAttribute('no-continuous-scroll', '');
|
||||
} else {
|
||||
viewRef.current?.renderer.removeAttribute('no-continuous-scroll');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -694,6 +699,7 @@ const FoliateViewer: React.FC<{
|
||||
viewSettings?.showBarsOnScroll,
|
||||
viewSettings?.showMarginsOnScroll,
|
||||
viewSettings?.scrolled,
|
||||
viewSettings?.noContinuousScroll,
|
||||
viewState?.ttsEnabled,
|
||||
]);
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ const ControlPanel: React.FC<SettingsPanelPanelProp> = ({ bookKey, onRegisterRes
|
||||
const viewSettings = getViewSettings(bookKey) || settings.globalViewSettings;
|
||||
|
||||
const [isScrolledMode, setScrolledMode] = useState(viewSettings.scrolled);
|
||||
const [noContinuousScroll, setNoContinuousScroll] = useState(viewSettings.noContinuousScroll);
|
||||
const [scrollingOverlap, setScrollingOverlap] = useState(viewSettings.scrollingOverlap);
|
||||
const [hideScrollbar, setHideScrollbar] = useState(viewSettings.hideScrollbar || false);
|
||||
const [volumeKeysToFlip, setVolumeKeysToFlip] = useState(viewSettings.volumeKeysToFlip);
|
||||
@@ -55,6 +56,7 @@ const ControlPanel: React.FC<SettingsPanelPanelProp> = ({ bookKey, onRegisterRes
|
||||
const handleReset = () => {
|
||||
resetToDefaults({
|
||||
scrolled: setScrolledMode,
|
||||
noContinuousScroll: setNoContinuousScroll,
|
||||
scrollingOverlap: setScrollingOverlap,
|
||||
hideScrollbar: setHideScrollbar,
|
||||
volumeKeysToFlip: setVolumeKeysToFlip,
|
||||
@@ -88,6 +90,17 @@ const ControlPanel: React.FC<SettingsPanelPanelProp> = ({ bookKey, onRegisterRes
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [isScrolledMode]);
|
||||
|
||||
useEffect(() => {
|
||||
if (noContinuousScroll === viewSettings.noContinuousScroll) return;
|
||||
saveViewSettings(envConfig, bookKey, 'noContinuousScroll', noContinuousScroll);
|
||||
if (noContinuousScroll) {
|
||||
getView(bookKey)?.renderer.setAttribute('no-continuous-scroll', '');
|
||||
} else {
|
||||
getView(bookKey)?.renderer.removeAttribute('no-continuous-scroll');
|
||||
}
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [noContinuousScroll]);
|
||||
|
||||
useEffect(() => {
|
||||
saveViewSettings(envConfig, bookKey, 'hideScrollbar', hideScrollbar, false, false);
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
@@ -235,6 +248,19 @@ const ControlPanel: React.FC<SettingsPanelPanelProp> = ({ bookKey, onRegisterRes
|
||||
onChange={() => setScrolledMode(!isScrolledMode)}
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
className='config-item'
|
||||
data-setting-id='settings.control.scroll.noContinuousScroll'
|
||||
>
|
||||
<span className=''>{_('Single Section Scroll')}</span>
|
||||
<input
|
||||
type='checkbox'
|
||||
className='toggle'
|
||||
checked={noContinuousScroll}
|
||||
disabled={!viewSettings.scrolled}
|
||||
onChange={() => setNoContinuousScroll(!noContinuousScroll)}
|
||||
/>
|
||||
</div>
|
||||
<NumberInput
|
||||
label={_('Overlap Pixels')}
|
||||
value={scrollingOverlap}
|
||||
|
||||
@@ -392,6 +392,12 @@ const controlPanelItems = [
|
||||
keywords: ['scroll', 'scrolled', 'mode', 'paginate', 'continuous'],
|
||||
section: 'Scroll',
|
||||
},
|
||||
{
|
||||
id: 'settings.control.scroll.noContinuousScroll',
|
||||
labelKey: _('Single Section Scroll'),
|
||||
keywords: ['single', 'section', 'scroll', 'continuous', 'one', 'chapter'],
|
||||
section: 'Scroll',
|
||||
},
|
||||
{
|
||||
id: 'settings.control.overlapPixels',
|
||||
labelKey: _('Overlap Pixels'),
|
||||
|
||||
@@ -179,6 +179,7 @@ export const DEFAULT_BOOK_LAYOUT: BookLayout = {
|
||||
compactMarginRightPx: 16,
|
||||
gapPercent: 5,
|
||||
scrolled: false,
|
||||
noContinuousScroll: false,
|
||||
disableClick: false,
|
||||
fullscreenClickArea: false,
|
||||
swapClickArea: false,
|
||||
|
||||
@@ -120,6 +120,7 @@ export interface BookLayout {
|
||||
compactMarginPx?: number; // deprecated
|
||||
gapPercent: number;
|
||||
scrolled: boolean;
|
||||
noContinuousScroll: boolean;
|
||||
disableClick: boolean;
|
||||
fullscreenClickArea: boolean;
|
||||
swapClickArea: boolean;
|
||||
|
||||
+1
-1
Submodule packages/foliate-js updated: ce3491dde2...7de55d4ebf
Reference in New Issue
Block a user