react-native-simple-epub-reader 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/components/GestureHandler/index.js +8 -2
- package/lib/module/components/GestureHandler/index.js.map +1 -1
- package/lib/module/components/Reader.js +98 -18
- package/lib/module/components/Reader.js.map +1 -1
- package/lib/module/constants/template.js +74 -70
- package/lib/module/constants/template.js.map +1 -1
- package/lib/module/constants/theme.js +28 -11
- package/lib/module/constants/theme.js.map +1 -1
- package/lib/module/helpers/downloadEpub.js +0 -3
- package/lib/module/helpers/downloadEpub.js.map +1 -1
- package/lib/module/helpers/saveTemplateToFile.js +4 -0
- package/lib/module/helpers/saveTemplateToFile.js.map +1 -1
- package/lib/module/hooks/useInjectWebviewVariables.js +4 -2
- package/lib/module/hooks/useInjectWebviewVariables.js.map +1 -1
- package/lib/typescript/src/components/GestureHandler/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Reader.d.ts +1 -1
- package/lib/typescript/src/components/Reader.d.ts.map +1 -1
- package/lib/typescript/src/constants/template.d.ts +1 -1
- package/lib/typescript/src/constants/template.d.ts.map +1 -1
- package/lib/typescript/src/constants/theme.d.ts.map +1 -1
- package/lib/typescript/src/helpers/downloadEpub.d.ts.map +1 -1
- package/lib/typescript/src/helpers/saveTemplateToFile.d.ts +1 -0
- package/lib/typescript/src/helpers/saveTemplateToFile.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useInjectWebviewVariables.d.ts +2 -1
- package/lib/typescript/src/hooks/useInjectWebviewVariables.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +4 -0
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/GestureHandler/index.tsx +8 -0
- package/src/components/Reader.tsx +125 -17
- package/src/constants/template.ts +74 -70
- package/src/constants/theme.ts +28 -11
- package/src/helpers/downloadEpub.ts +0 -2
- package/src/helpers/saveTemplateToFile.ts +5 -0
- package/src/hooks/useInjectWebviewVariables.ts +9 -0
- package/src/types/index.ts +4 -0
|
@@ -7,7 +7,9 @@ const GestureHandler = ({
|
|
|
7
7
|
onSwipeLeft,
|
|
8
8
|
onSwipeRight,
|
|
9
9
|
onTap,
|
|
10
|
-
|
|
10
|
+
onPinchStart,
|
|
11
|
+
onPinch,
|
|
12
|
+
onPinchEnd
|
|
11
13
|
}) => {
|
|
12
14
|
const swipeLeftGesture = Gesture.Fling().runOnJS(true).direction(Directions.LEFT).onEnd(() => {
|
|
13
15
|
onSwipeLeft?.();
|
|
@@ -18,8 +20,12 @@ const GestureHandler = ({
|
|
|
18
20
|
const tapGesture = Gesture.Tap().runOnJS(true).maxDuration(250).onStart(() => {
|
|
19
21
|
onTap?.();
|
|
20
22
|
});
|
|
21
|
-
const pinchGesture = Gesture.Pinch().runOnJS(true).
|
|
23
|
+
const pinchGesture = Gesture.Pinch().runOnJS(true).onStart(() => {
|
|
24
|
+
onPinchStart?.();
|
|
25
|
+
}).onUpdate(e => {
|
|
22
26
|
onPinch?.(e);
|
|
27
|
+
}).onEnd(() => {
|
|
28
|
+
onPinchEnd?.();
|
|
23
29
|
});
|
|
24
30
|
const combinedGesture = Gesture.Race(Gesture.Exclusive(swipeLeftGesture, swipeRightGesture), tapGesture, pinchGesture);
|
|
25
31
|
return /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Directions","Gesture","GestureDetector","GestureHandlerRootView","jsx","_jsx","GestureHandler","children","onSwipeLeft","onSwipeRight","onTap","onPinch","swipeLeftGesture","Fling","runOnJS","direction","LEFT","onEnd","swipeRightGesture","RIGHT","tapGesture","Tap","maxDuration","onStart","pinchGesture","Pinch","onUpdate","e","combinedGesture","Race","Exclusive","style","styles","container","gesture","flex"],"sourceRoot":"../../../../src","sources":["components/GestureHandler/index.tsx"],"mappings":";;AAEA,SACEA,UAAU,EACVC,OAAO,EACPC,eAAe,EACfC,sBAAsB,QACjB,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtC,MAAMC,cAA0D,GAAGA,CAAC;EAClEC,QAAQ;EACRC,WAAW;EACXC,YAAY;EACZC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,
|
|
1
|
+
{"version":3,"names":["Directions","Gesture","GestureDetector","GestureHandlerRootView","jsx","_jsx","GestureHandler","children","onSwipeLeft","onSwipeRight","onTap","onPinchStart","onPinch","onPinchEnd","swipeLeftGesture","Fling","runOnJS","direction","LEFT","onEnd","swipeRightGesture","RIGHT","tapGesture","Tap","maxDuration","onStart","pinchGesture","Pinch","onUpdate","e","combinedGesture","Race","Exclusive","style","styles","container","gesture","flex"],"sourceRoot":"../../../../src","sources":["components/GestureHandler/index.tsx"],"mappings":";;AAEA,SACEA,UAAU,EACVC,OAAO,EACPC,eAAe,EACfC,sBAAsB,QACjB,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtC,MAAMC,cAA0D,GAAGA,CAAC;EAClEC,QAAQ;EACRC,WAAW;EACXC,YAAY;EACZC,KAAK;EACLC,YAAY;EACZC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAGb,OAAO,CAACc,KAAK,CAAC,CAAC,CACrCC,OAAO,CAAC,IAAI,CAAC,CACbC,SAAS,CAACjB,UAAU,CAACkB,IAAI,CAAC,CAC1BC,KAAK,CAAC,MAAM;IACXX,WAAW,GAAG,CAAC;EACjB,CAAC,CAAC;EAEJ,MAAMY,iBAAiB,GAAGnB,OAAO,CAACc,KAAK,CAAC,CAAC,CACtCC,OAAO,CAAC,IAAI,CAAC,CACbC,SAAS,CAACjB,UAAU,CAACqB,KAAK,CAAC,CAC3BF,KAAK,CAAC,MAAM;IACXV,YAAY,GAAG,CAAC;EAClB,CAAC,CAAC;EAEJ,MAAMa,UAAU,GAAGrB,OAAO,CAACsB,GAAG,CAAC,CAAC,CAC7BP,OAAO,CAAC,IAAI,CAAC,CACbQ,WAAW,CAAC,GAAG,CAAC,CAChBC,OAAO,CAAC,MAAM;IACbf,KAAK,GAAG,CAAC;EACX,CAAC,CAAC;EAEJ,MAAMgB,YAAY,GAAGzB,OAAO,CAAC0B,KAAK,CAAC,CAAC,CACjCX,OAAO,CAAC,IAAI,CAAC,CACbS,OAAO,CAAC,MAAM;IACbd,YAAY,GAAG,CAAC;EAClB,CAAC,CAAC,CACDiB,QAAQ,CAAEC,CAAC,IAAK;IACfjB,OAAO,GAAGiB,CAAC,CAAC;EACd,CAAC,CAAC,CACDV,KAAK,CAAC,MAAM;IACXN,UAAU,GAAG,CAAC;EAChB,CAAC,CAAC;EAEJ,MAAMiB,eAAe,GAAG7B,OAAO,CAAC8B,IAAI,CAClC9B,OAAO,CAAC+B,SAAS,CAAClB,gBAAgB,EAAEM,iBAAiB,CAAC,EACtDE,UAAU,EACVI,YACF,CAAC;EACD,oBACErB,IAAA,CAACF,sBAAsB;IAAC8B,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAA5B,QAAA,eAC9CF,IAAA,CAACH,eAAe;MAACkC,OAAO,EAAEN,eAAgB;MAAAvB,QAAA,EAAEA;IAAQ,CAAkB;EAAC,CACjD,CAAC;AAE7B,CAAC;AAED,MAAM2B,MAAM,GAAG;EACbC,SAAS,EAAE;IACTE,IAAI,EAAE;EACR;AACF,CAAC;AAED,eAAe/B,cAAc","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { View, Text, ActivityIndicator, StyleSheet } from 'react-native';
|
|
|
4
4
|
import { SourceType } from "../types/index.js";
|
|
5
5
|
import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
6
6
|
import { loadScripts } from "../helpers/loadScripts.js";
|
|
7
|
-
import { saveTemplateToFile } from "../helpers/saveTemplateToFile.js";
|
|
7
|
+
import { checkTemplateFileExists, getTemplateFileUri, saveTemplateToFile } from "../helpers/saveTemplateToFile.js";
|
|
8
8
|
import { downloadEpub } from "../helpers/downloadEpub.js";
|
|
9
9
|
import { Paths } from 'expo-file-system';
|
|
10
10
|
import { useInjectWebViewVariables } from "../hooks/useInjectWebviewVariables.js";
|
|
@@ -20,6 +20,8 @@ const Reader = ({
|
|
|
20
20
|
onSwipeLeft,
|
|
21
21
|
onSwipeRight,
|
|
22
22
|
initialLocation,
|
|
23
|
+
beginAt,
|
|
24
|
+
waitForLocationsReady = false,
|
|
23
25
|
onLocationsReady = () => {},
|
|
24
26
|
onLocationChange = () => {},
|
|
25
27
|
onFinish = () => {},
|
|
@@ -29,8 +31,11 @@ const Reader = ({
|
|
|
29
31
|
onWebViewMessage
|
|
30
32
|
}) => {
|
|
31
33
|
const [templateUri, setTemplateUri] = useState('');
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
const pinchStartFontSizeRef = useRef(null);
|
|
35
|
+
const hasAppliedBeginAtRef = useRef(false);
|
|
36
|
+
const templateAssetsRef = useRef(null);
|
|
37
|
+
const hasPersistedLocationsRef = useRef(false);
|
|
38
|
+
const hasLocationsReadyRef = useRef(false);
|
|
34
39
|
const {
|
|
35
40
|
registerBook,
|
|
36
41
|
goNext,
|
|
@@ -52,6 +57,25 @@ const Reader = ({
|
|
|
52
57
|
injectWebViewVariables
|
|
53
58
|
} = useInjectWebViewVariables();
|
|
54
59
|
const bookRef = useRef(null);
|
|
60
|
+
const goToProgress = useCallback(progress => {
|
|
61
|
+
const normalizedProgress = progress > 1 ? Math.min(Math.max(progress / 100, 0), 1) : Math.min(Math.max(progress, 0), 1);
|
|
62
|
+
bookRef.current?.injectJavaScript(`
|
|
63
|
+
if (
|
|
64
|
+
typeof rendition !== 'undefined' &&
|
|
65
|
+
rendition &&
|
|
66
|
+
typeof book !== 'undefined' &&
|
|
67
|
+
book &&
|
|
68
|
+
book.locations &&
|
|
69
|
+
typeof book.locations.cfiFromPercentage === 'function'
|
|
70
|
+
) {
|
|
71
|
+
const targetCfi = book.locations.cfiFromPercentage(${normalizedProgress});
|
|
72
|
+
if (targetCfi) {
|
|
73
|
+
rendition.display(targetCfi);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
true;
|
|
77
|
+
`);
|
|
78
|
+
}, []);
|
|
55
79
|
const onMessage = event => {
|
|
56
80
|
let parsedEvent;
|
|
57
81
|
try {
|
|
@@ -60,7 +84,6 @@ const Reader = ({
|
|
|
60
84
|
console.warn('Failed to parse WebView message:', error);
|
|
61
85
|
return;
|
|
62
86
|
}
|
|
63
|
-
console.log(parsedEvent.type);
|
|
64
87
|
if (!INTERNAL_EVENTS.includes(parsedEvent?.type) && onWebViewMessage) {
|
|
65
88
|
return onWebViewMessage(parsedEvent);
|
|
66
89
|
}
|
|
@@ -91,14 +114,43 @@ const Reader = ({
|
|
|
91
114
|
break;
|
|
92
115
|
case 'onLocationsReady':
|
|
93
116
|
const props = parsedEvent;
|
|
117
|
+
hasLocationsReadyRef.current = true;
|
|
94
118
|
setLocations(parsedEvent.locations);
|
|
95
119
|
setTotalLocations(props.totalLocations);
|
|
96
120
|
setCurrentLocation(props.currentLocation);
|
|
97
121
|
setProgress(props.progress);
|
|
98
|
-
return onLocationsReady(props.epubKey, parsedEvent.locations);
|
|
99
|
-
case 'onReady':
|
|
100
|
-
// setIsReaderReady(true);
|
|
101
122
|
setIsLoading(false);
|
|
123
|
+
if (typeof beginAt === 'number' && !initialLocation && !hasAppliedBeginAtRef.current) {
|
|
124
|
+
goToProgress(beginAt);
|
|
125
|
+
hasAppliedBeginAtRef.current = true;
|
|
126
|
+
}
|
|
127
|
+
onLocationsReady(props.epubKey, parsedEvent.locations);
|
|
128
|
+
if (parsedEvent.locations?.length && templateAssetsRef.current && !hasPersistedLocationsRef.current) {
|
|
129
|
+
setTimeout(() => {
|
|
130
|
+
const assets = templateAssetsRef.current;
|
|
131
|
+
if (!assets) return;
|
|
132
|
+
try {
|
|
133
|
+
const generatedTemplateWithLocations = injectWebViewVariables({
|
|
134
|
+
jszip: assets.jszip,
|
|
135
|
+
epubjs: assets.epubjs,
|
|
136
|
+
type: SourceType.EPUB,
|
|
137
|
+
allowScriptedContent: true,
|
|
138
|
+
book: assets.localEpubUri,
|
|
139
|
+
theme: initialTheme,
|
|
140
|
+
locations: parsedEvent.locations
|
|
141
|
+
});
|
|
142
|
+
saveTemplateToFile(generatedTemplateWithLocations, htmlTemplateName);
|
|
143
|
+
hasPersistedLocationsRef.current = true;
|
|
144
|
+
} catch (persistError) {
|
|
145
|
+
console.warn('Failed to persist cached locations:', persistError);
|
|
146
|
+
}
|
|
147
|
+
}, 0);
|
|
148
|
+
}
|
|
149
|
+
break;
|
|
150
|
+
case 'onReady':
|
|
151
|
+
if (!waitForLocationsReady) {
|
|
152
|
+
setIsLoading(false);
|
|
153
|
+
}
|
|
102
154
|
if (initialLocation) {
|
|
103
155
|
goToLocation(initialLocation);
|
|
104
156
|
}
|
|
@@ -121,25 +173,32 @@ const Reader = ({
|
|
|
121
173
|
onTap?.();
|
|
122
174
|
};
|
|
123
175
|
const handleOnSwipeLeft = () => {
|
|
124
|
-
// if (!isReaderReady) return;
|
|
125
176
|
onSwipeLeft?.();
|
|
126
177
|
goNext();
|
|
127
178
|
};
|
|
128
179
|
const handleOnSwipeRight = () => {
|
|
129
|
-
// if (!isReaderReady) return;
|
|
130
180
|
onSwipeRight?.();
|
|
131
181
|
goPrevious();
|
|
132
182
|
};
|
|
133
183
|
const handleOnPinch = e => {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
const
|
|
138
|
-
const
|
|
139
|
-
const
|
|
140
|
-
|
|
184
|
+
if (pinchStartFontSizeRef.current === null) {
|
|
185
|
+
pinchStartFontSizeRef.current = parseFloat(fontSize.replace('pt', ''));
|
|
186
|
+
}
|
|
187
|
+
const baseFontSize = pinchStartFontSizeRef.current;
|
|
188
|
+
const sensitivity = 0.5;
|
|
189
|
+
const adjustedScale = 1 + (e.scale - 1) * sensitivity;
|
|
190
|
+
const scaledFontSize = baseFontSize * adjustedScale;
|
|
191
|
+
const clampedFontSize = Math.min(Math.max(scaledFontSize, 9), 32);
|
|
192
|
+
const smoothedFontSize = Math.round(clampedFontSize * 2) / 2;
|
|
193
|
+
changeFontSize(`${smoothedFontSize}pt`);
|
|
141
194
|
onPinch?.(e);
|
|
142
195
|
};
|
|
196
|
+
const handleOnPinchStart = () => {
|
|
197
|
+
pinchStartFontSizeRef.current = parseFloat(fontSize.replace('pt', ''));
|
|
198
|
+
};
|
|
199
|
+
const handleOnPinchEnd = () => {
|
|
200
|
+
pinchStartFontSizeRef.current = null;
|
|
201
|
+
};
|
|
143
202
|
const epubFileName = useMemo(() => {
|
|
144
203
|
const splited = src.split('/').pop() || 'book.epub';
|
|
145
204
|
const cleanName = splited.split('?')[0] || 'book.epub';
|
|
@@ -158,11 +217,24 @@ const Reader = ({
|
|
|
158
217
|
const prepareReader = async () => {
|
|
159
218
|
try {
|
|
160
219
|
setIsLoading(true);
|
|
161
|
-
// setIsReaderReady(false);
|
|
162
220
|
setTemplateUri('');
|
|
221
|
+
hasAppliedBeginAtRef.current = false;
|
|
222
|
+
hasPersistedLocationsRef.current = false;
|
|
223
|
+
hasLocationsReadyRef.current = false;
|
|
163
224
|
const [, jszip, epubjs] = await loadScripts();
|
|
164
225
|
if (!jszip || !epubjs) throw new Error('Failed to load scripts');
|
|
165
226
|
const localEpubUri = await downloadEpub(src, epubFileName);
|
|
227
|
+
templateAssetsRef.current = {
|
|
228
|
+
jszip,
|
|
229
|
+
epubjs,
|
|
230
|
+
localEpubUri
|
|
231
|
+
};
|
|
232
|
+
if (checkTemplateFileExists(htmlTemplateName)) {
|
|
233
|
+
if (isMounted) {
|
|
234
|
+
setTemplateUri(getTemplateFileUri(htmlTemplateName));
|
|
235
|
+
}
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
166
238
|
const generatedTemplate = injectWebViewVariables({
|
|
167
239
|
jszip,
|
|
168
240
|
epubjs,
|
|
@@ -203,7 +275,9 @@ const Reader = ({
|
|
|
203
275
|
onSwipeLeft: handleOnSwipeLeft,
|
|
204
276
|
onSwipeRight: handleOnSwipeRight,
|
|
205
277
|
onTap: handleOnTap,
|
|
278
|
+
onPinchStart: handleOnPinchStart,
|
|
206
279
|
onPinch: handleOnPinch,
|
|
280
|
+
onPinchEnd: handleOnPinchEnd,
|
|
207
281
|
children: /*#__PURE__*/_jsx(WebView, {
|
|
208
282
|
pointerEvents: "none",
|
|
209
283
|
ref: handleBookRef,
|
|
@@ -221,6 +295,11 @@ const Reader = ({
|
|
|
221
295
|
allowFileAccess: true,
|
|
222
296
|
javaScriptCanOpenWindowsAutomatically: true,
|
|
223
297
|
onMessage: onMessage,
|
|
298
|
+
onLoadEnd: () => {
|
|
299
|
+
if (!waitForLocationsReady || hasLocationsReadyRef.current) {
|
|
300
|
+
setIsLoading(false);
|
|
301
|
+
}
|
|
302
|
+
},
|
|
224
303
|
style: styles.container
|
|
225
304
|
})
|
|
226
305
|
}), isLoading && (LoaderComponent ? /*#__PURE__*/_jsx(View, {
|
|
@@ -248,7 +327,8 @@ const styles = StyleSheet.create({
|
|
|
248
327
|
loaderOverlay: {
|
|
249
328
|
...StyleSheet.absoluteFillObject,
|
|
250
329
|
justifyContent: 'center',
|
|
251
|
-
alignItems: 'center'
|
|
330
|
+
alignItems: 'center',
|
|
331
|
+
backgroundColor: '#ffffff'
|
|
252
332
|
}
|
|
253
333
|
});
|
|
254
334
|
export default Reader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Text","ActivityIndicator","StyleSheet","SourceType","useCallback","useContext","useEffect","useMemo","useRef","useState","loadScripts","saveTemplateToFile","downloadEpub","Paths","useInjectWebViewVariables","WebView","GestureHandler","defaultTheme","initialTheme","ReaderContext","INTERNAL_EVENTS","jsx","_jsx","jsxs","_jsxs","Reader","src","onTap","onSwipeLeft","onSwipeRight","initialLocation","onLocationsReady","onLocationChange","onFinish","onBeginning","onPinch","LoaderComponent","onWebViewMessage","templateUri","setTemplateUri","registerBook","goNext","goPrevious","setMeta","setLocations","setTotalLocations","setCurrentLocation","setProgress","goToLocation","setAtEnd","setAtStart","fontSize","changeFontSize","setIsLoading","isLoading","injectWebViewVariables","bookRef","onMessage","event","parsedEvent","JSON","parse","nativeEvent","data","error","console","warn","log","type","includes","totalLocations","currentLocation","progress","currentSection","atStart","atEnd","metadata","props","locations","epubKey","reason","handleOnTap","handleOnSwipeLeft","handleOnSwipeRight","handleOnPinch","e","fontSizeValue","parseInt","replace","scaleValue","scale","newFontSize","clampedFontSize","Math","min","max","epubFileName","splited","split","pop","cleanName","decoded","decodeURIComponent","htmlTemplateName","handleBookRef","instance","current","isMounted","prepareReader","jszip","epubjs","Error","localEpubUri","generatedTemplate","EPUB","allowScriptedContent","book","theme","uri","style","styles","loaderContainer","children","size","container","pointerEvents","ref","source","showsVerticalScrollIndicator","javaScriptEnabled","originWhitelist","scrollEnabled","mixedContentMode","allowingReadAccessToURL","document","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","allowFileAccess","javaScriptCanOpenWindowsAutomatically","loaderOverlay","create","flex","justifyContent","alignItems","absoluteFillObject"],"sourceRoot":"../../../src","sources":["components/Reader.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["View","Text","ActivityIndicator","StyleSheet","SourceType","useCallback","useContext","useEffect","useMemo","useRef","useState","loadScripts","checkTemplateFileExists","getTemplateFileUri","saveTemplateToFile","downloadEpub","Paths","useInjectWebViewVariables","WebView","GestureHandler","defaultTheme","initialTheme","ReaderContext","INTERNAL_EVENTS","jsx","_jsx","jsxs","_jsxs","Reader","src","onTap","onSwipeLeft","onSwipeRight","initialLocation","beginAt","waitForLocationsReady","onLocationsReady","onLocationChange","onFinish","onBeginning","onPinch","LoaderComponent","onWebViewMessage","templateUri","setTemplateUri","pinchStartFontSizeRef","hasAppliedBeginAtRef","templateAssetsRef","hasPersistedLocationsRef","hasLocationsReadyRef","registerBook","goNext","goPrevious","setMeta","setLocations","setTotalLocations","setCurrentLocation","setProgress","goToLocation","setAtEnd","setAtStart","fontSize","changeFontSize","setIsLoading","isLoading","injectWebViewVariables","bookRef","goToProgress","progress","normalizedProgress","Math","min","max","current","injectJavaScript","onMessage","event","parsedEvent","JSON","parse","nativeEvent","data","error","console","warn","includes","type","totalLocations","currentLocation","currentSection","atStart","atEnd","metadata","props","locations","epubKey","length","setTimeout","assets","generatedTemplateWithLocations","jszip","epubjs","EPUB","allowScriptedContent","book","localEpubUri","theme","htmlTemplateName","persistError","reason","handleOnTap","handleOnSwipeLeft","handleOnSwipeRight","handleOnPinch","e","parseFloat","replace","baseFontSize","sensitivity","adjustedScale","scale","scaledFontSize","clampedFontSize","smoothedFontSize","round","handleOnPinchStart","handleOnPinchEnd","epubFileName","splited","split","pop","cleanName","decoded","decodeURIComponent","handleBookRef","instance","isMounted","prepareReader","Error","generatedTemplate","uri","style","styles","loaderContainer","children","size","container","onPinchStart","onPinchEnd","pointerEvents","ref","source","showsVerticalScrollIndicator","javaScriptEnabled","originWhitelist","scrollEnabled","mixedContentMode","allowingReadAccessToURL","document","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","allowFileAccess","javaScriptCanOpenWindowsAutomatically","onLoadEnd","loaderOverlay","create","flex","justifyContent","alignItems","absoluteFillObject","backgroundColor"],"sourceRoot":"../../../src","sources":["components/Reader.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -57,6 +57,7 @@ export default `
|
|
|
57
57
|
const enableSelection = window.enable_selection;
|
|
58
58
|
const allowScriptedContent = window.allowScriptedContent || false;
|
|
59
59
|
const allowPopups = window.allowPopups || false;
|
|
60
|
+
const LOCATION_GENERATION_CHARS = 2800;
|
|
60
61
|
|
|
61
62
|
if (!file) {
|
|
62
63
|
const reactNativeWebview = window.ReactNativeWebView !== undefined && window.ReactNativeWebView !== null ? window.ReactNativeWebView : window;
|
|
@@ -189,53 +190,73 @@ export default `
|
|
|
189
190
|
: 0,
|
|
190
191
|
}));
|
|
191
192
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
:
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
193
|
+
// Defer heavier work to let the onReady bridge message be delivered first.
|
|
194
|
+
setTimeout(function () {
|
|
195
|
+
if (initialLocations && initialLocations.length) {
|
|
196
|
+
reactNativeWebview.postMessage(JSON.stringify({
|
|
197
|
+
type: "onLocationsReady",
|
|
198
|
+
epubKey: book.key(),
|
|
199
|
+
locations: initialLocations,
|
|
200
|
+
totalLocations: book.locations.total,
|
|
201
|
+
currentLocation: currentLocation,
|
|
202
|
+
progress: currentLocation?.start?.cfi
|
|
203
|
+
? book.locations.percentageFromCfi(currentLocation.start.cfi)
|
|
204
|
+
: 0,
|
|
205
|
+
}));
|
|
206
|
+
} else {
|
|
207
|
+
// Larger chunk size reduces startup cost for the first locations map.
|
|
208
|
+
book.locations.generate(LOCATION_GENERATION_CHARS).then(function () {
|
|
209
|
+
var generatedLocation = rendition.currentLocation() || currentLocation;
|
|
210
|
+
reactNativeWebview.postMessage(JSON.stringify({
|
|
211
|
+
type: "onLocationsReady",
|
|
212
|
+
epubKey: book.key(),
|
|
213
|
+
locations: book.locations.save(),
|
|
214
|
+
totalLocations: book.locations.total,
|
|
215
|
+
currentLocation: generatedLocation,
|
|
216
|
+
progress: generatedLocation?.start?.cfi
|
|
217
|
+
? book.locations.percentageFromCfi(generatedLocation.start.cfi)
|
|
218
|
+
: 0,
|
|
219
|
+
}));
|
|
220
|
+
}).catch(function () {
|
|
221
|
+
reactNativeWebview.postMessage(JSON.stringify({
|
|
222
|
+
type: "onLocationsReady",
|
|
223
|
+
epubKey: book.key(),
|
|
224
|
+
locations: [],
|
|
225
|
+
totalLocations: book.locations.total,
|
|
226
|
+
currentLocation: currentLocation,
|
|
227
|
+
progress: 0,
|
|
228
|
+
}));
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
book
|
|
233
|
+
.coverUrl()
|
|
234
|
+
.then(async (url) => {
|
|
235
|
+
var reader = new FileReader();
|
|
236
|
+
reader.onload = () => {
|
|
237
|
+
reactNativeWebview.postMessage(
|
|
238
|
+
JSON.stringify({
|
|
239
|
+
type: "meta",
|
|
240
|
+
metadata: {
|
|
241
|
+
cover: reader.result,
|
|
242
|
+
author: book.package.metadata.creator,
|
|
243
|
+
title: book.package.metadata.title,
|
|
244
|
+
description: book.package.metadata.description,
|
|
245
|
+
language: book.package.metadata.language,
|
|
246
|
+
publisher: book.package.metadata.publisher,
|
|
247
|
+
rights: book.package.metadata.rights,
|
|
248
|
+
},
|
|
249
|
+
})
|
|
250
|
+
);
|
|
251
|
+
};
|
|
252
|
+
reader.readAsDataURL(await fetch(url).then((res) => res.blob()));
|
|
253
|
+
})
|
|
254
|
+
.catch(() => {
|
|
234
255
|
reactNativeWebview.postMessage(
|
|
235
256
|
JSON.stringify({
|
|
236
257
|
type: "meta",
|
|
237
258
|
metadata: {
|
|
238
|
-
cover:
|
|
259
|
+
cover: undefined,
|
|
239
260
|
author: book.package.metadata.creator,
|
|
240
261
|
title: book.package.metadata.title,
|
|
241
262
|
description: book.package.metadata.description,
|
|
@@ -245,33 +266,16 @@ export default `
|
|
|
245
266
|
},
|
|
246
267
|
})
|
|
247
268
|
);
|
|
248
|
-
};
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
title: book.package.metadata.title,
|
|
259
|
-
description: book.package.metadata.description,
|
|
260
|
-
language: book.package.metadata.language,
|
|
261
|
-
publisher: book.package.metadata.publisher,
|
|
262
|
-
rights: book.package.metadata.rights,
|
|
263
|
-
},
|
|
264
|
-
})
|
|
265
|
-
);
|
|
266
|
-
});
|
|
267
|
-
|
|
268
|
-
book.loaded.navigation.then(function (item) {
|
|
269
|
-
reactNativeWebview.postMessage(JSON.stringify({
|
|
270
|
-
type: 'onNavigationLoaded',
|
|
271
|
-
toc: item.toc,
|
|
272
|
-
landmarks: item.landmarks
|
|
273
|
-
}));
|
|
274
|
-
});
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
book.loaded.navigation.then(function (item) {
|
|
272
|
+
reactNativeWebview.postMessage(JSON.stringify({
|
|
273
|
+
type: 'onNavigationLoaded',
|
|
274
|
+
toc: item.toc,
|
|
275
|
+
landmarks: item.landmarks
|
|
276
|
+
}));
|
|
277
|
+
});
|
|
278
|
+
}, 0);
|
|
275
279
|
})
|
|
276
280
|
.catch(function (err) {
|
|
277
281
|
reactNativeWebview.postMessage(JSON.stringify({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["constants/template.ts"],"mappings":";;AAAA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["constants/template.ts"],"mappings":";;AAAA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -2,42 +2,59 @@
|
|
|
2
2
|
|
|
3
3
|
export const defaultTheme = {
|
|
4
4
|
'body': {
|
|
5
|
-
background: '#
|
|
5
|
+
background: '#211F26'
|
|
6
6
|
},
|
|
7
7
|
'span': {
|
|
8
|
-
color: '#
|
|
8
|
+
color: '#ffffff !important',
|
|
9
|
+
backgroundColor: '#211F26'
|
|
9
10
|
},
|
|
10
11
|
'p': {
|
|
11
|
-
color: '#
|
|
12
|
+
color: '#ffffff !important',
|
|
13
|
+
backgroundColor: '#211F26'
|
|
12
14
|
},
|
|
13
15
|
'li': {
|
|
14
|
-
color: '#
|
|
16
|
+
color: '#ffffff !important',
|
|
17
|
+
backgroundColor: '#211F26'
|
|
15
18
|
},
|
|
16
19
|
'h1': {
|
|
17
|
-
color: '#
|
|
20
|
+
color: '#ffffff !important',
|
|
21
|
+
backgroundColor: '#211F26'
|
|
18
22
|
},
|
|
19
23
|
'h2': {
|
|
20
|
-
color: '#
|
|
24
|
+
color: '#ffffff !important',
|
|
25
|
+
backgroundColor: '#211F26'
|
|
21
26
|
},
|
|
22
27
|
'h3': {
|
|
23
|
-
color: '#
|
|
28
|
+
color: '#ffffff !important',
|
|
29
|
+
backgroundColor: '#211F26'
|
|
24
30
|
},
|
|
25
31
|
'h4': {
|
|
26
|
-
color: '#
|
|
32
|
+
color: '#ffffff !important',
|
|
33
|
+
backgroundColor: '#211F26'
|
|
27
34
|
},
|
|
28
35
|
'h5': {
|
|
29
|
-
color: '#
|
|
36
|
+
color: '#ffffff !important',
|
|
37
|
+
backgroundColor: '#211F26'
|
|
30
38
|
},
|
|
31
39
|
'h6': {
|
|
32
|
-
color: '#
|
|
40
|
+
color: '#ffffff !important',
|
|
41
|
+
backgroundColor: '#211F26'
|
|
33
42
|
},
|
|
34
43
|
'a': {
|
|
35
|
-
'color': '#
|
|
44
|
+
'color': '#ffffff !important',
|
|
45
|
+
'backgroundColor': '#211F26',
|
|
36
46
|
'pointer-events': 'auto',
|
|
37
47
|
'cursor': 'pointer'
|
|
38
48
|
},
|
|
49
|
+
'*': {
|
|
50
|
+
color: '#ffffff !important',
|
|
51
|
+
backgroundColor: '#211F26'
|
|
52
|
+
},
|
|
39
53
|
'::selection': {
|
|
40
54
|
background: 'lightskyblue'
|
|
55
|
+
},
|
|
56
|
+
'::marker': {
|
|
57
|
+
color: '#ffffff !important'
|
|
41
58
|
}
|
|
42
59
|
};
|
|
43
60
|
//# sourceMappingURL=theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultTheme","background","color"],"sourceRoot":"../../../src","sources":["constants/theme.ts"],"mappings":";;AAEA,OAAO,MAAMA,YAAmB,GAAG;EACjC,MAAM,EAAE;IACNC,UAAU,EAAE;EACd,CAAC;EACD,MAAM,EAAE;IACNC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"names":["defaultTheme","background","color","backgroundColor"],"sourceRoot":"../../../src","sources":["constants/theme.ts"],"mappings":";;AAEA,OAAO,MAAMA,YAAmB,GAAG;EACjC,MAAM,EAAE;IACNC,UAAU,EAAE;EACd,CAAC;EACD,MAAM,EAAE;IACNC,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,GAAG,EAAE;IACHD,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,IAAI,EAAE;IACJD,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,IAAI,EAAE;IACJD,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,IAAI,EAAE;IACJD,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,IAAI,EAAE;IACJD,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,IAAI,EAAE;IACJD,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,IAAI,EAAE;IACJD,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,IAAI,EAAE;IACJD,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,GAAG,EAAE;IACH,OAAO,EAAE,oBAAoB;IAC7B,iBAAiB,EAAE,SAAS;IAC5B,gBAAgB,EAAE,MAAM;IACxB,QAAQ,EAAE;EACZ,CAAC;EACD,GAAG,EAAE;IACHD,KAAK,EAAE,oBAAoB;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACD,aAAa,EAAE;IACbF,UAAU,EAAE;EACd,CAAC;EACD,UAAU,EAAE;IACVC,KAAK,EAAE;EACT;AACF,CAAC","ignoreList":[]}
|
|
@@ -11,9 +11,6 @@ export const downloadEpub = async (url, fileName) => {
|
|
|
11
11
|
if (!normalized) {
|
|
12
12
|
throw new Error('Invalid URL provided for EPUB download.');
|
|
13
13
|
}
|
|
14
|
-
console.log({
|
|
15
|
-
url
|
|
16
|
-
});
|
|
17
14
|
const downloadedFile = await File.downloadFileAsync(normalized, file);
|
|
18
15
|
return downloadedFile.uri;
|
|
19
16
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["File","Paths","downloadEpub","url","fileName","file","document","exists","uri","normalized","split","Error","
|
|
1
|
+
{"version":3,"names":["File","Paths","downloadEpub","url","fileName","file","document","exists","uri","normalized","split","Error","downloadedFile","downloadFileAsync","error","console"],"sourceRoot":"../../../src","sources":["helpers/downloadEpub.ts"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AAE9C,OAAO,MAAMC,YAAY,GAAG,MAAAA,CAC1BC,GAAW,EACXC,QAAgB,KACI;EACpB,IAAI;IACF,MAAMC,IAAI,GAAG,IAAIL,IAAI,CAACC,KAAK,CAACK,QAAQ,EAAEF,QAAQ,CAAC;IAE/C,IAAIC,IAAI,CAACE,MAAM,EAAE;MACf,OAAOF,IAAI,CAACG,GAAG;IACjB;IAEA,MAAMC,UAAU,GAAGN,GAAG,CAACO,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAEpD,IAAI,CAACD,UAAU,EAAE;MACf,MAAM,IAAIE,KAAK,CAAC,yCAAyC,CAAC;IAC5D;IAEA,MAAMC,cAAc,GAAG,MAAMZ,IAAI,CAACa,iBAAiB,CAACJ,UAAU,EAAEJ,IAAI,CAAC;IAErE,OAAOO,cAAc,CAACJ,GAAG;EAC3B,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;IACvC,MAAMA,KAAK;EACb;AACF,CAAC","ignoreList":[]}
|
|
@@ -18,4 +18,8 @@ export const checkTemplateFileExists = fileName => {
|
|
|
18
18
|
const htmlFile = new File(Paths.document, fileName);
|
|
19
19
|
return htmlFile.exists;
|
|
20
20
|
};
|
|
21
|
+
export const getTemplateFileUri = fileName => {
|
|
22
|
+
const htmlFile = new File(Paths.document, fileName);
|
|
23
|
+
return htmlFile.uri;
|
|
24
|
+
};
|
|
21
25
|
//# sourceMappingURL=saveTemplateToFile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["File","Paths","saveTemplateToFile","template","fileName","htmlFile","document","exists","create","write","uri","error","console","checkTemplateFileExists"],"sourceRoot":"../../../src","sources":["helpers/saveTemplateToFile.ts"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AAE9C,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,QAAgB,EAAEC,QAAgB,KAAK;EACxE,IAAI;IACF,MAAMC,QAAQ,GAAG,IAAIL,IAAI,CAACC,KAAK,CAACK,QAAQ,EAAEF,QAAQ,CAAC;IACnD,IAAI,CAACC,QAAQ,CAACE,MAAM,EAAE;MACpBF,QAAQ,CAACG,MAAM,CAAC,CAAC;IACnB;IACAH,QAAQ,CAACI,KAAK,CAACN,QAAQ,CAAC;IACxB,OAAOE,QAAQ,CAACK,GAAG;EACrB,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACnD,MAAMA,KAAK;EACb;AACF,CAAC;AAED,OAAO,MAAME,uBAAuB,GAAIT,QAAgB,IAAK;EAC3D,MAAMC,QAAQ,GAAG,IAAIL,IAAI,CAACC,KAAK,CAACK,QAAQ,EAAEF,QAAQ,CAAC;EACnD,OAAOC,QAAQ,CAACE,MAAM;AACxB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["File","Paths","saveTemplateToFile","template","fileName","htmlFile","document","exists","create","write","uri","error","console","checkTemplateFileExists","getTemplateFileUri"],"sourceRoot":"../../../src","sources":["helpers/saveTemplateToFile.ts"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AAE9C,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,QAAgB,EAAEC,QAAgB,KAAK;EACxE,IAAI;IACF,MAAMC,QAAQ,GAAG,IAAIL,IAAI,CAACC,KAAK,CAACK,QAAQ,EAAEF,QAAQ,CAAC;IACnD,IAAI,CAACC,QAAQ,CAACE,MAAM,EAAE;MACpBF,QAAQ,CAACG,MAAM,CAAC,CAAC;IACnB;IACAH,QAAQ,CAACI,KAAK,CAACN,QAAQ,CAAC;IACxB,OAAOE,QAAQ,CAACK,GAAG;EACrB,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACnD,MAAMA,KAAK;EACb;AACF,CAAC;AAED,OAAO,MAAME,uBAAuB,GAAIT,QAAgB,IAAK;EAC3D,MAAMC,QAAQ,GAAG,IAAIL,IAAI,CAACC,KAAK,CAACK,QAAQ,EAAEF,QAAQ,CAAC;EACnD,OAAOC,QAAQ,CAACE,MAAM;AACxB,CAAC;AAED,OAAO,MAAMO,kBAAkB,GAAIV,QAAgB,IAAK;EACtD,MAAMC,QAAQ,GAAG,IAAIL,IAAI,CAACC,KAAK,CAACK,QAAQ,EAAEF,QAAQ,CAAC;EACnD,OAAOC,QAAQ,CAACK,GAAG;AACrB,CAAC","ignoreList":[]}
|
|
@@ -9,9 +9,11 @@ export function useInjectWebViewVariables() {
|
|
|
9
9
|
type,
|
|
10
10
|
book,
|
|
11
11
|
allowScriptedContent,
|
|
12
|
-
theme
|
|
12
|
+
theme,
|
|
13
|
+
locations
|
|
13
14
|
}) => {
|
|
14
|
-
|
|
15
|
+
const initialLocations = locations && locations.length > 0 ? JSON.stringify(locations) : 'null';
|
|
16
|
+
return template.replace(/<script id="jszip"><\/script>/, `<script src="${jszip}"></script>`).replace(/<script id="epubjs"><\/script>/, `<script src="${epubjs}"></script>`).replace(/const type = window.type;/, `const type = '${type}';`).replace(/const file = window.book;/, `const file = '${book}';`).replace(/const enableSelection = window.enable_selection;/, `const enableSelection = false;`).replace(/allowScriptedContent: allowScriptedContent/, `allowScriptedContent: ${allowScriptedContent}`).replace(/allowPopups: allowPopups/, `allowPopups: false`).replace(/const theme = window.theme;/, `const theme = ${JSON.stringify(theme)};`).replace(/const initialLocations = window.locations;/, `const initialLocations = ${initialLocations};`);
|
|
15
17
|
}, []);
|
|
16
18
|
return {
|
|
17
19
|
injectWebViewVariables
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","template","useInjectWebViewVariables","injectWebViewVariables","jszip","epubjs","type","book","allowScriptedContent","theme","
|
|
1
|
+
{"version":3,"names":["useCallback","template","useInjectWebViewVariables","injectWebViewVariables","jszip","epubjs","type","book","allowScriptedContent","theme","locations","initialLocations","length","JSON","stringify","replace"],"sourceRoot":"../../../src","sources":["hooks/useInjectWebviewVariables.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAGnC,OAAOC,QAAQ,MAAM,0BAAuB;AAE5C,OAAO,SAASC,yBAAyBA,CAAA,EAAG;EAC1C,MAAMC,sBAAsB,GAAGH,WAAW,CACxC,CAAC;IACCI,KAAK;IACLC,MAAM;IACNC,IAAI;IACJC,IAAI;IACJC,oBAAoB;IACpBC,KAAK;IACLC;EASF,CAAC,KAAK;IACJ,MAAMC,gBAAgB,GACpBD,SAAS,IAAIA,SAAS,CAACE,MAAM,GAAG,CAAC,GAAGC,IAAI,CAACC,SAAS,CAACJ,SAAS,CAAC,GAAG,MAAM;IAExE,OAAOT,QAAQ,CACZc,OAAO,CACN,+BAA+B,EAC/B,gBAAgBX,KAAK,aACvB,CAAC,CACAW,OAAO,CACN,gCAAgC,EAChC,gBAAgBV,MAAM,aACxB,CAAC,CACAU,OAAO,CAAC,2BAA2B,EAAE,iBAAiBT,IAAI,IAAI,CAAC,CAC/DS,OAAO,CAAC,2BAA2B,EAAE,iBAAiBR,IAAI,IAAI,CAAC,CAC/DQ,OAAO,CACN,kDAAkD,EAClD,gCACF,CAAC,CACAA,OAAO,CACN,4CAA4C,EAC5C,yBAAyBP,oBAAoB,EAC/C,CAAC,CACAO,OAAO,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CACzDA,OAAO,CACN,6BAA6B,EAC7B,iBAAiBF,IAAI,CAACC,SAAS,CAACL,KAAK,CAAC,GACxC,CAAC,CACAM,OAAO,CACN,4CAA4C,EAC5C,4BAA4BJ,gBAAgB,GAC9C,CAAC;EACL,CAAC,EACD,EACF,CAAC;EACD,OAAO;IAAER;EAAuB,CAAC;AACnC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/GestureHandler/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAQnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/GestureHandler/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAQnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAoD9D,CAAC;AAQF,eAAe,cAAc,CAAC"}
|