codex 1.4.0a0__py3-none-any.whl → 1.4.1__py3-none-any.whl

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.

Potentially problematic release.


This version of codex might be problematic. Click here for more details.

Files changed (279) hide show
  1. codex/config_default.yaml +12 -4
  2. codex/db_functions.py +4 -2
  3. codex/integrity.py +17 -6
  4. codex/librarian/covers/coverd.py +3 -11
  5. codex/librarian/covers/create.py +15 -21
  6. codex/librarian/covers/tasks.py +2 -16
  7. codex/librarian/importer/aggregate_metadata.py +75 -41
  8. codex/librarian/importer/clean_metadata.py +30 -7
  9. codex/librarian/importer/create_fks.py +154 -55
  10. codex/librarian/importer/deleted.py +11 -2
  11. codex/librarian/importer/failed_imports.py +44 -5
  12. codex/librarian/importer/importerd.py +37 -12
  13. codex/librarian/importer/link_comics.py +54 -31
  14. codex/librarian/importer/moved.py +55 -11
  15. codex/librarian/importer/query_fks.py +210 -48
  16. codex/librarian/importer/tasks.py +7 -7
  17. codex/librarian/janitor/cleanup.py +17 -5
  18. codex/librarian/librariand.py +10 -0
  19. codex/librarian/watchdog/events.py +11 -14
  20. codex/librarian/watchdog/observers.py +5 -1
  21. codex/logger/loggerd.py +7 -3
  22. codex/logger/logging.py +1 -1
  23. codex/migrations/0024_comic_gtin_comic_story_arc_number.py +24 -0
  24. codex/migrations/0025_add_story_arc_number.py +83 -0
  25. codex/models.py +21 -11
  26. codex/search/backend.py +1 -1
  27. codex/search/indexes.py +1 -1
  28. codex/serializers/browser.py +1 -0
  29. codex/serializers/metadata.py +5 -1
  30. codex/serializers/models.py +16 -1
  31. codex/serializers/opds/v1.py +1 -0
  32. codex/serializers/opds/v2.py +5 -2
  33. codex/serializers/reader.py +55 -16
  34. codex/settings/settings.py +1 -1
  35. codex/static_root/assets/admin-12749881.ef0f50bac290.js +41 -0
  36. codex/static_root/assets/admin-12749881.ef0f50bac290.js.br +0 -0
  37. codex/static_root/assets/admin-12749881.ef0f50bac290.js.gz +0 -0
  38. codex/static_root/assets/admin-12749881.js +41 -0
  39. codex/static_root/assets/admin-12749881.js.br +0 -0
  40. codex/static_root/assets/admin-12749881.js.gz +0 -0
  41. codex/static_root/assets/admin-beda768d.a614eee46307.css +1 -0
  42. codex/static_root/assets/admin-beda768d.a614eee46307.css.br +0 -0
  43. codex/static_root/assets/admin-beda768d.a614eee46307.css.gz +0 -0
  44. codex/static_root/assets/admin-beda768d.css +1 -0
  45. codex/static_root/assets/admin-beda768d.css.br +0 -0
  46. codex/static_root/assets/admin-beda768d.css.gz +0 -0
  47. codex/static_root/assets/admin-drawer-panel-41c225cc.3f84583b435b.css +1 -0
  48. codex/static_root/assets/admin-drawer-panel-41c225cc.3f84583b435b.css.br +0 -0
  49. codex/static_root/assets/admin-drawer-panel-41c225cc.3f84583b435b.css.gz +0 -0
  50. codex/static_root/assets/admin-drawer-panel-41c225cc.css +1 -0
  51. codex/static_root/assets/admin-drawer-panel-41c225cc.css.br +0 -0
  52. codex/static_root/assets/admin-drawer-panel-41c225cc.css.gz +0 -0
  53. codex/static_root/assets/admin-drawer-panel-522f1e6c.089d70878270.js +1 -0
  54. codex/static_root/assets/admin-drawer-panel-522f1e6c.089d70878270.js.br +0 -0
  55. codex/static_root/assets/admin-drawer-panel-522f1e6c.089d70878270.js.gz +0 -0
  56. codex/static_root/assets/admin-drawer-panel-522f1e6c.js +1 -0
  57. codex/static_root/assets/admin-drawer-panel-522f1e6c.js.br +0 -0
  58. codex/static_root/assets/admin-drawer-panel-522f1e6c.js.gz +0 -0
  59. codex/static_root/assets/browser-7f7d7134.0fe3749b0f2f.css +1 -0
  60. codex/static_root/assets/browser-7f7d7134.0fe3749b0f2f.css.br +0 -0
  61. codex/static_root/assets/browser-7f7d7134.0fe3749b0f2f.css.gz +0 -0
  62. codex/static_root/assets/browser-7f7d7134.css +1 -0
  63. codex/static_root/assets/browser-7f7d7134.css.br +0 -0
  64. codex/static_root/assets/browser-7f7d7134.css.gz +0 -0
  65. codex/static_root/assets/browser-af622672.d51aca96d64d.js +1 -0
  66. codex/static_root/assets/browser-af622672.d51aca96d64d.js.br +0 -0
  67. codex/static_root/assets/browser-af622672.d51aca96d64d.js.gz +0 -0
  68. codex/static_root/assets/browser-af622672.js +1 -0
  69. codex/static_root/assets/browser-af622672.js.br +0 -0
  70. codex/static_root/assets/browser-af622672.js.gz +0 -0
  71. codex/static_root/assets/http-error-5e17b794.77ceeb2d4641.js +1 -0
  72. codex/static_root/assets/http-error-5e17b794.77ceeb2d4641.js.br +0 -0
  73. codex/static_root/assets/http-error-5e17b794.77ceeb2d4641.js.gz +0 -0
  74. codex/static_root/assets/http-error-5e17b794.js +1 -0
  75. codex/static_root/assets/http-error-5e17b794.js.br +0 -0
  76. codex/static_root/assets/http-error-5e17b794.js.gz +0 -0
  77. codex/static_root/assets/{main-a6ac9581.2fd9e52cbcc3.css → main-0898f4bb.181e0145c642.css} +1 -1
  78. codex/static_root/assets/main-0898f4bb.181e0145c642.css.br +0 -0
  79. codex/static_root/assets/{main-a6ac9581.2fd9e52cbcc3.css.gz → main-0898f4bb.181e0145c642.css.gz} +0 -0
  80. codex/static_root/assets/{main-a6ac9581.css → main-0898f4bb.css} +1 -1
  81. codex/static_root/assets/main-0898f4bb.css.br +0 -0
  82. codex/static_root/assets/{main-a6ac9581.css.gz → main-0898f4bb.css.gz} +0 -0
  83. codex/static_root/assets/main-9e76a4c3.6844a407d14c.js +1 -0
  84. codex/static_root/assets/main-9e76a4c3.6844a407d14c.js.br +0 -0
  85. codex/static_root/assets/main-9e76a4c3.6844a407d14c.js.gz +0 -0
  86. codex/static_root/assets/main-9e76a4c3.js +1 -0
  87. codex/static_root/assets/main-9e76a4c3.js.br +0 -0
  88. codex/static_root/assets/main-9e76a4c3.js.gz +0 -0
  89. codex/static_root/assets/metadata-dialog-62c29ce0.8418785c0453.js +1 -0
  90. codex/static_root/assets/metadata-dialog-62c29ce0.8418785c0453.js.br +0 -0
  91. codex/static_root/assets/metadata-dialog-62c29ce0.8418785c0453.js.gz +0 -0
  92. codex/static_root/assets/metadata-dialog-62c29ce0.js +1 -0
  93. codex/static_root/assets/metadata-dialog-62c29ce0.js.br +0 -0
  94. codex/static_root/assets/metadata-dialog-62c29ce0.js.gz +0 -0
  95. codex/static_root/assets/{metadata-dialog-785c4cfc.694a251cda37.css → metadata-dialog-cb306ffd.cc304996d7bb.css} +1 -1
  96. codex/static_root/assets/metadata-dialog-cb306ffd.cc304996d7bb.css.br +0 -0
  97. codex/static_root/assets/metadata-dialog-cb306ffd.cc304996d7bb.css.gz +0 -0
  98. codex/static_root/assets/{metadata-dialog-785c4cfc.css → metadata-dialog-cb306ffd.css} +1 -1
  99. codex/static_root/assets/metadata-dialog-cb306ffd.css.br +0 -0
  100. codex/static_root/assets/metadata-dialog-cb306ffd.css.gz +0 -0
  101. codex/static_root/assets/{page-pdf-abfd509d.3870dab8eaf4.js → page-pdf-157ba97e.613d7c2beb77.js} +61 -51
  102. codex/static_root/assets/page-pdf-157ba97e.613d7c2beb77.js.br +0 -0
  103. codex/static_root/assets/page-pdf-157ba97e.613d7c2beb77.js.gz +0 -0
  104. codex/static_root/assets/{page-pdf-abfd509d.js → page-pdf-157ba97e.js} +61 -51
  105. codex/static_root/assets/page-pdf-157ba97e.js.br +0 -0
  106. codex/static_root/assets/page-pdf-157ba97e.js.gz +0 -0
  107. codex/static_root/assets/reader-36266549.0b2cf1291f27.js +1 -0
  108. codex/static_root/assets/reader-36266549.0b2cf1291f27.js.br +0 -0
  109. codex/static_root/assets/reader-36266549.0b2cf1291f27.js.gz +0 -0
  110. codex/static_root/assets/reader-36266549.js +1 -0
  111. codex/static_root/assets/reader-36266549.js.br +0 -0
  112. codex/static_root/assets/reader-36266549.js.gz +0 -0
  113. codex/static_root/assets/reader-7f004141.506eecc6954b.css +1 -0
  114. codex/static_root/assets/reader-7f004141.506eecc6954b.css.br +0 -0
  115. codex/static_root/assets/reader-7f004141.506eecc6954b.css.gz +0 -0
  116. codex/static_root/assets/reader-7f004141.css +1 -0
  117. codex/static_root/assets/reader-7f004141.css.br +0 -0
  118. codex/static_root/assets/reader-7f004141.css.gz +0 -0
  119. codex/static_root/js/choices-admin.24cecf0a0568.json +1 -0
  120. codex/static_root/js/choices-admin.24cecf0a0568.json.br +0 -0
  121. codex/static_root/js/choices-admin.24cecf0a0568.json.gz +0 -0
  122. codex/static_root/js/choices-admin.json +1 -1
  123. codex/static_root/js/choices-admin.json.br +0 -0
  124. codex/static_root/js/choices-admin.json.gz +0 -0
  125. codex/static_root/js/choices.8c58714cf5b2.json +1 -0
  126. codex/static_root/js/choices.8c58714cf5b2.json.br +5 -0
  127. codex/static_root/js/choices.8c58714cf5b2.json.gz +0 -0
  128. codex/static_root/js/choices.json +1 -1
  129. codex/static_root/js/choices.json.br +0 -0
  130. codex/static_root/js/choices.json.gz +0 -0
  131. codex/static_root/{manifest.64a989215af8.json → manifest.d2f93a519ada.json} +34 -34
  132. codex/static_root/manifest.d2f93a519ada.json.br +0 -0
  133. codex/static_root/manifest.d2f93a519ada.json.gz +0 -0
  134. codex/static_root/manifest.json +34 -34
  135. codex/static_root/manifest.json.br +0 -0
  136. codex/static_root/manifest.json.gz +0 -0
  137. codex/static_root/staticfiles.json +1 -1
  138. codex/templates/headers-script-globals.html +1 -1
  139. codex/templates/{opds → opds_v1}/index.xml +3 -1
  140. codex/templates/{opds/opensearch.xml → opds_v1/opensearch_v1.xml} +1 -1
  141. codex/templates/search/indexes/codex/comic_text.txt +2 -2
  142. codex/urls/converters.py +1 -1
  143. codex/urls/opds/authentication.py +1 -1
  144. codex/urls/opds/root.py +8 -12
  145. codex/urls/opds/v1.py +12 -5
  146. codex/urls/opds/v2.py +2 -2
  147. codex/views/admin/tasks.py +6 -1
  148. codex/views/bookmark.py +2 -2
  149. codex/views/browser/base.py +23 -7
  150. codex/views/browser/browser.py +66 -56
  151. codex/views/browser/browser_annotations.py +159 -50
  152. codex/views/browser/browser_order_by.py +51 -105
  153. codex/views/browser/choices.py +75 -38
  154. codex/views/browser/filters/bookmark.py +6 -9
  155. codex/views/browser/filters/field.py +9 -6
  156. codex/views/browser/filters/group.py +12 -27
  157. codex/views/browser/filters/search.py +5 -10
  158. codex/views/browser/metadata.py +44 -19
  159. codex/views/download.py +1 -1
  160. codex/views/frontend.py +2 -3
  161. codex/views/mixins.py +15 -2
  162. codex/views/opds/const.py +8 -1
  163. codex/views/opds/util.py +37 -1
  164. codex/views/opds/v1/__init__.py +1 -1
  165. codex/views/opds/v1/data.py +21 -0
  166. codex/views/opds/v1/entry/__init__.py +1 -0
  167. codex/views/opds/v1/entry/data.py +23 -0
  168. codex/views/opds/v1/entry/entry.py +151 -0
  169. codex/views/opds/v1/entry/links.py +135 -0
  170. codex/views/opds/v1/facets.py +190 -0
  171. codex/views/opds/v1/feed.py +199 -0
  172. codex/views/opds/v1/links.py +198 -0
  173. codex/views/opds/{opensearch.py → v1/opensearch_v1.py} +3 -3
  174. codex/views/opds/v2/__init__.py +1 -1
  175. codex/views/opds/v2/const.py +10 -2
  176. codex/views/opds/v2/feed.py +82 -21
  177. codex/views/opds/v2/links.py +1 -1
  178. codex/views/opds/v2/publications.py +1 -1
  179. codex/views/opds/v2/top_links.py +1 -1
  180. codex/views/reader/page.py +6 -7
  181. codex/views/reader/reader.py +191 -61
  182. codex/views/session.py +2 -1
  183. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/METADATA +10 -41
  184. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/RECORD +187 -185
  185. codex/librarian/importer/db_ops.py +0 -248
  186. codex/pdf.py +0 -115
  187. codex/static_root/assets/admin-73d93dc7.2c3eb62e50a0.js +0 -48
  188. codex/static_root/assets/admin-73d93dc7.2c3eb62e50a0.js.br +0 -0
  189. codex/static_root/assets/admin-73d93dc7.2c3eb62e50a0.js.gz +0 -0
  190. codex/static_root/assets/admin-73d93dc7.js +0 -48
  191. codex/static_root/assets/admin-73d93dc7.js.br +0 -0
  192. codex/static_root/assets/admin-73d93dc7.js.gz +0 -0
  193. codex/static_root/assets/admin-79555229.5f2c4cb3a73c.css +0 -1
  194. codex/static_root/assets/admin-79555229.5f2c4cb3a73c.css.br +0 -0
  195. codex/static_root/assets/admin-79555229.5f2c4cb3a73c.css.gz +0 -0
  196. codex/static_root/assets/admin-79555229.css +0 -1
  197. codex/static_root/assets/admin-79555229.css.br +0 -0
  198. codex/static_root/assets/admin-79555229.css.gz +0 -0
  199. codex/static_root/assets/admin-drawer-panel-64bcc083.a85324c9ccd8.js +0 -1
  200. codex/static_root/assets/admin-drawer-panel-64bcc083.a85324c9ccd8.js.br +0 -0
  201. codex/static_root/assets/admin-drawer-panel-64bcc083.a85324c9ccd8.js.gz +0 -0
  202. codex/static_root/assets/admin-drawer-panel-64bcc083.js +0 -1
  203. codex/static_root/assets/admin-drawer-panel-64bcc083.js.br +0 -0
  204. codex/static_root/assets/admin-drawer-panel-64bcc083.js.gz +0 -0
  205. codex/static_root/assets/admin-drawer-panel-cce8c0aa.2c0814fa2a9b.css +0 -1
  206. codex/static_root/assets/admin-drawer-panel-cce8c0aa.2c0814fa2a9b.css.br +0 -2
  207. codex/static_root/assets/admin-drawer-panel-cce8c0aa.2c0814fa2a9b.css.gz +0 -0
  208. codex/static_root/assets/admin-drawer-panel-cce8c0aa.css +0 -1
  209. codex/static_root/assets/admin-drawer-panel-cce8c0aa.css.br +0 -2
  210. codex/static_root/assets/admin-drawer-panel-cce8c0aa.css.gz +0 -0
  211. codex/static_root/assets/browser-7325db61.css +0 -1
  212. codex/static_root/assets/browser-7325db61.css.br +0 -0
  213. codex/static_root/assets/browser-7325db61.css.gz +0 -0
  214. codex/static_root/assets/browser-7325db61.ed2cfbf8e8ee.css +0 -1
  215. codex/static_root/assets/browser-7325db61.ed2cfbf8e8ee.css.br +0 -0
  216. codex/static_root/assets/browser-7325db61.ed2cfbf8e8ee.css.gz +0 -0
  217. codex/static_root/assets/browser-d2caeed7.2262000a6d55.js +0 -1
  218. codex/static_root/assets/browser-d2caeed7.2262000a6d55.js.br +0 -0
  219. codex/static_root/assets/browser-d2caeed7.2262000a6d55.js.gz +0 -0
  220. codex/static_root/assets/browser-d2caeed7.js +0 -1
  221. codex/static_root/assets/browser-d2caeed7.js.br +0 -0
  222. codex/static_root/assets/browser-d2caeed7.js.gz +0 -0
  223. codex/static_root/assets/http-error-0221c37d.480d5066da92.js +0 -1
  224. codex/static_root/assets/http-error-0221c37d.480d5066da92.js.br +0 -0
  225. codex/static_root/assets/http-error-0221c37d.480d5066da92.js.gz +0 -0
  226. codex/static_root/assets/http-error-0221c37d.js +0 -1
  227. codex/static_root/assets/http-error-0221c37d.js.br +0 -0
  228. codex/static_root/assets/http-error-0221c37d.js.gz +0 -0
  229. codex/static_root/assets/main-a6ac9581.2fd9e52cbcc3.css.br +0 -0
  230. codex/static_root/assets/main-a6ac9581.css.br +0 -0
  231. codex/static_root/assets/main-e33dcfb0.a65044fc1a08.js +0 -1
  232. codex/static_root/assets/main-e33dcfb0.a65044fc1a08.js.br +0 -0
  233. codex/static_root/assets/main-e33dcfb0.a65044fc1a08.js.gz +0 -0
  234. codex/static_root/assets/main-e33dcfb0.js +0 -1
  235. codex/static_root/assets/main-e33dcfb0.js.br +0 -0
  236. codex/static_root/assets/main-e33dcfb0.js.gz +0 -0
  237. codex/static_root/assets/metadata-dialog-785c4cfc.694a251cda37.css.br +0 -0
  238. codex/static_root/assets/metadata-dialog-785c4cfc.694a251cda37.css.gz +0 -0
  239. codex/static_root/assets/metadata-dialog-785c4cfc.css.br +0 -0
  240. codex/static_root/assets/metadata-dialog-785c4cfc.css.gz +0 -0
  241. codex/static_root/assets/metadata-dialog-8b0e8aaa.d12b42b1c9da.js +0 -1
  242. codex/static_root/assets/metadata-dialog-8b0e8aaa.d12b42b1c9da.js.br +0 -0
  243. codex/static_root/assets/metadata-dialog-8b0e8aaa.d12b42b1c9da.js.gz +0 -0
  244. codex/static_root/assets/metadata-dialog-8b0e8aaa.js +0 -1
  245. codex/static_root/assets/metadata-dialog-8b0e8aaa.js.br +0 -0
  246. codex/static_root/assets/metadata-dialog-8b0e8aaa.js.gz +0 -0
  247. codex/static_root/assets/page-pdf-abfd509d.3870dab8eaf4.js.br +0 -0
  248. codex/static_root/assets/page-pdf-abfd509d.3870dab8eaf4.js.gz +0 -0
  249. codex/static_root/assets/page-pdf-abfd509d.js.br +0 -0
  250. codex/static_root/assets/page-pdf-abfd509d.js.gz +0 -0
  251. codex/static_root/assets/reader-a8b8f766.875abdd0d22e.css +0 -1
  252. codex/static_root/assets/reader-a8b8f766.875abdd0d22e.css.br +0 -0
  253. codex/static_root/assets/reader-a8b8f766.875abdd0d22e.css.gz +0 -0
  254. codex/static_root/assets/reader-a8b8f766.css +0 -1
  255. codex/static_root/assets/reader-a8b8f766.css.br +0 -0
  256. codex/static_root/assets/reader-a8b8f766.css.gz +0 -0
  257. codex/static_root/assets/reader-fe9345d2.759c31f82998.js +0 -1
  258. codex/static_root/assets/reader-fe9345d2.759c31f82998.js.br +0 -0
  259. codex/static_root/assets/reader-fe9345d2.759c31f82998.js.gz +0 -0
  260. codex/static_root/assets/reader-fe9345d2.js +0 -1
  261. codex/static_root/assets/reader-fe9345d2.js.br +0 -0
  262. codex/static_root/assets/reader-fe9345d2.js.gz +0 -0
  263. codex/static_root/js/choices-admin.3d958ea7f83b.json +0 -1
  264. codex/static_root/js/choices-admin.3d958ea7f83b.json.br +0 -0
  265. codex/static_root/js/choices-admin.3d958ea7f83b.json.gz +0 -0
  266. codex/static_root/js/choices.6bfc2a3d293f.json +0 -1
  267. codex/static_root/js/choices.6bfc2a3d293f.json.br +0 -0
  268. codex/static_root/js/choices.6bfc2a3d293f.json.gz +0 -0
  269. codex/static_root/manifest.64a989215af8.json.br +0 -0
  270. codex/static_root/manifest.64a989215af8.json.gz +0 -0
  271. codex/urls/opds/opensearch.py +0 -18
  272. codex/views/opds/v1/browser.py +0 -346
  273. codex/views/opds/v1/entry.py +0 -278
  274. codex/views/opds/v1/start.py +0 -28
  275. codex/views/opds/v1/util.py +0 -162
  276. codex/views/opds/v2/start.py +0 -28
  277. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/LICENSE +0 -0
  278. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/WHEEL +0 -0
  279. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1 @@
1
+ import{a as f,bo as u,b as v,c as m,o as d,e as h,w as l,j as p,t as k,bp as ue,bq as ge,g as n,D as P,A as T,f as y,C as S,ar as V,d as b,br as Fe,bs as He,i,aG as D,bn as pe,bt as Me,bu as Ge,bv as Ke,bw as qe,bx as _e,r as K,by as he,F as I,bz as me,M as q,bA as je,O as Ye,ba as Xe,R as j,be as Ze,bB as Je,bC as Qe,W as Y,bD as Z,bE as et,aK as X,bg as E,bd as tt,b4 as M,bF as ot,bG as at,bH as nt,bI as st,n as A,aH as rt,aZ as it,bJ as lt,L as ct,I as dt,J as L,au as G,a$ as J,aw as ut,ax as gt,bK as pt,bL as _t,bM as ht,bN as mt,bO as kt,l as Q,bP as bt,bQ as ke,bR as vt,bS as ft,bT as Pt,bU as ee,ac as St,bV as wt,bf as yt,bW as Ct,bX as te,bY as be,bZ as Rt,aD as F,b_ as Tt,b$ as It,c0 as Bt,c1 as Dt,c2 as Vt,c3 as $t,c4 as Lt,c5 as xt,c6 as Ot,c7 as Et,p as At,q as Nt,V as oe,bm as ve,B as ae,bl as Ut,c8 as Wt,bj as ne,c9 as zt}from"./admin-12749881.js";import{_ as N,a as fe,b as Pe,P as Ft,c as Se}from"./metadata-dialog-62c29ce0.js";const Ht={name:"ReaderNavButton",components:{PaginationNavButton:N},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...f(u,{storePage:e=>e.page,vertical:e=>{var t;return(t=e.activeSettings)==null?void 0:t.vertical},toRoute(e){return{params:{pk:e.books.current.pk,page:this.value}}}}),title(){return"to page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...v(u,["setActivePage"]),onClick(){this.setActivePage(this.value,!0)}}};function Mt(e,t,o,c,r,a){const s=N;return e.vertical?(d(),h(s,{key:0,disabled:a.disabled,title:a.title,onClick:a.onClick},{default:l(()=>[p(k(o.value),1)]),_:1},8,["disabled","title","onClick"])):(d(),h(s,{key:1,disabled:a.disabled,title:a.title,to:e.toRoute},{default:l(()=>[p(k(o.value),1)]),_:1},8,["disabled","title","to"]))}const we=m(Ht,[["render",Mt]]),Gt={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:N},props:{direction:{type:String,required:!0}},computed:{...f(u,{toRoute(e){var o;const t=(o=e==null?void 0:e.routes)==null?void 0:o.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.direction==="prev"?ue:ge},disabled(){return!this.toRoute}}};function Kt(e,t,o,c,r,a){const s=N;return d(),h(s,{icon:"",variant:"plain",disabled:a.disabled,title:a.title,to:e.toRoute},{default:l(()=>[n(P,null,{default:l(()=>[p(k(a.icon),1)]),_:1})]),_:1},8,["disabled","title","to"])}const ye=m(Gt,[["render",Kt]]),x="prev",O="next",qt={name:"ReaderNavToolbar",components:{PaginationSlider:fe,ReaderNavButton:we,PaginationToolbar:Pe,ReaderBookChangeNavButton:ye},computed:{...T(u,["activeSettings"]),...f(u,{storePage:e=>e.page,key(e){var t,o;return`${(o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk}:${this.twoPages}`},maxPage:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},readInReverse(){return this.activeSettings.readInReverse},min(){return this.readInReverse?this.maxPage:0},max(){return this.readInReverse?0:this.maxPage},bookPrev(){return this.readInReverse?"next":"prev"},bookNext(){return this.readInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...v(u,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.activeSettings.vertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyListener(e){switch(e.stopPropagation(),e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection(x);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection(x);break;case",":this.routeToDirectionOne(x);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook(x);break}}}};function jt(e,t,o,c,r,a){const s=ye,g=we,_=fe,C=Pe;return e.maxPage?(d(),h(C,{key:0},{default:l(()=>[n(s,{direction:a.bookPrev},null,8,["direction"]),n(g,{value:a.min,"two-pages":a.twoPages},null,8,["value","two-pages"]),(d(),h(_,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:a.step,"track-color":a.trackColor,reverse:a.readInReverse,"onUpdate:modelValue":t[0]||(t[0]=B=>a.onSliderUpdate(B))},null,8,["model-value","max","step","track-color","reverse"])),n(g,{value:a.max,"two-pages":a.twoPages},null,8,["value","two-pages"]),n(s,{direction:a.bookNext},null,8,["direction"])]),_:1})):y("",!0)}const Ce=m(qt,[["render",jt]]);const Yt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...f(u,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes[this.computedDirection]},directionClass(e){let t=this.direction;return e.activeSettings.vertical&&(t+="Vertical"),t},pageChangeClass(e){let t="pageChange";return t+=e.activeSettings.vertical?"Row":"Column",t}}),route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...v(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Xt(e,t,o,c,r,a){const s=S("router-link");return d(),h(s,{to:a.route,"aria-label":a.label,class:V({[e.pageChangeClass]:!0,[e.directionClass]:!0}),onClick:t[0]||(t[0]=g=>g.stopImmediatePropagation())},null,8,["to","aria-label","class"])}const Re=m(Yt,[["render",Xt],["__scopeId","data-v-4698e9bc"]]);const Zt={name:"LoadingPage",components:{Placeholder:Ft},props:{twoPages:{type:Boolean,required:!0}}};function Jt(e,t,o,c,r,a){const s=S("Placeholder");return d(),b("div",{class:V(["pageLoading",{twoPages:o.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Qt=m(Zt,[["render",Jt],["__scopeId","data-v-13c9bf0b"]]);const se="unauthorized",eo={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===se?"Protected page":"Failed to load page"},icon(){return this.type===se?Fe:He}}},to={class:"pageErrorContainer"},oo={class:"pageErrorText"};function ao(e,t,o,c,r,a){return d(),b("div",{class:V(["pageError",{twoPages:o.twoPages}])},[i("div",to,[i("div",oo,k(a.text),1),n(P,{class:"pageErrorIcon"},{default:l(()=>[p(k(a.icon),1)]),_:1})])],2)}const no=m(eo,[["render",ao],["__scopeId","data-v-3f1e3f4f"]]);const so={name:"ImgPage",props:{src:{type:String,required:!0},fitToClass:{type:Object,required:!0}},emits:["load","error"]},ro=["src"];function io(e,t,o,c,r,a){return d(),b("img",D({class:o.fitToClass,src:o.src},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error")),onLoad:t[1]||(t[1]=s=>e.$emit("load"))}),null,16,ro)}const re=m(so,[["render",io],["__scopeId","data-v-5997abff"]]);const ie=pe(Me(()=>qe(()=>import("./page-pdf-157ba97e.js"),["assets/page-pdf-157ba97e.js","assets/admin-12749881.js","assets/admin-beda768d.css","assets/page-pdf-2d7d4f5d.css"]))),lo=333,co={S:"Screen",W:"Width",H:"Height",O:"Original"},uo={name:"BookPage",components:{ErrorPage:no,LoadingPage:Qt,PDFPage:ie,ImgPage:re},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{pageClass(){return this.settings.vertical?"pageVertical":"pageHorizontal"},fitToClass(){let e={};const t=co[this.settings.fitTo];if(t){let o="fitTo";o+=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase(),this.settings.twoPages&&(o+="Two",this.settings.vertical&&(o+="Vertical")),e[o]=!0}return e},src(){const e={pk:this.book.pk,page:this.page};return Ge(e)},component(){return this.book.fileType==="PDF"?ie:re},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},lo)},methods:{...v(u,["getSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1}}},go=["id","data-page"];function po(e,t,o,c,r,a){const s=S("ErrorPage"),g=S("LoadingPage");return d(),b("div",{id:`page${o.page}`,"data-page":o.page,class:V(a.pageClass)},[r.error?(d(),h(s,{key:0,"two-pages":a.settings.twoPages,type:r.error},null,8,["two-pages","type"])):r.showProgress&&!r.loaded?(d(),h(g,{key:1,"two-pages":a.settings.twoPages},null,8,["two-pages"])):(d(),h(Ke(a.component),{key:2,src:a.src,"fit-to-class":a.fitToClass,book:o.book,onError:a.onError,onLoad:a.onLoad,onUnauthorized:a.onUnauthorized},null,40,["src","fit-to-class","book","onError","onLoad","onUnauthorized"]))],10,go)}const Te=m(uo,[["render",po],["__scopeId","data-v-f9e0354b"]]);const _o=48,ho=48,mo={name:"PagesHorizontalWindow",components:{BookPage:Te,PageChangeLink:Re},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...T(u,["isOnCoverPage"]),...f(u,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),settings(){return this.getSettings(this.book)},twoPages(){return this.settings.twoPages},readInReverse(){return this.settings.readInReverse},secondPage(){return this.settings.twoPages&&!this.isOnCoverPage},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),o=this.pages.at(-1);(e<t||e>o)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...v(u,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-_o,0),t=Math.min(this.activePage+ho,this.book.maxPage),o=_e.range(e,t+1);this.pages=o}}};function ko(e,t,o,c,r,a){const s=Re,g=S("BookPage");return d(),h(me,{"show-arrows":"",continuous:"","model-value":a.windowIndex,reverse:a.readInReverse},{prev:l(()=>[n(s,{direction:"prev"})]),next:l(()=>[n(s,{direction:"next"})]),default:l(()=>[(d(!0),b(I,null,K(r.pages,_=>(d(),h(he,{key:`c/${o.book.pk}/${_}`,class:"windowItem",disabled:"",eager:_>=e.storePage-1&&_<=e.storePage+2,"model-value":_,transition:!0},{default:l(()=>[!a.readInReverse||a.secondPage&&_<o.book.maxPage?(d(),h(g,{key:0,book:o.book,page:a.readInReverse?_+1:_},null,8,["book","page"])):y("",!0),a.readInReverse||a.secondPage&&_<o.book.maxPage?(d(),h(g,{key:1,book:o.book,page:a.readInReverse?_:_+1},null,8,["book","page"])):y("",!0)]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const bo=m(mo,[["render",ko],["__scopeId","data-v-414dbdc4"]]);const vo=q({items:{type:Array,default:()=>[]},...je(),...Ye(),...Xe()},"VVirtualScroll"),fo=j()({name:"VVirtualScroll",props:vo(),setup(e,t){let{slots:o}=t;const{dimensionStyles:c}=Ze(e),{containerRef:r,handleScroll:a,handleItemResize:s,scrollToIndex:g,paddingTop:_,paddingBottom:C,computedItems:B}=Je(e,Qe(e,"items"));return Y(()=>n("div",{ref:r,class:["v-virtual-scroll",e.class],onScroll:a,style:[c.value,e.style]},[n("div",{class:"v-virtual-scroll__container",style:{paddingTop:Z(_.value),paddingBottom:Z(C.value)}},[B.value.map(R=>n(et,{key:R.index,dynamicHeight:!e.itemHeight,"onUpdate:height":$=>s(R.index,$)},{default:()=>{var $;return[($=o.default)==null?void 0:$.call(o,{item:R.raw,index:R.index})]}}))])])),{scrollToIndex:g}}});function Ie(e,t){const{self:o=!1}=t.modifiers??{},c=t.value,r=typeof c=="object"&&c.options||{passive:!0},a=typeof c=="function"||"handleEvent"in c?c:c.handler,s=o?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",a,r),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:a,options:r,target:o?void 0:s})}function Be(e,t){var a;if(!((a=e._onScroll)!=null&&a[t.instance.$.uid]))return;const{handler:o,options:c,target:r=e}=e._onScroll[t.instance.$.uid];r.removeEventListener("scroll",o,c),delete e._onScroll[t.instance.$.uid]}function Po(e,t){t.value!==t.oldValue&&(Be(e,t),Ie(e,t))}const So={mounted:Ie,unmounted:Be,updated:Po},wo=12,le=250,ce={threshold:[.75]},yo={S:ce,H:ce},Co={name:"PagesVerticalScroller",components:{BookPage:Te},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...f(u,{storePage:e=>e.page}),...X(u,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var o;const e=((o=this.book)==null?void 0:o.maxPage)+1,t=_e.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,wo)},intersectOptions(){return yo[this.settings.fitTo]}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},le)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...v(u,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const c=+t[0].target.dataset.page;this.setActivePage(c,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const o=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=o&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find vertcalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},le)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Ro=["data-page"];function To(e,t,o,c,r,a){const s=S("BookPage");return E((d(),h(fo,{id:"verticalScroll",ref:"verticalScroll",items:a.items,height:r.innerHeight,width:r.innerWidth},{default:l(({item:g})=>[n(s,{book:o.book,page:g},null,8,["book","page"]),E(i("div",{class:"pageTracker","data-page":g},null,8,Ro),[[tt,{handler:a.onIntersect,options:a.intersectOptions},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[So,a.onScroll,"#verticalScroll"]])}const Io=m(Co,[["render",To],["__scopeId","data-v-c5c4cded"]]),Bo={name:"PagesView",components:{PagesHorizontalWindow:bo,PagesVerticalScroller:Io},props:{book:{type:Object,required:!0}},emits:["click"],computed:{...f(u,{storePk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0}}),settings(){return this.getSettings(this.book)},vertical(){return this.settings.vertical}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.book.pk===this.storePk&&this.setActivePage(+this.$route.params.page,!0)},methods:{...v(u,["getSettings","setActivePage"])}};function Do(e,t,o,c,r,a){const s=S("PagesVerticalScroller"),g=S("PagesHorizontalWindow");return a.vertical?(d(),h(s,{key:0,book:o.book,onClick:e.$emit.click},null,8,["book","onClick"])):(d(),h(g,{key:1,book:o.book,onClick:e.$emit.click},null,8,["book","onClick"]))}const De=m(Bo,[["render",Do]]);const Vo={name:"BookChangeActivator",props:{direction:{type:String,required:!0}},computed:{...T(u,["prevBookChangeShow","nextBookChangeShow"]),show(){return this[this.computedDirection+"BookChangeShow"]},computedDirection(){return this.normalizeDirection(this.direction)}},methods:{...v(u,["setBookChangeFlag","normalizeDirection"])}};function $o(e,t,o,c,r,a){return a.show?(d(),b("div",{key:0,class:V(["bookChangeColumn",{[o.direction]:!0}]),onClick:t[0]||(t[0]=M(s=>e.setBookChangeFlag(o.direction),["stop"]))},null,2)):y("",!0)}const Ve=m(Vo,[["render",$o],["__scopeId","data-v-2a8ea6a5"]]);const Lo={name:"BooksWindow",components:{BookChangeActivator:Ve,PagesView:De},emits:["click"],computed:{...f(u,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag()},created(){this.loadBooks(this.$route.params)},methods:{...v(u,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function xo(e,t,o,c,r,a){const s=Ve,g=De;return d(),h(me,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,"show-arrows":"",onClick:a.click},{prev:l(()=>[n(s,{direction:"prev"})]),next:l(()=>[n(s,{direction:"next"})]),default:l(()=>[(d(!0),b(I,null,K(e.books,_=>(d(),h(he,{key:`c/${_.pk}`,class:"windowItem",disabled:"",eager:a.eager(_.pk),value:_.pk,transition:!0},{default:l(()=>[n(g,{book:_,onClick:a.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","onClick"])}const $e=m(Lo,[["render",xo],["__scopeId","data-v-cb7fba11"]]);const Oo={a:at,f:nt,s:st},Eo={a:"Story Arc",f:"Folder",s:"Series"},Ao={name:"ReaderArcSelect",computed:{...f(u,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pk===t.pk)return t.name;return"Unknown"},arcKey:e=>`${e.arc.group}:${e.arc.pk}`,arcItems:e=>{const t=[];for(const o of e.arcs){const c={value:`${o.group}:${o.pk}`,title:o.name,group:o.group};t.push(c)}return t},arcPosition:function(e){const t=e.arc;return t&&t.index&&t.count?`${t.index}/${t.count}`:""}}),arc:{get(){return this.arcKey},set(e){const t=this.$route.params;if(!t)return;const[o,c]=e.split(":"),r={...t,arcGroup:o,arcPk:c};this.loadBooks(r)}}},methods:{...v(u,["loadBooks"]),arcIcon(e){return Oo[e]},arcLabel(e){return Eo[e]},checkIcon(e){return e===this.arc?ot:""}}},No={key:2,id:"arcPosition"};function Uo(e,t,o,c,r,a){return d(),b(I,null,[e.arcItems.length>1?(d(),h(rt,{key:0,modelValue:a.arc,"onUpdate:modelValue":t[0]||(t[0]=s=>a.arc=s),class:"arcSelect",density:"compact","hide-details":"auto",label:"Order",variant:"plain",items:e.arcItems},{item:l(({item:s,props:g})=>[n(A,D(g,{density:"compact",variant:"plain","prepend-icon":a.arcIcon(s.raw.group),subtitle:a.arcLabel(s.raw.group),"append-icon":a.checkIcon(g.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:l(({item:s,props:g})=>[n(A,D(g,{density:"compact",variant:"plain"}),{default:l(()=>[n(P,null,{default:l(()=>[p(k(a.arcIcon(s.raw.group)),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","items"])):(d(),h(P,{key:1,id:"onlyArc",title:e.arcName},{default:l(()=>[p(k(a.arcIcon(e.arcGroup)),1)]),_:1},8,["title"])),e.arcPosition?(d(),b("span",No,k(e.arcPosition),1)):y("",!0)],64)}const Le=m(Ao,[["render",Uo],["__scopeId","data-v-bb646eeb"]]);const Wo={name:"ReaderTitleToolbar",components:{MetadataDialog:Se,ReaderArcSelect:Le,SettingsDrawerButton:it},data(){return{mdiClose:lt,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...T(u,["activeTitle"]),...f(u,{vertical:e=>e.activeSettings.vertical,pk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0}}),...f(ct,{lastRoute:e=>e.page.routes.last}),...X(L,["isSettingsDrawerOpen"]),closeBookRoute:function(){const e={name:"browser",params:this.lastRoute};return e.params?e.hash=`#card-${this.pk}`:e.params=window.CODEX.LAST_ROUTE||dt.browser.route,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...v(L,["setTimestamp"]),...v(u,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyListener(e){switch(e.stopPropagation(),e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.openMetadata();break}}}},zo={key:0};function Fo(e,t,o,c,r,a){const s=Le,g=Se,_=S("SettingsDrawerButton");return d(),h(gt,{id:"readerTopToolbar",class:"codexToolbar",density:"compact"},{default:l(()=>[n(J,null,{default:l(()=>[n(G,{id:"closeBook",ref:"closeBook",to:a.closeBookRoute,size:"large",onClick:a.onCloseBook},{default:l(()=>[e.$vuetify.display.smAndDown?(d(),h(P,{key:1,title:"Close Book"},{default:l(()=>[p(k(r.mdiClose),1)]),_:1})):(d(),b("span",zo,"close book"))]),_:1},8,["to","onClick"])]),_:1}),n(ut,{id:"toolbarTitle",class:"codexToolbarTitle"},{default:l(()=>[p(k(e.activeTitle),1)]),_:1}),n(J,null,{default:l(()=>[n(s),n(G,{id:"tagButton",onClick:M(a.openMetadata,["stop"])},{default:l(()=>[n(g,{ref:"metadataDialog",group:"c",pk:e.pk},null,8,["pk"])]),_:1},8,["onClick"]),n(_,{id:"settingsButton",onClick:t[0]||(t[0]=M(C=>e.isSettingsDrawerOpen=!0,["stop"]))})]),_:1})]),_:1})}const xe=m(Wo,[["render",Fo],["__scopeId","data-v-68e8b1fe"]]);const Ho={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...T(u,["prevBookChangeShow","nextBookChangeShow"]),...f(u,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.computedDirection==="next"?ge:ue}}),show(){return this[this.computedDirection+"BookChangeShow"]},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...v(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Mo(e,t,o,c,r,a){const s=S("router-link");return a.show?(d(),h(pt,{key:0,class:V({bookChangeDrawer:!0,[o.direction]:!0}),"disable-resize-watcher":"","disable-route-watcher":"",location:e.computedDirection==="prev"?"left":"right","model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:l(()=>[n(s,{class:"navLink",to:a.route,"aria-label":a.label,title:a.label,onClick:t[0]||(t[0]=g=>g.stopImmediatePropagation())},{default:l(()=>[n(P,{class:"bookChangeIcon"},{default:l(()=>[p(k(e.icon),1)]),_:1})]),_:1},8,["to","aria-label","title"])]),_:1},8,["class","location","model-value"])):y("",!0)}const Oe=m(Ho,[["render",Mo],["__scopeId","data-v-bc37f6d5"]]);const Go={name:"DownloadPanel",data(){return{mdiDownload:_t,mdiFileImage:ht}},computed:{...T(u,["activeTitle","routeParams"]),...f(u,{storePage:e=>e.page,filename:e=>{var t,o;return(o=(t=e.books)==null?void 0:t.current)==null?void 0:o.filename},downloadURL(e){return mt(e.books.current.pk)}}),pageSrc(){return kt(this.routeParams)},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...v(L,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},Ko={id:"downloadPanel"};function qo(e,t,o,c,r,a){return d(),b("div",Ko,[n(A,{onClick:a.downloadPage},{default:l(()=>[n(Q,null,{default:l(()=>[n(P,null,{default:l(()=>[p(k(r.mdiFileImage),1)]),_:1}),p("Download Page "+k(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),n(A,{onClick:a.downloadBook},{default:l(()=>[n(Q,null,{default:l(()=>[n(P,null,{default:l(()=>[p(k(r.mdiDownload),1)]),_:1}),p("Download Book ")]),_:1})]),_:1},8,["onClick"])])}const Ee=m(Go,[["render",qo],["__scopeId","data-v-52aba7d6"]]);const jo=q({...bt({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),H=j()({name:"VRadio",props:jo(),setup(e,t){let{slots:o}=t;return Y(()=>n(ke,D(e,{class:["v-radio",e.class],style:e.style,type:"radio"}),o)),{}}});const Yo=q({height:{type:[Number,String],default:"auto"},...vt(),...ft(Pt(),["multiple"]),trueIcon:{type:ee,default:"$radioOn"},falseIcon:{type:ee,default:"$radioOff"},type:{type:String,default:"radio"}},"VRadioGroup"),de=j()({name:"VRadioGroup",inheritAttrs:!1,props:Yo(),emits:{"update:modelValue":e=>!0},setup(e,t){let{attrs:o,slots:c}=t;const r=St(),a=wt(()=>e.id||`radio-group-${r}`),s=yt(e,"modelValue");return Y(()=>{const[g,_]=Ct(o),[C,B]=te.filterProps(e),[R,$]=ke.filterProps(e),U=c.label?c.label({label:e.label,props:{for:a.value}}):e.label;return n(te,D({class:["v-radio-group",e.class],style:e.style},g,C,{modelValue:s.value,"onUpdate:modelValue":W=>s.value=W,id:a.value}),{...c,default:W=>{let{id:z,messagesId:Ne,isDisabled:Ue,isReadonly:We}=W;return n(I,null,[U&&n(be,{id:z.value},{default:()=>[U]}),n(Rt,D(R,{id:z.value,"aria-describedby":Ne.value,defaultsTarget:"VRadio",trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:Ue.value,readonly:We.value,"aria-labelledby":U?z.value:void 0,multiple:!1},_,{modelValue:s.value,"onUpdate:modelValue":ze=>s.value=ze}),c)])}})}),{}}}),Xo=["fitTo","twoPages","vertical","readInReverse"],Zo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1}},computed:{...f(u,{fitToChoices(e){const t=[];for(const o of e.choices.fitTo)o.value&&t.push(o);return t},selectedSettings(e){var t,o;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(o=e.books)==null?void 0:o.current.settings},isClearSettingsButtonDisabled(e){var t,o;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const c of Xo){const r=(o=e.books)==null?void 0:o.current.settings[c];if(!e.choices.nullValues.has(r))return!1}return!0},verticalLabel(e){var o,c,r;const t=(o=e.books)!=null&&o.current&&((c=e.books)!=null&&c.current.settings)?(r=e.books)==null?void 0:r.current.settings.vertical:void 0;return t==null?"Horizontal or Vertical":t?"Scroll Pages Vertically":"Turn Pages Horizontally"}}),...X(u,["readRTLInReverse"])},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...v(u,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},_keyListener(e){e.stopPropagation();let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"r":t={readInReverse:!this.selectedSettings.readInReverse};break;case"v":t={vertical:!this.selectedSettings.vertical}}t&&this.setSettingsLocal(t)}}},Jo={id:"readerSettings"};function Qo(e,t,o,c,r,a){return d(),b("div",Jo,[n(de,{modelValue:r.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>r.isGlobalScope=s),density:"compact",label:"Scope","hide-details":"auto"},{default:l(()=>[n(H,{label:"Only this comic",value:!1}),n(H,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(de,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>a.settingsDialogChanged({fitTo:s}))},{default:l(()=>[(d(!0),b(I,null,K(e.fitToChoices,s=>(d(),h(H,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(F,{disabled:e.selectedSettings.vertical,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>a.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(be,null,{default:l(()=>[p("Reading Direction")]),_:1}),n(Tt,{class:"vertical",density:"compact",label:e.verticalLabel,"hide-details":"auto","model-value":e.selectedSettings.vertical,"true-value":!0,indeterminate:e.selectedSettings.vertical===null||e.selectedSettings.vertical===void 0,"onUpdate:modelValue":t[3]||(t[3]=s=>a.settingsDialogChanged({vertical:s}))},null,8,["label","model-value","indeterminate"]),n(F,{class:"readInReverse",density:"compact",label:"Read in Reverse","hide-details":"auto","model-value":e.selectedSettings.readInReverse,"true-value":!0,indeterminate:e.selectedSettings.readInReverse===null||e.selectedSettings.readInReverse===void 0,"onUpdate:modelValue":t[4]||(t[4]=s=>a.settingsDialogChanged({readInReverse:s}))},null,8,["model-value","indeterminate"]),r.isGlobalScope?(d(),h(F,{key:0,"model-value":e.selectedSettings.readRtlInReverse,class:"readRtlInReverse",density:"compact",label:"Read RTL comics in Reverse","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>a.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"])):y("",!0),r.isGlobalScope?y("",!0):(d(),h(G,{key:1,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:l(()=>[p(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])}const Ae=m(Zo,[["render",Qo],["__scopeId","data-v-057c896c"]]);const ea={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:It,mdiMenuRight:Bt,mdiKeyboardOutline:Dt,mdiKeyboardSpace:Vt,mdiAppleKeyboardShift:$t}},computed:{...T(L,["isMobile"])}},w=e=>(At("data-v-41483eb9"),e=e(),Nt(),e),ta=w(()=>i("h4",null,"Navigation",-1)),oa={class:"highlight-table"},aa=w(()=>i("td",null,"Previous page",-1)),na=w(()=>i("td",null,"Next page",-1)),sa=w(()=>i("tr",null,[i("td",null,","),i("td",null,[p("Next "),i("em",null,"only"),p(" one page in two page mode.")])],-1)),ra=w(()=>i("tr",null,[i("td",null,"."),i("td",null,[p("Previous "),i("em",null,"only"),p(" one page in two page mode.")])],-1)),ia=w(()=>i("tr",null,[i("td",null,"p"),i("td",null,"Previous Book")],-1)),la=w(()=>i("tr",null,[i("td",null,"n"),i("td",null,"Next Book")],-1)),ca=w(()=>i("h4",null,"Fit Page To",-1)),da=w(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"s"),i("td",null,"screen")]),i("tr",null,[i("td",null,"h"),i("td",null,"screen height")]),i("tr",null,[i("td",null,"w"),i("td",null,"screen width")]),i("tr",null,[i("td",null,"o"),i("td",null,"Show page at original size")]),i("tr",null,[i("td",null,"2"),i("td",null,"Toggle two page view")]),i("tr",null,[i("td",null,"r"),i("td",null,"Toggle Read in Reverse")])])],-1)),ua=w(()=>i("h4",null,"Other",-1)),ga=w(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"m"),i("td",null,"Show comic's metadata")]),i("tr",null,[i("td",null,"esc"),i("td",null,"Close book")])])],-1));function pa(e,t,o,c,r,a){return e.isMobile?y("",!0):(d(),h(Et,{key:0},{default:l(()=>[n(Lt,{id:"readerKeyboardShortcuts"},{default:l(()=>[n(xt,{id:"shortcutsTitle"},{default:l(()=>[n(P,{id:"keyboardIcon"},{default:l(()=>[p(k(r.mdiKeyboardOutline),1)]),_:1}),p("Keyboard Shortcuts ")]),_:1}),n(Ot,null,{default:l(()=>[ta,i("table",oa,[i("tbody",null,[i("tr",null,[i("td",null,[n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiMenuLeft),1)]),_:1}),p(", j, "),i("div",null,[n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiAppleKeyboardShift),1)]),_:1}),n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiKeyboardSpace),1)]),_:1})])]),aa]),i("tr",null,[i("td",null,[n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiMenuRight),1)]),_:1}),p(", k, "),n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiKeyboardSpace),1)]),_:1})]),na]),sa,ra,ia,la])]),ca,da,ua,ga]),_:1})]),_:1})]),_:1}))}const _a=m(ea,[["render",pa],["__scopeId","data-v-41483eb9"]]),ha={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:Ee,ReaderKeyboardShortcutsPanel:_a,ReaderSettingsPanel:Ae}};function ma(e,t,o,c,r,a){const s=Ae,g=S("ReaderKeyboardShortcutsPanel"),_=Ee;return d(),b(I,null,[n(s),n(oe),n(g),n(oe),n(_)],64)}const ka=m(ha,[["render",ma]]);const ba={name:"MainReader",components:{BookChangeDrawer:Oe,BooksWindow:$e,ReaderNavToolbar:Ce,ReaderTitleToolbar:xe,SettingsDrawer:ve},data(){return{showToolbars:!1,ReaderSettingsSuperPanel:pe(ka)}},computed:{...T(ae,["isCodexViewable"]),...f(ae,{user:e=>e.user})},watch:{user(){this.loadReaderSettings()},isCodexViewable(){this.loadReaderSettings()}},created(){L().isSettingsDrawerOpen=!1,this.loadReaderSettings()},methods:{...v(u,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},va={key:0,id:"readerContainer"},fa={key:1,id:"announcement"};function Pa(e,t,o,c,r,a){const s=Oe,g=xe,_=$e,C=Ce,B=S("router-link"),R=ve;return d(),b(I,null,[n(Ut,{id:"readerWrapper"},{default:l(()=>[n(s,{direction:"prev"}),e.isCodexViewable?(d(),b("div",va,[n(Wt,null,{default:l(()=>[E(n(g,null,null,512),[[ne,r.showToolbars]])]),_:1}),n(_,{onClick:a.toggleToolbars},null,8,["onClick"]),n(zt,null,{default:l(()=>[E(n(C,null,null,512),[[ne,r.showToolbars]])]),_:1})])):(d(),b("div",fa,[i("h1",null,[n(B,{to:{name:"home"}},{default:l(()=>[p(" Log in ")]),_:1}),p(" to read comics ")])]))]),_:1}),n(s,{direction:"next"}),n(R,{title:"Reader Settings",panel:r.ReaderSettingsSuperPanel,temporary:""},null,8,["panel"])],64)}const ya=m(ba,[["render",Pa],["__scopeId","data-v-dff2aac6"]]);export{ya as default};
@@ -0,0 +1 @@
1
+ import{a as f,bo as u,b as v,c as m,o as d,e as h,w as l,j as p,t as k,bp as ue,bq as ge,g as n,D as P,A as T,f as y,C as S,ar as V,d as b,br as Fe,bs as He,i,aG as D,bn as pe,bt as Me,bu as Ge,bv as Ke,bw as qe,bx as _e,r as K,by as he,F as I,bz as me,M as q,bA as je,O as Ye,ba as Xe,R as j,be as Ze,bB as Je,bC as Qe,W as Y,bD as Z,bE as et,aK as X,bg as E,bd as tt,b4 as M,bF as ot,bG as at,bH as nt,bI as st,n as A,aH as rt,aZ as it,bJ as lt,L as ct,I as dt,J as L,au as G,a$ as J,aw as ut,ax as gt,bK as pt,bL as _t,bM as ht,bN as mt,bO as kt,l as Q,bP as bt,bQ as ke,bR as vt,bS as ft,bT as Pt,bU as ee,ac as St,bV as wt,bf as yt,bW as Ct,bX as te,bY as be,bZ as Rt,aD as F,b_ as Tt,b$ as It,c0 as Bt,c1 as Dt,c2 as Vt,c3 as $t,c4 as Lt,c5 as xt,c6 as Ot,c7 as Et,p as At,q as Nt,V as oe,bm as ve,B as ae,bl as Ut,c8 as Wt,bj as ne,c9 as zt}from"./admin-12749881.js";import{_ as N,a as fe,b as Pe,P as Ft,c as Se}from"./metadata-dialog-62c29ce0.js";const Ht={name:"ReaderNavButton",components:{PaginationNavButton:N},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...f(u,{storePage:e=>e.page,vertical:e=>{var t;return(t=e.activeSettings)==null?void 0:t.vertical},toRoute(e){return{params:{pk:e.books.current.pk,page:this.value}}}}),title(){return"to page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...v(u,["setActivePage"]),onClick(){this.setActivePage(this.value,!0)}}};function Mt(e,t,o,c,r,a){const s=N;return e.vertical?(d(),h(s,{key:0,disabled:a.disabled,title:a.title,onClick:a.onClick},{default:l(()=>[p(k(o.value),1)]),_:1},8,["disabled","title","onClick"])):(d(),h(s,{key:1,disabled:a.disabled,title:a.title,to:e.toRoute},{default:l(()=>[p(k(o.value),1)]),_:1},8,["disabled","title","to"]))}const we=m(Ht,[["render",Mt]]),Gt={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:N},props:{direction:{type:String,required:!0}},computed:{...f(u,{toRoute(e){var o;const t=(o=e==null?void 0:e.routes)==null?void 0:o.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.direction==="prev"?ue:ge},disabled(){return!this.toRoute}}};function Kt(e,t,o,c,r,a){const s=N;return d(),h(s,{icon:"",variant:"plain",disabled:a.disabled,title:a.title,to:e.toRoute},{default:l(()=>[n(P,null,{default:l(()=>[p(k(a.icon),1)]),_:1})]),_:1},8,["disabled","title","to"])}const ye=m(Gt,[["render",Kt]]),x="prev",O="next",qt={name:"ReaderNavToolbar",components:{PaginationSlider:fe,ReaderNavButton:we,PaginationToolbar:Pe,ReaderBookChangeNavButton:ye},computed:{...T(u,["activeSettings"]),...f(u,{storePage:e=>e.page,key(e){var t,o;return`${(o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk}:${this.twoPages}`},maxPage:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},readInReverse(){return this.activeSettings.readInReverse},min(){return this.readInReverse?this.maxPage:0},max(){return this.readInReverse?0:this.maxPage},bookPrev(){return this.readInReverse?"next":"prev"},bookNext(){return this.readInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...v(u,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.activeSettings.vertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyListener(e){switch(e.stopPropagation(),e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection(x);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection(x);break;case",":this.routeToDirectionOne(x);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook(x);break}}}};function jt(e,t,o,c,r,a){const s=ye,g=we,_=fe,C=Pe;return e.maxPage?(d(),h(C,{key:0},{default:l(()=>[n(s,{direction:a.bookPrev},null,8,["direction"]),n(g,{value:a.min,"two-pages":a.twoPages},null,8,["value","two-pages"]),(d(),h(_,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:a.step,"track-color":a.trackColor,reverse:a.readInReverse,"onUpdate:modelValue":t[0]||(t[0]=B=>a.onSliderUpdate(B))},null,8,["model-value","max","step","track-color","reverse"])),n(g,{value:a.max,"two-pages":a.twoPages},null,8,["value","two-pages"]),n(s,{direction:a.bookNext},null,8,["direction"])]),_:1})):y("",!0)}const Ce=m(qt,[["render",jt]]);const Yt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...f(u,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes[this.computedDirection]},directionClass(e){let t=this.direction;return e.activeSettings.vertical&&(t+="Vertical"),t},pageChangeClass(e){let t="pageChange";return t+=e.activeSettings.vertical?"Row":"Column",t}}),route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...v(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Xt(e,t,o,c,r,a){const s=S("router-link");return d(),h(s,{to:a.route,"aria-label":a.label,class:V({[e.pageChangeClass]:!0,[e.directionClass]:!0}),onClick:t[0]||(t[0]=g=>g.stopImmediatePropagation())},null,8,["to","aria-label","class"])}const Re=m(Yt,[["render",Xt],["__scopeId","data-v-4698e9bc"]]);const Zt={name:"LoadingPage",components:{Placeholder:Ft},props:{twoPages:{type:Boolean,required:!0}}};function Jt(e,t,o,c,r,a){const s=S("Placeholder");return d(),b("div",{class:V(["pageLoading",{twoPages:o.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Qt=m(Zt,[["render",Jt],["__scopeId","data-v-13c9bf0b"]]);const se="unauthorized",eo={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===se?"Protected page":"Failed to load page"},icon(){return this.type===se?Fe:He}}},to={class:"pageErrorContainer"},oo={class:"pageErrorText"};function ao(e,t,o,c,r,a){return d(),b("div",{class:V(["pageError",{twoPages:o.twoPages}])},[i("div",to,[i("div",oo,k(a.text),1),n(P,{class:"pageErrorIcon"},{default:l(()=>[p(k(a.icon),1)]),_:1})])],2)}const no=m(eo,[["render",ao],["__scopeId","data-v-3f1e3f4f"]]);const so={name:"ImgPage",props:{src:{type:String,required:!0},fitToClass:{type:Object,required:!0}},emits:["load","error"]},ro=["src"];function io(e,t,o,c,r,a){return d(),b("img",D({class:o.fitToClass,src:o.src},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error")),onLoad:t[1]||(t[1]=s=>e.$emit("load"))}),null,16,ro)}const re=m(so,[["render",io],["__scopeId","data-v-5997abff"]]);const ie=pe(Me(()=>qe(()=>import("./page-pdf-157ba97e.js"),["assets/page-pdf-157ba97e.js","assets/admin-12749881.js","assets/admin-beda768d.css","assets/page-pdf-2d7d4f5d.css"]))),lo=333,co={S:"Screen",W:"Width",H:"Height",O:"Original"},uo={name:"BookPage",components:{ErrorPage:no,LoadingPage:Qt,PDFPage:ie,ImgPage:re},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{pageClass(){return this.settings.vertical?"pageVertical":"pageHorizontal"},fitToClass(){let e={};const t=co[this.settings.fitTo];if(t){let o="fitTo";o+=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase(),this.settings.twoPages&&(o+="Two",this.settings.vertical&&(o+="Vertical")),e[o]=!0}return e},src(){const e={pk:this.book.pk,page:this.page};return Ge(e)},component(){return this.book.fileType==="PDF"?ie:re},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},lo)},methods:{...v(u,["getSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1}}},go=["id","data-page"];function po(e,t,o,c,r,a){const s=S("ErrorPage"),g=S("LoadingPage");return d(),b("div",{id:`page${o.page}`,"data-page":o.page,class:V(a.pageClass)},[r.error?(d(),h(s,{key:0,"two-pages":a.settings.twoPages,type:r.error},null,8,["two-pages","type"])):r.showProgress&&!r.loaded?(d(),h(g,{key:1,"two-pages":a.settings.twoPages},null,8,["two-pages"])):(d(),h(Ke(a.component),{key:2,src:a.src,"fit-to-class":a.fitToClass,book:o.book,onError:a.onError,onLoad:a.onLoad,onUnauthorized:a.onUnauthorized},null,40,["src","fit-to-class","book","onError","onLoad","onUnauthorized"]))],10,go)}const Te=m(uo,[["render",po],["__scopeId","data-v-f9e0354b"]]);const _o=48,ho=48,mo={name:"PagesHorizontalWindow",components:{BookPage:Te,PageChangeLink:Re},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...T(u,["isOnCoverPage"]),...f(u,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),settings(){return this.getSettings(this.book)},twoPages(){return this.settings.twoPages},readInReverse(){return this.settings.readInReverse},secondPage(){return this.settings.twoPages&&!this.isOnCoverPage},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),o=this.pages.at(-1);(e<t||e>o)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...v(u,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-_o,0),t=Math.min(this.activePage+ho,this.book.maxPage),o=_e.range(e,t+1);this.pages=o}}};function ko(e,t,o,c,r,a){const s=Re,g=S("BookPage");return d(),h(me,{"show-arrows":"",continuous:"","model-value":a.windowIndex,reverse:a.readInReverse},{prev:l(()=>[n(s,{direction:"prev"})]),next:l(()=>[n(s,{direction:"next"})]),default:l(()=>[(d(!0),b(I,null,K(r.pages,_=>(d(),h(he,{key:`c/${o.book.pk}/${_}`,class:"windowItem",disabled:"",eager:_>=e.storePage-1&&_<=e.storePage+2,"model-value":_,transition:!0},{default:l(()=>[!a.readInReverse||a.secondPage&&_<o.book.maxPage?(d(),h(g,{key:0,book:o.book,page:a.readInReverse?_+1:_},null,8,["book","page"])):y("",!0),a.readInReverse||a.secondPage&&_<o.book.maxPage?(d(),h(g,{key:1,book:o.book,page:a.readInReverse?_:_+1},null,8,["book","page"])):y("",!0)]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const bo=m(mo,[["render",ko],["__scopeId","data-v-414dbdc4"]]);const vo=q({items:{type:Array,default:()=>[]},...je(),...Ye(),...Xe()},"VVirtualScroll"),fo=j()({name:"VVirtualScroll",props:vo(),setup(e,t){let{slots:o}=t;const{dimensionStyles:c}=Ze(e),{containerRef:r,handleScroll:a,handleItemResize:s,scrollToIndex:g,paddingTop:_,paddingBottom:C,computedItems:B}=Je(e,Qe(e,"items"));return Y(()=>n("div",{ref:r,class:["v-virtual-scroll",e.class],onScroll:a,style:[c.value,e.style]},[n("div",{class:"v-virtual-scroll__container",style:{paddingTop:Z(_.value),paddingBottom:Z(C.value)}},[B.value.map(R=>n(et,{key:R.index,dynamicHeight:!e.itemHeight,"onUpdate:height":$=>s(R.index,$)},{default:()=>{var $;return[($=o.default)==null?void 0:$.call(o,{item:R.raw,index:R.index})]}}))])])),{scrollToIndex:g}}});function Ie(e,t){const{self:o=!1}=t.modifiers??{},c=t.value,r=typeof c=="object"&&c.options||{passive:!0},a=typeof c=="function"||"handleEvent"in c?c:c.handler,s=o?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",a,r),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:a,options:r,target:o?void 0:s})}function Be(e,t){var a;if(!((a=e._onScroll)!=null&&a[t.instance.$.uid]))return;const{handler:o,options:c,target:r=e}=e._onScroll[t.instance.$.uid];r.removeEventListener("scroll",o,c),delete e._onScroll[t.instance.$.uid]}function Po(e,t){t.value!==t.oldValue&&(Be(e,t),Ie(e,t))}const So={mounted:Ie,unmounted:Be,updated:Po},wo=12,le=250,ce={threshold:[.75]},yo={S:ce,H:ce},Co={name:"PagesVerticalScroller",components:{BookPage:Te},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...f(u,{storePage:e=>e.page}),...X(u,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var o;const e=((o=this.book)==null?void 0:o.maxPage)+1,t=_e.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,wo)},intersectOptions(){return yo[this.settings.fitTo]}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},le)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...v(u,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const c=+t[0].target.dataset.page;this.setActivePage(c,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const o=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=o&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find vertcalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},le)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Ro=["data-page"];function To(e,t,o,c,r,a){const s=S("BookPage");return E((d(),h(fo,{id:"verticalScroll",ref:"verticalScroll",items:a.items,height:r.innerHeight,width:r.innerWidth},{default:l(({item:g})=>[n(s,{book:o.book,page:g},null,8,["book","page"]),E(i("div",{class:"pageTracker","data-page":g},null,8,Ro),[[tt,{handler:a.onIntersect,options:a.intersectOptions},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[So,a.onScroll,"#verticalScroll"]])}const Io=m(Co,[["render",To],["__scopeId","data-v-c5c4cded"]]),Bo={name:"PagesView",components:{PagesHorizontalWindow:bo,PagesVerticalScroller:Io},props:{book:{type:Object,required:!0}},emits:["click"],computed:{...f(u,{storePk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0}}),settings(){return this.getSettings(this.book)},vertical(){return this.settings.vertical}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.book.pk===this.storePk&&this.setActivePage(+this.$route.params.page,!0)},methods:{...v(u,["getSettings","setActivePage"])}};function Do(e,t,o,c,r,a){const s=S("PagesVerticalScroller"),g=S("PagesHorizontalWindow");return a.vertical?(d(),h(s,{key:0,book:o.book,onClick:e.$emit.click},null,8,["book","onClick"])):(d(),h(g,{key:1,book:o.book,onClick:e.$emit.click},null,8,["book","onClick"]))}const De=m(Bo,[["render",Do]]);const Vo={name:"BookChangeActivator",props:{direction:{type:String,required:!0}},computed:{...T(u,["prevBookChangeShow","nextBookChangeShow"]),show(){return this[this.computedDirection+"BookChangeShow"]},computedDirection(){return this.normalizeDirection(this.direction)}},methods:{...v(u,["setBookChangeFlag","normalizeDirection"])}};function $o(e,t,o,c,r,a){return a.show?(d(),b("div",{key:0,class:V(["bookChangeColumn",{[o.direction]:!0}]),onClick:t[0]||(t[0]=M(s=>e.setBookChangeFlag(o.direction),["stop"]))},null,2)):y("",!0)}const Ve=m(Vo,[["render",$o],["__scopeId","data-v-2a8ea6a5"]]);const Lo={name:"BooksWindow",components:{BookChangeActivator:Ve,PagesView:De},emits:["click"],computed:{...f(u,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag()},created(){this.loadBooks(this.$route.params)},methods:{...v(u,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function xo(e,t,o,c,r,a){const s=Ve,g=De;return d(),h(me,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,"show-arrows":"",onClick:a.click},{prev:l(()=>[n(s,{direction:"prev"})]),next:l(()=>[n(s,{direction:"next"})]),default:l(()=>[(d(!0),b(I,null,K(e.books,_=>(d(),h(he,{key:`c/${_.pk}`,class:"windowItem",disabled:"",eager:a.eager(_.pk),value:_.pk,transition:!0},{default:l(()=>[n(g,{book:_,onClick:a.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","onClick"])}const $e=m(Lo,[["render",xo],["__scopeId","data-v-cb7fba11"]]);const Oo={a:at,f:nt,s:st},Eo={a:"Story Arc",f:"Folder",s:"Series"},Ao={name:"ReaderArcSelect",computed:{...f(u,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pk===t.pk)return t.name;return"Unknown"},arcKey:e=>`${e.arc.group}:${e.arc.pk}`,arcItems:e=>{const t=[];for(const o of e.arcs){const c={value:`${o.group}:${o.pk}`,title:o.name,group:o.group};t.push(c)}return t},arcPosition:function(e){const t=e.arc;return t&&t.index&&t.count?`${t.index}/${t.count}`:""}}),arc:{get(){return this.arcKey},set(e){const t=this.$route.params;if(!t)return;const[o,c]=e.split(":"),r={...t,arcGroup:o,arcPk:c};this.loadBooks(r)}}},methods:{...v(u,["loadBooks"]),arcIcon(e){return Oo[e]},arcLabel(e){return Eo[e]},checkIcon(e){return e===this.arc?ot:""}}},No={key:2,id:"arcPosition"};function Uo(e,t,o,c,r,a){return d(),b(I,null,[e.arcItems.length>1?(d(),h(rt,{key:0,modelValue:a.arc,"onUpdate:modelValue":t[0]||(t[0]=s=>a.arc=s),class:"arcSelect",density:"compact","hide-details":"auto",label:"Order",variant:"plain",items:e.arcItems},{item:l(({item:s,props:g})=>[n(A,D(g,{density:"compact",variant:"plain","prepend-icon":a.arcIcon(s.raw.group),subtitle:a.arcLabel(s.raw.group),"append-icon":a.checkIcon(g.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:l(({item:s,props:g})=>[n(A,D(g,{density:"compact",variant:"plain"}),{default:l(()=>[n(P,null,{default:l(()=>[p(k(a.arcIcon(s.raw.group)),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","items"])):(d(),h(P,{key:1,id:"onlyArc",title:e.arcName},{default:l(()=>[p(k(a.arcIcon(e.arcGroup)),1)]),_:1},8,["title"])),e.arcPosition?(d(),b("span",No,k(e.arcPosition),1)):y("",!0)],64)}const Le=m(Ao,[["render",Uo],["__scopeId","data-v-bb646eeb"]]);const Wo={name:"ReaderTitleToolbar",components:{MetadataDialog:Se,ReaderArcSelect:Le,SettingsDrawerButton:it},data(){return{mdiClose:lt,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...T(u,["activeTitle"]),...f(u,{vertical:e=>e.activeSettings.vertical,pk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0}}),...f(ct,{lastRoute:e=>e.page.routes.last}),...X(L,["isSettingsDrawerOpen"]),closeBookRoute:function(){const e={name:"browser",params:this.lastRoute};return e.params?e.hash=`#card-${this.pk}`:e.params=window.CODEX.LAST_ROUTE||dt.browser.route,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...v(L,["setTimestamp"]),...v(u,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyListener(e){switch(e.stopPropagation(),e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.openMetadata();break}}}},zo={key:0};function Fo(e,t,o,c,r,a){const s=Le,g=Se,_=S("SettingsDrawerButton");return d(),h(gt,{id:"readerTopToolbar",class:"codexToolbar",density:"compact"},{default:l(()=>[n(J,null,{default:l(()=>[n(G,{id:"closeBook",ref:"closeBook",to:a.closeBookRoute,size:"large",onClick:a.onCloseBook},{default:l(()=>[e.$vuetify.display.smAndDown?(d(),h(P,{key:1,title:"Close Book"},{default:l(()=>[p(k(r.mdiClose),1)]),_:1})):(d(),b("span",zo,"close book"))]),_:1},8,["to","onClick"])]),_:1}),n(ut,{id:"toolbarTitle",class:"codexToolbarTitle"},{default:l(()=>[p(k(e.activeTitle),1)]),_:1}),n(J,null,{default:l(()=>[n(s),n(G,{id:"tagButton",onClick:M(a.openMetadata,["stop"])},{default:l(()=>[n(g,{ref:"metadataDialog",group:"c",pk:e.pk},null,8,["pk"])]),_:1},8,["onClick"]),n(_,{id:"settingsButton",onClick:t[0]||(t[0]=M(C=>e.isSettingsDrawerOpen=!0,["stop"]))})]),_:1})]),_:1})}const xe=m(Wo,[["render",Fo],["__scopeId","data-v-68e8b1fe"]]);const Ho={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...T(u,["prevBookChangeShow","nextBookChangeShow"]),...f(u,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.computedDirection==="next"?ge:ue}}),show(){return this[this.computedDirection+"BookChangeShow"]},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...v(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Mo(e,t,o,c,r,a){const s=S("router-link");return a.show?(d(),h(pt,{key:0,class:V({bookChangeDrawer:!0,[o.direction]:!0}),"disable-resize-watcher":"","disable-route-watcher":"",location:e.computedDirection==="prev"?"left":"right","model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:l(()=>[n(s,{class:"navLink",to:a.route,"aria-label":a.label,title:a.label,onClick:t[0]||(t[0]=g=>g.stopImmediatePropagation())},{default:l(()=>[n(P,{class:"bookChangeIcon"},{default:l(()=>[p(k(e.icon),1)]),_:1})]),_:1},8,["to","aria-label","title"])]),_:1},8,["class","location","model-value"])):y("",!0)}const Oe=m(Ho,[["render",Mo],["__scopeId","data-v-bc37f6d5"]]);const Go={name:"DownloadPanel",data(){return{mdiDownload:_t,mdiFileImage:ht}},computed:{...T(u,["activeTitle","routeParams"]),...f(u,{storePage:e=>e.page,filename:e=>{var t,o;return(o=(t=e.books)==null?void 0:t.current)==null?void 0:o.filename},downloadURL(e){return mt(e.books.current.pk)}}),pageSrc(){return kt(this.routeParams)},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...v(L,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},Ko={id:"downloadPanel"};function qo(e,t,o,c,r,a){return d(),b("div",Ko,[n(A,{onClick:a.downloadPage},{default:l(()=>[n(Q,null,{default:l(()=>[n(P,null,{default:l(()=>[p(k(r.mdiFileImage),1)]),_:1}),p("Download Page "+k(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),n(A,{onClick:a.downloadBook},{default:l(()=>[n(Q,null,{default:l(()=>[n(P,null,{default:l(()=>[p(k(r.mdiDownload),1)]),_:1}),p("Download Book ")]),_:1})]),_:1},8,["onClick"])])}const Ee=m(Go,[["render",qo],["__scopeId","data-v-52aba7d6"]]);const jo=q({...bt({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),H=j()({name:"VRadio",props:jo(),setup(e,t){let{slots:o}=t;return Y(()=>n(ke,D(e,{class:["v-radio",e.class],style:e.style,type:"radio"}),o)),{}}});const Yo=q({height:{type:[Number,String],default:"auto"},...vt(),...ft(Pt(),["multiple"]),trueIcon:{type:ee,default:"$radioOn"},falseIcon:{type:ee,default:"$radioOff"},type:{type:String,default:"radio"}},"VRadioGroup"),de=j()({name:"VRadioGroup",inheritAttrs:!1,props:Yo(),emits:{"update:modelValue":e=>!0},setup(e,t){let{attrs:o,slots:c}=t;const r=St(),a=wt(()=>e.id||`radio-group-${r}`),s=yt(e,"modelValue");return Y(()=>{const[g,_]=Ct(o),[C,B]=te.filterProps(e),[R,$]=ke.filterProps(e),U=c.label?c.label({label:e.label,props:{for:a.value}}):e.label;return n(te,D({class:["v-radio-group",e.class],style:e.style},g,C,{modelValue:s.value,"onUpdate:modelValue":W=>s.value=W,id:a.value}),{...c,default:W=>{let{id:z,messagesId:Ne,isDisabled:Ue,isReadonly:We}=W;return n(I,null,[U&&n(be,{id:z.value},{default:()=>[U]}),n(Rt,D(R,{id:z.value,"aria-describedby":Ne.value,defaultsTarget:"VRadio",trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:Ue.value,readonly:We.value,"aria-labelledby":U?z.value:void 0,multiple:!1},_,{modelValue:s.value,"onUpdate:modelValue":ze=>s.value=ze}),c)])}})}),{}}}),Xo=["fitTo","twoPages","vertical","readInReverse"],Zo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1}},computed:{...f(u,{fitToChoices(e){const t=[];for(const o of e.choices.fitTo)o.value&&t.push(o);return t},selectedSettings(e){var t,o;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(o=e.books)==null?void 0:o.current.settings},isClearSettingsButtonDisabled(e){var t,o;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const c of Xo){const r=(o=e.books)==null?void 0:o.current.settings[c];if(!e.choices.nullValues.has(r))return!1}return!0},verticalLabel(e){var o,c,r;const t=(o=e.books)!=null&&o.current&&((c=e.books)!=null&&c.current.settings)?(r=e.books)==null?void 0:r.current.settings.vertical:void 0;return t==null?"Horizontal or Vertical":t?"Scroll Pages Vertically":"Turn Pages Horizontally"}}),...X(u,["readRTLInReverse"])},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...v(u,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},_keyListener(e){e.stopPropagation();let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"r":t={readInReverse:!this.selectedSettings.readInReverse};break;case"v":t={vertical:!this.selectedSettings.vertical}}t&&this.setSettingsLocal(t)}}},Jo={id:"readerSettings"};function Qo(e,t,o,c,r,a){return d(),b("div",Jo,[n(de,{modelValue:r.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>r.isGlobalScope=s),density:"compact",label:"Scope","hide-details":"auto"},{default:l(()=>[n(H,{label:"Only this comic",value:!1}),n(H,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(de,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>a.settingsDialogChanged({fitTo:s}))},{default:l(()=>[(d(!0),b(I,null,K(e.fitToChoices,s=>(d(),h(H,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(F,{disabled:e.selectedSettings.vertical,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>a.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(be,null,{default:l(()=>[p("Reading Direction")]),_:1}),n(Tt,{class:"vertical",density:"compact",label:e.verticalLabel,"hide-details":"auto","model-value":e.selectedSettings.vertical,"true-value":!0,indeterminate:e.selectedSettings.vertical===null||e.selectedSettings.vertical===void 0,"onUpdate:modelValue":t[3]||(t[3]=s=>a.settingsDialogChanged({vertical:s}))},null,8,["label","model-value","indeterminate"]),n(F,{class:"readInReverse",density:"compact",label:"Read in Reverse","hide-details":"auto","model-value":e.selectedSettings.readInReverse,"true-value":!0,indeterminate:e.selectedSettings.readInReverse===null||e.selectedSettings.readInReverse===void 0,"onUpdate:modelValue":t[4]||(t[4]=s=>a.settingsDialogChanged({readInReverse:s}))},null,8,["model-value","indeterminate"]),r.isGlobalScope?(d(),h(F,{key:0,"model-value":e.selectedSettings.readRtlInReverse,class:"readRtlInReverse",density:"compact",label:"Read RTL comics in Reverse","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>a.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"])):y("",!0),r.isGlobalScope?y("",!0):(d(),h(G,{key:1,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:l(()=>[p(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])}const Ae=m(Zo,[["render",Qo],["__scopeId","data-v-057c896c"]]);const ea={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:It,mdiMenuRight:Bt,mdiKeyboardOutline:Dt,mdiKeyboardSpace:Vt,mdiAppleKeyboardShift:$t}},computed:{...T(L,["isMobile"])}},w=e=>(At("data-v-41483eb9"),e=e(),Nt(),e),ta=w(()=>i("h4",null,"Navigation",-1)),oa={class:"highlight-table"},aa=w(()=>i("td",null,"Previous page",-1)),na=w(()=>i("td",null,"Next page",-1)),sa=w(()=>i("tr",null,[i("td",null,","),i("td",null,[p("Next "),i("em",null,"only"),p(" one page in two page mode.")])],-1)),ra=w(()=>i("tr",null,[i("td",null,"."),i("td",null,[p("Previous "),i("em",null,"only"),p(" one page in two page mode.")])],-1)),ia=w(()=>i("tr",null,[i("td",null,"p"),i("td",null,"Previous Book")],-1)),la=w(()=>i("tr",null,[i("td",null,"n"),i("td",null,"Next Book")],-1)),ca=w(()=>i("h4",null,"Fit Page To",-1)),da=w(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"s"),i("td",null,"screen")]),i("tr",null,[i("td",null,"h"),i("td",null,"screen height")]),i("tr",null,[i("td",null,"w"),i("td",null,"screen width")]),i("tr",null,[i("td",null,"o"),i("td",null,"Show page at original size")]),i("tr",null,[i("td",null,"2"),i("td",null,"Toggle two page view")]),i("tr",null,[i("td",null,"r"),i("td",null,"Toggle Read in Reverse")])])],-1)),ua=w(()=>i("h4",null,"Other",-1)),ga=w(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"m"),i("td",null,"Show comic's metadata")]),i("tr",null,[i("td",null,"esc"),i("td",null,"Close book")])])],-1));function pa(e,t,o,c,r,a){return e.isMobile?y("",!0):(d(),h(Et,{key:0},{default:l(()=>[n(Lt,{id:"readerKeyboardShortcuts"},{default:l(()=>[n(xt,{id:"shortcutsTitle"},{default:l(()=>[n(P,{id:"keyboardIcon"},{default:l(()=>[p(k(r.mdiKeyboardOutline),1)]),_:1}),p("Keyboard Shortcuts ")]),_:1}),n(Ot,null,{default:l(()=>[ta,i("table",oa,[i("tbody",null,[i("tr",null,[i("td",null,[n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiMenuLeft),1)]),_:1}),p(", j, "),i("div",null,[n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiAppleKeyboardShift),1)]),_:1}),n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiKeyboardSpace),1)]),_:1})])]),aa]),i("tr",null,[i("td",null,[n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiMenuRight),1)]),_:1}),p(", k, "),n(P,{class:"keyIcon",density:"compact"},{default:l(()=>[p(k(r.mdiKeyboardSpace),1)]),_:1})]),na]),sa,ra,ia,la])]),ca,da,ua,ga]),_:1})]),_:1})]),_:1}))}const _a=m(ea,[["render",pa],["__scopeId","data-v-41483eb9"]]),ha={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:Ee,ReaderKeyboardShortcutsPanel:_a,ReaderSettingsPanel:Ae}};function ma(e,t,o,c,r,a){const s=Ae,g=S("ReaderKeyboardShortcutsPanel"),_=Ee;return d(),b(I,null,[n(s),n(oe),n(g),n(oe),n(_)],64)}const ka=m(ha,[["render",ma]]);const ba={name:"MainReader",components:{BookChangeDrawer:Oe,BooksWindow:$e,ReaderNavToolbar:Ce,ReaderTitleToolbar:xe,SettingsDrawer:ve},data(){return{showToolbars:!1,ReaderSettingsSuperPanel:pe(ka)}},computed:{...T(ae,["isCodexViewable"]),...f(ae,{user:e=>e.user})},watch:{user(){this.loadReaderSettings()},isCodexViewable(){this.loadReaderSettings()}},created(){L().isSettingsDrawerOpen=!1,this.loadReaderSettings()},methods:{...v(u,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},va={key:0,id:"readerContainer"},fa={key:1,id:"announcement"};function Pa(e,t,o,c,r,a){const s=Oe,g=xe,_=$e,C=Ce,B=S("router-link"),R=ve;return d(),b(I,null,[n(Ut,{id:"readerWrapper"},{default:l(()=>[n(s,{direction:"prev"}),e.isCodexViewable?(d(),b("div",va,[n(Wt,null,{default:l(()=>[E(n(g,null,null,512),[[ne,r.showToolbars]])]),_:1}),n(_,{onClick:a.toggleToolbars},null,8,["onClick"]),n(zt,null,{default:l(()=>[E(n(C,null,null,512),[[ne,r.showToolbars]])]),_:1})])):(d(),b("div",fa,[i("h1",null,[n(B,{to:{name:"home"}},{default:l(()=>[p(" Log in ")]),_:1}),p(" to read comics ")])]))]),_:1}),n(s,{direction:"next"}),n(R,{title:"Reader Settings",panel:r.ReaderSettingsSuperPanel,temporary:""},null,8,["panel"])],64)}const ya=m(ba,[["render",Pa],["__scopeId","data-v-dff2aac6"]]);export{ya as default};
@@ -0,0 +1 @@
1
+ .pageChangeColumn[data-v-4698e9bc]{position:fixed;height:100%;width:33vw}.pageChangeRow[data-v-4698e9bc]{position:fixed;height:33vh;width:100%}.prev[data-v-4698e9bc]{left:0px;cursor:w-resize}.prevVertical[data-v-4698e9bc]{top:0px;cursor:n-resize}.next[data-v-4698e9bc]{right:0px;cursor:e-resize}.nextVertical[data-v-4698e9bc]{bottom:0px;cursor:s-resize}.pageLoading[data-v-13c9bf0b]{display:inline-flex;height:100vh;width:100vw;justify-content:center;align-items:center}.twoPages[data-v-13c9bf0b]{max-width:50vw}.pagePlaceholder[data-v-13c9bf0b]{height:50%!important;width:50%!important}.pageError[data-v-3f1e3f4f]{display:inline-block;height:100vh}.twoPages[data-v-3f1e3f4f]{max-width:50vw}.pageErrorContainer[data-v-3f1e3f4f]{display:grid;place-items:center;height:100%}.pageErrorText[data-v-3f1e3f4f]{position:relative;text-align:center;font-size:4vw;color:rgb(var(--v-theme-textDisabled));padding:.5em}.pageErrorIcon[data-v-3f1e3f4f]{color:rgb(var(--v-theme-error));width:75%;height:75%;opacity:.33}.pageErrorText[data-v-3f1e3f4f],.pageErrorIcon[data-v-3f1e3f4f]{grid-row:1;grid-column:1}.fitToScreen[data-v-5997abff],.fitToScreenTwo[data-v-5997abff]{height:100vh;object-fit:contain}.fitToScreenTwoVertical[data-v-5997abff]{height:50vh;object-fit:contain}.fitToScreen[data-v-5997abff]{width:100vw}.fitToHeight[data-v-5997abff],.fitToHeightTwo[data-v-5997abff]{height:100vh}.fitToHeightTwoVertical[data-v-5997abff]{height:50vh}.fitToWidth[data-v-5997abff]{width:100vw}.fitToWidthTwo[data-v-5997abff]{width:50vw}.fitToWidthTwoVertical[data-v-5997abff]{width:100vw}.fitToScreenTwo[data-v-5997abff]{max-width:50vw}.fitToOrig[data-v-5997abff],.fitToOrigTwo[data-v-5997abff],.fitToOrigTwoVertical[data-v-5997abff]{object-fit:none}.pageHorizontal[data-v-f9e0354b]{display:inline;font-size:0}.pageVertical[data-v-f9e0354b]{display:block;font-size:0}.windowItem[data-v-414dbdc4]{font-size:0}[data-v-c5c4cded] .v-virtual-scroll__item{position:relative}.pageTracker[data-v-c5c4cded]{position:absolute;top:0;left:0;z-index:15;width:95vw;height:100%}.v-virtual-scroll{display:block;flex:1 1 auto;max-width:100%;overflow:auto;position:relative}.v-virtual-scroll__container{display:block}.bookChangeColumn[data-v-2a8ea6a5]{position:fixed;height:100%;width:33vw}.prev[data-v-2a8ea6a5]{cursor:n-resize;left:0px}.next[data-v-2a8ea6a5]{cursor:s-resize;right:0px}[data-v-cb7fba11] .windowItem{min-height:100vh;text-align:center}[data-v-cb7fba11] .v-window__controls{position:fixed;top:48px;height:calc(100vh - 96px);padding:0}[data-v-bb646eeb] .v-label.v-field-label{top:13px}[data-v-bb646eeb] .v-field__input{padding-right:0}[data-v-bb646eeb] .v-list-item{padding:0}[data-v-bb646eeb] .v-list-item__prepend{display:block;width:24px!important;margin-right:5px}[data-v-bb646eeb] .v-select__menu-icon{margin:0}#onlyArc[data-v-bb646eeb]{margin-top:13px;color:rgb(var(--v-theme-textSecondary))}#arcPosition[data-v-bb646eeb]{padding-top:13px;padding-left:10px;padding-right:10px;color:rgb(var(--v-theme-textSecondary));text-align:center}@media (max-width: 959.98px){#arcPosition[data-v-bb646eeb]{padding-left:0;padding-right:0}}#readerTopToolbar[data-v-68e8b1fe]{width:100%;top:0px;padding-top:env(safe-area-inset-top);padding-left:calc(env(safe-area-inset-left)/2);padding-right:calc(env(safe-area-inset-right)/2);z-index:20}[data-v-68e8b1fe] .v-toolbar__content{padding:0}#toolbarTitle[data-v-68e8b1fe]{font-size:clamp(8pt,2.5vw,18pt);line-height:normal}[data-v-68e8b1fe] .v-toolbar-title__placeholder{text-overflow:clip;white-space:normal}#tagButton[data-v-68e8b1fe]{min-width:24px;height:24px;width:24px;margin:0}@media (max-width: 959.98px){#closeBook[data-v-68e8b1fe]{min-width:32px}#tagButton[data-v-68e8b1fe]{padding-left:2px;padding-right:2px;min-width:16px}#settingsButton[data-v-68e8b1fe]{padding-left:2px;padding-right:2px}}.prev[data-v-bc37f6d5]{cursor:n-resize;left:0px}.next[data-v-bc37f6d5]{cursor:s-resize;right:0px}.navLink[data-v-bc37f6d5]{display:block;height:100%}.bookChangeIcon[data-v-bc37f6d5]{top:50%;left:50%;transform:translate(-50%) translateY(-50%);height:25%;width:25%;color:#fff}.bookChangeDrawer{width:33vw!important;opacity:.75!important;z-index:15!important}#downloadPanel[data-v-52aba7d6]{background-color:rgb(var(--v-theme-background))}#readerSettings[data-v-057c896c]{padding-top:10px;padding-left:15px;padding-right:env(safe-area-inset-right);padding-bottom:10px;background-color:inherit}.displayRadioGroup[data-v-057c896c]{margin-top:15px}.displayTwoPages[data-v-057c896c]{margin-top:5px;margin-bottom:10px}.readRtlInReverse[data-v-057c896c]{transition:visibility .25s,opacity .25s}#clearSettingsButton[data-v-057c896c]{margin-bottom:4px;transition:visibility .25s,opacity .25s}.v-radio-group>.v-input__control{flex-direction:column}.v-radio-group>.v-input__control>.v-label{margin-inline-start:8px}.v-radio-group>.v-input__control>.v-label+.v-selection-control-group{margin-top:8px}#readerKeyboardShortcuts[data-v-41483eb9]{background-color:rgb(var(--v-theme-background))}#shortcutsTitle[data-v-41483eb9]{padding:0 10px 0 17px;font-size:16px}#keyboardIcon[data-v-41483eb9]{margin-right:.33em!important;color:rgb(var(--v-theme-textDisabled))}[data-v-41483eb9] .v-expansion-panel-title--active{min-height:48px!important}[data-v-41483eb9] .v-expansion-panel-text__wrapper{padding-left:10px;padding-right:10px}.highlight-table[data-v-41483eb9]{margin-top:10px;border-collapse:collapse;color:rgb(var(--v-theme-textDisabled))}h4[data-v-41483eb9]{padding-left:.5em;color:rgb(var(--v-theme-textSecondary))}.highlight-table tr[data-v-41483eb9]:nth-child(odd){background-color:rgb(var(--v-theme-surface))!important}.highlight-table td[data-v-41483eb9]{min-width:60px;padding:5px}.highlight-table td[data-v-41483eb9]:first-child{text-align:center}.keyIcon[data-v-41483eb9]{margin:0}#readerContainer[data-v-dff2aac6]{max-width:100%;position:relative}#announcement[data-v-dff2aac6]{text-align:center}
@@ -0,0 +1 @@
1
+ .pageChangeColumn[data-v-4698e9bc]{position:fixed;height:100%;width:33vw}.pageChangeRow[data-v-4698e9bc]{position:fixed;height:33vh;width:100%}.prev[data-v-4698e9bc]{left:0px;cursor:w-resize}.prevVertical[data-v-4698e9bc]{top:0px;cursor:n-resize}.next[data-v-4698e9bc]{right:0px;cursor:e-resize}.nextVertical[data-v-4698e9bc]{bottom:0px;cursor:s-resize}.pageLoading[data-v-13c9bf0b]{display:inline-flex;height:100vh;width:100vw;justify-content:center;align-items:center}.twoPages[data-v-13c9bf0b]{max-width:50vw}.pagePlaceholder[data-v-13c9bf0b]{height:50%!important;width:50%!important}.pageError[data-v-3f1e3f4f]{display:inline-block;height:100vh}.twoPages[data-v-3f1e3f4f]{max-width:50vw}.pageErrorContainer[data-v-3f1e3f4f]{display:grid;place-items:center;height:100%}.pageErrorText[data-v-3f1e3f4f]{position:relative;text-align:center;font-size:4vw;color:rgb(var(--v-theme-textDisabled));padding:.5em}.pageErrorIcon[data-v-3f1e3f4f]{color:rgb(var(--v-theme-error));width:75%;height:75%;opacity:.33}.pageErrorText[data-v-3f1e3f4f],.pageErrorIcon[data-v-3f1e3f4f]{grid-row:1;grid-column:1}.fitToScreen[data-v-5997abff],.fitToScreenTwo[data-v-5997abff]{height:100vh;object-fit:contain}.fitToScreenTwoVertical[data-v-5997abff]{height:50vh;object-fit:contain}.fitToScreen[data-v-5997abff]{width:100vw}.fitToHeight[data-v-5997abff],.fitToHeightTwo[data-v-5997abff]{height:100vh}.fitToHeightTwoVertical[data-v-5997abff]{height:50vh}.fitToWidth[data-v-5997abff]{width:100vw}.fitToWidthTwo[data-v-5997abff]{width:50vw}.fitToWidthTwoVertical[data-v-5997abff]{width:100vw}.fitToScreenTwo[data-v-5997abff]{max-width:50vw}.fitToOrig[data-v-5997abff],.fitToOrigTwo[data-v-5997abff],.fitToOrigTwoVertical[data-v-5997abff]{object-fit:none}.pageHorizontal[data-v-f9e0354b]{display:inline;font-size:0}.pageVertical[data-v-f9e0354b]{display:block;font-size:0}.windowItem[data-v-414dbdc4]{font-size:0}[data-v-c5c4cded] .v-virtual-scroll__item{position:relative}.pageTracker[data-v-c5c4cded]{position:absolute;top:0;left:0;z-index:15;width:95vw;height:100%}.v-virtual-scroll{display:block;flex:1 1 auto;max-width:100%;overflow:auto;position:relative}.v-virtual-scroll__container{display:block}.bookChangeColumn[data-v-2a8ea6a5]{position:fixed;height:100%;width:33vw}.prev[data-v-2a8ea6a5]{cursor:n-resize;left:0px}.next[data-v-2a8ea6a5]{cursor:s-resize;right:0px}[data-v-cb7fba11] .windowItem{min-height:100vh;text-align:center}[data-v-cb7fba11] .v-window__controls{position:fixed;top:48px;height:calc(100vh - 96px);padding:0}[data-v-bb646eeb] .v-label.v-field-label{top:13px}[data-v-bb646eeb] .v-field__input{padding-right:0}[data-v-bb646eeb] .v-list-item{padding:0}[data-v-bb646eeb] .v-list-item__prepend{display:block;width:24px!important;margin-right:5px}[data-v-bb646eeb] .v-select__menu-icon{margin:0}#onlyArc[data-v-bb646eeb]{margin-top:13px;color:rgb(var(--v-theme-textSecondary))}#arcPosition[data-v-bb646eeb]{padding-top:13px;padding-left:10px;padding-right:10px;color:rgb(var(--v-theme-textSecondary));text-align:center}@media (max-width: 959.98px){#arcPosition[data-v-bb646eeb]{padding-left:0;padding-right:0}}#readerTopToolbar[data-v-68e8b1fe]{width:100%;top:0px;padding-top:env(safe-area-inset-top);padding-left:calc(env(safe-area-inset-left)/2);padding-right:calc(env(safe-area-inset-right)/2);z-index:20}[data-v-68e8b1fe] .v-toolbar__content{padding:0}#toolbarTitle[data-v-68e8b1fe]{font-size:clamp(8pt,2.5vw,18pt);line-height:normal}[data-v-68e8b1fe] .v-toolbar-title__placeholder{text-overflow:clip;white-space:normal}#tagButton[data-v-68e8b1fe]{min-width:24px;height:24px;width:24px;margin:0}@media (max-width: 959.98px){#closeBook[data-v-68e8b1fe]{min-width:32px}#tagButton[data-v-68e8b1fe]{padding-left:2px;padding-right:2px;min-width:16px}#settingsButton[data-v-68e8b1fe]{padding-left:2px;padding-right:2px}}.prev[data-v-bc37f6d5]{cursor:n-resize;left:0px}.next[data-v-bc37f6d5]{cursor:s-resize;right:0px}.navLink[data-v-bc37f6d5]{display:block;height:100%}.bookChangeIcon[data-v-bc37f6d5]{top:50%;left:50%;transform:translate(-50%) translateY(-50%);height:25%;width:25%;color:#fff}.bookChangeDrawer{width:33vw!important;opacity:.75!important;z-index:15!important}#downloadPanel[data-v-52aba7d6]{background-color:rgb(var(--v-theme-background))}#readerSettings[data-v-057c896c]{padding-top:10px;padding-left:15px;padding-right:env(safe-area-inset-right);padding-bottom:10px;background-color:inherit}.displayRadioGroup[data-v-057c896c]{margin-top:15px}.displayTwoPages[data-v-057c896c]{margin-top:5px;margin-bottom:10px}.readRtlInReverse[data-v-057c896c]{transition:visibility .25s,opacity .25s}#clearSettingsButton[data-v-057c896c]{margin-bottom:4px;transition:visibility .25s,opacity .25s}.v-radio-group>.v-input__control{flex-direction:column}.v-radio-group>.v-input__control>.v-label{margin-inline-start:8px}.v-radio-group>.v-input__control>.v-label+.v-selection-control-group{margin-top:8px}#readerKeyboardShortcuts[data-v-41483eb9]{background-color:rgb(var(--v-theme-background))}#shortcutsTitle[data-v-41483eb9]{padding:0 10px 0 17px;font-size:16px}#keyboardIcon[data-v-41483eb9]{margin-right:.33em!important;color:rgb(var(--v-theme-textDisabled))}[data-v-41483eb9] .v-expansion-panel-title--active{min-height:48px!important}[data-v-41483eb9] .v-expansion-panel-text__wrapper{padding-left:10px;padding-right:10px}.highlight-table[data-v-41483eb9]{margin-top:10px;border-collapse:collapse;color:rgb(var(--v-theme-textDisabled))}h4[data-v-41483eb9]{padding-left:.5em;color:rgb(var(--v-theme-textSecondary))}.highlight-table tr[data-v-41483eb9]:nth-child(odd){background-color:rgb(var(--v-theme-surface))!important}.highlight-table td[data-v-41483eb9]{min-width:60px;padding:5px}.highlight-table td[data-v-41483eb9]:first-child{text-align:center}.keyIcon[data-v-41483eb9]{margin:0}#readerContainer[data-v-dff2aac6]{max-width:100%;position:relative}#announcement[data-v-dff2aac6]{text-align:center}
@@ -0,0 +1 @@
1
+ {"statusTitles":{"CCC":"Create Covers","CCD":"Remove Covers","CFO":"Find Orphan Covers","IDM":"Move Folders","IFM":"Move Books","ITR":"Read Book Tags","ITQ":"Discover Missing Tags","ITC":"Create Missing Tags","IDU":"Modify Folders","IFU":"Modify Books","IFC":"Create Books","IMQ":"Prepare Tags for Linking","IMC":"Link Books to Tags","IDD":"Remove Folders","IFD":"Remove Books","IFI":"Record Failed Imports","JTD":"Cleanup Stale Tags","JCU":"Update Codex Software","JCR":"Restart Codex","JCS":"Stop Codex","JDO":"Optimize Database","JDB":"Backup Database","JSD":"Cleanup Expired Sessions","SIX":"Search Index Clear","SIU":"Search Index Update","SID":"Search Index Remove Stale Records","SIM":"Search Index Optimize","WPO":"Poll Library"},"tasks":[{"title":"Libraries","tasks":[{"value":"poll","title":"Poll All Libraries","desc":"Update Libraries if changes detected"},{"value":"poll_force","title":"Force Update All Libraries","desc":"Forcibly update all comics in all libraries","confirm":"This can take a long time"},{"value":"force_update_all_failed_imports","title":"Update All Failed Imports","desc":"Forcibly update all failed imports in all libraries","confirm":"This can take a long time"}]},{"title":"Covers","tasks":[{"value":"purge_comic_covers","title":"Remove Comic Covers","desc":"from every library","confirm":"Are you sure?"},{"value":"create_all_comic_covers","title":"Create All Comic Covers","desc":"Pre-generate covers for every comic in every library","confirm":"Are you sure?"}]},{"title":"Search Index","tasks":[{"value":"search_index_update","title":"Update Search Index","desc":"with recently changed comics"},{"value":"search_index_rebuild","title":"Rebuild Search Index","desc":"Delete and rebuild the search index from scratch","confirm":"This can take a long time"},{"value":"search_index_remove_stale","title":"Remove Stale Index Entries","desc":"Remove search index entries that are no longer in the library."},{"value":"search_index_merge_small","title":"Merge Small Search Index Segments","desc":"Improves search lookup times. Runs nightly if the Optimize Admin Flag is off."},{"value":"search_index_optimize","title":"Merge Search Index Into One Segment","desc":"Reduces disk space and improves search lookup times. Runs nightly if the Optimize Admin Flag is on.","confirm":"This can take a long time."},{"value":"search_index_abort","title":"Abort Search Indexing","desc":"Aborts search index update and remove tasks."}]},{"title":"Database","tasks":[{"value":"db_vacuum","title":"Optimize & Compact Database","desc":"Run the sqlite3 optimize & vacuum and pragmas. Runs nightly"},{"value":"db_backup","title":"Backup Database","desc":"Runs nightly"},{"value":"db_search_sync","title":"Sync Search Index to DB","desc":"Check to see if this database matches the current search index. If there is a mismatch, rebuild the search index. Runs on startup."},{"value":"watchdog_sync","title":"Sync Watchdog with DB","desc":"Ensure the Watchdog file watcher is enabled per database preferences for each library"}]},{"title":"Codex Software","tasks":[{"value":"codex_update","title":"Update Codex","desc":"If Codex updates to a new version, it will restart","confirm":"Are you sure?"},{"value":"codex_restart","title":"Restart Codex Server","desc":"Immediately","confirm":"Are you sure?"},{"value":"codex_shutdown","title":"Shutdown Codex Server","desc":"Immediately","confirm":"Are you sure?"}]},{"title":"Notify","tasks":[{"value":"notify_library_changed","title":"Notify Library Changed ","desc":"Signal all clients that the libraries have changed and the browser should fetch new data."},{"value":"notify_librarian_status","title":"Notify Librarian Status","desc":"Signal Admin clients to fetch librarian status."}]},{"title":"Cleanup","tasks":[{"value":"cleanup_fks","title":"Remove Orphan Tags","desc":"After deleting comics, unused linked objects remain in case new comics use them. Runs nightly."},{"value":"cleanup_sessions","title":"Cleanup Sessions","desc":"Remove corrupt and expired sessoions. Runs nightly."},{"value":"cleanup_covers","title":"Remove Orphan Covers","desc":"from comics that no longer exist. Runs nightly."},{"value":"librarian_clear_status","title":"Clear Librarian Statuses","desc":"Mark all Librarian tasks finished."},{"value":"janitor_nightly","title":"Run Nightly Maintenance","desc":"Runs several tasks above that also run nightly.","confirm":"Launches several tasks that run nightly anyway."}]}],"adminFlags":{"FV":"Folder View","RG":"Registration","NU":"Non Users","AU":"Auto Update","SO":"Search Index Full Optimization"}}
@@ -1 +1 @@
1
- {"statusTitles":{"CCC":"Create Covers","CCD":"Remove Covers","CFO":"Find Orphan Covers","IDM":"Move Folders","IFM":"Move Books","ITR":"Read Book Tags","ITQ":"Discover Missing Tags","ITC":"Create Missing Tags","IDU":"Modify Folders","IFU":"Modify Books","IFC":"Create Books","IMQ":"Prepare Tags for Linking","IMC":"Link Books to Tags","IDD":"Remove Folders","IFD":"Remove Books","IFI":"Record Failed Imports","JTD":"Cleanup Stale Tags","JCU":"Update Codex Software","JCR":"Restart Codex","JCS":"Stop Codex","JDO":"Optimize Database","JDB":"Backup Database","JSD":"Cleanup Expired Sessions","SIX":"Search Index Clear","SIU":"Search Index Update","SID":"Search Index Remove Stale Records","SIM":"Search Index Optimize","WPO":"Poll Library"},"tasks":[{"title":"Libraries","tasks":[{"value":"poll","title":"Poll All Libraries","desc":"Update Libraries if changes detected"},{"value":"poll_force","title":"Force Update All Libraries","desc":"Forcibly update all comics in all libraries","confirm":"This can take a long time"},{"value":"force_update_all_failed_imports","title":"Update All Failed Imports","desc":"Forcibly update all failed imports in all libraries","confirm":"This can take a long time"}]},{"title":"Covers","tasks":[{"value":"purge_comic_covers","title":"Remove Comic Covers","desc":"from every library","confirm":"Are you sure?"}]},{"title":"Search Index","tasks":[{"value":"search_index_update","title":"Update Search Index","desc":"with recently changed comics"},{"value":"search_index_rebuild","title":"Rebuild Search Index","desc":"Delete and rebuild the search index from scratch","confirm":"This can take a long time"},{"value":"search_index_remove_stale","title":"Remove Stale Index Entries","desc":"Remove search index entries that are no longer in the library."},{"value":"search_index_merge_small","title":"Merge Small Search Index Segments","desc":"Improves search lookup times. Runs nightly if the Optimize Admin Flag is off."},{"value":"search_index_optimize","title":"Merge Search Index Into One Segment","desc":"Reduces disk space and improves search lookup times. Runs nightly if the Optimize Admin Flag is on.","confirm":"This can take a long time."},{"value":"search_index_abort","title":"Abort Search Indexing","desc":"Aborts search index update and remove tasks."}]},{"title":"Database","tasks":[{"value":"db_vacuum","title":"Optimize & Compact Database","desc":"Run the sqlite3 optimize & vacuum and pragmas. Runs nightly"},{"value":"db_backup","title":"Backup Database","desc":"Runs nightly"},{"value":"db_search_sync","title":"Sync Search Index to DB","desc":"Check to see if this database matches the current search index. If there is a mismatch, rebuild the search index. Runs on startup."},{"value":"watchdog_sync","title":"Sync Watchdog with DB","desc":"Ensure the Watchdog file watcher is enabled per database preferences for each library"}]},{"title":"Codex Software","tasks":[{"value":"codex_update","title":"Update Codex","desc":"If Codex updates to a new version, it will restart","confirm":"Are you sure?"},{"value":"codex_restart","title":"Restart Codex Server","desc":"Immediately","confirm":"Are you sure?"},{"value":"codex_shutdown","title":"Shutdown Codex Server","desc":"Immediately","confirm":"Are you sure?"}]},{"title":"Notify","tasks":[{"value":"notify_library_changed","title":"Notify Library Changed ","desc":"Signal all clients that the libraries have changed and the browser should fetch new data."},{"value":"notify_librarian_status","title":"Notify Librarian Status","desc":"Signal Admin clients to fetch librarian status."}]},{"title":"Cleanup","tasks":[{"value":"cleanup_fks","title":"Remove Orphan Tags","desc":"After deleting comics, unused linked objects remain in case new comics use them. Runs nightly."},{"value":"cleanup_sessions","title":"Cleanup Sessions","desc":"Remove corrupt and expired sessoions. Runs nightly."},{"value":"cleanup_covers","title":"Remove Orphan Covers","desc":"from comics that no longer exist. Runs nightly."},{"value":"librarian_clear_status","title":"Clear Librarian Statuses","desc":"Mark all Librarian tasks finished."},{"value":"janitor_nightly","title":"Run Nightly Maintenance","desc":"Runs several tasks above that also run nightly.","confirm":"Launches several tasks that run nightly anyway."}]}],"adminFlags":{"FV":"Folder View","RG":"Registration","NU":"Non Users","AU":"Auto Update","SO":"Search Index Full Optimization"}}
1
+ {"statusTitles":{"CCC":"Create Covers","CCD":"Remove Covers","CFO":"Find Orphan Covers","IDM":"Move Folders","IFM":"Move Books","ITR":"Read Book Tags","ITQ":"Discover Missing Tags","ITC":"Create Missing Tags","IDU":"Modify Folders","IFU":"Modify Books","IFC":"Create Books","IMQ":"Prepare Tags for Linking","IMC":"Link Books to Tags","IDD":"Remove Folders","IFD":"Remove Books","IFI":"Record Failed Imports","JTD":"Cleanup Stale Tags","JCU":"Update Codex Software","JCR":"Restart Codex","JCS":"Stop Codex","JDO":"Optimize Database","JDB":"Backup Database","JSD":"Cleanup Expired Sessions","SIX":"Search Index Clear","SIU":"Search Index Update","SID":"Search Index Remove Stale Records","SIM":"Search Index Optimize","WPO":"Poll Library"},"tasks":[{"title":"Libraries","tasks":[{"value":"poll","title":"Poll All Libraries","desc":"Update Libraries if changes detected"},{"value":"poll_force","title":"Force Update All Libraries","desc":"Forcibly update all comics in all libraries","confirm":"This can take a long time"},{"value":"force_update_all_failed_imports","title":"Update All Failed Imports","desc":"Forcibly update all failed imports in all libraries","confirm":"This can take a long time"}]},{"title":"Covers","tasks":[{"value":"purge_comic_covers","title":"Remove Comic Covers","desc":"from every library","confirm":"Are you sure?"},{"value":"create_all_comic_covers","title":"Create All Comic Covers","desc":"Pre-generate covers for every comic in every library","confirm":"Are you sure?"}]},{"title":"Search Index","tasks":[{"value":"search_index_update","title":"Update Search Index","desc":"with recently changed comics"},{"value":"search_index_rebuild","title":"Rebuild Search Index","desc":"Delete and rebuild the search index from scratch","confirm":"This can take a long time"},{"value":"search_index_remove_stale","title":"Remove Stale Index Entries","desc":"Remove search index entries that are no longer in the library."},{"value":"search_index_merge_small","title":"Merge Small Search Index Segments","desc":"Improves search lookup times. Runs nightly if the Optimize Admin Flag is off."},{"value":"search_index_optimize","title":"Merge Search Index Into One Segment","desc":"Reduces disk space and improves search lookup times. Runs nightly if the Optimize Admin Flag is on.","confirm":"This can take a long time."},{"value":"search_index_abort","title":"Abort Search Indexing","desc":"Aborts search index update and remove tasks."}]},{"title":"Database","tasks":[{"value":"db_vacuum","title":"Optimize & Compact Database","desc":"Run the sqlite3 optimize & vacuum and pragmas. Runs nightly"},{"value":"db_backup","title":"Backup Database","desc":"Runs nightly"},{"value":"db_search_sync","title":"Sync Search Index to DB","desc":"Check to see if this database matches the current search index. If there is a mismatch, rebuild the search index. Runs on startup."},{"value":"watchdog_sync","title":"Sync Watchdog with DB","desc":"Ensure the Watchdog file watcher is enabled per database preferences for each library"}]},{"title":"Codex Software","tasks":[{"value":"codex_update","title":"Update Codex","desc":"If Codex updates to a new version, it will restart","confirm":"Are you sure?"},{"value":"codex_restart","title":"Restart Codex Server","desc":"Immediately","confirm":"Are you sure?"},{"value":"codex_shutdown","title":"Shutdown Codex Server","desc":"Immediately","confirm":"Are you sure?"}]},{"title":"Notify","tasks":[{"value":"notify_library_changed","title":"Notify Library Changed ","desc":"Signal all clients that the libraries have changed and the browser should fetch new data."},{"value":"notify_librarian_status","title":"Notify Librarian Status","desc":"Signal Admin clients to fetch librarian status."}]},{"title":"Cleanup","tasks":[{"value":"cleanup_fks","title":"Remove Orphan Tags","desc":"After deleting comics, unused linked objects remain in case new comics use them. Runs nightly."},{"value":"cleanup_sessions","title":"Cleanup Sessions","desc":"Remove corrupt and expired sessoions. Runs nightly."},{"value":"cleanup_covers","title":"Remove Orphan Covers","desc":"from comics that no longer exist. Runs nightly."},{"value":"librarian_clear_status","title":"Clear Librarian Statuses","desc":"Mark all Librarian tasks finished."},{"value":"janitor_nightly","title":"Run Nightly Maintenance","desc":"Runs several tasks above that also run nightly.","confirm":"Launches several tasks that run nightly anyway."}]}],"adminFlags":{"FV":"Folder View","RG":"Registration","NU":"Non Users","AU":"Auto Update","SO":"Search Index Full Optimization"}}
Binary file
Binary file
@@ -0,0 +1 @@
1
+ {"browser":{"bookmarkFilter":[{"title":"All","value":"ALL","default":true},{"title":"Unread","value":"UNREAD"},{"title":"In Progress","value":"IN_PROGRESS"},{"title":"Read","value":"READ"}],"q":"","topGroup":[{"title":"Publishers","value":"p","default":true},{"title":"Imprints","value":"i"},{"title":"Series","value":"s"},{"title":"Volumes","value":"v"},{"title":"Issues","value":"c"},{"title":"Folder View","value":"f"},{"title":"Story Arc View","value":"a"}],"settingsGroup":[{"title":"Publishers","value":"p","default":true},{"title":"Imprints","value":"i"},{"title":"Series","value":"s","default":true},{"title":"Volumes","value":"v"}],"orderBy":[{"title":"Name","value":"sort_name","default":true},{"title":"Publish Date","value":"date"},{"title":"Added Time","value":"created_at","reverse":true},{"title":"Last Read","value":"bookmark_updated_at","reverse":true},{"title":"Updated Time","value":"updated_at","reverse":true},{"title":"Page Count","value":"page_count","reverse":true},{"title":"File Size","value":"size","reverse":true},{"title":"Filename","value":"path"},{"title":"Critical Rating","value":"critical_rating","reverse":true},{"title":"Community Rating","value":"community_rating","reverse":true},{"title":"Age Rating","value":"age_rating"},{"title":"Search Score","value":"search_score","reverse":true},{"title":"Story Arc Number","value":"story_arc_number"}],"vuetifyNullCode":-1,"groupNames":{"p":"Publishers","i":"Imprints","s":"Series","v":"Volumes","c":"Issues","f":"Folders"},"route":{"group":"r","pk":0,"page":1}},"reader":{"fitTo":[{"title":"Fit to Screen","value":"S","default":true},{"title":"Fit to Width","value":"W"},{"title":"Fit to Height","value":"H"},{"title":"Original Size","value":"O"},{"title":"","value":""}]},"websockets":{"LIBRARY_CHANGED":"LIBRARY_CHANGED","LIBRARIAN_STATUS":"LIBRARIAN_STATUS","FAILED_IMPORTS":"FAILED_IMPORTS"}}
@@ -0,0 +1,5 @@
1
+ T���8|�i���g��s�"���A����׏?T�d[@"������1���t�eNj V�r� }�fƻh��v� w_�S����E����t̎�DK/@ë� �Ȉ�-lg�,W�� �ks���LnaX�޳ROU�)�L'/���¸̣s���
2
+ ��Dd��;2W'xe�ȶD�'{� Bi��/���&U�0>���ʭ�8�E��m�
3
+ ؼDHS���ۍ������E��l��
4
+ ��l�T�4N�x<�dKkŔ�T1\���4mS���*��h��Oy���9�rZ 0TQ�P\vQ�y�x����݃��r
5
+ �F`d���_ ����nq�vtܒ�0 �S�8�n�AF$>��1UR�H��-61�s�(��c���u�%U+/��x90 s���<������X��"Ǘ�䜖_�w?K�as&���e)�\tZ�]㽪�
@@ -1 +1 @@
1
- {"browser":{"bookmarkFilter":[{"title":"All","value":"ALL","default":true},{"title":"Unread","value":"UNREAD"},{"title":"In Progress","value":"IN_PROGRESS"},{"title":"Read","value":"READ"}],"q":"","topGroup":[{"title":"Publishers","value":"p","default":true},{"title":"Imprints","value":"i"},{"title":"Series","value":"s"},{"title":"Volumes","value":"v"},{"title":"Issues","value":"c"},{"title":"Folder View","value":"f"}],"settingsGroup":[{"title":"Publishers","value":"p","default":true},{"title":"Imprints","value":"i"},{"title":"Series","value":"s","default":true},{"title":"Volumes","value":"v"}],"orderBy":[{"title":"Name","value":"sort_name","default":true},{"title":"Publish Date","value":"date"},{"title":"Added Time","value":"created_at"},{"title":"Updated Time","value":"updated_at"},{"title":"Page Count","value":"page_count"},{"title":"File Size","value":"size"},{"title":"Filename","value":"path"},{"title":"Critical Rating","value":"critical_rating"},{"title":"Community Rating","value":"community_rating"},{"title":"Age Rating","value":"age_rating"},{"title":"Search Score","value":"search_score"}],"vuetifyNullCode":-1,"groupNames":{"p":"Publishers","i":"Imprints","s":"Series","v":"Volumes","c":"Issues","f":"Folders"},"route":{"group":"r","pk":0,"page":1}},"reader":{"fitTo":[{"title":"Fit to Screen","value":"S","default":true},{"title":"Fit to Width","value":"W"},{"title":"Fit to Height","value":"H"},{"title":"Original Size","value":"O"},{"title":"","value":""}]},"websockets":{"LIBRARY_CHANGED":"LIBRARY_CHANGED","LIBRARIAN_STATUS":"LIBRARIAN_STATUS","FAILED_IMPORTS":"FAILED_IMPORTS"}}
1
+ {"browser":{"bookmarkFilter":[{"title":"All","value":"ALL","default":true},{"title":"Unread","value":"UNREAD"},{"title":"In Progress","value":"IN_PROGRESS"},{"title":"Read","value":"READ"}],"q":"","topGroup":[{"title":"Publishers","value":"p","default":true},{"title":"Imprints","value":"i"},{"title":"Series","value":"s"},{"title":"Volumes","value":"v"},{"title":"Issues","value":"c"},{"title":"Folder View","value":"f"},{"title":"Story Arc View","value":"a"}],"settingsGroup":[{"title":"Publishers","value":"p","default":true},{"title":"Imprints","value":"i"},{"title":"Series","value":"s","default":true},{"title":"Volumes","value":"v"}],"orderBy":[{"title":"Name","value":"sort_name","default":true},{"title":"Publish Date","value":"date"},{"title":"Added Time","value":"created_at","reverse":true},{"title":"Last Read","value":"bookmark_updated_at","reverse":true},{"title":"Updated Time","value":"updated_at","reverse":true},{"title":"Page Count","value":"page_count","reverse":true},{"title":"File Size","value":"size","reverse":true},{"title":"Filename","value":"path"},{"title":"Critical Rating","value":"critical_rating","reverse":true},{"title":"Community Rating","value":"community_rating","reverse":true},{"title":"Age Rating","value":"age_rating"},{"title":"Search Score","value":"search_score","reverse":true},{"title":"Story Arc Number","value":"story_arc_number"}],"vuetifyNullCode":-1,"groupNames":{"p":"Publishers","i":"Imprints","s":"Series","v":"Volumes","c":"Issues","f":"Folders"},"route":{"group":"r","pk":0,"page":1}},"reader":{"fitTo":[{"title":"Fit to Screen","value":"S","default":true},{"title":"Fit to Width","value":"W"},{"title":"Fit to Height","value":"H"},{"title":"Original Size","value":"O"},{"title":"","value":""}]},"websockets":{"LIBRARY_CHANGED":"LIBRARY_CHANGED","LIBRARIAN_STATUS":"LIBRARIAN_STATUS","FAILED_IMPORTS":"FAILED_IMPORTS"}}
Binary file
Binary file
@@ -1,46 +1,46 @@
1
1
  {
2
- "_admin-73d93dc7.js": {
2
+ "_admin-12749881.js": {
3
3
  "css": [
4
- "assets/admin-79555229.css"
4
+ "assets/admin-beda768d.css"
5
5
  ],
6
6
  "dynamicImports": [
7
7
  "src/browser.vue",
8
8
  "src/http-error.vue",
9
9
  "src/reader.vue",
10
- "_admin-drawer-panel-64bcc083.js",
11
- "_admin-drawer-panel-64bcc083.js"
10
+ "_admin-drawer-panel-522f1e6c.js",
11
+ "_admin-drawer-panel-522f1e6c.js"
12
12
  ],
13
- "file": "assets/admin-73d93dc7.js"
13
+ "file": "assets/admin-12749881.js"
14
14
  },
15
- "_admin-drawer-panel-64bcc083.js": {
15
+ "_admin-drawer-panel-522f1e6c.js": {
16
16
  "css": [
17
- "assets/admin-drawer-panel-cce8c0aa.css"
17
+ "assets/admin-drawer-panel-41c225cc.css"
18
18
  ],
19
- "file": "assets/admin-drawer-panel-64bcc083.js",
19
+ "file": "assets/admin-drawer-panel-522f1e6c.js",
20
20
  "imports": [
21
- "_admin-73d93dc7.js"
21
+ "_admin-12749881.js"
22
22
  ],
23
23
  "isDynamicEntry": true
24
24
  },
25
- "_metadata-dialog-8b0e8aaa.js": {
25
+ "_metadata-dialog-62c29ce0.js": {
26
26
  "css": [
27
- "assets/metadata-dialog-785c4cfc.css"
27
+ "assets/metadata-dialog-cb306ffd.css"
28
28
  ],
29
- "file": "assets/metadata-dialog-8b0e8aaa.js",
29
+ "file": "assets/metadata-dialog-62c29ce0.js",
30
30
  "imports": [
31
- "_admin-73d93dc7.js"
31
+ "_admin-12749881.js"
32
32
  ]
33
33
  },
34
34
  "admin-drawer-panel.css": {
35
- "file": "assets/admin-drawer-panel-cce8c0aa.css",
35
+ "file": "assets/admin-drawer-panel-41c225cc.css",
36
36
  "src": "admin-drawer-panel.css"
37
37
  },
38
38
  "admin.css": {
39
- "file": "assets/admin-79555229.css",
39
+ "file": "assets/admin-beda768d.css",
40
40
  "src": "admin.css"
41
41
  },
42
42
  "metadata-dialog.css": {
43
- "file": "assets/metadata-dialog-785c4cfc.css",
43
+ "file": "assets/metadata-dialog-cb306ffd.css",
44
44
  "src": "metadata-dialog.css"
45
45
  },
46
46
  "node_modules/@mdi/font/fonts/materialdesignicons-webfont.eot": {
@@ -60,17 +60,17 @@
60
60
  "src": "node_modules/@mdi/font/fonts/materialdesignicons-webfont.woff2"
61
61
  },
62
62
  "src/browser.css": {
63
- "file": "assets/browser-7325db61.css",
63
+ "file": "assets/browser-7f7d7134.css",
64
64
  "src": "src/browser.css"
65
65
  },
66
66
  "src/browser.vue": {
67
67
  "css": [
68
- "assets/browser-7325db61.css"
68
+ "assets/browser-7f7d7134.css"
69
69
  ],
70
- "file": "assets/browser-d2caeed7.js",
70
+ "file": "assets/browser-af622672.js",
71
71
  "imports": [
72
- "_admin-73d93dc7.js",
73
- "_metadata-dialog-8b0e8aaa.js"
72
+ "_admin-12749881.js",
73
+ "_metadata-dialog-62c29ce0.js"
74
74
  ],
75
75
  "isDynamicEntry": true,
76
76
  "src": "src/browser.vue"
@@ -83,9 +83,9 @@
83
83
  "css": [
84
84
  "assets/page-pdf-2d7d4f5d.css"
85
85
  ],
86
- "file": "assets/page-pdf-abfd509d.js",
86
+ "file": "assets/page-pdf-157ba97e.js",
87
87
  "imports": [
88
- "_admin-73d93dc7.js"
88
+ "_admin-12749881.js"
89
89
  ],
90
90
  "isDynamicEntry": true,
91
91
  "src": "src/components/reader/pages/page/page-pdf.vue"
@@ -98,15 +98,15 @@
98
98
  "css": [
99
99
  "assets/http-error-40ce966f.css"
100
100
  ],
101
- "file": "assets/http-error-0221c37d.js",
101
+ "file": "assets/http-error-5e17b794.js",
102
102
  "imports": [
103
- "_admin-73d93dc7.js"
103
+ "_admin-12749881.js"
104
104
  ],
105
105
  "isDynamicEntry": true,
106
106
  "src": "src/http-error.vue"
107
107
  },
108
108
  "src/main.css": {
109
- "file": "assets/main-a6ac9581.css",
109
+ "file": "assets/main-0898f4bb.css",
110
110
  "src": "src/main.css"
111
111
  },
112
112
  "src/main.js": {
@@ -117,30 +117,30 @@
117
117
  "assets/materialdesignicons-webfont-a58ecb54.ttf"
118
118
  ],
119
119
  "css": [
120
- "assets/main-a6ac9581.css"
120
+ "assets/main-0898f4bb.css"
121
121
  ],
122
- "file": "assets/main-e33dcfb0.js",
122
+ "file": "assets/main-9e76a4c3.js",
123
123
  "imports": [
124
- "_admin-73d93dc7.js"
124
+ "_admin-12749881.js"
125
125
  ],
126
126
  "isEntry": true,
127
127
  "src": "src/main.js"
128
128
  },
129
129
  "src/reader.css": {
130
- "file": "assets/reader-a8b8f766.css",
130
+ "file": "assets/reader-7f004141.css",
131
131
  "src": "src/reader.css"
132
132
  },
133
133
  "src/reader.vue": {
134
134
  "css": [
135
- "assets/reader-a8b8f766.css"
135
+ "assets/reader-7f004141.css"
136
136
  ],
137
137
  "dynamicImports": [
138
138
  "src/components/reader/pages/page/page-pdf.vue"
139
139
  ],
140
- "file": "assets/reader-fe9345d2.js",
140
+ "file": "assets/reader-36266549.js",
141
141
  "imports": [
142
- "_admin-73d93dc7.js",
143
- "_metadata-dialog-8b0e8aaa.js"
142
+ "_admin-12749881.js",
143
+ "_metadata-dialog-62c29ce0.js"
144
144
  ],
145
145
  "isDynamicEntry": true,
146
146
  "src": "src/reader.vue"