react-native-readium 1.0.0-alpha.1 → 1.0.0-alpha.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.
Files changed (96) hide show
  1. package/README.md +11 -3
  2. package/android/src/main/java/com/reactnativereadium/reader/BaseReaderFragment.kt +0 -21
  3. package/android/src/main/java/com/reactnativereadium/reader/EpubReaderFragment.kt +0 -183
  4. package/android/src/main/res/values/strings.xml +0 -197
  5. package/ios/App/AppModule.swift +0 -2
  6. package/package.json +2 -2
  7. package/react-native-readium.podspec +2 -1
  8. package/android/src/main/java/com/reactnativereadium/reader/ImageReaderFragment.kt +0 -68
  9. package/android/src/main/java/com/reactnativereadium/reader/PdfReaderFragment.kt +0 -82
  10. package/android/src/main/res/drawable/background_action_mode.xml +0 -6
  11. package/android/src/main/res/drawable/cnl.png +0 -0
  12. package/android/src/main/res/drawable/cover.png +0 -0
  13. package/android/src/main/res/drawable/ic_add_white_24dp.xml +0 -9
  14. package/android/src/main/res/drawable/ic_baseline_arrow_forward_24.xml +0 -5
  15. package/android/src/main/res/drawable/ic_baseline_bookmark_24.xml +0 -10
  16. package/android/src/main/res/drawable/ic_baseline_delete_24.xml +0 -10
  17. package/android/src/main/res/drawable/ic_baseline_edit_24.xml +0 -10
  18. package/android/src/main/res/drawable/ic_baseline_enhanced_encryption_24.xml +0 -10
  19. package/android/src/main/res/drawable/ic_baseline_fast_forward_24.xml +0 -10
  20. package/android/src/main/res/drawable/ic_baseline_fast_rewind_24.xml +0 -10
  21. package/android/src/main/res/drawable/ic_baseline_headphones_24.xml +0 -10
  22. package/android/src/main/res/drawable/ic_baseline_pause_24.xml +0 -10
  23. package/android/src/main/res/drawable/ic_baseline_play_arrow_24.xml +0 -10
  24. package/android/src/main/res/drawable/ic_baseline_search_24.xml +0 -10
  25. package/android/src/main/res/drawable/ic_baseline_skip_next_24.xml +0 -10
  26. package/android/src/main/res/drawable/ic_baseline_skip_previous_24.xml +0 -10
  27. package/android/src/main/res/drawable/ic_dashboard_black_24dp.xml +0 -9
  28. package/android/src/main/res/drawable/ic_fastforward_30.xml +0 -7
  29. package/android/src/main/res/drawable/ic_info_black_24dp.xml +0 -9
  30. package/android/src/main/res/drawable/ic_local_library_black_24dp.xml +0 -9
  31. package/android/src/main/res/drawable/ic_notch.xml +0 -4
  32. package/android/src/main/res/drawable/ic_outline_add_24.xml +0 -10
  33. package/android/src/main/res/drawable/ic_outline_format_align_justify_24.xml +0 -10
  34. package/android/src/main/res/drawable/ic_outline_format_align_left_24.xml +0 -11
  35. package/android/src/main/res/drawable/ic_outline_format_size_24.xml +0 -10
  36. package/android/src/main/res/drawable/ic_outline_light_mode_24.xml +0 -10
  37. package/android/src/main/res/drawable/ic_outline_menu_24.xml +0 -10
  38. package/android/src/main/res/drawable/ic_outline_remove_24.xml +0 -10
  39. package/android/src/main/res/drawable/ic_outline_wb_sunny_24.xml +0 -10
  40. package/android/src/main/res/drawable/ic_rewind_30.xml +0 -7
  41. package/android/src/main/res/drawable/icon_font_decrease.png +0 -0
  42. package/android/src/main/res/drawable/icon_font_increase.png +0 -0
  43. package/android/src/main/res/drawable/icon_overflow.png +0 -0
  44. package/android/src/main/res/drawable/rbtn_selector.xml +0 -25
  45. package/android/src/main/res/drawable/rbtn_textcolor_selector.xml +0 -16
  46. package/android/src/main/res/drawable/repfr.png +0 -0
  47. package/android/src/main/res/drawable/selector_blue.xml +0 -42
  48. package/android/src/main/res/drawable/selector_green.xml +0 -42
  49. package/android/src/main/res/drawable/selector_purple.xml +0 -42
  50. package/android/src/main/res/drawable/selector_red.xml +0 -42
  51. package/android/src/main/res/drawable/selector_yellow.xml +0 -41
  52. package/android/src/main/res/layout/activity_epub.xml +0 -23
  53. package/android/src/main/res/layout/activity_main.xml +0 -32
  54. package/android/src/main/res/layout/activity_reader.xml +0 -6
  55. package/android/src/main/res/layout/add_catalog_dialog.xml +0 -25
  56. package/android/src/main/res/layout/filter_row.xml +0 -34
  57. package/android/src/main/res/layout/filter_window.xml +0 -24
  58. package/android/src/main/res/layout/fragment_about.xml +0 -150
  59. package/android/src/main/res/layout/fragment_audiobook.xml +0 -151
  60. package/android/src/main/res/layout/fragment_bookshelf.xml +0 -35
  61. package/android/src/main/res/layout/fragment_catalog.xml +0 -56
  62. package/android/src/main/res/layout/fragment_catalog_feed_list.xml +0 -27
  63. package/android/src/main/res/layout/fragment_drm_management.xml +0 -284
  64. package/android/src/main/res/layout/fragment_listview.xml +0 -24
  65. package/android/src/main/res/layout/fragment_outline.xml +0 -31
  66. package/android/src/main/res/layout/fragment_publication_detail.xml +0 -55
  67. package/android/src/main/res/layout/fragment_screen_reader.xml +0 -143
  68. package/android/src/main/res/layout/item_group_view.xml +0 -22
  69. package/android/src/main/res/layout/item_recycle_book.xml +0 -55
  70. package/android/src/main/res/layout/item_recycle_bookmark.xml +0 -72
  71. package/android/src/main/res/layout/item_recycle_button.xml +0 -23
  72. package/android/src/main/res/layout/item_recycle_catalog.xml +0 -56
  73. package/android/src/main/res/layout/item_recycle_highlight.xml +0 -85
  74. package/android/src/main/res/layout/item_recycle_horizontal.xml +0 -45
  75. package/android/src/main/res/layout/item_recycle_navigation.xml +0 -34
  76. package/android/src/main/res/layout/item_spinner_days.xml +0 -19
  77. package/android/src/main/res/layout/my_fragment.xml +0 -13
  78. package/android/src/main/res/layout/popup_delete.xml +0 -29
  79. package/android/src/main/res/layout/popup_note.xml +0 -105
  80. package/android/src/main/res/layout/popup_passphrase.xml +0 -126
  81. package/android/src/main/res/layout/popup_window_user_settings.xml +0 -576
  82. package/android/src/main/res/layout/section_header.xml +0 -25
  83. package/android/src/main/res/layout/view_action_mode.xml +0 -100
  84. package/android/src/main/res/layout/view_action_mode_reverse.xml +0 -99
  85. package/android/src/main/res/menu/bottom_nav_menu.xml +0 -19
  86. package/android/src/main/res/menu/menu_action_mode.xml +0 -26
  87. package/android/src/main/res/menu/menu_bookmark.xml +0 -18
  88. package/android/src/main/res/menu/menu_epub.xml +0 -41
  89. package/android/src/main/res/menu/menu_filter.xml +0 -21
  90. package/android/src/main/res/menu/menu_reader.xml +0 -33
  91. package/android/src/main/res/navigation/navigation.xml +0 -46
  92. package/android/src/main/res/values/arrays.xml +0 -18
  93. package/android/src/main/res/values/colors.xml +0 -22
  94. package/android/src/main/res/values/refs.xml +0 -5
  95. package/android/src/main/res/values/styles.xml +0 -46
  96. package/android/src/main/res/xml/network_security_config.xml +0 -38
package/README.md CHANGED
@@ -10,10 +10,14 @@ A react-native wrapper for https://readium.org/
10
10
  - [Release](#release)
11
11
  - [License](#license)
12
12
 
13
- ## Installation
13
+ | Dark Mode| Light Mode |
14
+ |---|---|
15
+ | ![Dark Mode](https://github.com/5-stones/react-native-readium/blob/main/docs/demo-dark-mode.gif) | ![Light Mode](https://github.com/5-stones/react-native-readium/blob/main/docs/demo-light-mode.gif) |
14
16
 
17
+ ## Installation
15
18
 
16
19
  #### Install Module
20
+
17
21
  **NPM**
18
22
 
19
23
  ```sh
@@ -26,8 +30,13 @@ npm install react-native-readium
26
30
  yarn add react-native-readium
27
31
  ```
28
32
 
33
+ #### iOS
34
+
35
+ ###### Requirements
36
+
37
+ This project requires an iOS target >= `13.0`.
29
38
 
30
- #### Pod Install
39
+ ###### Pod Install
31
40
 
32
41
  Due to the current state of the `Readium` swift libraries you need to manually
33
42
  update your `Podfile` ([see more on that here](https://github.com/readium/swift-toolkit/issues/38)).
@@ -43,7 +52,6 @@ target 'ExampleApp' do
43
52
  pod 'R2Shared', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/2.2.0/Support/CocoaPods/ReadiumShared.podspec'
44
53
  pod 'R2Streamer', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/2.2.0/Support/CocoaPods/ReadiumStreamer.podspec'
45
54
  pod 'R2Navigator', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/2.2.0/Support/CocoaPods/ReadiumNavigator.podspec'
46
- pod 'ReadiumOPDS', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/2.2.0/Support/CocoaPods/ReadiumOPDS.podspec'
47
55
  pod 'Minizip', modular_headers: true
48
56
  ...
49
57
  end
@@ -8,7 +8,6 @@ import kotlinx.coroutines.flow.launchIn
8
8
  import kotlinx.coroutines.flow.onEach
9
9
  import org.readium.r2.navigator.*
10
10
  import org.readium.r2.shared.publication.Locator
11
- import com.reactnativereadium.R
12
11
  import com.reactnativereadium.utils.EventChannel
13
12
  import kotlinx.coroutines.channels.Channel
14
13
 
@@ -48,26 +47,6 @@ abstract class BaseReaderFragment : Fragment() {
48
47
  requireActivity().invalidateOptionsMenu()
49
48
  }
50
49
 
51
- // TODO: this should probably be removed
52
- override fun onCreateOptionsMenu(menu: Menu, menuInflater: MenuInflater) {
53
- menuInflater.inflate(R.menu.menu_reader, menu)
54
- menu.findItem(R.id.drm).isVisible = false
55
- }
56
-
57
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
58
- return when (item.itemId) {
59
- R.id.toc -> {
60
- model.channel.send(ReaderViewModel.Event.OpenOutlineRequested)
61
- true
62
- }
63
- R.id.drm -> {
64
- model.channel.send(ReaderViewModel.Event.OpenDrmManagementRequested)
65
- true
66
- }
67
- else -> false
68
- }
69
- }
70
-
71
50
  fun go(locator: Locator, animated: Boolean): Boolean {
72
51
  // don't attempt to navigate if we're already there
73
52
  val currentLocator = navigator.currentLocator.value
@@ -97,28 +97,6 @@ class EpubReaderFragment : VisualReaderFragment(), EpubNavigatorFragment.Listene
97
97
  /* selectionActionModeCallback = customSelectionActionModeCallback */
98
98
  }
99
99
  )
100
- // TODO: add search back in
101
- // childFragmentManager.setFragmentResultListener(
102
- // SearchFragment::class.java.name,
103
- // this,
104
- // FragmentResultListener { _, result ->
105
- // menuSearch.collapseActionView()
106
- // result.getParcelable<Locator>(SearchFragment::class.java.name)?.let {
107
- // navigatorFragment.go(it)
108
- // }
109
- // }
110
- // )
111
- // TODO: add TTS back in
112
- // childFragmentManager.setFragmentResultListener(
113
- // ScreenReaderContract.REQUEST_KEY,
114
- // this,
115
- // FragmentResultListener { _, result ->
116
- // val locator = ScreenReaderContract.parseResult(result).locator
117
- // if (locator.href != navigator.currentLocator.value.href) {
118
- // navigator.go(locator)
119
- // }
120
- // }
121
- // )
122
100
 
123
101
  setHasOptionsMenu(true)
124
102
 
@@ -182,134 +160,16 @@ class EpubReaderFragment : VisualReaderFragment(), EpubNavigatorFragment.Listene
182
160
  }
183
161
  }
184
162
 
185
- override fun onCreateOptionsMenu(menu: Menu, menuInflater: MenuInflater) {
186
- super.onCreateOptionsMenu(menu, menuInflater)
187
- menuInflater.inflate(R.menu.menu_epub, menu)
188
-
189
- menuScreenReader = menu.findItem(R.id.screen_reader)
190
- menuSearch = menu.findItem(R.id.search)
191
- menuSearchView = menuSearch.actionView as SearchView
192
-
193
- /* connectSearch() */
194
- if (!isSearchViewIconified) menuSearch.expandActionView()
195
- }
196
-
197
163
  override fun onSaveInstanceState(outState: Bundle) {
198
164
  super.onSaveInstanceState(outState)
199
165
  outState.putBoolean(IS_SCREEN_READER_VISIBLE_KEY, isScreenReaderVisible)
200
166
  outState.putBoolean(IS_SEARCH_VIEW_ICONIFIED, isSearchViewIconified)
201
167
  }
202
- // TODO: add search
203
- // private fun connectSearch() {
204
- // menuSearch.setOnActionExpandListener(object : MenuItem.OnActionExpandListener {
205
- //
206
- // override fun onMenuItemActionExpand(item: MenuItem?): Boolean {
207
- // if (isSearchViewIconified) { // It is not a state restoration.
208
- // showSearchFragment()
209
- // }
210
- //
211
- // isSearchViewIconified = false
212
- // return true
213
- // }
214
- //
215
- // override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
216
- // isSearchViewIconified = true
217
- // childFragmentManager.popBackStack()
218
- // menuSearchView.clearFocus()
219
- //
220
- // return true
221
- // }
222
- // })
223
- //
224
- // menuSearchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
225
- //
226
- // override fun onQueryTextSubmit(query: String): Boolean {
227
- // model.search(query)
228
- // menuSearchView.clearFocus()
229
- //
230
- // return false
231
- // }
232
- //
233
- // override fun onQueryTextChange(s: String): Boolean {
234
- // return false
235
- // }
236
- // })
237
- //
238
- // menuSearchView.findViewById<ImageView>(R.id.search_close_btn).setOnClickListener {
239
- // menuSearchView.requestFocus()
240
- // model.cancelSearch()
241
- // menuSearchView.setQuery("", false)
242
- //
243
- // (activity?.getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager)?.showSoftInput(
244
- // this.view, InputMethodManager.SHOW_FORCED
245
- // )
246
- // }
247
- // }
248
-
249
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
250
- if (super.onOptionsItemSelected(item)) {
251
- return true
252
- }
253
-
254
- return when (item.itemId) {
255
- R.id.settings -> {
256
- /* TODO: this should be stripped out */
257
- /* userSettings.userSettingsPopUp().showAsDropDown(requireActivity().findViewById(R.id.settings), 0, 0, Gravity.END) */
258
- true
259
- }
260
- R.id.search -> {
261
- super.onOptionsItemSelected(item)
262
- }
263
-
264
- android.R.id.home -> {
265
- menuSearch.collapseActionView()
266
- true
267
- }
268
-
269
- // TODO: tts
270
- // R.id.screen_reader -> {
271
- // if (isScreenReaderVisible) {
272
- // closeScreenReaderFragment()
273
- // } else {
274
- // showScreenReaderFragment()
275
- // }
276
- // true
277
- // }
278
- else -> false
279
- }
280
- }
281
168
 
282
169
  override fun onTap(point: PointF): Boolean {
283
170
  requireActivity().toggleSystemUi()
284
171
  return true
285
172
  }
286
- // TODO: search
287
- // private fun showSearchFragment() {
288
- // childFragmentManager.commit {
289
- // childFragmentManager.findFragmentByTag(SEARCH_FRAGMENT_TAG)?.let { remove(it) }
290
- // add(R.id.fragment_reader_container, SearchFragment::class.java, Bundle(), SEARCH_FRAGMENT_TAG)
291
- // hide(navigatorFragment)
292
- // addToBackStack(SEARCH_FRAGMENT_TAG)
293
- // }
294
- // }
295
-
296
- // TODO: tts
297
- // private fun showScreenReaderFragment() {
298
- // menuScreenReader.title = resources.getString(R.string.epubactivity_read_aloud_stop)
299
- // isScreenReaderVisible = true
300
- // val arguments = ScreenReaderContract.createArguments(navigator.currentLocator.value)
301
- // childFragmentManager.commit {
302
- // add(R.id.fragment_reader_container, ScreenReaderFragment::class.java, arguments)
303
- // hide(navigatorFragment)
304
- // addToBackStack(null)
305
- // }
306
- // }
307
- //
308
- // private fun closeScreenReaderFragment() {
309
- // menuScreenReader.title = resources.getString(R.string.epubactivity_read_aloud_start)
310
- // isScreenReaderVisible = false
311
- // childFragmentManager.popBackStack()
312
- // }
313
173
 
314
174
  companion object {
315
175
 
@@ -330,46 +190,3 @@ class EpubReaderFragment : VisualReaderFragment(), EpubNavigatorFragment.Listene
330
190
  }
331
191
  }
332
192
  }
333
-
334
- /* TODO: remove */
335
- // /**
336
- // * Example of an HTML template for a custom Decoration Style.
337
- // *
338
- // * This one will display a tinted "pen" icon in the page margin to show that a highlight has an
339
- // * associated note.
340
- // */
341
- // @OptIn(ExperimentalDecorator::class)
342
- // private fun annotationMarkTemplate(context: Context, @ColorInt defaultTint: Int = Color.YELLOW): HtmlDecorationTemplate {
343
- // // Converts the pen icon to a base 64 data URL, to be embedded in the decoration stylesheet.
344
- // // Alternatively, serve the image with the local HTTP server and use its URL.
345
- // val imageUrl = ContextCompat.getDrawable(context, R.drawable.ic_baseline_edit_24)
346
- // ?.toBitmap()?.toDataUrl()
347
- // requireNotNull(imageUrl)
348
- //
349
- // val className = "testapp-annotation-mark"
350
- // return HtmlDecorationTemplate(
351
- // layout = HtmlDecorationTemplate.Layout.BOUNDS,
352
- // width = HtmlDecorationTemplate.Width.PAGE,
353
- // element = { decoration ->
354
- // val style = decoration.style as? DecorationStyleAnnotationMark
355
- // val tint = style?.tint ?: defaultTint
356
- // // Using `data-activable=1` prevents the whole decoration container from being
357
- // // clickable. Only the icon will respond to activation events.
358
- // """
359
- // <div><div data-activable="1" class="$className" style="background-color: ${tint.toCss()} !important"/></div>"
360
- // """
361
- // },
362
- // stylesheet = """
363
- // .$className {
364
- // float: left;
365
- // margin-left: 8px;
366
- // width: 30px;
367
- // height: 30px;
368
- // border-radius: 50%;
369
- // background: url('$imageUrl') no-repeat center;
370
- // background-size: auto 50%;
371
- // opacity: 0.8;
372
- // }
373
- // """
374
- // )
375
- // }
@@ -1,200 +1,3 @@
1
- <!--
2
- ~ Module: r2-testapp-kotlin
3
- ~ Developers: Aferdita Muriqi, Clément Baumann
4
- ~
5
- ~ Copyright (c) 2018. European Digital Reading Lab. All rights reserved.
6
- ~ Licensed to the Readium Foundation under one or more contributor license agreements.
7
- ~ Use of this source code is governed by a BSD-style license which is detailed in the
8
- ~ LICENSE file present in the project repository where this source code is maintained.
9
- -->
10
-
11
1
  <resources>
12
- <string name="app_name" translatable="false">R2 Reader</string>
13
- <string name="menu_item_show_epub_list">Show List</string>
14
- <string name="menu_item_add_epub">Add ePub</string>
15
- <string name="menu_item_filter">Filter</string>
16
- <string name="progress_wait_while_searching_book">Please wait.</string>
17
- <string name="progress_wait">Please wait.</string>
18
- <string name="progress_wait_while_downloading_book">Please wait while your publication is being downloaded.</string>
19
- <string name="progress_wait_while_preparing_book">Please wait while your publication is being prepared.</string>
20
- <string name="progress_wait_while_preparing_audiobook">Please wait while your audiobook is being prepared.</string>
21
- <string name="progress_wait_while_loading_feed">Please wait while your feed is loading.</string>
22
- <string name="error_invalid_epub">Invalid Epub</string>
23
- <string name="fallback_no_description">No description</string>
24
- <string name="button_dismiss">DISMISS</string>
25
-
26
- <string name="epubactivity_drm_info">DRM Info</string>
27
- <string name="epubactivity_set_bookmark">Add a bookmark</string>
28
- <string name="epubactivity_settings">User Settings</string>
29
- <string name="epubactivity_book_nav_options">Book navigation menu</string>
30
- <string name="epubactivity_read_aloud_start">Read Aloud</string>
31
- <string name="epubactivity_read_aloud_stop">Stop Read Aloud</string>
32
- <string name="epubactivity_search">Search</string>
33
-
34
- <string name="epubactivity_accessibility">Accessibility</string>
35
- <string name="epubactivity_accessibility_screen_reader_start">Start Screen Reader</string>
36
- <string name="epubactivity_accessibility_screen_reader_pause">Pause Screen Reader</string>
37
- <string name="epubactivity_accessibility_screen_reader_resume">Resume Screen Reader</string>
38
- <string name="epubactivity_accessibility_screen_reader_stop">Stop Screen Reader</string>
39
-
40
- <string name="title_activity_opdscatalog">OPDS Catalog</string>
41
- <string name="action_settings">Settings</string>
42
- <string name="title_activity_r2_about">About R2 Reader</string>
43
- <string name="title_activity_opds_list">OPDS Feeds</string>
44
- <string name="title_activity_opds_detail">Detail</string>
45
- <string name="title_fragment_drm_management">DRM Management</string>
46
- <string name="title_activity_epub">Detail</string>
47
- <string name="floating_button_add_book">Add a Book</string>
48
- <string name="floating_button_add_feed">Add a OPDS Feed</string>
49
- <string name="about_r2_reader">About R2 Reader</string>
50
- <string name="more_options">More Options</string>
51
- <string name="opds_feeds">OPDS Feeds</string>
52
- <string name="popup_delete_button">DELETE</string>
53
- <string name="add_publication_to_library">Add a publication to your library</string>
54
- <string name="select_from_your_device">select from your device</string>
55
- <string name="download_from_url">download from a url</string>
56
-
57
- <string name="app_version_header">Version</string>
58
- <string name="app_version_label">App Version:</string>
59
- <string name="app_version">2.2.0</string>
60
- <string name="github_tab_label">GitHub Tag:</string>
61
- <string name="github_tag">2.2.0</string>
62
-
63
- <string name="copyright_label">Copyright</string>
64
- <string name="copyright">\@ 2019 European Digital Reading Lab</string>
65
- <string name="bsd_license_label">[BSD-3 license]</string>
66
- <string name="bsd_license_label_accessible">[B S D 3 license]</string>
67
- <string name="acknowledgements_label">Acknowledgements</string>
68
- <string name="acknowledgements_french_state">R2 Reader wouldn\'t have been developed without the financial help of the French state.</string>
69
- <string name="catalog_list_more">More</string>
70
- <string name="catalog_detail_download_button">Download</string>
71
-
72
-
73
- <string name="menu_label_drm">DRM</string>
74
- <string name="menu_label_settings">Settings</string>
75
- <string name="menu_label_toc">TOC</string>
76
- <string name="usersettings_label_font">Font</string>
77
- <string name="usersettings_appearance_default">Default</string>
78
- <string name="usersettings_appearance_sepia">Sepia</string>
79
- <string name="usersettings_appearance_night">Night</string>
80
- <string name="usersettings_label_scroll_mode">Scroll mode</string>
81
- <string name="usersettings_publisher_default">"Publisher's Default"</string>
82
- <string name="usersettings_publisher_default_accessibility">"Publisher's Default Settings"</string>
83
- <string name="usersettings_label_columns">Columns</string>
84
- <string name="usersettings_auto">Auto</string>
85
- <string name="usersettings_column_one">1</string>
86
- <string name="usersettings_column_two">2</string>
87
- <string name="usersettings_label_page_margins">Page Margins</string>
88
- <string name="usersettings_page_margin_default">0.75</string>
89
- <string name="usersettings_label_word_spacing">Word Spacing</string>
90
- <string name="usersettings_label_letter_spacing">Letter Spacing</string>
91
- <string name="usersettings_label_line_height">Line Height</string>
92
- <string name="usersettings_label_TTS_speech_speed">TTS speed</string>
93
-
94
- <!-- Accessibility -->
95
-
96
- <string name="usersettings_description_TTS_speech_speed">Set TTS speech speed</string>
97
- <string name="usersettings_description_brightness">Set Brightness</string>
98
- <string name="usersettings_description_font_increase">Increase Font Size</string>
99
- <string name="usersettings_description_font_decrease">Decrease Font Size</string>
100
- <string name="usersettings_description_pm_increase">Increase Page Margins Size</string>
101
- <string name="usersettings_description_pm_decrease">Decrease Page Margins Size</string>
102
- <string name="usersettings_description_ws_increase">Increase Word Spacing</string>
103
- <string name="usersettings_description_ws_decrease">Decrease Word Spacing</string>
104
- <string name="usersettings_description_ls_increase">Increase Letter Spacing</string>
105
- <string name="usersettings_description_ls_decrease">Decrease Letter Spacing</string>
106
- <string name="usersettings_description_lh_increase">Increase Line Height</string>
107
- <string name="usersettings_description_lh_decrease">Decrease Line Height</string>
108
-
109
- <string name="drm_information_header">INFORMATION</string>
110
- <string name="drm_label_license_type">License Type</string>
111
- <string name="drm_label_state">State</string>
112
- <string name="drm_label_provider">Provider</string>
113
- <string name="drm_label_issued">Issued</string>
114
- <string name="drm_label_updated">Updated</string>
115
- <string name="drm_label_rights">RIGHTS</string>
116
- <string name="drm_label_prints_left">Prints left</string>
117
- <string name="drm_label_copies_left">Copies left</string>
118
- <string name="drm_label_start">Start</string>
119
- <string name="drm_label_end">End</string>
120
- <string name="drm_label_potential_right_end">Potential right end</string>
121
- <string name="drm_label_actions">ACTIONS</string>
122
- <string name="drm_label_renew">RENEW</string>
123
- <string name="drm_label_return">RETURN</string>
124
- <string name="zero">00:00</string>
125
- <string name="chapter">Chapter</string>
126
- <string name="chapter_page">Chapter / Page</string>
127
- <string name="progression">Progression</string>
128
- <string name="timestamp">Timestamp</string>
129
-
130
- <!-- Outlines -->
131
- <string name="contents_tab_label">Contents</string>
132
- <string name="bookmarks_tab_label">Bookmarks</string>
133
- <string name="highlights_tab_label">Highlights</string>
134
- <string name="pagelist_tab_label">Page List</string>
135
- <string name="landmarks_tab_label">Landmarks</string>
136
- <string name="action_mode_menu_highlight">Highlight</string>
137
- <string name="action_mode_menu_underline">Underline</string>
138
- <string name="action_mode_menu_note">Note</string>
139
- <string name="bookmark_added">Bookmark added</string>
140
- <string name="bookmark_exists">Bookmark already exists</string>
141
-
142
- <string name="title_catalogs">Catalogs</string>
143
- <string name="title_bookshelf">Bookshelf</string>
144
- <string name="title_about">About</string>
145
- <string name="cover_image">Cover Image</string>
146
- <string name="repfr">repfr</string>
147
-
148
- <string name="delete">Delete</string>
149
- <string name="cancel">Cancel</string>
150
- <string name="confirm_delete_book_title">Delete Book?</string>
151
- <string name="confirm_delete_book_text">Are you sure you want to delete this book?</string>
152
- <string name="confirm_delete_catalog_title">Delete Catalog?</string>
153
- <string name="confirm_delete_catalog_text">Are you sure you want to delete this Catalog feed?</string>
154
-
155
- <string name="add_book">Add a Book</string>
156
- <string name="add_catalog">Add an Catalog Feed</string>
157
- <string name="ok">OK</string>
158
- <string name="save">Save</string>
159
- <string name="enter_title">Enter the Title</string>
160
- <string name="enter_url">Enter the URL</string>
161
- <string name="invalid_title">Please enter a title</string>
162
- <string name="invalid_url">Please enter a valid URL</string>
163
- <string name="catalog_parse_error">Error parsing Catalog feed. Please check the URL and try again</string>
164
-
165
- <string name="publication_image_description">Cover image for %1$s</string>
166
-
167
- <string name="return_publication">This will return the publication</string>
168
- <string name="return_button">Return</string>
169
-
170
- <string name="end_of_chapter">End of chapter</string>
171
-
172
- <string name="unable_to_move_pub">Unable to move publication into the library</string>
173
- <string name="import_publication_success">Publication added to your library</string>
174
- <string name="unable_add_pub_database">Unable to add publication to the database</string>
175
- <string name="failed_parsing_catalog">Failed parsing Catalog</string>
176
- <string name="next_chapter">Next chapter</string>
177
- <string name="next_sentence">Next sentence</string>
178
- <string name="play_and_pause">Play and pause</string>
179
- <string name="previous_sentence">Previous sentence</string>
180
- <string name="previous_chapter">Previous chapter</string>
181
- <string name="brightness_lower">Brightness lower</string>
182
- <string name="brightness_higher">Brightness higher</string>
183
- <string name="tts_slower">TTS slower</string>
184
- <string name="tts_faster">TTS faster</string>
185
2
  <string name="no_result">No result</string>
186
- <string name="note">Note</string>
187
- <string name="add_a_note">Add a note</string>
188
- <string name="add_an_annotation">Add an annotation</string>
189
- <string name="delete_highlight_or_annotation">Delete highlight or annotation</string>
190
- <string name="yellow">Yellow</string>
191
- <string name="green">Green</string>
192
- <string name="blue">Blue</string>
193
- <string name="red">Red</string>
194
- <string name="purple">Purple</string>
195
- <string name="seek_bar">Seek bar</string>
196
- <string name="go_backward_30_seconds">Go backward 30 seconds</string>
197
- <string name="play_or_pause">Play or pause</string>
198
- <string name="go_forward_30_seconds">Go forward 30 seconds</string>
199
- <string name="select_a_font">Select a font</string>
200
3
  </resources>
@@ -20,7 +20,6 @@ final class AppModule {
20
20
 
21
21
  // App modules
22
22
  var reader: ReaderModuleAPI! = nil
23
- // var opds: OPDSModuleAPI! = nil
24
23
 
25
24
  init() throws {
26
25
  guard let server = PublicationServer() else {
@@ -29,7 +28,6 @@ final class AppModule {
29
28
  }
30
29
 
31
30
  reader = ReaderModule(delegate: self, resourcesServer: server)
32
- // opds = OPDSModule(delegate: self)
33
31
 
34
32
  // Set Readium 2's logging minimum level.
35
33
  R2EnableLog(withMinimumSeverityLevel: .debug)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-readium",
3
- "version": "1.0.0-alpha.1",
3
+ "version": "1.0.0-alpha.2",
4
4
  "description": "A react-native wrapper for https://readium.org/",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -33,7 +33,7 @@
33
33
  "version": "yarn changelog && git add CHANGELOG.md",
34
34
  "postversion": "npm run publish:git && npm run publish:npm",
35
35
  "publish:git": "git push && git push --tags",
36
- "publish:npm": "yarn publish --access public --new-version $npm_package_version",
36
+ "publish:npm": "npm run prepare && npm publish --access public",
37
37
  "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
38
38
  },
39
39
  "keywords": [
@@ -15,11 +15,12 @@ Pod::Spec.new do |s|
15
15
 
16
16
  s.source_files = "ios/**/*.{h,m,mm,swift}"
17
17
 
18
+ s.swift_version = "5.0"
19
+
18
20
  s.dependency "React-Core"
19
21
 
20
22
  # this is an issue as these aren't currently published on cocoapods.org
21
23
  s.dependency "R2Shared"
22
24
  s.dependency "R2Streamer"
23
25
  s.dependency "R2Navigator"
24
- s.dependency "ReadiumOPDS"
25
26
  end
@@ -1,68 +0,0 @@
1
- /*
2
- * Copyright 2021 Readium Foundation. All rights reserved.
3
- * Use of this source code is governed by the BSD-style license
4
- * available in the top-level LICENSE file of the project.
5
- */
6
-
7
- package com.reactnativereadium.reader
8
-
9
- import android.graphics.PointF
10
- import android.os.Bundle
11
- import android.view.LayoutInflater
12
- import android.view.View
13
- import android.view.ViewGroup
14
- import androidx.fragment.app.commitNow
15
- import androidx.lifecycle.ViewModelProvider
16
- import org.readium.r2.navigator.Navigator
17
- import org.readium.r2.navigator.image.ImageNavigatorFragment
18
- import org.readium.r2.shared.publication.Publication
19
- import com.reactnativereadium.R
20
- import com.reactnativereadium.utils.toggleSystemUi
21
-
22
- class ImageReaderFragment : VisualReaderFragment(), ImageNavigatorFragment.Listener {
23
-
24
- override lateinit var model: ReaderViewModel
25
- override lateinit var navigator: Navigator
26
- private lateinit var publication: Publication
27
-
28
- override fun onCreate(savedInstanceState: Bundle?) {
29
- ViewModelProvider(requireActivity()).get(ReaderViewModel::class.java).let {
30
- model = it
31
- publication = it.publication
32
- }
33
-
34
- childFragmentManager.fragmentFactory =
35
- ImageNavigatorFragment.createFactory(publication, model.initialLocation, this)
36
-
37
- super.onCreate(savedInstanceState)
38
- }
39
-
40
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
41
- val view = super.onCreateView(inflater, container, savedInstanceState)
42
- if (savedInstanceState == null) {
43
- childFragmentManager.commitNow {
44
- add(R.id.fragment_reader_container, ImageNavigatorFragment::class.java, Bundle(), NAVIGATOR_FRAGMENT_TAG)
45
- }
46
- }
47
- navigator = childFragmentManager.findFragmentByTag(NAVIGATOR_FRAGMENT_TAG)!! as Navigator
48
- return view
49
- }
50
-
51
- override fun onTap(point: PointF): Boolean {
52
- val viewWidth = requireView().width
53
- val leftRange = 0.0..(0.2 * viewWidth)
54
-
55
- when {
56
- leftRange.contains(point.x) -> navigator.goBackward(animated = true)
57
- leftRange.contains(viewWidth - point.x) -> navigator.goForward(animated = true)
58
- else -> requireActivity().toggleSystemUi()
59
- }
60
-
61
- return true
62
- }
63
-
64
- companion object {
65
-
66
- const val NAVIGATOR_FRAGMENT_TAG = "navigator"
67
- }
68
- }