react-native-simple-epub-reader 0.1.1 → 0.1.2

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.
@@ -29,6 +29,7 @@ const Reader = ({
29
29
  onWebViewMessage
30
30
  }) => {
31
31
  const [templateUri, setTemplateUri] = useState('');
32
+ const [isReaderReady, setIsReaderReady] = useState(false);
32
33
  const {
33
34
  registerBook,
34
35
  goNext,
@@ -51,7 +52,13 @@ const Reader = ({
51
52
  } = useInjectWebViewVariables();
52
53
  const bookRef = useRef(null);
53
54
  const onMessage = event => {
54
- const parsedEvent = JSON.parse(event.nativeEvent.data);
55
+ let parsedEvent;
56
+ try {
57
+ parsedEvent = JSON.parse(event.nativeEvent.data);
58
+ } catch (error) {
59
+ console.warn('Failed to parse WebView message:', error);
60
+ return;
61
+ }
55
62
  console.log(parsedEvent.type);
56
63
  if (!INTERNAL_EVENTS.includes(parsedEvent?.type) && onWebViewMessage) {
57
64
  return onWebViewMessage(parsedEvent);
@@ -89,10 +96,16 @@ const Reader = ({
89
96
  setProgress(props.progress);
90
97
  return onLocationsReady(props.epubKey, parsedEvent.locations);
91
98
  case 'onReady':
99
+ setIsReaderReady(true);
100
+ setIsLoading(false);
92
101
  if (initialLocation) {
93
102
  goToLocation(initialLocation);
94
103
  }
95
104
  break;
105
+ case 'onDisplayError':
106
+ setIsLoading(false);
107
+ console.error('Reader display error:', parsedEvent.reason);
108
+ break;
96
109
  case 'onBeginning':
97
110
  setAtStart(true);
98
111
  return onBeginning();
@@ -107,14 +120,17 @@ const Reader = ({
107
120
  onTap?.();
108
121
  };
109
122
  const handleOnSwipeLeft = () => {
123
+ if (!isReaderReady) return;
110
124
  onSwipeLeft?.();
111
125
  goNext();
112
126
  };
113
127
  const handleOnSwipeRight = () => {
128
+ if (!isReaderReady) return;
114
129
  onSwipeRight?.();
115
130
  goPrevious();
116
131
  };
117
132
  const handleOnPinch = e => {
133
+ if (!isReaderReady) return;
118
134
  const fontSizeValue = parseInt(fontSize.replace('pt', ''), 10);
119
135
  const scaleValue = e.scale > 1 ? e.scale * 0.5 : e.scale;
120
136
  const newFontSize = fontSizeValue * scaleValue;
@@ -135,6 +151,8 @@ const Reader = ({
135
151
  const prepareReader = async () => {
136
152
  try {
137
153
  setIsLoading(true);
154
+ setIsReaderReady(false);
155
+ setTemplateUri('');
138
156
  const [, jszip, epubjs] = await loadScripts();
139
157
  if (!jszip || !epubjs) throw new Error('Failed to load scripts');
140
158
  const localEpubUri = await downloadEpub(src, epubFileName);
@@ -152,8 +170,9 @@ const Reader = ({
152
170
  }
153
171
  } catch (error) {
154
172
  console.error('Reader Error:', error);
155
- } finally {
156
- if (isMounted) setIsLoading(false);
173
+ if (isMounted) {
174
+ setIsLoading(false);
175
+ }
157
176
  }
158
177
  };
159
178
  prepareReader();
@@ -161,7 +180,7 @@ const Reader = ({
161
180
  isMounted = false;
162
181
  };
163
182
  }, [src, htmlTemplateName, epubFileName, injectWebViewVariables, setIsLoading]);
164
- if (isLoading) {
183
+ if (isLoading || !templateUri) {
165
184
  return LoaderComponent ? /*#__PURE__*/_jsx(LoaderComponent, {}) : /*#__PURE__*/_jsxs(View, {
166
185
  style: styles.loaderContainer,
167
186
  children: [/*#__PURE__*/_jsx(ActivityIndicator, {
@@ -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","Fragment","_Fragment","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","console","log","type","includes","totalLocations","currentLocation","progress","currentSection","atStart","atEnd","metadata","props","locations","epubKey","warn","handleOnTap","handleOnSwipeLeft","handleOnSwipeRight","handleOnPinch","e","fontSizeValue","parseInt","replace","scaleValue","scale","newFontSize","clampedFontSize","Math","min","max","htmlTemplateName","split","pop","epubFileName","handleBookRef","instance","current","isMounted","prepareReader","jszip","epubjs","Error","localEpubUri","generatedTemplate","EPUB","allowScriptedContent","book","theme","uri","error","style","styles","loaderContainer","children","size","pointerEvents","ref","source","showsVerticalScrollIndicator","javaScriptEnabled","originWhitelist","scrollEnabled","mixedContentMode","allowingReadAccessToURL","document","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","allowFileAccess","javaScriptCanOpenWindowsAutomatically","container","create","flex","justifyContent","alignItems"],"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","saveTemplateToFile","downloadEpub","Paths","useInjectWebViewVariables","WebView","GestureHandler","defaultTheme","initialTheme","ReaderContext","INTERNAL_EVENTS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Reader","src","onTap","onSwipeLeft","onSwipeRight","initialLocation","onLocationsReady","onLocationChange","onFinish","onBeginning","onPinch","LoaderComponent","onWebViewMessage","templateUri","setTemplateUri","isReaderReady","setIsReaderReady","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","htmlTemplateName","split","pop","epubFileName","handleBookRef","instance","current","isMounted","prepareReader","jszip","epubjs","Error","localEpubUri","generatedTemplate","EPUB","allowScriptedContent","book","theme","uri","style","styles","loaderContainer","children","size","pointerEvents","ref","source","showsVerticalScrollIndicator","javaScriptEnabled","originWhitelist","scrollEnabled","mixedContentMode","allowingReadAccessToURL","document","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","allowFileAccess","javaScriptCanOpenWindowsAutomatically","container","create","flex","justifyContent","alignItems"],"sourceRoot":"../../../src","sources":["components/Reader.tsx"],"mappings":"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","ignoreList":[]}
@@ -112,8 +112,11 @@ function ReaderProvider({
112
112
  const getMeta = useCallback(() => state.meta, [state.meta]);
113
113
  const changeFontFamily = useCallback(fontFamily => {
114
114
  book.current?.injectJavaScript(`
115
- rendition.themes.font('${fontFamily}');
116
- rendition.views().forEach(view => view.pane ? view.pane.render() : null); true;
115
+ if (typeof rendition !== 'undefined' && rendition) {
116
+ rendition.themes.font('${fontFamily}');
117
+ rendition.views().forEach(view => view.pane ? view.pane.render() : null);
118
+ }
119
+ true;
117
120
  `);
118
121
  dispatch({
119
122
  type: Actions.CHANGE_FONT_FAMILY,
@@ -123,24 +126,14 @@ function ReaderProvider({
123
126
  const injectJavascript = useCallback(script => {
124
127
  book.current?.injectJavaScript(script);
125
128
  }, []);
126
- const changeFlow = useCallback(flow => {
127
- webViewInjectFunctions.injectJavaScript(book, `rendition.flow(${JSON.stringify(flow)}); true`);
128
- dispatch({
129
- type: Actions.SET_FLOW,
130
- payload: flow
131
- });
132
- }, []);
133
- const setFlow = useCallback(flow => {
134
- dispatch({
135
- type: Actions.SET_FLOW,
136
- payload: flow
137
- });
138
- }, []);
139
129
  const changeTheme = useCallback(theme => {
140
130
  book.current?.injectJavaScript(`
141
- rendition.themes.register({ theme: ${JSON.stringify(theme)} });
142
- rendition.themes.select('theme');
143
- rendition.views().forEach(view => view.pane ? view.pane.render() : null); true;
131
+ if (typeof rendition !== 'undefined' && rendition) {
132
+ rendition.themes.register({ theme: ${JSON.stringify(theme)} });
133
+ rendition.themes.select('theme');
134
+ rendition.views().forEach(view => view.pane ? view.pane.render() : null);
135
+ }
136
+ true;
144
137
  `);
145
138
  dispatch({
146
139
  type: Actions.CHANGE_THEME,
@@ -149,21 +142,33 @@ function ReaderProvider({
149
142
  }, []);
150
143
  const goNext = useCallback(() => {
151
144
  webViewInjectFunctions.injectJavaScript(book, `
152
- rendition.next();
145
+ if (typeof rendition !== 'undefined' && rendition) {
146
+ rendition.next();
147
+ }
153
148
  `);
154
149
  }, []);
155
150
  const goPrevious = useCallback(() => {
156
151
  webViewInjectFunctions.injectJavaScript(book, `
157
- rendition.prev();
152
+ if (typeof rendition !== 'undefined' && rendition) {
153
+ rendition.prev();
154
+ }
158
155
  `);
159
156
  }, []);
160
157
  const goToLocation = useCallback(targetCfi => {
161
- book.current?.injectJavaScript(`rendition.display('${targetCfi}'); true`);
158
+ book.current?.injectJavaScript(`
159
+ if (typeof rendition !== 'undefined' && rendition) {
160
+ rendition.display('${targetCfi}');
161
+ }
162
+ true;
163
+ `);
162
164
  }, []);
163
165
  const changeFontSize = useCallback(size => {
164
166
  book.current?.injectJavaScript(`
165
- rendition.themes.fontSize('${size}');
166
- rendition.views().forEach(view => view.pane ? view.pane.render() : null); true;
167
+ if (typeof rendition !== 'undefined' && rendition) {
168
+ rendition.themes.fontSize('${size}');
169
+ rendition.views().forEach(view => view.pane ? view.pane.render() : null);
170
+ }
171
+ true;
167
172
  `);
168
173
  dispatch({
169
174
  type: Actions.CHANGE_FONT_SIZE,
@@ -188,8 +193,6 @@ function ReaderProvider({
188
193
  setLocations,
189
194
  changeFontFamily,
190
195
  injectJavascript,
191
- changeFlow,
192
- setFlow,
193
196
  changeFontSize,
194
197
  theme: state.theme,
195
198
  flow: state.flow,
@@ -203,7 +206,7 @@ function ReaderProvider({
203
206
  locations: state.locations,
204
207
  isLoading: loading,
205
208
  setIsLoading: setLoading
206
- }), [registerBook, goNext, goPrevious, goToLocation, setAtStart, setAtEnd, setTotalLocations, setCurrentLocation, changeTheme, getLocations, getCurrentLocation, getMeta, setMeta, setProgress, setLocations, changeFontFamily, injectJavascript, changeFlow, setFlow, changeFontSize, state.theme, state.flow, state.fontSize, state.atStart, state.atEnd, state.totalLocations, state.currentLocation, state.meta, state.progress, state.locations, loading, setLoading]);
209
+ }), [registerBook, goNext, goPrevious, goToLocation, setAtStart, setAtEnd, setTotalLocations, setCurrentLocation, changeTheme, getLocations, getCurrentLocation, getMeta, setMeta, setProgress, setLocations, changeFontFamily, injectJavascript, changeFontSize, state.theme, state.flow, state.fontSize, state.atStart, state.atEnd, state.totalLocations, state.currentLocation, state.meta, state.progress, state.locations, loading, setLoading]);
207
210
  return /*#__PURE__*/_jsx(ReaderContext.Provider, {
208
211
  value: contextValue,
209
212
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useMemo","useReducer","useRef","useState","defaultTheme","webViewInjectFunctions","useReaderState","Actions","jsx","_jsx","ReaderContext","registerBook","setAtStart","setAtEnd","setTotalLocations","setCurrentLocation","setMeta","setProgress","setLocations","goToLocation","goPrevious","goNext","getLocations","getCurrentLocation","getMeta","cover","author","title","description","language","publisher","rights","atStart","atEnd","totalLocations","currentLocation","meta","progress","locations","theme","injectJavascript","changeFontSize","changeTheme","fontSize","isLoading","setIsLoading","ReaderProvider","children","bookReducer","initialState","state","dispatch","loading","setLoading","book","bookRef","current","type","SET_AT_START","payload","SET_AT_END","SET_TOTAL_LOCATIONS","location","SET_CURRENT_LOCATION","SET_META","SET_PROGRESS","SET_LOCATIONS","changeFontFamily","fontFamily","injectJavaScript","CHANGE_FONT_FAMILY","script","changeFlow","flow","JSON","stringify","SET_FLOW","setFlow","CHANGE_THEME","targetCfi","size","CHANGE_FONT_SIZE","contextValue","Provider","value"],"sourceRoot":"../../../src","sources":["context/ReaderContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useMemo","useReducer","useRef","useState","defaultTheme","webViewInjectFunctions","useReaderState","Actions","jsx","_jsx","ReaderContext","registerBook","setAtStart","setAtEnd","setTotalLocations","setCurrentLocation","setMeta","setProgress","setLocations","goToLocation","goPrevious","goNext","getLocations","getCurrentLocation","getMeta","cover","author","title","description","language","publisher","rights","atStart","atEnd","totalLocations","currentLocation","meta","progress","locations","theme","injectJavascript","changeFontSize","changeTheme","fontSize","isLoading","setIsLoading","ReaderProvider","children","bookReducer","initialState","state","dispatch","loading","setLoading","book","bookRef","current","type","SET_AT_START","payload","SET_AT_END","SET_TOTAL_LOCATIONS","location","SET_CURRENT_LOCATION","SET_META","SET_PROGRESS","SET_LOCATIONS","changeFontFamily","fontFamily","injectJavaScript","CHANGE_FONT_FAMILY","script","JSON","stringify","CHANGE_THEME","targetCfi","size","CHANGE_FONT_SIZE","contextValue","flow","Provider","value"],"sourceRoot":"../../../src","sources":["context/ReaderContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Reader.d.ts","sourceRoot":"","sources":["../../../../src/components/Reader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAwBxD,QAAA,MAAM,MAAM,GAAI,oKAab,WAAW,4CAyNb,CAAC;AAaF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Reader.d.ts","sourceRoot":"","sources":["../../../../src/components/Reader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAwBxD,QAAA,MAAM,MAAM,GAAI,oKAab,WAAW,4CA8Ob,CAAC;AAaF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReaderContext.d.ts","sourceRoot":"","sources":["../../../../src/context/ReaderContext.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAQlD,QAAA,MAAM,aAAa,6CAiDjB,CAAC;AAEH,iBAAS,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAmMlE;AAED,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"ReaderContext.d.ts","sourceRoot":"","sources":["../../../../src/context/ReaderContext.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAQlD,QAAA,MAAM,aAAa,6CAiDjB,CAAC;AAEH,iBAAS,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAqMlE;AAED,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-simple-epub-reader",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Simple ePub renderer for React Native",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -38,6 +38,7 @@ const Reader = ({
38
38
  onWebViewMessage,
39
39
  }: ReaderProps) => {
40
40
  const [templateUri, setTemplateUri] = useState<string>('');
41
+ const [isReaderReady, setIsReaderReady] = useState(false);
41
42
 
42
43
  const {
43
44
  registerBook,
@@ -61,7 +62,14 @@ const Reader = ({
61
62
  const bookRef = useRef<WebView | null>(null);
62
63
 
63
64
  const onMessage = (event: any) => {
64
- const parsedEvent = JSON.parse(event.nativeEvent.data);
65
+ let parsedEvent;
66
+ try {
67
+ parsedEvent = JSON.parse(event.nativeEvent.data);
68
+ } catch (error) {
69
+ console.warn('Failed to parse WebView message:', error);
70
+ return;
71
+ }
72
+
65
73
  console.log(parsedEvent.type);
66
74
 
67
75
  if (!INTERNAL_EVENTS.includes(parsedEvent?.type) && onWebViewMessage) {
@@ -100,10 +108,16 @@ const Reader = ({
100
108
 
101
109
  return onLocationsReady(props.epubKey, parsedEvent.locations);
102
110
  case 'onReady':
111
+ setIsReaderReady(true);
112
+ setIsLoading(false);
103
113
  if (initialLocation) {
104
114
  goToLocation(initialLocation);
105
115
  }
106
116
  break;
117
+ case 'onDisplayError':
118
+ setIsLoading(false);
119
+ console.error('Reader display error:', parsedEvent.reason);
120
+ break;
107
121
 
108
122
  case 'onBeginning':
109
123
  setAtStart(true);
@@ -125,11 +139,13 @@ const Reader = ({
125
139
  };
126
140
 
127
141
  const handleOnSwipeLeft = () => {
142
+ if (!isReaderReady) return;
128
143
  onSwipeLeft?.();
129
144
  goNext();
130
145
  };
131
146
 
132
147
  const handleOnSwipeRight = () => {
148
+ if (!isReaderReady) return;
133
149
  onSwipeRight?.();
134
150
  goPrevious();
135
151
  };
@@ -137,6 +153,8 @@ const Reader = ({
137
153
  const handleOnPinch = (
138
154
  e: GestureUpdateEvent<PinchGestureHandlerEventPayload>
139
155
  ) => {
156
+ if (!isReaderReady) return;
157
+
140
158
  const fontSizeValue = parseInt(fontSize.replace('pt', ''), 10);
141
159
 
142
160
  const scaleValue = e.scale > 1 ? e.scale * 0.5 : e.scale;
@@ -174,6 +192,8 @@ const Reader = ({
174
192
  const prepareReader = async () => {
175
193
  try {
176
194
  setIsLoading(true);
195
+ setIsReaderReady(false);
196
+ setTemplateUri('');
177
197
 
178
198
  const [, jszip, epubjs] = await loadScripts();
179
199
 
@@ -197,8 +217,9 @@ const Reader = ({
197
217
  }
198
218
  } catch (error) {
199
219
  console.error('Reader Error:', error);
200
- } finally {
201
- if (isMounted) setIsLoading(false);
220
+ if (isMounted) {
221
+ setIsLoading(false);
222
+ }
202
223
  }
203
224
  };
204
225
 
@@ -214,7 +235,7 @@ const Reader = ({
214
235
  setIsLoading,
215
236
  ]);
216
237
 
217
- if (isLoading) {
238
+ if (isLoading || !templateUri) {
218
239
  return LoaderComponent ? (
219
240
  <LoaderComponent />
220
241
  ) : (
@@ -10,7 +10,7 @@ import type { ReaderContextProps } from './types';
10
10
  import { defaultTheme } from '../constants/theme';
11
11
  import type WebView from 'react-native-webview';
12
12
  import * as webViewInjectFunctions from '../helpers/webViewInjectFunctions';
13
- import type { ePubCfi, Flow, Location, Theme } from '../types';
13
+ import type { ePubCfi, Location, Theme } from '../types';
14
14
  import { useReaderState } from '../hooks/useReaderState';
15
15
  import { Actions } from '../types/state.types';
16
16
 
@@ -123,8 +123,11 @@ function ReaderProvider({ children }: { children: React.ReactNode }) {
123
123
  const getMeta = useCallback(() => state.meta, [state.meta]);
124
124
  const changeFontFamily = useCallback((fontFamily: string) => {
125
125
  book.current?.injectJavaScript(`
126
- rendition.themes.font('${fontFamily}');
127
- rendition.views().forEach(view => view.pane ? view.pane.render() : null); true;
126
+ if (typeof rendition !== 'undefined' && rendition) {
127
+ rendition.themes.font('${fontFamily}');
128
+ rendition.views().forEach(view => view.pane ? view.pane.render() : null);
129
+ }
130
+ true;
128
131
  `);
129
132
  dispatch({ type: Actions.CHANGE_FONT_FAMILY, payload: fontFamily });
130
133
  }, []);
@@ -133,23 +136,14 @@ function ReaderProvider({ children }: { children: React.ReactNode }) {
133
136
  book.current?.injectJavaScript(script);
134
137
  }, []);
135
138
 
136
- const changeFlow = useCallback((flow: Flow) => {
137
- webViewInjectFunctions.injectJavaScript(
138
- book,
139
- `rendition.flow(${JSON.stringify(flow)}); true`
140
- );
141
- dispatch({ type: Actions.SET_FLOW, payload: flow });
142
- }, []);
143
-
144
- const setFlow = useCallback((flow: Flow) => {
145
- dispatch({ type: Actions.SET_FLOW, payload: flow });
146
- }, []);
147
-
148
139
  const changeTheme = useCallback((theme: Theme) => {
149
140
  book.current?.injectJavaScript(`
150
- rendition.themes.register({ theme: ${JSON.stringify(theme)} });
151
- rendition.themes.select('theme');
152
- rendition.views().forEach(view => view.pane ? view.pane.render() : null); true;
141
+ if (typeof rendition !== 'undefined' && rendition) {
142
+ rendition.themes.register({ theme: ${JSON.stringify(theme)} });
143
+ rendition.themes.select('theme');
144
+ rendition.views().forEach(view => view.pane ? view.pane.render() : null);
145
+ }
146
+ true;
153
147
  `);
154
148
  dispatch({ type: Actions.CHANGE_THEME, payload: theme });
155
149
  }, []);
@@ -158,7 +152,9 @@ function ReaderProvider({ children }: { children: React.ReactNode }) {
158
152
  webViewInjectFunctions.injectJavaScript(
159
153
  book,
160
154
  `
161
- rendition.next();
155
+ if (typeof rendition !== 'undefined' && rendition) {
156
+ rendition.next();
157
+ }
162
158
  `
163
159
  );
164
160
  }, []);
@@ -167,19 +163,29 @@ function ReaderProvider({ children }: { children: React.ReactNode }) {
167
163
  webViewInjectFunctions.injectJavaScript(
168
164
  book,
169
165
  `
170
- rendition.prev();
166
+ if (typeof rendition !== 'undefined' && rendition) {
167
+ rendition.prev();
168
+ }
171
169
  `
172
170
  );
173
171
  }, []);
174
172
 
175
173
  const goToLocation = useCallback((targetCfi: ePubCfi) => {
176
- book.current?.injectJavaScript(`rendition.display('${targetCfi}'); true`);
174
+ book.current?.injectJavaScript(`
175
+ if (typeof rendition !== 'undefined' && rendition) {
176
+ rendition.display('${targetCfi}');
177
+ }
178
+ true;
179
+ `);
177
180
  }, []);
178
181
 
179
182
  const changeFontSize = useCallback((size: string) => {
180
183
  book.current?.injectJavaScript(`
181
- rendition.themes.fontSize('${size}');
182
- rendition.views().forEach(view => view.pane ? view.pane.render() : null); true;
184
+ if (typeof rendition !== 'undefined' && rendition) {
185
+ rendition.themes.fontSize('${size}');
186
+ rendition.views().forEach(view => view.pane ? view.pane.render() : null);
187
+ }
188
+ true;
183
189
  `);
184
190
  dispatch({ type: Actions.CHANGE_FONT_SIZE, payload: size });
185
191
  }, []);
@@ -203,8 +209,6 @@ function ReaderProvider({ children }: { children: React.ReactNode }) {
203
209
  setLocations,
204
210
  changeFontFamily,
205
211
  injectJavascript,
206
- changeFlow,
207
- setFlow,
208
212
  changeFontSize,
209
213
  theme: state.theme,
210
214
  flow: state.flow,
@@ -237,8 +241,6 @@ function ReaderProvider({ children }: { children: React.ReactNode }) {
237
241
  setLocations,
238
242
  changeFontFamily,
239
243
  injectJavascript,
240
- changeFlow,
241
- setFlow,
242
244
  changeFontSize,
243
245
  state.theme,
244
246
  state.flow,