codex 1.6.3__py3-none-any.whl → 1.6.4__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 (402) hide show
  1. codex/librarian/importer/importer.py +1 -1
  2. codex/librarian/janitor/cleanup.py +2 -4
  3. codex/librarian/janitor/update.py +10 -9
  4. codex/librarian/search/merge.py +37 -40
  5. codex/librarian/search/remove.py +30 -26
  6. codex/librarian/search/update.py +47 -38
  7. codex/librarian/stats.py +177 -0
  8. codex/librarian/watchdog/events.py +2 -2
  9. codex/serializers/admin/stats.py +77 -65
  10. codex/serializers/fields.py +23 -0
  11. codex/settings/settings.py +3 -3
  12. codex/static_root/assets/{VCheckbox-CXQlndFT.c17c006a62e6.js → VCheckbox-DtXDauZz.54986ad416a1.js} +1 -1
  13. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js.br +0 -0
  14. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js.gz +0 -0
  15. codex/static_root/assets/{VCheckbox-CXQlndFT.js → VCheckbox-DtXDauZz.js} +1 -1
  16. codex/static_root/assets/VCheckbox-DtXDauZz.js.br +0 -0
  17. codex/static_root/assets/VCheckbox-DtXDauZz.js.gz +0 -0
  18. codex/static_root/assets/{VCheckboxBtn-DB72Bclg.ab414c6ae2b8.js → VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js} +1 -1
  19. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js.br +0 -0
  20. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js.gz +0 -0
  21. codex/static_root/assets/{VCheckboxBtn-DB72Bclg.js → VCheckboxBtn-B-iT1MnG.js} +1 -1
  22. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js.br +0 -0
  23. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js.gz +0 -0
  24. codex/static_root/assets/{VCombobox-BDcFPzYf.0b80447cd638.js → VCombobox-DZmum3X-.330883d59742.js} +1 -1
  25. codex/static_root/assets/VCombobox-DZmum3X-.330883d59742.js.br +0 -0
  26. codex/static_root/assets/VCombobox-DZmum3X-.330883d59742.js.gz +0 -0
  27. codex/static_root/assets/{VCombobox-BDcFPzYf.js → VCombobox-DZmum3X-.js} +1 -1
  28. codex/static_root/assets/VCombobox-DZmum3X-.js.br +0 -0
  29. codex/static_root/assets/VCombobox-DZmum3X-.js.gz +0 -0
  30. codex/static_root/assets/{VDialog-BB4zqrGw.2decc14ea597.js → VDialog-DUdNpXLj.6088d518d3af.js} +1 -1
  31. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js.br +0 -0
  32. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js.gz +0 -0
  33. codex/static_root/assets/{VDialog-BB4zqrGw.js → VDialog-DUdNpXLj.js} +1 -1
  34. codex/static_root/assets/VDialog-DUdNpXLj.js.br +0 -0
  35. codex/static_root/assets/VDialog-DUdNpXLj.js.gz +0 -0
  36. codex/static_root/assets/{VExpansionPanels-SZc735F5.19004a0eba16.js → VExpansionPanels-CurqcyFg.860017abf25d.js} +1 -1
  37. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js.br +0 -0
  38. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js.gz +0 -0
  39. codex/static_root/assets/{VExpansionPanels-SZc735F5.js → VExpansionPanels-CurqcyFg.js} +1 -1
  40. codex/static_root/assets/VExpansionPanels-CurqcyFg.js.br +0 -0
  41. codex/static_root/assets/VExpansionPanels-CurqcyFg.js.gz +0 -0
  42. codex/static_root/assets/{VRadioGroup-tFEuhFRq.774e14a4945a.js → VRadioGroup-B7n5ReZ-.8acbc71ac411.js} +1 -1
  43. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js.br +0 -0
  44. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js.gz +0 -0
  45. codex/static_root/assets/{VRadioGroup-tFEuhFRq.js → VRadioGroup-B7n5ReZ-.js} +1 -1
  46. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js.br +0 -0
  47. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js.gz +0 -0
  48. codex/static_root/assets/{VSelect-Dd5Zy8Uy.f225abf824ff.js → VSelect-FYWbH55D.83e91b93fdd1.js} +1 -1
  49. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js.br +0 -0
  50. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js.gz +0 -0
  51. codex/static_root/assets/{VSelect-Dd5Zy8Uy.js → VSelect-FYWbH55D.js} +1 -1
  52. codex/static_root/assets/VSelect-FYWbH55D.js.br +0 -0
  53. codex/static_root/assets/VSelect-FYWbH55D.js.gz +0 -0
  54. codex/static_root/assets/{VSelectionControl-DImIQPJV.1f14d2113063.js → VSelectionControl-CUlT3cc_.63f60240eb49.js} +1 -1
  55. codex/static_root/assets/VSelectionControl-CUlT3cc_.63f60240eb49.js.br +0 -0
  56. codex/static_root/assets/VSelectionControl-CUlT3cc_.63f60240eb49.js.gz +0 -0
  57. codex/static_root/assets/{VSelectionControl-DImIQPJV.js → VSelectionControl-CUlT3cc_.js} +1 -1
  58. codex/static_root/assets/VSelectionControl-CUlT3cc_.js.br +0 -0
  59. codex/static_root/assets/VSelectionControl-CUlT3cc_.js.gz +0 -0
  60. codex/static_root/assets/{VSlideGroup-CDaAHRAK.783800d70a8a.js → VSlideGroup-CRJazQeR.cb89b2222518.js} +1 -1
  61. codex/static_root/assets/VSlideGroup-CRJazQeR.cb89b2222518.js.br +0 -0
  62. codex/static_root/assets/VSlideGroup-CRJazQeR.cb89b2222518.js.gz +0 -0
  63. codex/static_root/assets/{VSlideGroup-CDaAHRAK.js → VSlideGroup-CRJazQeR.js} +1 -1
  64. codex/static_root/assets/VSlideGroup-CRJazQeR.js.br +0 -0
  65. codex/static_root/assets/VSlideGroup-CRJazQeR.js.gz +0 -0
  66. codex/static_root/assets/{VTable-CkCZonsu.81e34381271f.js → VTable-DtyBEZ5i.6848f15ea03f.js} +1 -1
  67. codex/static_root/assets/VTable-DtyBEZ5i.6848f15ea03f.js.br +0 -0
  68. codex/static_root/assets/VTable-DtyBEZ5i.6848f15ea03f.js.gz +0 -0
  69. codex/static_root/assets/{VTable-CkCZonsu.js → VTable-DtyBEZ5i.js} +1 -1
  70. codex/static_root/assets/VTable-DtyBEZ5i.js.br +0 -0
  71. codex/static_root/assets/VTable-DtyBEZ5i.js.gz +0 -0
  72. codex/static_root/assets/{VTextField-fNAzFu1M.00dec8623f18.js → VTextField-DEiVah7O.fbf3130f2dea.js} +1 -1
  73. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js.br +0 -0
  74. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js.gz +0 -0
  75. codex/static_root/assets/{VTextField-fNAzFu1M.js → VTextField-DEiVah7O.js} +1 -1
  76. codex/static_root/assets/VTextField-DEiVah7O.js.br +0 -0
  77. codex/static_root/assets/VTextField-DEiVah7O.js.gz +0 -0
  78. codex/static_root/assets/{VWindowItem-_YBMW1SU.0836924f8c12.js → VWindowItem-BVIaHO-S.419e4ecf523d.js} +1 -1
  79. codex/static_root/assets/VWindowItem-BVIaHO-S.419e4ecf523d.js.br +0 -0
  80. codex/static_root/assets/VWindowItem-BVIaHO-S.419e4ecf523d.js.gz +0 -0
  81. codex/static_root/assets/{VWindowItem-_YBMW1SU.js → VWindowItem-BVIaHO-S.js} +1 -1
  82. codex/static_root/assets/VWindowItem-BVIaHO-S.js.br +0 -0
  83. codex/static_root/assets/VWindowItem-BVIaHO-S.js.gz +0 -0
  84. codex/static_root/assets/{admin-DYmGyJVg.262e6032ee86.js → admin-S53JleJt.f629d90f73a1.js} +1 -1
  85. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js.br +0 -0
  86. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js.gz +0 -0
  87. codex/static_root/assets/{admin-DYmGyJVg.js → admin-S53JleJt.js} +1 -1
  88. codex/static_root/assets/admin-S53JleJt.js.br +0 -0
  89. codex/static_root/assets/admin-S53JleJt.js.gz +0 -0
  90. codex/static_root/assets/{admin-drawer-panel-c3f3H29x.fa2b12c75b06.js → admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js} +20 -20
  91. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js.br +0 -0
  92. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js.gz +0 -0
  93. codex/static_root/assets/{admin-drawer-panel-c3f3H29x.js → admin-drawer-panel-CnAnGx7w.js} +20 -20
  94. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js.br +0 -0
  95. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js.gz +0 -0
  96. codex/static_root/assets/{browser-Ck3zWCOk.d98c77747e6d.js → browser-BHHgqDP7.7ada4400d63f.js} +1 -1
  97. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js.br +0 -0
  98. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js.gz +0 -0
  99. codex/static_root/assets/{browser-Ck3zWCOk.js → browser-BHHgqDP7.js} +1 -1
  100. codex/static_root/assets/browser-BHHgqDP7.js.br +0 -0
  101. codex/static_root/assets/browser-BHHgqDP7.js.gz +0 -0
  102. codex/static_root/assets/{browser-DgawKPSA.c7cf59dc4b21.css → browser-Cy0OgQJC.css} +1 -1
  103. codex/static_root/assets/browser-Cy0OgQJC.css.br +0 -0
  104. codex/static_root/assets/browser-Cy0OgQJC.css.gz +0 -0
  105. codex/static_root/assets/{browser-DgawKPSA.css → browser-Cy0OgQJC.fabbd1aaffcf.css} +1 -1
  106. codex/static_root/assets/browser-Cy0OgQJC.fabbd1aaffcf.css.br +0 -0
  107. codex/static_root/assets/browser-Cy0OgQJC.fabbd1aaffcf.css.gz +0 -0
  108. codex/static_root/assets/{change-password-dialog-BbIO0YI5.2bb0a5dfb190.js → change-password-dialog-Du1bwEt1.a4c0205c9bc4.js} +1 -1
  109. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js.br +0 -0
  110. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js.gz +0 -0
  111. codex/static_root/assets/{change-password-dialog-BbIO0YI5.js → change-password-dialog-Du1bwEt1.js} +1 -1
  112. codex/static_root/assets/change-password-dialog-Du1bwEt1.js.br +0 -0
  113. codex/static_root/assets/change-password-dialog-Du1bwEt1.js.gz +0 -0
  114. codex/static_root/assets/{confirm-dialog-BrzuoYAT.a0a1b6364708.js → confirm-dialog-eKN71B8a.af6187dc12bd.js} +1 -1
  115. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js.br +0 -0
  116. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js.gz +0 -0
  117. codex/static_root/assets/{confirm-dialog-BrzuoYAT.js → confirm-dialog-eKN71B8a.js} +1 -1
  118. codex/static_root/assets/confirm-dialog-eKN71B8a.js.br +0 -0
  119. codex/static_root/assets/confirm-dialog-eKN71B8a.js.gz +0 -0
  120. codex/static_root/assets/{datetime-column-D8-UeX_p.e33b1556805b.js → datetime-column-CWp600fz.e8a969126bf5.js} +1 -1
  121. codex/static_root/assets/datetime-column-CWp600fz.e8a969126bf5.js.br +0 -0
  122. codex/static_root/assets/datetime-column-CWp600fz.e8a969126bf5.js.gz +0 -0
  123. codex/static_root/assets/{datetime-column-D8-UeX_p.js → datetime-column-CWp600fz.js} +1 -1
  124. codex/static_root/assets/datetime-column-CWp600fz.js.br +0 -0
  125. codex/static_root/assets/datetime-column-CWp600fz.js.gz +0 -0
  126. codex/static_root/assets/{filter-XMAX5Nmg.c6ed87350f7d.js → filter-_XbKRiIR.2c7ac68a2d03.js} +1 -1
  127. codex/static_root/assets/filter-_XbKRiIR.2c7ac68a2d03.js.br +0 -0
  128. codex/static_root/assets/filter-_XbKRiIR.2c7ac68a2d03.js.gz +0 -0
  129. codex/static_root/assets/{filter-XMAX5Nmg.js → filter-_XbKRiIR.js} +1 -1
  130. codex/static_root/assets/filter-_XbKRiIR.js.br +0 -0
  131. codex/static_root/assets/filter-_XbKRiIR.js.gz +0 -0
  132. codex/static_root/assets/flag-tab-DBqpLKi7.css +1 -0
  133. codex/static_root/assets/flag-tab-DBqpLKi7.css.br +0 -0
  134. codex/static_root/assets/flag-tab-DBqpLKi7.css.gz +0 -0
  135. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css +1 -0
  136. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.br +0 -0
  137. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.gz +0 -0
  138. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js +1 -0
  139. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js.br +0 -0
  140. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js.gz +0 -0
  141. codex/static_root/assets/flag-tab-DR_nY0Jg.js +1 -0
  142. codex/static_root/assets/flag-tab-DR_nY0Jg.js.br +0 -0
  143. codex/static_root/assets/flag-tab-DR_nY0Jg.js.gz +0 -0
  144. codex/static_root/assets/{group-tab-D9n5gZCA.634223001c44.js → group-tab-JKsMHOmK.d2c2f3fceec1.js} +1 -1
  145. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js.br +0 -0
  146. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js.gz +0 -0
  147. codex/static_root/assets/{group-tab-D9n5gZCA.js → group-tab-JKsMHOmK.js} +1 -1
  148. codex/static_root/assets/group-tab-JKsMHOmK.js.br +0 -0
  149. codex/static_root/assets/group-tab-JKsMHOmK.js.gz +0 -0
  150. codex/static_root/assets/{http-error-C_EFLi0c.c7e906206b62.js → http-error-Bw1wUv3U.c8313a2fb129.js} +1 -1
  151. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js.br +0 -0
  152. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js.gz +0 -0
  153. codex/static_root/assets/{http-error-C_EFLi0c.js → http-error-Bw1wUv3U.js} +1 -1
  154. codex/static_root/assets/http-error-Bw1wUv3U.js.br +0 -0
  155. codex/static_root/assets/http-error-Bw1wUv3U.js.gz +0 -0
  156. codex/static_root/assets/{library-tab-fDxuhPBs.285b36d9cec0.js → library-tab-D9GTugZ6.8e3e6ebd38b7.js} +1 -1
  157. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js.br +0 -0
  158. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js.gz +0 -0
  159. codex/static_root/assets/{library-tab-fDxuhPBs.js → library-tab-D9GTugZ6.js} +1 -1
  160. codex/static_root/assets/library-tab-D9GTugZ6.js.br +0 -0
  161. codex/static_root/assets/library-tab-D9GTugZ6.js.gz +0 -0
  162. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js +6 -0
  163. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js.br +0 -0
  164. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js.gz +0 -0
  165. codex/static_root/assets/main-BJiV8IG3.js +6 -0
  166. codex/static_root/assets/main-BJiV8IG3.js.br +0 -0
  167. codex/static_root/assets/main-BJiV8IG3.js.gz +0 -0
  168. codex/static_root/assets/{pagination-toolbar-BD6nzIKF.f3ca4874c203.js → pagination-toolbar-i2VoXaGH.c3dbb703af2e.js} +1 -1
  169. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js.br +0 -0
  170. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js.gz +0 -0
  171. codex/static_root/assets/{pagination-toolbar-BD6nzIKF.js → pagination-toolbar-i2VoXaGH.js} +1 -1
  172. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js.br +0 -0
  173. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js.gz +0 -0
  174. codex/static_root/assets/{pdf-doc-iF15lKRp.de9a9d394438.js → pdf-doc-BLxZLD38.4cf9622c535f.js} +1 -1
  175. codex/static_root/assets/pdf-doc-BLxZLD38.4cf9622c535f.js.br +0 -0
  176. codex/static_root/assets/pdf-doc-BLxZLD38.4cf9622c535f.js.gz +0 -0
  177. codex/static_root/assets/{pdf-doc-iF15lKRp.js → pdf-doc-BLxZLD38.js} +1 -1
  178. codex/static_root/assets/pdf-doc-BLxZLD38.js.br +0 -0
  179. codex/static_root/assets/pdf-doc-BLxZLD38.js.gz +0 -0
  180. codex/static_root/assets/{reader-5Ja_bAaT.2fe33a3891f6.js → reader-D2O_yHTW.70d616ddc2cc.js} +2 -2
  181. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js.br +0 -0
  182. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js.gz +0 -0
  183. codex/static_root/assets/{reader-5Ja_bAaT.js → reader-D2O_yHTW.js} +2 -2
  184. codex/static_root/assets/reader-D2O_yHTW.js.br +0 -0
  185. codex/static_root/assets/reader-D2O_yHTW.js.gz +0 -0
  186. codex/static_root/assets/{relation-chips-CUWkvLNo.3d18d0c09d39.js → relation-chips-CmeSIsRq.f169f7c3f48d.js} +1 -1
  187. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js.br +0 -0
  188. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js.gz +0 -0
  189. codex/static_root/assets/{relation-chips-CUWkvLNo.js → relation-chips-CmeSIsRq.js} +1 -1
  190. codex/static_root/assets/relation-chips-CmeSIsRq.js.br +0 -0
  191. codex/static_root/assets/relation-chips-CmeSIsRq.js.gz +0 -0
  192. codex/static_root/assets/{settings-drawer-rn3JdMxA.js → settings-drawer-XH4sNDNT.98ee4b24901c.js} +2 -2
  193. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js.br +0 -0
  194. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js.gz +0 -0
  195. codex/static_root/assets/{settings-drawer-rn3JdMxA.a9d7b45c2138.js → settings-drawer-XH4sNDNT.js} +2 -2
  196. codex/static_root/assets/settings-drawer-XH4sNDNT.js.br +0 -0
  197. codex/static_root/assets/settings-drawer-XH4sNDNT.js.gz +0 -0
  198. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js +1 -0
  199. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js.br +0 -0
  200. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js.gz +0 -0
  201. codex/static_root/assets/stats-tab-BGxkeKnY.js +1 -0
  202. codex/static_root/assets/stats-tab-BGxkeKnY.js.br +0 -0
  203. codex/static_root/assets/stats-tab-BGxkeKnY.js.gz +0 -0
  204. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css +1 -0
  205. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css.br +0 -0
  206. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css.gz +0 -0
  207. codex/static_root/assets/stats-tab-CI0u-X7Y.css +1 -0
  208. codex/static_root/assets/stats-tab-CI0u-X7Y.css.br +0 -0
  209. codex/static_root/assets/stats-tab-CI0u-X7Y.css.gz +0 -0
  210. codex/static_root/assets/{task-tab-CbzDX0IR.7b43bdf9cf42.js → task-tab-B74Kah_b.58627993d3c6.js} +1 -1
  211. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js.br +0 -0
  212. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js.gz +0 -0
  213. codex/static_root/assets/{task-tab-CbzDX0IR.js → task-tab-B74Kah_b.js} +1 -1
  214. codex/static_root/assets/task-tab-B74Kah_b.js.br +0 -0
  215. codex/static_root/assets/task-tab-B74Kah_b.js.gz +0 -0
  216. codex/static_root/assets/{unauthorized-CllrtnFV.2a18fab3dd41.js → unauthorized-BF45der6.d34f8022124b.js} +1 -1
  217. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js.br +0 -0
  218. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js.gz +0 -0
  219. codex/static_root/assets/{unauthorized-CllrtnFV.js → unauthorized-BF45der6.js} +1 -1
  220. codex/static_root/assets/unauthorized-BF45der6.js.br +0 -0
  221. codex/static_root/assets/unauthorized-BF45der6.js.gz +0 -0
  222. codex/static_root/assets/{user-tab-FY1xALpi.05a88f51df4f.js → user-tab-BP2TTPg5.e63a5661a1a5.js} +1 -1
  223. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js.br +0 -0
  224. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js.gz +0 -0
  225. codex/static_root/assets/{user-tab-FY1xALpi.js → user-tab-BP2TTPg5.js} +1 -1
  226. codex/static_root/assets/user-tab-BP2TTPg5.js.br +0 -0
  227. codex/static_root/assets/user-tab-BP2TTPg5.js.gz +0 -0
  228. codex/static_root/{manifest.166aa32817b1.json → manifest.7033f9a22987.json} +216 -216
  229. codex/static_root/manifest.7033f9a22987.json.br +0 -0
  230. codex/static_root/manifest.7033f9a22987.json.gz +0 -0
  231. codex/static_root/manifest.json +216 -216
  232. codex/static_root/manifest.json.br +0 -0
  233. codex/static_root/manifest.json.gz +0 -0
  234. codex/static_root/staticfiles.json +1 -1
  235. codex/urls/root.py +12 -2
  236. codex/views/admin/stats.py +38 -186
  237. codex/views/opds/v1/entry/entry.py +14 -18
  238. codex/views/opds/v1/feed.py +5 -1
  239. codex/views/opds/v1/links.py +1 -0
  240. codex/views/reader/arcs.py +5 -4
  241. {codex-1.6.3.dist-info → codex-1.6.4.dist-info}/METADATA +18 -7
  242. {codex-1.6.3.dist-info → codex-1.6.4.dist-info}/RECORD +245 -245
  243. codex/settings/logging.py +0 -20
  244. codex/static_root/assets/VCheckbox-CXQlndFT.c17c006a62e6.js.br +0 -0
  245. codex/static_root/assets/VCheckbox-CXQlndFT.c17c006a62e6.js.gz +0 -0
  246. codex/static_root/assets/VCheckbox-CXQlndFT.js.br +0 -0
  247. codex/static_root/assets/VCheckbox-CXQlndFT.js.gz +0 -0
  248. codex/static_root/assets/VCheckboxBtn-DB72Bclg.ab414c6ae2b8.js.br +0 -0
  249. codex/static_root/assets/VCheckboxBtn-DB72Bclg.ab414c6ae2b8.js.gz +0 -0
  250. codex/static_root/assets/VCheckboxBtn-DB72Bclg.js.br +0 -0
  251. codex/static_root/assets/VCheckboxBtn-DB72Bclg.js.gz +0 -0
  252. codex/static_root/assets/VCombobox-BDcFPzYf.0b80447cd638.js.br +0 -0
  253. codex/static_root/assets/VCombobox-BDcFPzYf.0b80447cd638.js.gz +0 -0
  254. codex/static_root/assets/VCombobox-BDcFPzYf.js.br +0 -0
  255. codex/static_root/assets/VCombobox-BDcFPzYf.js.gz +0 -0
  256. codex/static_root/assets/VDialog-BB4zqrGw.2decc14ea597.js.br +0 -0
  257. codex/static_root/assets/VDialog-BB4zqrGw.2decc14ea597.js.gz +0 -0
  258. codex/static_root/assets/VDialog-BB4zqrGw.js.br +0 -0
  259. codex/static_root/assets/VDialog-BB4zqrGw.js.gz +0 -0
  260. codex/static_root/assets/VExpansionPanels-SZc735F5.19004a0eba16.js.br +0 -0
  261. codex/static_root/assets/VExpansionPanels-SZc735F5.19004a0eba16.js.gz +0 -0
  262. codex/static_root/assets/VExpansionPanels-SZc735F5.js.br +0 -0
  263. codex/static_root/assets/VExpansionPanels-SZc735F5.js.gz +0 -0
  264. codex/static_root/assets/VRadioGroup-tFEuhFRq.774e14a4945a.js.br +0 -0
  265. codex/static_root/assets/VRadioGroup-tFEuhFRq.774e14a4945a.js.gz +0 -0
  266. codex/static_root/assets/VRadioGroup-tFEuhFRq.js.br +0 -0
  267. codex/static_root/assets/VRadioGroup-tFEuhFRq.js.gz +0 -0
  268. codex/static_root/assets/VSelect-Dd5Zy8Uy.f225abf824ff.js.br +0 -0
  269. codex/static_root/assets/VSelect-Dd5Zy8Uy.f225abf824ff.js.gz +0 -0
  270. codex/static_root/assets/VSelect-Dd5Zy8Uy.js.br +0 -0
  271. codex/static_root/assets/VSelect-Dd5Zy8Uy.js.gz +0 -0
  272. codex/static_root/assets/VSelectionControl-DImIQPJV.1f14d2113063.js.br +0 -0
  273. codex/static_root/assets/VSelectionControl-DImIQPJV.1f14d2113063.js.gz +0 -0
  274. codex/static_root/assets/VSelectionControl-DImIQPJV.js.br +0 -0
  275. codex/static_root/assets/VSelectionControl-DImIQPJV.js.gz +0 -0
  276. codex/static_root/assets/VSlideGroup-CDaAHRAK.783800d70a8a.js.br +0 -0
  277. codex/static_root/assets/VSlideGroup-CDaAHRAK.783800d70a8a.js.gz +0 -0
  278. codex/static_root/assets/VSlideGroup-CDaAHRAK.js.br +0 -0
  279. codex/static_root/assets/VSlideGroup-CDaAHRAK.js.gz +0 -0
  280. codex/static_root/assets/VTable-CkCZonsu.81e34381271f.js.br +0 -0
  281. codex/static_root/assets/VTable-CkCZonsu.81e34381271f.js.gz +0 -0
  282. codex/static_root/assets/VTable-CkCZonsu.js.br +0 -0
  283. codex/static_root/assets/VTable-CkCZonsu.js.gz +0 -0
  284. codex/static_root/assets/VTextField-fNAzFu1M.00dec8623f18.js.br +0 -0
  285. codex/static_root/assets/VTextField-fNAzFu1M.00dec8623f18.js.gz +0 -0
  286. codex/static_root/assets/VTextField-fNAzFu1M.js.br +0 -0
  287. codex/static_root/assets/VTextField-fNAzFu1M.js.gz +0 -0
  288. codex/static_root/assets/VWindowItem-_YBMW1SU.0836924f8c12.js.br +0 -0
  289. codex/static_root/assets/VWindowItem-_YBMW1SU.0836924f8c12.js.gz +0 -0
  290. codex/static_root/assets/VWindowItem-_YBMW1SU.js.br +0 -0
  291. codex/static_root/assets/VWindowItem-_YBMW1SU.js.gz +0 -0
  292. codex/static_root/assets/admin-DYmGyJVg.262e6032ee86.js.br +0 -0
  293. codex/static_root/assets/admin-DYmGyJVg.262e6032ee86.js.gz +0 -0
  294. codex/static_root/assets/admin-DYmGyJVg.js.br +0 -0
  295. codex/static_root/assets/admin-DYmGyJVg.js.gz +0 -0
  296. codex/static_root/assets/admin-drawer-panel-c3f3H29x.fa2b12c75b06.js.br +0 -0
  297. codex/static_root/assets/admin-drawer-panel-c3f3H29x.fa2b12c75b06.js.gz +0 -0
  298. codex/static_root/assets/admin-drawer-panel-c3f3H29x.js.br +0 -0
  299. codex/static_root/assets/admin-drawer-panel-c3f3H29x.js.gz +0 -0
  300. codex/static_root/assets/browser-Ck3zWCOk.d98c77747e6d.js.br +0 -0
  301. codex/static_root/assets/browser-Ck3zWCOk.d98c77747e6d.js.gz +0 -0
  302. codex/static_root/assets/browser-Ck3zWCOk.js.br +0 -0
  303. codex/static_root/assets/browser-Ck3zWCOk.js.gz +0 -0
  304. codex/static_root/assets/browser-DgawKPSA.c7cf59dc4b21.css.br +0 -0
  305. codex/static_root/assets/browser-DgawKPSA.c7cf59dc4b21.css.gz +0 -0
  306. codex/static_root/assets/browser-DgawKPSA.css.br +0 -0
  307. codex/static_root/assets/browser-DgawKPSA.css.gz +0 -0
  308. codex/static_root/assets/change-password-dialog-BbIO0YI5.2bb0a5dfb190.js.br +0 -0
  309. codex/static_root/assets/change-password-dialog-BbIO0YI5.2bb0a5dfb190.js.gz +0 -0
  310. codex/static_root/assets/change-password-dialog-BbIO0YI5.js.br +0 -0
  311. codex/static_root/assets/change-password-dialog-BbIO0YI5.js.gz +0 -0
  312. codex/static_root/assets/confirm-dialog-BrzuoYAT.a0a1b6364708.js.br +0 -0
  313. codex/static_root/assets/confirm-dialog-BrzuoYAT.a0a1b6364708.js.gz +0 -0
  314. codex/static_root/assets/confirm-dialog-BrzuoYAT.js.br +0 -0
  315. codex/static_root/assets/confirm-dialog-BrzuoYAT.js.gz +0 -0
  316. codex/static_root/assets/datetime-column-D8-UeX_p.e33b1556805b.js.br +0 -0
  317. codex/static_root/assets/datetime-column-D8-UeX_p.e33b1556805b.js.gz +0 -0
  318. codex/static_root/assets/datetime-column-D8-UeX_p.js.br +0 -0
  319. codex/static_root/assets/datetime-column-D8-UeX_p.js.gz +0 -0
  320. codex/static_root/assets/filter-XMAX5Nmg.c6ed87350f7d.js.br +0 -0
  321. codex/static_root/assets/filter-XMAX5Nmg.c6ed87350f7d.js.gz +0 -0
  322. codex/static_root/assets/filter-XMAX5Nmg.js.br +0 -0
  323. codex/static_root/assets/filter-XMAX5Nmg.js.gz +0 -0
  324. codex/static_root/assets/flag-tab-BLEUVMot.c14936c90346.js +0 -1
  325. codex/static_root/assets/flag-tab-BLEUVMot.c14936c90346.js.br +0 -0
  326. codex/static_root/assets/flag-tab-BLEUVMot.c14936c90346.js.gz +0 -0
  327. codex/static_root/assets/flag-tab-BLEUVMot.js +0 -1
  328. codex/static_root/assets/flag-tab-BLEUVMot.js.br +0 -0
  329. codex/static_root/assets/flag-tab-BLEUVMot.js.gz +0 -0
  330. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css +0 -1
  331. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css.br +0 -0
  332. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css.gz +0 -0
  333. codex/static_root/assets/flag-tab-BNwbLfrN.css +0 -1
  334. codex/static_root/assets/flag-tab-BNwbLfrN.css.br +0 -0
  335. codex/static_root/assets/flag-tab-BNwbLfrN.css.gz +0 -0
  336. codex/static_root/assets/group-tab-D9n5gZCA.634223001c44.js.br +0 -0
  337. codex/static_root/assets/group-tab-D9n5gZCA.634223001c44.js.gz +0 -0
  338. codex/static_root/assets/group-tab-D9n5gZCA.js.br +0 -0
  339. codex/static_root/assets/group-tab-D9n5gZCA.js.gz +0 -0
  340. codex/static_root/assets/http-error-C_EFLi0c.c7e906206b62.js.br +0 -0
  341. codex/static_root/assets/http-error-C_EFLi0c.c7e906206b62.js.gz +0 -0
  342. codex/static_root/assets/http-error-C_EFLi0c.js.br +0 -0
  343. codex/static_root/assets/http-error-C_EFLi0c.js.gz +0 -0
  344. codex/static_root/assets/library-tab-fDxuhPBs.285b36d9cec0.js.br +0 -0
  345. codex/static_root/assets/library-tab-fDxuhPBs.285b36d9cec0.js.gz +0 -0
  346. codex/static_root/assets/library-tab-fDxuhPBs.js.br +0 -0
  347. codex/static_root/assets/library-tab-fDxuhPBs.js.gz +0 -0
  348. codex/static_root/assets/main-B3MfqYNN.30d1310fc082.js +0 -6
  349. codex/static_root/assets/main-B3MfqYNN.30d1310fc082.js.br +0 -0
  350. codex/static_root/assets/main-B3MfqYNN.30d1310fc082.js.gz +0 -0
  351. codex/static_root/assets/main-B3MfqYNN.js +0 -6
  352. codex/static_root/assets/main-B3MfqYNN.js.br +0 -0
  353. codex/static_root/assets/main-B3MfqYNN.js.gz +0 -0
  354. codex/static_root/assets/pagination-toolbar-BD6nzIKF.f3ca4874c203.js.br +0 -0
  355. codex/static_root/assets/pagination-toolbar-BD6nzIKF.f3ca4874c203.js.gz +0 -0
  356. codex/static_root/assets/pagination-toolbar-BD6nzIKF.js.br +0 -0
  357. codex/static_root/assets/pagination-toolbar-BD6nzIKF.js.gz +0 -0
  358. codex/static_root/assets/pdf-doc-iF15lKRp.de9a9d394438.js.br +0 -0
  359. codex/static_root/assets/pdf-doc-iF15lKRp.de9a9d394438.js.gz +0 -0
  360. codex/static_root/assets/pdf-doc-iF15lKRp.js.br +0 -0
  361. codex/static_root/assets/pdf-doc-iF15lKRp.js.gz +0 -0
  362. codex/static_root/assets/reader-5Ja_bAaT.2fe33a3891f6.js.br +0 -0
  363. codex/static_root/assets/reader-5Ja_bAaT.2fe33a3891f6.js.gz +0 -0
  364. codex/static_root/assets/reader-5Ja_bAaT.js.br +0 -0
  365. codex/static_root/assets/reader-5Ja_bAaT.js.gz +0 -0
  366. codex/static_root/assets/relation-chips-CUWkvLNo.3d18d0c09d39.js.br +0 -0
  367. codex/static_root/assets/relation-chips-CUWkvLNo.3d18d0c09d39.js.gz +0 -0
  368. codex/static_root/assets/relation-chips-CUWkvLNo.js.br +0 -0
  369. codex/static_root/assets/relation-chips-CUWkvLNo.js.gz +0 -0
  370. codex/static_root/assets/settings-drawer-rn3JdMxA.a9d7b45c2138.js.br +0 -0
  371. codex/static_root/assets/settings-drawer-rn3JdMxA.a9d7b45c2138.js.gz +0 -0
  372. codex/static_root/assets/settings-drawer-rn3JdMxA.js.br +0 -0
  373. codex/static_root/assets/settings-drawer-rn3JdMxA.js.gz +0 -0
  374. codex/static_root/assets/stats-tab-B6L-YFRA.1c90593f7b5c.css +0 -1
  375. codex/static_root/assets/stats-tab-B6L-YFRA.1c90593f7b5c.css.br +0 -0
  376. codex/static_root/assets/stats-tab-B6L-YFRA.1c90593f7b5c.css.gz +0 -0
  377. codex/static_root/assets/stats-tab-B6L-YFRA.css +0 -1
  378. codex/static_root/assets/stats-tab-B6L-YFRA.css.br +0 -0
  379. codex/static_root/assets/stats-tab-B6L-YFRA.css.gz +0 -0
  380. codex/static_root/assets/stats-tab-zts2Xsmg.9fb959ccf4da.js +0 -1
  381. codex/static_root/assets/stats-tab-zts2Xsmg.9fb959ccf4da.js.br +0 -0
  382. codex/static_root/assets/stats-tab-zts2Xsmg.9fb959ccf4da.js.gz +0 -0
  383. codex/static_root/assets/stats-tab-zts2Xsmg.js +0 -1
  384. codex/static_root/assets/stats-tab-zts2Xsmg.js.br +0 -0
  385. codex/static_root/assets/stats-tab-zts2Xsmg.js.gz +0 -0
  386. codex/static_root/assets/task-tab-CbzDX0IR.7b43bdf9cf42.js.br +0 -0
  387. codex/static_root/assets/task-tab-CbzDX0IR.7b43bdf9cf42.js.gz +0 -0
  388. codex/static_root/assets/task-tab-CbzDX0IR.js.br +0 -0
  389. codex/static_root/assets/task-tab-CbzDX0IR.js.gz +0 -0
  390. codex/static_root/assets/unauthorized-CllrtnFV.2a18fab3dd41.js.br +0 -0
  391. codex/static_root/assets/unauthorized-CllrtnFV.2a18fab3dd41.js.gz +0 -0
  392. codex/static_root/assets/unauthorized-CllrtnFV.js.br +0 -0
  393. codex/static_root/assets/unauthorized-CllrtnFV.js.gz +0 -0
  394. codex/static_root/assets/user-tab-FY1xALpi.05a88f51df4f.js.br +0 -0
  395. codex/static_root/assets/user-tab-FY1xALpi.05a88f51df4f.js.gz +0 -0
  396. codex/static_root/assets/user-tab-FY1xALpi.js.br +0 -0
  397. codex/static_root/assets/user-tab-FY1xALpi.js.gz +0 -0
  398. codex/static_root/manifest.166aa32817b1.json.br +0 -0
  399. codex/static_root/manifest.166aa32817b1.json.gz +0 -0
  400. {codex-1.6.3.dist-info → codex-1.6.4.dist-info}/LICENSE +0 -0
  401. {codex-1.6.3.dist-info → codex-1.6.4.dist-info}/WHEEL +0 -0
  402. {codex-1.6.3.dist-info → codex-1.6.4.dist-info}/entry_points.txt +0 -0
@@ -1,2 +1,2 @@
1
- const __vite__fileDeps=["assets/pdf-doc-iF15lKRp.js","assets/admin-drawer-panel-c3f3H29x.js","assets/admin-drawer-panel-mne3FIj6.css","assets/main-B3MfqYNN.js","assets/main-Ztp855PW.css","assets/pdf-doc-CMzaSV_K.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);
2
- import{ap as f,W as P,X as _,_ as k,Z as u,$ as c,Y as p,a0 as d,T as n,aR as C,al as b,aJ as w,am as R,aL as S,aH as v,aZ as Q,V as B,bD as ke,bE as be,au as z,bF as ee,bG as te,aK as oe,bH as ae,bI as _e,b8 as fe,aV as T,bA as Pe,l as D,aI as N,bt as se,bJ as ve,aQ as r,b6 as we,an as Se,bK as ye,bL as Ce,E as W,bM as Re,bN as Be,bO as Te,bP as De,bQ as Ie,aS as Le,aT as Ve,aO as $e,q as I,bR as Oe,at as re,aW as H,bS as Ne,aX as M,bT as Ae,bU as Ee,bV as xe,bk as Ue,bl as Fe,bm as ze,ao as Me,bW as We,a_ as He,bX as qe,bY as ne,bn as Ke,bq as Ge,bZ as je,b_ as Ye}from"./admin-drawer-panel-c3f3H29x.js";import{b as i,c as Xe,_ as Ze,S as x,d as Je,e as Qe}from"./main-B3MfqYNN.js";import{d as et,b as tt,S as ot,V as at,a as st}from"./settings-drawer-rn3JdMxA.js";import{P as rt,E as ie,U as nt,V as it}from"./unauthorized-CllrtnFV.js";import{b as le,V as ce}from"./VWindowItem-_YBMW1SU.js";import{a as lt}from"./VSelect-Dd5Zy8Uy.js";import{V as ct,a as dt,b as ut,c as ht}from"./VExpansionPanels-SZc735F5.js";import{V as L,a as U}from"./VRadioGroup-tFEuhFRq.js";import{V}from"./VCheckbox-CXQlndFT.js";import{T as pt,M as gt,V as F,a as mt,P as de,b as kt,c as bt}from"./pagination-toolbar-BD6nzIKF.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDialog-BB4zqrGw.js";import"./change-password-dialog-BbIO0YI5.js";import"./VTextField-fNAzFu1M.js";import"./VSelectionControl-DImIQPJV.js";import"./VCheckboxBtn-DB72Bclg.js";import"./VSlideGroup-CDaAHRAK.js";const _t={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...f(i,["isBTT"]),...P(i,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{..._(i,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function ft(e,t,a,g,l,o){const s=u("router-link");return o.show?(c(),p(et,{key:0,class:R(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:d(()=>[n(s,{class:R({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},{default:d(()=>[n(C,{class:"bookChangeIcon"},{default:d(()=>[b(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Pt=k(_t,[["render",ft],["__scopeId","data-v-03e41a14"]]),vt={name:"BookChangeActivator",components:{BookChangeDrawer:Pt},props:{direction:{type:String,required:!0}},computed:{computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)},show(){return this.bookChangeShow(this.computedDirection)}},methods:{..._(i,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function wt(e,t,a,g,l,o){const s=u("BookChangeDrawer");return c(),v(B,null,[o.show?(c(),v("div",{key:0,class:R(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=Q(h=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),n(s,{direction:a.direction},null,8,["direction"])],64)}const St=k(vt,[["render",wt],["__scopeId","data-v-db3eb561"]]),yt={name:"LoadingPage",components:{Placeholder:rt},props:{twoPages:{type:Boolean,required:!0}}};function Ct(e,t,a,g,l,o){const s=u("Placeholder");return c(),v("div",{class:R(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Rt=k(yt,[["render",Ct],["__scopeId","data-v-04027168"]]),q="unauthorized",Bt={name:"ErrorPage",components:{EmptyState:ie},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===q?"Protected page":"Failed to load page"},icon(){return this.type===q?ke:be}},methods:{onAction(e){this.$emit("retry",e)}}};function Tt(e,t,a,g,l,o){const s=u("EmptyState");return c(),p(s,{class:R(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Dt=k(Bt,[["render",Tt],["__scopeId","data-v-97fa48e8"]]),It={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(i,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{..._(i,["fitToClass"])}},Lt=["src"];function Vt(e,t,a,g,l,o){return c(),v("img",z({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Lt)}const K=k(It,[["render",Vt],["__scopeId","data-v-559e2ecc"]]),G=ee(te(()=>Ze(()=>import("./pdf-doc-iF15lKRp.js"),__vite__mapDeps([0,1,2,3,4,5])))),$t=333,Ot={name:"BookPage",components:{ErrorPage:Dt,LoadingPage:Rt,PDFDoc:G,ImgPage:K},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...f(i,["isVertical"]),...P(i,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Xe(t)},component(){return this.book.fileType==="PDF"?G:K},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},$t)},methods:{..._(i,["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},onRetry(){this.ts=Date.now()}}},Nt=["id","data-page"];function At(e,t,a,g,l,o){const s=u("ErrorPage"),h=u("LoadingPage");return c(),v("div",{id:`page${a.page}`,key:l.ts,"data-page":a.page,class:"page",style:ae(o.style)},[l.error?(c(),p(s,{key:0,"two-pages":o.settings.twoPages,type:l.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):l.showProgress&&!l.loaded?(c(),p(h,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(c(),p(oe(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Nt)}const ue=k(Ot,[["render",At],["__scopeId","data-v-d40b3ab1"]]),Et=.5,xt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:_e}},computed:{...P(i,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=x},style(){return{cursor:this.scale==x?"zoom-in":"all-scroll"}}},methods:{..._(i,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Et;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:x})}}};function Ut(e,t,a,g,l,o){const s=fe("drag-scroller");return T((c(),v("div",{class:"scaleForScroll",style:ae(o.style),onDblclick:t[0]||(t[0]=(...h)=>o.onDoubleClick&&o.onDoubleClick(...h))},[Pe(e.$slots,"default",{},void 0,!0),o.showReset?(c(),p(C,{key:0,class:"resetIcon",onClick:Q(o.scaleReset,["stop"])},{default:d(()=>[b(w(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const he=k(xt,[["render",Ut],["__scopeId","data-v-a222c504"]]),Ft={name:"HorizontalPages",components:{BookPage:ue,ScaleForScroll:he},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...f(i,["isCoverPage","isReadInReverse"]),showSecondPage(){return this.getSettings(this.book).twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{..._(i,["getSettings"])}};function zt(e,t,a,g,l,o){const s=u("BookPage"),h=u("ScaleForScroll");return c(),p(h,{class:"noWrap"},{default:d(()=>[o.showPageOne?(c(),p(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(c(),p(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const Mt=k(Ft,[["render",zt],["__scopeId","data-v-9a560964"]]),Wt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...f(i,["isVertical","isFirstPage","isLastPage"]),...P(i,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){let e="pageChange";return e+=this.isVertical?"Row":"Column",e},directionClass(){let e=this.direction;return this.isVertical&&(e+="Vertical"),e},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{..._(i,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Ht(e,t,a,g,l,o){const s=u("router-link");return o.show?(c(),p(s,{key:0,to:o.route,"aria-label":o.label,class:R({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const qt=k(Wt,[["render",Ht],["__scopeId","data-v-9ade7d96"]]),Kt=48,Gt=48,jt={name:"PagerHorizontal",components:{HorizontalPages:Mt,PageChangeLink:qt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...f(i,["isReadInReverse"]),...P(i,{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}),twoPages(){return this.getSettings(this.book).twoPages},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),a=this.pages.at(-1);(e<t||e>a)&&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:{..._(i,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Kt,0),t=Math.min(this.activePage+Gt,this.book.maxPage);this.pages=D.range(e,t+1)}}};function Yt(e,t,a,g,l,o){const s=u("PageChangeLink"),h=u("HorizontalPages");return c(),p(ce,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:d(()=>[n(s,{direction:"prev"})]),next:d(()=>[n(s,{direction:"next"})]),default:d(()=>[(c(!0),v(B,null,N(l.pages,m=>(c(),p(le,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:d(()=>[n(h,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const j=k(jt,[["render",Yt],["__scopeId","data-v-50107c37"]]),Xt=12,Y=250,Zt={name:"PagerVertical",components:{BookPage:ue,ScaleForScroll:he},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(i,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...se(i,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=D.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,Xt)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},Y)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{..._(i,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const g=+t[0].target.dataset.page;this.setActivePage(g,!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 a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&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 verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},Y)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Jt=["data-page"];function Qt(e,t,a,g,l,o){const s=u("BookPage"),h=u("ScaleForScroll");return c(),p(h,null,{default:d(()=>[T((c(),p(lt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:d(({item:m})=>[n(s,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),T(r("div",{class:R(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,Jt),[[we,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ve,o.onScroll,"#verticalScroll"]])]),_:1})}const X=k(Zt,[["render",Qt],["__scopeId","data-v-17871eb8"]]),Z=ee(te(()=>"@/components/reader/pager/pager-full-pdf.vue")),eo={name:"PagerSelector",components:{PagerHorizontal:j,PagerPDF:Z,PagerVertical:X},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...f(i,["isVertical","cacheBook"]),...P(i,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?Z:this.isVertical?X:j}},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:{..._(i,["getSettings","setActivePage","prefetchBook"])}};function to(e,t,a,g,l,o){return c(),p(oe(o.component),{book:a.book},null,8,["book"])}const oo=k(eo,[["render",to]]),ao={name:"BooksWindow",components:{BookChangeActivator:St,Pager:oo},computed:{...f(i,["isBTT"]),...P(i,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{..._(i,["setBookChangeFlag","loadBooks","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function so(e,t,a,g,l,o){const s=u("BookChangeActivator"),h=u("Pager");return c(),p(ce,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:d(()=>[n(s,{direction:"prev"})]),next:d(()=>[n(s,{direction:"next"})]),default:d(()=>[(c(!0),v(B,null,N(e.books,m=>(c(),p(le,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:d(()=>[n(h,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ro=k(ao,[["render",so],["__scopeId","data-v-aeb79f89"]]),no={name:"DownloadPanel",components:{DrawerItem:Se},data(){return{mdiDownload:ye,mdiFileImage:Ce}},computed:{...f(i,["activeTitle","routeParams"]),...P(i,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Je(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Qe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{..._(W,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},io={key:0,id:"downloadPanel"};function lo(e,t,a,g,l,o){const s=u("DrawerItem");return e.currentBook?(c(),v("div",io,[n(s,{"prepend-icon":l.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),n(s,{"prepend-icon":l.mdiDownload,title:"Download Book",onClick:o.downloadBook},null,8,["prepend-icon","onClick"])])):S("",!0)}const co=k(no,[["render",lo],["__scopeId","data-v-e4f5bb93"]]),uo={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:Re,mdiMenuRight:Be,mdiKeyboardOutline:Te,mdiKeyboardSpace:De,mdiAppleKeyboardShift:Ie}},computed:{...f(W,["isMobile"])}},y=e=>(Le("data-v-a8b4ac47"),e=e(),Ve(),e),ho=y(()=>r("h4",null,"Navigation",-1)),po={class:"highlight-table"},go=y(()=>r("td",null,"Previous page",-1)),mo=y(()=>r("td",null,"Next page",-1)),ko=y(()=>r("tr",null,[r("td",null,","),r("td",null,[b("Next "),r("em",null,"only"),b(" one page in two page mode.")])],-1)),bo=y(()=>r("tr",null,[r("td",null,"."),r("td",null,[b("Previous "),r("em",null,"only"),b(" one page in two page mode.")])],-1)),_o=y(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),fo=y(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),Po=y(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),vo=y(()=>r("h4",null,"Fit Page To",-1)),wo=y(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),So=y(()=>r("h4",null,"Other",-1)),yo=y(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Co(e,t,a,g,l,o){return e.isMobile?S("",!0):(c(),p(ht,{key:0},{default:d(()=>[n(ct,{id:"readerKeyboardShortcuts"},{default:d(()=>[n(dt,{id:"shortcutsTitle"},{default:d(()=>[n(C,{id:"keyboardIcon"},{default:d(()=>[b(w(l.mdiKeyboardOutline),1)]),_:1}),b("Keyboard Shortcuts ")]),_:1}),n(ut,null,{default:d(()=>[ho,r("table",po,[r("tbody",null,[r("tr",null,[r("td",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiMenuLeft),1)]),_:1}),b(", j, "),r("div",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiAppleKeyboardShift),1)]),_:1}),n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiKeyboardSpace),1)]),_:1})])]),go]),r("tr",null,[r("td",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiMenuRight),1)]),_:1}),b(", k, "),n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiKeyboardSpace),1)]),_:1})]),mo]),ko,bo,_o,fo,Po])]),vo,wo,So,yo]),_:1})]),_:1})]),_:1}))}const Ro=k(uo,[["render",Co],["__scopeId","data-v-a8b4ac47"]]),pe=["fitTo","readingDirection","twoPages"];Object.freeze(pe);const Bo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:$e,openDelay:2e3}},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["isVertical","isPDF","cacheBook"]),...P(i,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const g of pe){const l=(a=e.books)==null?void 0:a.current.settings[g];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t,a;return(t=e.books)!=null&&t.current?Oe((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...se(i,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(i,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;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"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},To={id:"readerScopedSettings",class:"readerDrawerItem"},Do=["href"];function Io(e,t,a,g,l,o){return c(),v(B,null,[n(U,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),class:"scopeRadioButton readerDrawerItem",density:"compact",label:"Scope","hide-details":"auto"},{default:d(()=>[n(L,{label:"Only this comic",value:!1}),n(L,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(Ne,null,{default:d(()=>[r("div",To,[n(U,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:d(()=>[(c(!0),v(B,null,N(o.fitToChoices,s=>(c(),p(L,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(V,{disabled:o.disableTwoPages,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=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(U,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:d(()=>[(c(!0),v(B,null,N(o.readingDirectionChoices,s=>(c(),p(L,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l.isGlobalScope?S("",!0):T((c(),p(re,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:d(()=>[b(" Clear Settings ")]),_:1},8,["disabled","onClick"])),[[H,{openDelay:l.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),n(M),n(V,{class:"readerDrawerItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),n(V,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerDrawerItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),T(n(V,{"model-value":e.cacheBook,class:"readerDrawerItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[H,{openDelay:l.openDelay,text:"Cache all pages from this book in the browser"}]]),e.isPDF?(c(),v("a",{key:0,id:"readPDFInBrowser",class:"readerDrawerItem",href:e.bookInBrowserURL,target:"_blank"},[n(C,null,{default:d(()=>[b(w(l.mdiOpenInNew),1)]),_:1}),b("Read PDF in Browser ")],8,Do)):S("",!0)],64)}const Lo=k(Bo,[["render",Io],["__scopeId","data-v-3e689883"]]),Vo={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:co,ReaderKeyboardShortcutsPanel:Ro,ReaderSettingsPanel:Lo}};function $o(e,t,a,g,l,o){const s=u("ReaderSettingsPanel"),h=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return c(),v(B,null,[n(s),n(M),n(h),n(M),n(m)],64)}const Oo=k(Vo,[["render",$o]]),No={name:"ReaderSettingsDrawer",components:{SettingsDrawer:tt,ReaderSettingsSuperPanel:Oo}};function Ao(e,t,a,g,l,o){const s=u("ReaderSettingsSuperPanel"),h=u("SettingsDrawer");return c(),p(h,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:d(()=>[n(s)]),_:1})}const Eo=k(No,[["render",Ao]]),J={a:xe,f:Ue,p:Fe,i:ze,s:Me,v:We},xo={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Uo={name:"ReaderArcSelect",components:{ToolbarSelect:pt},data(){return{mdiFilterOutline:Ae}},computed:{...P(i,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const g={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:xo[a.group],prependIcon:J[a.group]};t.push(g)}return t}})},methods:{..._(i,["loadBooks"]),arcIcon(e){return J[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?Ee:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Fo={id:"arcPos"};function zo(e,t,a,g,l,o){const s=u("ToolbarSelect");return c(),p(s,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:d(({item:h,props:m})=>[n(He,z(m,{density:"compact",variant:"plain","prepend-icon":h.raw.prependIcon,subtitle:o.subtitle(h.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:d(({item:h,props:m})=>[n(C,z({size:"large"},m,{class:"arcSelectIcon"}),{default:d(()=>[b(w(o.arcIcon(h.raw.group)),1)]),_:2},1040),r("span",Fo,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Mo=k(Uo,[["render",zo],["__scopeId","data-v-62bf79bd"]]),Wo={name:"ReaderTitleToolbar",components:{MetadataDialog:gt,ReaderArcSelect:Mo,SettingsDrawerButton:ot},data(){return{mdiClose:qe,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["activeTitle","closeBookRoute"]),...P(i,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=D.cloneDeep(this.closeBookRoute),t=D.cloneDeep(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(W,["setTimestamp"]),..._(i,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Ho={id:"title"},qo={key:0,id:"subtitle"};function Ko(e,t,a,g,l,o){const s=u("ReaderArcSelect"),h=u("MetadataDialog"),m=u("SettingsDrawerButton");return c(),p(Ge,null,{default:d(()=>[T(n(st,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Ke({default:d(()=>[n(F,null,{default:d(()=>[n(re,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:d(()=>[b(" close book ")]),_:1},8,["to","onClick"])]),_:1}),n(mt),e.empty?S("",!0):(c(),p(F,{key:0},{default:d(()=>[n(s),n(h,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),n(F,null,{default:d(()=>[n(m)]),_:1})]),_:2},[o.title?{name:"extension",fn:d(()=>[n(at,{class:"readerTitle"},{default:d(()=>[r("div",Ho,w(o.title),1),e.subtitle?(c(),v("div",qo,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"]),[[ne,e.showToolbars]])]),_:1})}const ge=k(Wo,[["render",Ko],["__scopeId","data-v-c6e3ba36"]]),Go={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:ge,EmptyState:ie},data(){return{mdiBookRemoveOutline:je}},methods:{..._(i,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function jo(e,t,a,g,l,o){const s=u("ReaderTopToolbar"),h=u("EmptyState");return c(),v(B,null,[n(s),n(h,{headline:"Book Not Found",title:"Close the reader and find another book",icon:l.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Yo=k(Go,[["render",jo]]),Xo={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:de},props:{direction:{type:String,required:!0}},computed:{...f(i,["isBTT"]),...P(i,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:D.cloneDeep(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{..._(i,["bookChangeIcon"])}};function Zo(e,t,a,g,l,o){const s=u("PaginationNavButton");return e.toRoute?(c(),p(s,{key:0,class:R(o.classes),icon:"",variant:"plain",title:o.title,to:e.toRoute},{default:d(()=>[n(C,null,{default:d(()=>[b(w(o.icon),1)]),_:1})]),_:1},8,["class","title","to"])):S("",!0)}const Jo=k(Xo,[["render",Zo],["__scopeId","data-v-7c12a0eb"]]),Qo={name:"ReaderNavButton",components:{PaginationNavButton:de},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...f(i,["isVertical"]),...P(i,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{..._(i,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ea(e,t,a,g,l,o){const s=u("PaginationNavButton");return c(),p(s,{key:e.isVertical,disabled:o.disabled,class:R(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:d(()=>[b(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const ta=k(Qo,[["render",ea],["__scopeId","data-v-530fba8c"]]),$="prev",O="next",oa={name:"ReaderNavToolbar",components:{PaginationSlider:kt,ReaderNavButton:ta,PaginationToolbar:bt,ReaderBookChangeNavButton:Jo},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["activeSettings","isReadInReverse","isVertical"]),...P(i,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.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:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(i,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection($);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection($);break;case",":this.routeToDirectionOne($);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook($);break}}}};function aa(e,t,a,g,l,o){const s=u("ReaderBookChangeNavButton"),h=u("ReaderNavButton"),m=u("PaginationSlider"),A=u("PaginationToolbar");return c(),p(Ye,null,{default:d(()=>[e.maxPage?T((c(),p(A,{key:0,id:"readerToolbarNav"},{default:d(()=>[n(s,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),n(h,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(c(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=E=>o.onSliderUpdate(E))},null,8,["model-value","max","step","track-color","reverse"])),n(h,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ne,e.showToolbars]]):S("",!0)]),_:1})}const sa=k(oa,[["render",aa],["__scopeId","data-v-20fc0313"]]),ra={name:"MainReader",components:{BooksWindow:ro,ReaderEmpty:Yo,ReaderNavToolbar:sa,ReaderTopToolbar:ge,ReaderSettingsDrawer:Eo,Unauthorized:nt},data(){return{showToolbars:!1}},computed:{...f(I,["isAuthorized"]),...P(I,{user:e=>e.user}),...P(i,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{..._(i,["loadReaderSettings","reset"])}},na={key:0},ia={id:"readerContainer"};function la(e,t,a,g,l,o){const s=u("ReaderTopToolbar"),h=u("BooksWindow"),m=u("ReaderNavToolbar"),A=u("ReaderEmpty"),E=u("ReaderSettingsDrawer"),me=u("Unauthorized");return e.isAuthorized?(c(),p(it,{key:0,id:"readerWrapper"},{default:d(()=>[e.empty?(c(),p(A,{key:1})):(c(),v("div",na,[r("div",ia,[n(s),n(h),n(m)])])),n(E)]),_:1})):(c(),p(me,{key:1}))}const Ra=k(ra,[["render",la],["__scopeId","data-v-4f31abfa"]]);export{Ra as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-BLxZLD38.js","assets/admin-drawer-panel-CnAnGx7w.js","assets/admin-drawer-panel-mne3FIj6.css","assets/main-BJiV8IG3.js","assets/main-Ztp855PW.css","assets/pdf-doc-CMzaSV_K.css"])))=>i.map(i=>d[i]);
2
+ import{ap as f,W as P,X as _,_ as k,Z as u,$ as c,Y as p,a0 as d,T as n,aR as C,al as b,aJ as w,am as R,aL as S,aH as v,aZ as Q,V as B,bD as ke,bE as be,au as z,bF as ee,bG as te,aK as oe,bH as ae,bI as _e,b8 as fe,aV as T,bA as Pe,l as D,aI as N,bt as se,bJ as ve,aQ as r,b6 as we,an as Se,bK as ye,bL as Ce,E as W,bM as Re,bN as Be,bO as Te,bP as De,bQ as Ie,aS as Le,aT as Ve,aO as $e,q as I,bR as Oe,at as re,aW as H,bS as Ne,aX as M,bT as Ae,bU as Ee,bV as xe,bk as Ue,bl as Fe,bm as ze,ao as Me,bW as We,a_ as He,bX as qe,bY as ne,bn as Ke,bq as Ge,bZ as je,b_ as Ye}from"./admin-drawer-panel-CnAnGx7w.js";import{b as i,c as Xe,_ as Ze,S as x,d as Je,e as Qe}from"./main-BJiV8IG3.js";import{d as et,b as tt,S as ot,V as at,a as st}from"./settings-drawer-XH4sNDNT.js";import{P as rt,E as ie,U as nt,V as it}from"./unauthorized-BF45der6.js";import{b as le,V as ce}from"./VWindowItem-BVIaHO-S.js";import{a as lt}from"./VSelect-FYWbH55D.js";import{V as ct,a as dt,b as ut,c as ht}from"./VExpansionPanels-CurqcyFg.js";import{V as L,a as U}from"./VRadioGroup-B7n5ReZ-.js";import{V}from"./VCheckbox-DtXDauZz.js";import{T as pt,M as gt,V as F,a as mt,P as de,b as kt,c as bt}from"./pagination-toolbar-i2VoXaGH.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDialog-DUdNpXLj.js";import"./change-password-dialog-Du1bwEt1.js";import"./VTextField-DEiVah7O.js";import"./VSelectionControl-CUlT3cc_.js";import"./VCheckboxBtn-B-iT1MnG.js";import"./VSlideGroup-CRJazQeR.js";const _t={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...f(i,["isBTT"]),...P(i,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{..._(i,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function ft(e,t,a,g,l,o){const s=u("router-link");return o.show?(c(),p(et,{key:0,class:R(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:d(()=>[n(s,{class:R({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},{default:d(()=>[n(C,{class:"bookChangeIcon"},{default:d(()=>[b(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Pt=k(_t,[["render",ft],["__scopeId","data-v-03e41a14"]]),vt={name:"BookChangeActivator",components:{BookChangeDrawer:Pt},props:{direction:{type:String,required:!0}},computed:{computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)},show(){return this.bookChangeShow(this.computedDirection)}},methods:{..._(i,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function wt(e,t,a,g,l,o){const s=u("BookChangeDrawer");return c(),v(B,null,[o.show?(c(),v("div",{key:0,class:R(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=Q(h=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),n(s,{direction:a.direction},null,8,["direction"])],64)}const St=k(vt,[["render",wt],["__scopeId","data-v-db3eb561"]]),yt={name:"LoadingPage",components:{Placeholder:rt},props:{twoPages:{type:Boolean,required:!0}}};function Ct(e,t,a,g,l,o){const s=u("Placeholder");return c(),v("div",{class:R(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Rt=k(yt,[["render",Ct],["__scopeId","data-v-04027168"]]),q="unauthorized",Bt={name:"ErrorPage",components:{EmptyState:ie},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===q?"Protected page":"Failed to load page"},icon(){return this.type===q?ke:be}},methods:{onAction(e){this.$emit("retry",e)}}};function Tt(e,t,a,g,l,o){const s=u("EmptyState");return c(),p(s,{class:R(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Dt=k(Bt,[["render",Tt],["__scopeId","data-v-97fa48e8"]]),It={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(i,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{..._(i,["fitToClass"])}},Lt=["src"];function Vt(e,t,a,g,l,o){return c(),v("img",z({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Lt)}const K=k(It,[["render",Vt],["__scopeId","data-v-559e2ecc"]]),G=ee(te(()=>Ze(()=>import("./pdf-doc-BLxZLD38.js"),__vite__mapDeps([0,1,2,3,4,5])))),$t=333,Ot={name:"BookPage",components:{ErrorPage:Dt,LoadingPage:Rt,PDFDoc:G,ImgPage:K},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...f(i,["isVertical"]),...P(i,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Xe(t)},component(){return this.book.fileType==="PDF"?G:K},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},$t)},methods:{..._(i,["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},onRetry(){this.ts=Date.now()}}},Nt=["id","data-page"];function At(e,t,a,g,l,o){const s=u("ErrorPage"),h=u("LoadingPage");return c(),v("div",{id:`page${a.page}`,key:l.ts,"data-page":a.page,class:"page",style:ae(o.style)},[l.error?(c(),p(s,{key:0,"two-pages":o.settings.twoPages,type:l.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):l.showProgress&&!l.loaded?(c(),p(h,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(c(),p(oe(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Nt)}const ue=k(Ot,[["render",At],["__scopeId","data-v-d40b3ab1"]]),Et=.5,xt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:_e}},computed:{...P(i,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=x},style(){return{cursor:this.scale==x?"zoom-in":"all-scroll"}}},methods:{..._(i,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Et;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:x})}}};function Ut(e,t,a,g,l,o){const s=fe("drag-scroller");return T((c(),v("div",{class:"scaleForScroll",style:ae(o.style),onDblclick:t[0]||(t[0]=(...h)=>o.onDoubleClick&&o.onDoubleClick(...h))},[Pe(e.$slots,"default",{},void 0,!0),o.showReset?(c(),p(C,{key:0,class:"resetIcon",onClick:Q(o.scaleReset,["stop"])},{default:d(()=>[b(w(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const he=k(xt,[["render",Ut],["__scopeId","data-v-a222c504"]]),Ft={name:"HorizontalPages",components:{BookPage:ue,ScaleForScroll:he},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...f(i,["isCoverPage","isReadInReverse"]),showSecondPage(){return this.getSettings(this.book).twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{..._(i,["getSettings"])}};function zt(e,t,a,g,l,o){const s=u("BookPage"),h=u("ScaleForScroll");return c(),p(h,{class:"noWrap"},{default:d(()=>[o.showPageOne?(c(),p(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(c(),p(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const Mt=k(Ft,[["render",zt],["__scopeId","data-v-9a560964"]]),Wt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...f(i,["isVertical","isFirstPage","isLastPage"]),...P(i,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){let e="pageChange";return e+=this.isVertical?"Row":"Column",e},directionClass(){let e=this.direction;return this.isVertical&&(e+="Vertical"),e},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{..._(i,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Ht(e,t,a,g,l,o){const s=u("router-link");return o.show?(c(),p(s,{key:0,to:o.route,"aria-label":o.label,class:R({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const qt=k(Wt,[["render",Ht],["__scopeId","data-v-9ade7d96"]]),Kt=48,Gt=48,jt={name:"PagerHorizontal",components:{HorizontalPages:Mt,PageChangeLink:qt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...f(i,["isReadInReverse"]),...P(i,{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}),twoPages(){return this.getSettings(this.book).twoPages},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),a=this.pages.at(-1);(e<t||e>a)&&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:{..._(i,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Kt,0),t=Math.min(this.activePage+Gt,this.book.maxPage);this.pages=D.range(e,t+1)}}};function Yt(e,t,a,g,l,o){const s=u("PageChangeLink"),h=u("HorizontalPages");return c(),p(ce,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:d(()=>[n(s,{direction:"prev"})]),next:d(()=>[n(s,{direction:"next"})]),default:d(()=>[(c(!0),v(B,null,N(l.pages,m=>(c(),p(le,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:d(()=>[n(h,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const j=k(jt,[["render",Yt],["__scopeId","data-v-50107c37"]]),Xt=12,Y=250,Zt={name:"PagerVertical",components:{BookPage:ue,ScaleForScroll:he},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(i,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...se(i,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=D.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,Xt)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},Y)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{..._(i,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const g=+t[0].target.dataset.page;this.setActivePage(g,!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 a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&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 verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},Y)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Jt=["data-page"];function Qt(e,t,a,g,l,o){const s=u("BookPage"),h=u("ScaleForScroll");return c(),p(h,null,{default:d(()=>[T((c(),p(lt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:d(({item:m})=>[n(s,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),T(r("div",{class:R(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,Jt),[[we,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ve,o.onScroll,"#verticalScroll"]])]),_:1})}const X=k(Zt,[["render",Qt],["__scopeId","data-v-17871eb8"]]),Z=ee(te(()=>"@/components/reader/pager/pager-full-pdf.vue")),eo={name:"PagerSelector",components:{PagerHorizontal:j,PagerPDF:Z,PagerVertical:X},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...f(i,["isVertical","cacheBook"]),...P(i,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?Z:this.isVertical?X:j}},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:{..._(i,["getSettings","setActivePage","prefetchBook"])}};function to(e,t,a,g,l,o){return c(),p(oe(o.component),{book:a.book},null,8,["book"])}const oo=k(eo,[["render",to]]),ao={name:"BooksWindow",components:{BookChangeActivator:St,Pager:oo},computed:{...f(i,["isBTT"]),...P(i,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{..._(i,["setBookChangeFlag","loadBooks","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function so(e,t,a,g,l,o){const s=u("BookChangeActivator"),h=u("Pager");return c(),p(ce,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:d(()=>[n(s,{direction:"prev"})]),next:d(()=>[n(s,{direction:"next"})]),default:d(()=>[(c(!0),v(B,null,N(e.books,m=>(c(),p(le,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:d(()=>[n(h,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ro=k(ao,[["render",so],["__scopeId","data-v-aeb79f89"]]),no={name:"DownloadPanel",components:{DrawerItem:Se},data(){return{mdiDownload:ye,mdiFileImage:Ce}},computed:{...f(i,["activeTitle","routeParams"]),...P(i,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Je(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Qe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{..._(W,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},io={key:0,id:"downloadPanel"};function lo(e,t,a,g,l,o){const s=u("DrawerItem");return e.currentBook?(c(),v("div",io,[n(s,{"prepend-icon":l.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),n(s,{"prepend-icon":l.mdiDownload,title:"Download Book",onClick:o.downloadBook},null,8,["prepend-icon","onClick"])])):S("",!0)}const co=k(no,[["render",lo],["__scopeId","data-v-e4f5bb93"]]),uo={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:Re,mdiMenuRight:Be,mdiKeyboardOutline:Te,mdiKeyboardSpace:De,mdiAppleKeyboardShift:Ie}},computed:{...f(W,["isMobile"])}},y=e=>(Le("data-v-a8b4ac47"),e=e(),Ve(),e),ho=y(()=>r("h4",null,"Navigation",-1)),po={class:"highlight-table"},go=y(()=>r("td",null,"Previous page",-1)),mo=y(()=>r("td",null,"Next page",-1)),ko=y(()=>r("tr",null,[r("td",null,","),r("td",null,[b("Next "),r("em",null,"only"),b(" one page in two page mode.")])],-1)),bo=y(()=>r("tr",null,[r("td",null,"."),r("td",null,[b("Previous "),r("em",null,"only"),b(" one page in two page mode.")])],-1)),_o=y(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),fo=y(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),Po=y(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),vo=y(()=>r("h4",null,"Fit Page To",-1)),wo=y(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),So=y(()=>r("h4",null,"Other",-1)),yo=y(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Co(e,t,a,g,l,o){return e.isMobile?S("",!0):(c(),p(ht,{key:0},{default:d(()=>[n(ct,{id:"readerKeyboardShortcuts"},{default:d(()=>[n(dt,{id:"shortcutsTitle"},{default:d(()=>[n(C,{id:"keyboardIcon"},{default:d(()=>[b(w(l.mdiKeyboardOutline),1)]),_:1}),b("Keyboard Shortcuts ")]),_:1}),n(ut,null,{default:d(()=>[ho,r("table",po,[r("tbody",null,[r("tr",null,[r("td",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiMenuLeft),1)]),_:1}),b(", j, "),r("div",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiAppleKeyboardShift),1)]),_:1}),n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiKeyboardSpace),1)]),_:1})])]),go]),r("tr",null,[r("td",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiMenuRight),1)]),_:1}),b(", k, "),n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiKeyboardSpace),1)]),_:1})]),mo]),ko,bo,_o,fo,Po])]),vo,wo,So,yo]),_:1})]),_:1})]),_:1}))}const Ro=k(uo,[["render",Co],["__scopeId","data-v-a8b4ac47"]]),pe=["fitTo","readingDirection","twoPages"];Object.freeze(pe);const Bo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:$e,openDelay:2e3}},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["isVertical","isPDF","cacheBook"]),...P(i,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const g of pe){const l=(a=e.books)==null?void 0:a.current.settings[g];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t,a;return(t=e.books)!=null&&t.current?Oe((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...se(i,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(i,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;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"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},To={id:"readerScopedSettings",class:"readerDrawerItem"},Do=["href"];function Io(e,t,a,g,l,o){return c(),v(B,null,[n(U,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),class:"scopeRadioButton readerDrawerItem",density:"compact",label:"Scope","hide-details":"auto"},{default:d(()=>[n(L,{label:"Only this comic",value:!1}),n(L,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(Ne,null,{default:d(()=>[r("div",To,[n(U,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:d(()=>[(c(!0),v(B,null,N(o.fitToChoices,s=>(c(),p(L,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(V,{disabled:o.disableTwoPages,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=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(U,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:d(()=>[(c(!0),v(B,null,N(o.readingDirectionChoices,s=>(c(),p(L,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l.isGlobalScope?S("",!0):T((c(),p(re,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:d(()=>[b(" Clear Settings ")]),_:1},8,["disabled","onClick"])),[[H,{openDelay:l.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),n(M),n(V,{class:"readerDrawerItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),n(V,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerDrawerItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),T(n(V,{"model-value":e.cacheBook,class:"readerDrawerItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[H,{openDelay:l.openDelay,text:"Cache all pages from this book in the browser"}]]),e.isPDF?(c(),v("a",{key:0,id:"readPDFInBrowser",class:"readerDrawerItem",href:e.bookInBrowserURL,target:"_blank"},[n(C,null,{default:d(()=>[b(w(l.mdiOpenInNew),1)]),_:1}),b("Read PDF in Browser ")],8,Do)):S("",!0)],64)}const Lo=k(Bo,[["render",Io],["__scopeId","data-v-3e689883"]]),Vo={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:co,ReaderKeyboardShortcutsPanel:Ro,ReaderSettingsPanel:Lo}};function $o(e,t,a,g,l,o){const s=u("ReaderSettingsPanel"),h=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return c(),v(B,null,[n(s),n(M),n(h),n(M),n(m)],64)}const Oo=k(Vo,[["render",$o]]),No={name:"ReaderSettingsDrawer",components:{SettingsDrawer:tt,ReaderSettingsSuperPanel:Oo}};function Ao(e,t,a,g,l,o){const s=u("ReaderSettingsSuperPanel"),h=u("SettingsDrawer");return c(),p(h,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:d(()=>[n(s)]),_:1})}const Eo=k(No,[["render",Ao]]),J={a:xe,f:Ue,p:Fe,i:ze,s:Me,v:We},xo={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Uo={name:"ReaderArcSelect",components:{ToolbarSelect:pt},data(){return{mdiFilterOutline:Ae}},computed:{...P(i,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const g={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:xo[a.group],prependIcon:J[a.group]};t.push(g)}return t}})},methods:{..._(i,["loadBooks"]),arcIcon(e){return J[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?Ee:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Fo={id:"arcPos"};function zo(e,t,a,g,l,o){const s=u("ToolbarSelect");return c(),p(s,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:d(({item:h,props:m})=>[n(He,z(m,{density:"compact",variant:"plain","prepend-icon":h.raw.prependIcon,subtitle:o.subtitle(h.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:d(({item:h,props:m})=>[n(C,z({size:"large"},m,{class:"arcSelectIcon"}),{default:d(()=>[b(w(o.arcIcon(h.raw.group)),1)]),_:2},1040),r("span",Fo,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Mo=k(Uo,[["render",zo],["__scopeId","data-v-62bf79bd"]]),Wo={name:"ReaderTitleToolbar",components:{MetadataDialog:gt,ReaderArcSelect:Mo,SettingsDrawerButton:ot},data(){return{mdiClose:qe,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["activeTitle","closeBookRoute"]),...P(i,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=D.cloneDeep(this.closeBookRoute),t=D.cloneDeep(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(W,["setTimestamp"]),..._(i,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Ho={id:"title"},qo={key:0,id:"subtitle"};function Ko(e,t,a,g,l,o){const s=u("ReaderArcSelect"),h=u("MetadataDialog"),m=u("SettingsDrawerButton");return c(),p(Ge,null,{default:d(()=>[T(n(st,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Ke({default:d(()=>[n(F,null,{default:d(()=>[n(re,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:d(()=>[b(" close book ")]),_:1},8,["to","onClick"])]),_:1}),n(mt),e.empty?S("",!0):(c(),p(F,{key:0},{default:d(()=>[n(s),n(h,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),n(F,null,{default:d(()=>[n(m)]),_:1})]),_:2},[o.title?{name:"extension",fn:d(()=>[n(at,{class:"readerTitle"},{default:d(()=>[r("div",Ho,w(o.title),1),e.subtitle?(c(),v("div",qo,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"]),[[ne,e.showToolbars]])]),_:1})}const ge=k(Wo,[["render",Ko],["__scopeId","data-v-c6e3ba36"]]),Go={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:ge,EmptyState:ie},data(){return{mdiBookRemoveOutline:je}},methods:{..._(i,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function jo(e,t,a,g,l,o){const s=u("ReaderTopToolbar"),h=u("EmptyState");return c(),v(B,null,[n(s),n(h,{headline:"Book Not Found",title:"Close the reader and find another book",icon:l.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Yo=k(Go,[["render",jo]]),Xo={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:de},props:{direction:{type:String,required:!0}},computed:{...f(i,["isBTT"]),...P(i,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:D.cloneDeep(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{..._(i,["bookChangeIcon"])}};function Zo(e,t,a,g,l,o){const s=u("PaginationNavButton");return e.toRoute?(c(),p(s,{key:0,class:R(o.classes),icon:"",variant:"plain",title:o.title,to:e.toRoute},{default:d(()=>[n(C,null,{default:d(()=>[b(w(o.icon),1)]),_:1})]),_:1},8,["class","title","to"])):S("",!0)}const Jo=k(Xo,[["render",Zo],["__scopeId","data-v-7c12a0eb"]]),Qo={name:"ReaderNavButton",components:{PaginationNavButton:de},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...f(i,["isVertical"]),...P(i,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{..._(i,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ea(e,t,a,g,l,o){const s=u("PaginationNavButton");return c(),p(s,{key:e.isVertical,disabled:o.disabled,class:R(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:d(()=>[b(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const ta=k(Qo,[["render",ea],["__scopeId","data-v-530fba8c"]]),$="prev",O="next",oa={name:"ReaderNavToolbar",components:{PaginationSlider:kt,ReaderNavButton:ta,PaginationToolbar:bt,ReaderBookChangeNavButton:Jo},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["activeSettings","isReadInReverse","isVertical"]),...P(i,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.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:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(i,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection($);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection($);break;case",":this.routeToDirectionOne($);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook($);break}}}};function aa(e,t,a,g,l,o){const s=u("ReaderBookChangeNavButton"),h=u("ReaderNavButton"),m=u("PaginationSlider"),A=u("PaginationToolbar");return c(),p(Ye,null,{default:d(()=>[e.maxPage?T((c(),p(A,{key:0,id:"readerToolbarNav"},{default:d(()=>[n(s,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),n(h,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(c(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=E=>o.onSliderUpdate(E))},null,8,["model-value","max","step","track-color","reverse"])),n(h,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ne,e.showToolbars]]):S("",!0)]),_:1})}const sa=k(oa,[["render",aa],["__scopeId","data-v-20fc0313"]]),ra={name:"MainReader",components:{BooksWindow:ro,ReaderEmpty:Yo,ReaderNavToolbar:sa,ReaderTopToolbar:ge,ReaderSettingsDrawer:Eo,Unauthorized:nt},data(){return{showToolbars:!1}},computed:{...f(I,["isAuthorized"]),...P(I,{user:e=>e.user}),...P(i,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{..._(i,["loadReaderSettings","reset"])}},na={key:0},ia={id:"readerContainer"};function la(e,t,a,g,l,o){const s=u("ReaderTopToolbar"),h=u("BooksWindow"),m=u("ReaderNavToolbar"),A=u("ReaderEmpty"),E=u("ReaderSettingsDrawer"),me=u("Unauthorized");return e.isAuthorized?(c(),p(it,{key:0,id:"readerWrapper"},{default:d(()=>[e.empty?(c(),p(A,{key:1})):(c(),v("div",na,[r("div",ia,[n(s),n(h),n(m)])])),n(E)]),_:1})):(c(),p(me,{key:1}))}const Ra=k(ra,[["render",la],["__scopeId","data-v-4f31abfa"]]);export{Ra as default};
@@ -1,2 +1,2 @@
1
- const __vite__fileDeps=["assets/pdf-doc-iF15lKRp.js","assets/admin-drawer-panel-c3f3H29x.js","assets/admin-drawer-panel-mne3FIj6.css","assets/main-B3MfqYNN.js","assets/main-Ztp855PW.css","assets/pdf-doc-CMzaSV_K.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);
2
- import{ap as f,W as P,X as _,_ as k,Z as u,$ as c,Y as p,a0 as d,T as n,aR as C,al as b,aJ as w,am as R,aL as S,aH as v,aZ as Q,V as B,bD as ke,bE as be,au as z,bF as ee,bG as te,aK as oe,bH as ae,bI as _e,b8 as fe,aV as T,bA as Pe,l as D,aI as N,bt as se,bJ as ve,aQ as r,b6 as we,an as Se,bK as ye,bL as Ce,E as W,bM as Re,bN as Be,bO as Te,bP as De,bQ as Ie,aS as Le,aT as Ve,aO as $e,q as I,bR as Oe,at as re,aW as H,bS as Ne,aX as M,bT as Ae,bU as Ee,bV as xe,bk as Ue,bl as Fe,bm as ze,ao as Me,bW as We,a_ as He,bX as qe,bY as ne,bn as Ke,bq as Ge,bZ as je,b_ as Ye}from"./admin-drawer-panel-c3f3H29x.js";import{b as i,c as Xe,_ as Ze,S as x,d as Je,e as Qe}from"./main-B3MfqYNN.js";import{d as et,b as tt,S as ot,V as at,a as st}from"./settings-drawer-rn3JdMxA.js";import{P as rt,E as ie,U as nt,V as it}from"./unauthorized-CllrtnFV.js";import{b as le,V as ce}from"./VWindowItem-_YBMW1SU.js";import{a as lt}from"./VSelect-Dd5Zy8Uy.js";import{V as ct,a as dt,b as ut,c as ht}from"./VExpansionPanels-SZc735F5.js";import{V as L,a as U}from"./VRadioGroup-tFEuhFRq.js";import{V}from"./VCheckbox-CXQlndFT.js";import{T as pt,M as gt,V as F,a as mt,P as de,b as kt,c as bt}from"./pagination-toolbar-BD6nzIKF.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDialog-BB4zqrGw.js";import"./change-password-dialog-BbIO0YI5.js";import"./VTextField-fNAzFu1M.js";import"./VSelectionControl-DImIQPJV.js";import"./VCheckboxBtn-DB72Bclg.js";import"./VSlideGroup-CDaAHRAK.js";const _t={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...f(i,["isBTT"]),...P(i,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{..._(i,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function ft(e,t,a,g,l,o){const s=u("router-link");return o.show?(c(),p(et,{key:0,class:R(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:d(()=>[n(s,{class:R({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},{default:d(()=>[n(C,{class:"bookChangeIcon"},{default:d(()=>[b(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Pt=k(_t,[["render",ft],["__scopeId","data-v-03e41a14"]]),vt={name:"BookChangeActivator",components:{BookChangeDrawer:Pt},props:{direction:{type:String,required:!0}},computed:{computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)},show(){return this.bookChangeShow(this.computedDirection)}},methods:{..._(i,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function wt(e,t,a,g,l,o){const s=u("BookChangeDrawer");return c(),v(B,null,[o.show?(c(),v("div",{key:0,class:R(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=Q(h=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),n(s,{direction:a.direction},null,8,["direction"])],64)}const St=k(vt,[["render",wt],["__scopeId","data-v-db3eb561"]]),yt={name:"LoadingPage",components:{Placeholder:rt},props:{twoPages:{type:Boolean,required:!0}}};function Ct(e,t,a,g,l,o){const s=u("Placeholder");return c(),v("div",{class:R(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Rt=k(yt,[["render",Ct],["__scopeId","data-v-04027168"]]),q="unauthorized",Bt={name:"ErrorPage",components:{EmptyState:ie},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===q?"Protected page":"Failed to load page"},icon(){return this.type===q?ke:be}},methods:{onAction(e){this.$emit("retry",e)}}};function Tt(e,t,a,g,l,o){const s=u("EmptyState");return c(),p(s,{class:R(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Dt=k(Bt,[["render",Tt],["__scopeId","data-v-97fa48e8"]]),It={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(i,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{..._(i,["fitToClass"])}},Lt=["src"];function Vt(e,t,a,g,l,o){return c(),v("img",z({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Lt)}const K=k(It,[["render",Vt],["__scopeId","data-v-559e2ecc"]]),G=ee(te(()=>Ze(()=>import("./pdf-doc-iF15lKRp.js"),__vite__mapDeps([0,1,2,3,4,5])))),$t=333,Ot={name:"BookPage",components:{ErrorPage:Dt,LoadingPage:Rt,PDFDoc:G,ImgPage:K},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...f(i,["isVertical"]),...P(i,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Xe(t)},component(){return this.book.fileType==="PDF"?G:K},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},$t)},methods:{..._(i,["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},onRetry(){this.ts=Date.now()}}},Nt=["id","data-page"];function At(e,t,a,g,l,o){const s=u("ErrorPage"),h=u("LoadingPage");return c(),v("div",{id:`page${a.page}`,key:l.ts,"data-page":a.page,class:"page",style:ae(o.style)},[l.error?(c(),p(s,{key:0,"two-pages":o.settings.twoPages,type:l.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):l.showProgress&&!l.loaded?(c(),p(h,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(c(),p(oe(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Nt)}const ue=k(Ot,[["render",At],["__scopeId","data-v-d40b3ab1"]]),Et=.5,xt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:_e}},computed:{...P(i,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=x},style(){return{cursor:this.scale==x?"zoom-in":"all-scroll"}}},methods:{..._(i,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Et;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:x})}}};function Ut(e,t,a,g,l,o){const s=fe("drag-scroller");return T((c(),v("div",{class:"scaleForScroll",style:ae(o.style),onDblclick:t[0]||(t[0]=(...h)=>o.onDoubleClick&&o.onDoubleClick(...h))},[Pe(e.$slots,"default",{},void 0,!0),o.showReset?(c(),p(C,{key:0,class:"resetIcon",onClick:Q(o.scaleReset,["stop"])},{default:d(()=>[b(w(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const he=k(xt,[["render",Ut],["__scopeId","data-v-a222c504"]]),Ft={name:"HorizontalPages",components:{BookPage:ue,ScaleForScroll:he},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...f(i,["isCoverPage","isReadInReverse"]),showSecondPage(){return this.getSettings(this.book).twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{..._(i,["getSettings"])}};function zt(e,t,a,g,l,o){const s=u("BookPage"),h=u("ScaleForScroll");return c(),p(h,{class:"noWrap"},{default:d(()=>[o.showPageOne?(c(),p(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(c(),p(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const Mt=k(Ft,[["render",zt],["__scopeId","data-v-9a560964"]]),Wt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...f(i,["isVertical","isFirstPage","isLastPage"]),...P(i,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){let e="pageChange";return e+=this.isVertical?"Row":"Column",e},directionClass(){let e=this.direction;return this.isVertical&&(e+="Vertical"),e},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{..._(i,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Ht(e,t,a,g,l,o){const s=u("router-link");return o.show?(c(),p(s,{key:0,to:o.route,"aria-label":o.label,class:R({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const qt=k(Wt,[["render",Ht],["__scopeId","data-v-9ade7d96"]]),Kt=48,Gt=48,jt={name:"PagerHorizontal",components:{HorizontalPages:Mt,PageChangeLink:qt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...f(i,["isReadInReverse"]),...P(i,{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}),twoPages(){return this.getSettings(this.book).twoPages},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),a=this.pages.at(-1);(e<t||e>a)&&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:{..._(i,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Kt,0),t=Math.min(this.activePage+Gt,this.book.maxPage);this.pages=D.range(e,t+1)}}};function Yt(e,t,a,g,l,o){const s=u("PageChangeLink"),h=u("HorizontalPages");return c(),p(ce,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:d(()=>[n(s,{direction:"prev"})]),next:d(()=>[n(s,{direction:"next"})]),default:d(()=>[(c(!0),v(B,null,N(l.pages,m=>(c(),p(le,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:d(()=>[n(h,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const j=k(jt,[["render",Yt],["__scopeId","data-v-50107c37"]]),Xt=12,Y=250,Zt={name:"PagerVertical",components:{BookPage:ue,ScaleForScroll:he},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(i,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...se(i,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=D.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,Xt)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},Y)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{..._(i,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const g=+t[0].target.dataset.page;this.setActivePage(g,!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 a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&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 verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},Y)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Jt=["data-page"];function Qt(e,t,a,g,l,o){const s=u("BookPage"),h=u("ScaleForScroll");return c(),p(h,null,{default:d(()=>[T((c(),p(lt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:d(({item:m})=>[n(s,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),T(r("div",{class:R(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,Jt),[[we,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ve,o.onScroll,"#verticalScroll"]])]),_:1})}const X=k(Zt,[["render",Qt],["__scopeId","data-v-17871eb8"]]),Z=ee(te(()=>"@/components/reader/pager/pager-full-pdf.vue")),eo={name:"PagerSelector",components:{PagerHorizontal:j,PagerPDF:Z,PagerVertical:X},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...f(i,["isVertical","cacheBook"]),...P(i,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?Z:this.isVertical?X:j}},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:{..._(i,["getSettings","setActivePage","prefetchBook"])}};function to(e,t,a,g,l,o){return c(),p(oe(o.component),{book:a.book},null,8,["book"])}const oo=k(eo,[["render",to]]),ao={name:"BooksWindow",components:{BookChangeActivator:St,Pager:oo},computed:{...f(i,["isBTT"]),...P(i,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{..._(i,["setBookChangeFlag","loadBooks","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function so(e,t,a,g,l,o){const s=u("BookChangeActivator"),h=u("Pager");return c(),p(ce,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:d(()=>[n(s,{direction:"prev"})]),next:d(()=>[n(s,{direction:"next"})]),default:d(()=>[(c(!0),v(B,null,N(e.books,m=>(c(),p(le,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:d(()=>[n(h,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ro=k(ao,[["render",so],["__scopeId","data-v-aeb79f89"]]),no={name:"DownloadPanel",components:{DrawerItem:Se},data(){return{mdiDownload:ye,mdiFileImage:Ce}},computed:{...f(i,["activeTitle","routeParams"]),...P(i,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Je(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Qe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{..._(W,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},io={key:0,id:"downloadPanel"};function lo(e,t,a,g,l,o){const s=u("DrawerItem");return e.currentBook?(c(),v("div",io,[n(s,{"prepend-icon":l.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),n(s,{"prepend-icon":l.mdiDownload,title:"Download Book",onClick:o.downloadBook},null,8,["prepend-icon","onClick"])])):S("",!0)}const co=k(no,[["render",lo],["__scopeId","data-v-e4f5bb93"]]),uo={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:Re,mdiMenuRight:Be,mdiKeyboardOutline:Te,mdiKeyboardSpace:De,mdiAppleKeyboardShift:Ie}},computed:{...f(W,["isMobile"])}},y=e=>(Le("data-v-a8b4ac47"),e=e(),Ve(),e),ho=y(()=>r("h4",null,"Navigation",-1)),po={class:"highlight-table"},go=y(()=>r("td",null,"Previous page",-1)),mo=y(()=>r("td",null,"Next page",-1)),ko=y(()=>r("tr",null,[r("td",null,","),r("td",null,[b("Next "),r("em",null,"only"),b(" one page in two page mode.")])],-1)),bo=y(()=>r("tr",null,[r("td",null,"."),r("td",null,[b("Previous "),r("em",null,"only"),b(" one page in two page mode.")])],-1)),_o=y(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),fo=y(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),Po=y(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),vo=y(()=>r("h4",null,"Fit Page To",-1)),wo=y(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),So=y(()=>r("h4",null,"Other",-1)),yo=y(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Co(e,t,a,g,l,o){return e.isMobile?S("",!0):(c(),p(ht,{key:0},{default:d(()=>[n(ct,{id:"readerKeyboardShortcuts"},{default:d(()=>[n(dt,{id:"shortcutsTitle"},{default:d(()=>[n(C,{id:"keyboardIcon"},{default:d(()=>[b(w(l.mdiKeyboardOutline),1)]),_:1}),b("Keyboard Shortcuts ")]),_:1}),n(ut,null,{default:d(()=>[ho,r("table",po,[r("tbody",null,[r("tr",null,[r("td",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiMenuLeft),1)]),_:1}),b(", j, "),r("div",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiAppleKeyboardShift),1)]),_:1}),n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiKeyboardSpace),1)]),_:1})])]),go]),r("tr",null,[r("td",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiMenuRight),1)]),_:1}),b(", k, "),n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiKeyboardSpace),1)]),_:1})]),mo]),ko,bo,_o,fo,Po])]),vo,wo,So,yo]),_:1})]),_:1})]),_:1}))}const Ro=k(uo,[["render",Co],["__scopeId","data-v-a8b4ac47"]]),pe=["fitTo","readingDirection","twoPages"];Object.freeze(pe);const Bo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:$e,openDelay:2e3}},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["isVertical","isPDF","cacheBook"]),...P(i,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const g of pe){const l=(a=e.books)==null?void 0:a.current.settings[g];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t,a;return(t=e.books)!=null&&t.current?Oe((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...se(i,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(i,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;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"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},To={id:"readerScopedSettings",class:"readerDrawerItem"},Do=["href"];function Io(e,t,a,g,l,o){return c(),v(B,null,[n(U,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),class:"scopeRadioButton readerDrawerItem",density:"compact",label:"Scope","hide-details":"auto"},{default:d(()=>[n(L,{label:"Only this comic",value:!1}),n(L,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(Ne,null,{default:d(()=>[r("div",To,[n(U,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:d(()=>[(c(!0),v(B,null,N(o.fitToChoices,s=>(c(),p(L,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(V,{disabled:o.disableTwoPages,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=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(U,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:d(()=>[(c(!0),v(B,null,N(o.readingDirectionChoices,s=>(c(),p(L,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l.isGlobalScope?S("",!0):T((c(),p(re,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:d(()=>[b(" Clear Settings ")]),_:1},8,["disabled","onClick"])),[[H,{openDelay:l.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),n(M),n(V,{class:"readerDrawerItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),n(V,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerDrawerItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),T(n(V,{"model-value":e.cacheBook,class:"readerDrawerItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[H,{openDelay:l.openDelay,text:"Cache all pages from this book in the browser"}]]),e.isPDF?(c(),v("a",{key:0,id:"readPDFInBrowser",class:"readerDrawerItem",href:e.bookInBrowserURL,target:"_blank"},[n(C,null,{default:d(()=>[b(w(l.mdiOpenInNew),1)]),_:1}),b("Read PDF in Browser ")],8,Do)):S("",!0)],64)}const Lo=k(Bo,[["render",Io],["__scopeId","data-v-3e689883"]]),Vo={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:co,ReaderKeyboardShortcutsPanel:Ro,ReaderSettingsPanel:Lo}};function $o(e,t,a,g,l,o){const s=u("ReaderSettingsPanel"),h=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return c(),v(B,null,[n(s),n(M),n(h),n(M),n(m)],64)}const Oo=k(Vo,[["render",$o]]),No={name:"ReaderSettingsDrawer",components:{SettingsDrawer:tt,ReaderSettingsSuperPanel:Oo}};function Ao(e,t,a,g,l,o){const s=u("ReaderSettingsSuperPanel"),h=u("SettingsDrawer");return c(),p(h,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:d(()=>[n(s)]),_:1})}const Eo=k(No,[["render",Ao]]),J={a:xe,f:Ue,p:Fe,i:ze,s:Me,v:We},xo={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Uo={name:"ReaderArcSelect",components:{ToolbarSelect:pt},data(){return{mdiFilterOutline:Ae}},computed:{...P(i,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const g={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:xo[a.group],prependIcon:J[a.group]};t.push(g)}return t}})},methods:{..._(i,["loadBooks"]),arcIcon(e){return J[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?Ee:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Fo={id:"arcPos"};function zo(e,t,a,g,l,o){const s=u("ToolbarSelect");return c(),p(s,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:d(({item:h,props:m})=>[n(He,z(m,{density:"compact",variant:"plain","prepend-icon":h.raw.prependIcon,subtitle:o.subtitle(h.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:d(({item:h,props:m})=>[n(C,z({size:"large"},m,{class:"arcSelectIcon"}),{default:d(()=>[b(w(o.arcIcon(h.raw.group)),1)]),_:2},1040),r("span",Fo,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Mo=k(Uo,[["render",zo],["__scopeId","data-v-62bf79bd"]]),Wo={name:"ReaderTitleToolbar",components:{MetadataDialog:gt,ReaderArcSelect:Mo,SettingsDrawerButton:ot},data(){return{mdiClose:qe,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["activeTitle","closeBookRoute"]),...P(i,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=D.cloneDeep(this.closeBookRoute),t=D.cloneDeep(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(W,["setTimestamp"]),..._(i,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Ho={id:"title"},qo={key:0,id:"subtitle"};function Ko(e,t,a,g,l,o){const s=u("ReaderArcSelect"),h=u("MetadataDialog"),m=u("SettingsDrawerButton");return c(),p(Ge,null,{default:d(()=>[T(n(st,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Ke({default:d(()=>[n(F,null,{default:d(()=>[n(re,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:d(()=>[b(" close book ")]),_:1},8,["to","onClick"])]),_:1}),n(mt),e.empty?S("",!0):(c(),p(F,{key:0},{default:d(()=>[n(s),n(h,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),n(F,null,{default:d(()=>[n(m)]),_:1})]),_:2},[o.title?{name:"extension",fn:d(()=>[n(at,{class:"readerTitle"},{default:d(()=>[r("div",Ho,w(o.title),1),e.subtitle?(c(),v("div",qo,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"]),[[ne,e.showToolbars]])]),_:1})}const ge=k(Wo,[["render",Ko],["__scopeId","data-v-c6e3ba36"]]),Go={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:ge,EmptyState:ie},data(){return{mdiBookRemoveOutline:je}},methods:{..._(i,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function jo(e,t,a,g,l,o){const s=u("ReaderTopToolbar"),h=u("EmptyState");return c(),v(B,null,[n(s),n(h,{headline:"Book Not Found",title:"Close the reader and find another book",icon:l.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Yo=k(Go,[["render",jo]]),Xo={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:de},props:{direction:{type:String,required:!0}},computed:{...f(i,["isBTT"]),...P(i,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:D.cloneDeep(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{..._(i,["bookChangeIcon"])}};function Zo(e,t,a,g,l,o){const s=u("PaginationNavButton");return e.toRoute?(c(),p(s,{key:0,class:R(o.classes),icon:"",variant:"plain",title:o.title,to:e.toRoute},{default:d(()=>[n(C,null,{default:d(()=>[b(w(o.icon),1)]),_:1})]),_:1},8,["class","title","to"])):S("",!0)}const Jo=k(Xo,[["render",Zo],["__scopeId","data-v-7c12a0eb"]]),Qo={name:"ReaderNavButton",components:{PaginationNavButton:de},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...f(i,["isVertical"]),...P(i,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{..._(i,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ea(e,t,a,g,l,o){const s=u("PaginationNavButton");return c(),p(s,{key:e.isVertical,disabled:o.disabled,class:R(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:d(()=>[b(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const ta=k(Qo,[["render",ea],["__scopeId","data-v-530fba8c"]]),$="prev",O="next",oa={name:"ReaderNavToolbar",components:{PaginationSlider:kt,ReaderNavButton:ta,PaginationToolbar:bt,ReaderBookChangeNavButton:Jo},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["activeSettings","isReadInReverse","isVertical"]),...P(i,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.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:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(i,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection($);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection($);break;case",":this.routeToDirectionOne($);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook($);break}}}};function aa(e,t,a,g,l,o){const s=u("ReaderBookChangeNavButton"),h=u("ReaderNavButton"),m=u("PaginationSlider"),A=u("PaginationToolbar");return c(),p(Ye,null,{default:d(()=>[e.maxPage?T((c(),p(A,{key:0,id:"readerToolbarNav"},{default:d(()=>[n(s,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),n(h,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(c(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=E=>o.onSliderUpdate(E))},null,8,["model-value","max","step","track-color","reverse"])),n(h,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ne,e.showToolbars]]):S("",!0)]),_:1})}const sa=k(oa,[["render",aa],["__scopeId","data-v-20fc0313"]]),ra={name:"MainReader",components:{BooksWindow:ro,ReaderEmpty:Yo,ReaderNavToolbar:sa,ReaderTopToolbar:ge,ReaderSettingsDrawer:Eo,Unauthorized:nt},data(){return{showToolbars:!1}},computed:{...f(I,["isAuthorized"]),...P(I,{user:e=>e.user}),...P(i,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{..._(i,["loadReaderSettings","reset"])}},na={key:0},ia={id:"readerContainer"};function la(e,t,a,g,l,o){const s=u("ReaderTopToolbar"),h=u("BooksWindow"),m=u("ReaderNavToolbar"),A=u("ReaderEmpty"),E=u("ReaderSettingsDrawer"),me=u("Unauthorized");return e.isAuthorized?(c(),p(it,{key:0,id:"readerWrapper"},{default:d(()=>[e.empty?(c(),p(A,{key:1})):(c(),v("div",na,[r("div",ia,[n(s),n(h),n(m)])])),n(E)]),_:1})):(c(),p(me,{key:1}))}const Ra=k(ra,[["render",la],["__scopeId","data-v-4f31abfa"]]);export{Ra as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-BLxZLD38.js","assets/admin-drawer-panel-CnAnGx7w.js","assets/admin-drawer-panel-mne3FIj6.css","assets/main-BJiV8IG3.js","assets/main-Ztp855PW.css","assets/pdf-doc-CMzaSV_K.css"])))=>i.map(i=>d[i]);
2
+ import{ap as f,W as P,X as _,_ as k,Z as u,$ as c,Y as p,a0 as d,T as n,aR as C,al as b,aJ as w,am as R,aL as S,aH as v,aZ as Q,V as B,bD as ke,bE as be,au as z,bF as ee,bG as te,aK as oe,bH as ae,bI as _e,b8 as fe,aV as T,bA as Pe,l as D,aI as N,bt as se,bJ as ve,aQ as r,b6 as we,an as Se,bK as ye,bL as Ce,E as W,bM as Re,bN as Be,bO as Te,bP as De,bQ as Ie,aS as Le,aT as Ve,aO as $e,q as I,bR as Oe,at as re,aW as H,bS as Ne,aX as M,bT as Ae,bU as Ee,bV as xe,bk as Ue,bl as Fe,bm as ze,ao as Me,bW as We,a_ as He,bX as qe,bY as ne,bn as Ke,bq as Ge,bZ as je,b_ as Ye}from"./admin-drawer-panel-CnAnGx7w.js";import{b as i,c as Xe,_ as Ze,S as x,d as Je,e as Qe}from"./main-BJiV8IG3.js";import{d as et,b as tt,S as ot,V as at,a as st}from"./settings-drawer-XH4sNDNT.js";import{P as rt,E as ie,U as nt,V as it}from"./unauthorized-BF45der6.js";import{b as le,V as ce}from"./VWindowItem-BVIaHO-S.js";import{a as lt}from"./VSelect-FYWbH55D.js";import{V as ct,a as dt,b as ut,c as ht}from"./VExpansionPanels-CurqcyFg.js";import{V as L,a as U}from"./VRadioGroup-B7n5ReZ-.js";import{V}from"./VCheckbox-DtXDauZz.js";import{T as pt,M as gt,V as F,a as mt,P as de,b as kt,c as bt}from"./pagination-toolbar-i2VoXaGH.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDialog-DUdNpXLj.js";import"./change-password-dialog-Du1bwEt1.js";import"./VTextField-DEiVah7O.js";import"./VSelectionControl-CUlT3cc_.js";import"./VCheckboxBtn-B-iT1MnG.js";import"./VSlideGroup-CRJazQeR.js";const _t={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...f(i,["isBTT"]),...P(i,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{..._(i,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function ft(e,t,a,g,l,o){const s=u("router-link");return o.show?(c(),p(et,{key:0,class:R(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:d(()=>[n(s,{class:R({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},{default:d(()=>[n(C,{class:"bookChangeIcon"},{default:d(()=>[b(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Pt=k(_t,[["render",ft],["__scopeId","data-v-03e41a14"]]),vt={name:"BookChangeActivator",components:{BookChangeDrawer:Pt},props:{direction:{type:String,required:!0}},computed:{computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)},show(){return this.bookChangeShow(this.computedDirection)}},methods:{..._(i,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function wt(e,t,a,g,l,o){const s=u("BookChangeDrawer");return c(),v(B,null,[o.show?(c(),v("div",{key:0,class:R(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=Q(h=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),n(s,{direction:a.direction},null,8,["direction"])],64)}const St=k(vt,[["render",wt],["__scopeId","data-v-db3eb561"]]),yt={name:"LoadingPage",components:{Placeholder:rt},props:{twoPages:{type:Boolean,required:!0}}};function Ct(e,t,a,g,l,o){const s=u("Placeholder");return c(),v("div",{class:R(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Rt=k(yt,[["render",Ct],["__scopeId","data-v-04027168"]]),q="unauthorized",Bt={name:"ErrorPage",components:{EmptyState:ie},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===q?"Protected page":"Failed to load page"},icon(){return this.type===q?ke:be}},methods:{onAction(e){this.$emit("retry",e)}}};function Tt(e,t,a,g,l,o){const s=u("EmptyState");return c(),p(s,{class:R(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Dt=k(Bt,[["render",Tt],["__scopeId","data-v-97fa48e8"]]),It={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(i,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{..._(i,["fitToClass"])}},Lt=["src"];function Vt(e,t,a,g,l,o){return c(),v("img",z({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Lt)}const K=k(It,[["render",Vt],["__scopeId","data-v-559e2ecc"]]),G=ee(te(()=>Ze(()=>import("./pdf-doc-BLxZLD38.js"),__vite__mapDeps([0,1,2,3,4,5])))),$t=333,Ot={name:"BookPage",components:{ErrorPage:Dt,LoadingPage:Rt,PDFDoc:G,ImgPage:K},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...f(i,["isVertical"]),...P(i,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Xe(t)},component(){return this.book.fileType==="PDF"?G:K},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},$t)},methods:{..._(i,["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},onRetry(){this.ts=Date.now()}}},Nt=["id","data-page"];function At(e,t,a,g,l,o){const s=u("ErrorPage"),h=u("LoadingPage");return c(),v("div",{id:`page${a.page}`,key:l.ts,"data-page":a.page,class:"page",style:ae(o.style)},[l.error?(c(),p(s,{key:0,"two-pages":o.settings.twoPages,type:l.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):l.showProgress&&!l.loaded?(c(),p(h,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(c(),p(oe(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Nt)}const ue=k(Ot,[["render",At],["__scopeId","data-v-d40b3ab1"]]),Et=.5,xt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:_e}},computed:{...P(i,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=x},style(){return{cursor:this.scale==x?"zoom-in":"all-scroll"}}},methods:{..._(i,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Et;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:x})}}};function Ut(e,t,a,g,l,o){const s=fe("drag-scroller");return T((c(),v("div",{class:"scaleForScroll",style:ae(o.style),onDblclick:t[0]||(t[0]=(...h)=>o.onDoubleClick&&o.onDoubleClick(...h))},[Pe(e.$slots,"default",{},void 0,!0),o.showReset?(c(),p(C,{key:0,class:"resetIcon",onClick:Q(o.scaleReset,["stop"])},{default:d(()=>[b(w(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const he=k(xt,[["render",Ut],["__scopeId","data-v-a222c504"]]),Ft={name:"HorizontalPages",components:{BookPage:ue,ScaleForScroll:he},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...f(i,["isCoverPage","isReadInReverse"]),showSecondPage(){return this.getSettings(this.book).twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{..._(i,["getSettings"])}};function zt(e,t,a,g,l,o){const s=u("BookPage"),h=u("ScaleForScroll");return c(),p(h,{class:"noWrap"},{default:d(()=>[o.showPageOne?(c(),p(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(c(),p(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const Mt=k(Ft,[["render",zt],["__scopeId","data-v-9a560964"]]),Wt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...f(i,["isVertical","isFirstPage","isLastPage"]),...P(i,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){let e="pageChange";return e+=this.isVertical?"Row":"Column",e},directionClass(){let e=this.direction;return this.isVertical&&(e+="Vertical"),e},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{..._(i,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Ht(e,t,a,g,l,o){const s=u("router-link");return o.show?(c(),p(s,{key:0,to:o.route,"aria-label":o.label,class:R({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const qt=k(Wt,[["render",Ht],["__scopeId","data-v-9ade7d96"]]),Kt=48,Gt=48,jt={name:"PagerHorizontal",components:{HorizontalPages:Mt,PageChangeLink:qt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...f(i,["isReadInReverse"]),...P(i,{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}),twoPages(){return this.getSettings(this.book).twoPages},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),a=this.pages.at(-1);(e<t||e>a)&&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:{..._(i,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Kt,0),t=Math.min(this.activePage+Gt,this.book.maxPage);this.pages=D.range(e,t+1)}}};function Yt(e,t,a,g,l,o){const s=u("PageChangeLink"),h=u("HorizontalPages");return c(),p(ce,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:d(()=>[n(s,{direction:"prev"})]),next:d(()=>[n(s,{direction:"next"})]),default:d(()=>[(c(!0),v(B,null,N(l.pages,m=>(c(),p(le,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:d(()=>[n(h,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const j=k(jt,[["render",Yt],["__scopeId","data-v-50107c37"]]),Xt=12,Y=250,Zt={name:"PagerVertical",components:{BookPage:ue,ScaleForScroll:he},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(i,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...se(i,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=D.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,Xt)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},Y)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{..._(i,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const g=+t[0].target.dataset.page;this.setActivePage(g,!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 a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&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 verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},Y)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Jt=["data-page"];function Qt(e,t,a,g,l,o){const s=u("BookPage"),h=u("ScaleForScroll");return c(),p(h,null,{default:d(()=>[T((c(),p(lt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:d(({item:m})=>[n(s,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),T(r("div",{class:R(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,Jt),[[we,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ve,o.onScroll,"#verticalScroll"]])]),_:1})}const X=k(Zt,[["render",Qt],["__scopeId","data-v-17871eb8"]]),Z=ee(te(()=>"@/components/reader/pager/pager-full-pdf.vue")),eo={name:"PagerSelector",components:{PagerHorizontal:j,PagerPDF:Z,PagerVertical:X},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...f(i,["isVertical","cacheBook"]),...P(i,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?Z:this.isVertical?X:j}},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:{..._(i,["getSettings","setActivePage","prefetchBook"])}};function to(e,t,a,g,l,o){return c(),p(oe(o.component),{book:a.book},null,8,["book"])}const oo=k(eo,[["render",to]]),ao={name:"BooksWindow",components:{BookChangeActivator:St,Pager:oo},computed:{...f(i,["isBTT"]),...P(i,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{..._(i,["setBookChangeFlag","loadBooks","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function so(e,t,a,g,l,o){const s=u("BookChangeActivator"),h=u("Pager");return c(),p(ce,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:d(()=>[n(s,{direction:"prev"})]),next:d(()=>[n(s,{direction:"next"})]),default:d(()=>[(c(!0),v(B,null,N(e.books,m=>(c(),p(le,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:d(()=>[n(h,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ro=k(ao,[["render",so],["__scopeId","data-v-aeb79f89"]]),no={name:"DownloadPanel",components:{DrawerItem:Se},data(){return{mdiDownload:ye,mdiFileImage:Ce}},computed:{...f(i,["activeTitle","routeParams"]),...P(i,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Je(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Qe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{..._(W,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},io={key:0,id:"downloadPanel"};function lo(e,t,a,g,l,o){const s=u("DrawerItem");return e.currentBook?(c(),v("div",io,[n(s,{"prepend-icon":l.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),n(s,{"prepend-icon":l.mdiDownload,title:"Download Book",onClick:o.downloadBook},null,8,["prepend-icon","onClick"])])):S("",!0)}const co=k(no,[["render",lo],["__scopeId","data-v-e4f5bb93"]]),uo={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:Re,mdiMenuRight:Be,mdiKeyboardOutline:Te,mdiKeyboardSpace:De,mdiAppleKeyboardShift:Ie}},computed:{...f(W,["isMobile"])}},y=e=>(Le("data-v-a8b4ac47"),e=e(),Ve(),e),ho=y(()=>r("h4",null,"Navigation",-1)),po={class:"highlight-table"},go=y(()=>r("td",null,"Previous page",-1)),mo=y(()=>r("td",null,"Next page",-1)),ko=y(()=>r("tr",null,[r("td",null,","),r("td",null,[b("Next "),r("em",null,"only"),b(" one page in two page mode.")])],-1)),bo=y(()=>r("tr",null,[r("td",null,"."),r("td",null,[b("Previous "),r("em",null,"only"),b(" one page in two page mode.")])],-1)),_o=y(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),fo=y(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),Po=y(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),vo=y(()=>r("h4",null,"Fit Page To",-1)),wo=y(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),So=y(()=>r("h4",null,"Other",-1)),yo=y(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Co(e,t,a,g,l,o){return e.isMobile?S("",!0):(c(),p(ht,{key:0},{default:d(()=>[n(ct,{id:"readerKeyboardShortcuts"},{default:d(()=>[n(dt,{id:"shortcutsTitle"},{default:d(()=>[n(C,{id:"keyboardIcon"},{default:d(()=>[b(w(l.mdiKeyboardOutline),1)]),_:1}),b("Keyboard Shortcuts ")]),_:1}),n(ut,null,{default:d(()=>[ho,r("table",po,[r("tbody",null,[r("tr",null,[r("td",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiMenuLeft),1)]),_:1}),b(", j, "),r("div",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiAppleKeyboardShift),1)]),_:1}),n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiKeyboardSpace),1)]),_:1})])]),go]),r("tr",null,[r("td",null,[n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiMenuRight),1)]),_:1}),b(", k, "),n(C,{class:"keyIcon",density:"compact"},{default:d(()=>[b(w(l.mdiKeyboardSpace),1)]),_:1})]),mo]),ko,bo,_o,fo,Po])]),vo,wo,So,yo]),_:1})]),_:1})]),_:1}))}const Ro=k(uo,[["render",Co],["__scopeId","data-v-a8b4ac47"]]),pe=["fitTo","readingDirection","twoPages"];Object.freeze(pe);const Bo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:$e,openDelay:2e3}},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["isVertical","isPDF","cacheBook"]),...P(i,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const g of pe){const l=(a=e.books)==null?void 0:a.current.settings[g];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t,a;return(t=e.books)!=null&&t.current?Oe((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...se(i,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(i,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;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"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},To={id:"readerScopedSettings",class:"readerDrawerItem"},Do=["href"];function Io(e,t,a,g,l,o){return c(),v(B,null,[n(U,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),class:"scopeRadioButton readerDrawerItem",density:"compact",label:"Scope","hide-details":"auto"},{default:d(()=>[n(L,{label:"Only this comic",value:!1}),n(L,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(Ne,null,{default:d(()=>[r("div",To,[n(U,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:d(()=>[(c(!0),v(B,null,N(o.fitToChoices,s=>(c(),p(L,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(V,{disabled:o.disableTwoPages,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=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(U,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:d(()=>[(c(!0),v(B,null,N(o.readingDirectionChoices,s=>(c(),p(L,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l.isGlobalScope?S("",!0):T((c(),p(re,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:d(()=>[b(" Clear Settings ")]),_:1},8,["disabled","onClick"])),[[H,{openDelay:l.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),n(M),n(V,{class:"readerDrawerItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),n(V,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerDrawerItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),T(n(V,{"model-value":e.cacheBook,class:"readerDrawerItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[H,{openDelay:l.openDelay,text:"Cache all pages from this book in the browser"}]]),e.isPDF?(c(),v("a",{key:0,id:"readPDFInBrowser",class:"readerDrawerItem",href:e.bookInBrowserURL,target:"_blank"},[n(C,null,{default:d(()=>[b(w(l.mdiOpenInNew),1)]),_:1}),b("Read PDF in Browser ")],8,Do)):S("",!0)],64)}const Lo=k(Bo,[["render",Io],["__scopeId","data-v-3e689883"]]),Vo={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:co,ReaderKeyboardShortcutsPanel:Ro,ReaderSettingsPanel:Lo}};function $o(e,t,a,g,l,o){const s=u("ReaderSettingsPanel"),h=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return c(),v(B,null,[n(s),n(M),n(h),n(M),n(m)],64)}const Oo=k(Vo,[["render",$o]]),No={name:"ReaderSettingsDrawer",components:{SettingsDrawer:tt,ReaderSettingsSuperPanel:Oo}};function Ao(e,t,a,g,l,o){const s=u("ReaderSettingsSuperPanel"),h=u("SettingsDrawer");return c(),p(h,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:d(()=>[n(s)]),_:1})}const Eo=k(No,[["render",Ao]]),J={a:xe,f:Ue,p:Fe,i:ze,s:Me,v:We},xo={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Uo={name:"ReaderArcSelect",components:{ToolbarSelect:pt},data(){return{mdiFilterOutline:Ae}},computed:{...P(i,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const g={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:xo[a.group],prependIcon:J[a.group]};t.push(g)}return t}})},methods:{..._(i,["loadBooks"]),arcIcon(e){return J[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?Ee:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Fo={id:"arcPos"};function zo(e,t,a,g,l,o){const s=u("ToolbarSelect");return c(),p(s,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:d(({item:h,props:m})=>[n(He,z(m,{density:"compact",variant:"plain","prepend-icon":h.raw.prependIcon,subtitle:o.subtitle(h.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:d(({item:h,props:m})=>[n(C,z({size:"large"},m,{class:"arcSelectIcon"}),{default:d(()=>[b(w(o.arcIcon(h.raw.group)),1)]),_:2},1040),r("span",Fo,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Mo=k(Uo,[["render",zo],["__scopeId","data-v-62bf79bd"]]),Wo={name:"ReaderTitleToolbar",components:{MetadataDialog:gt,ReaderArcSelect:Mo,SettingsDrawerButton:ot},data(){return{mdiClose:qe,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["activeTitle","closeBookRoute"]),...P(i,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=D.cloneDeep(this.closeBookRoute),t=D.cloneDeep(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(W,["setTimestamp"]),..._(i,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Ho={id:"title"},qo={key:0,id:"subtitle"};function Ko(e,t,a,g,l,o){const s=u("ReaderArcSelect"),h=u("MetadataDialog"),m=u("SettingsDrawerButton");return c(),p(Ge,null,{default:d(()=>[T(n(st,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Ke({default:d(()=>[n(F,null,{default:d(()=>[n(re,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:d(()=>[b(" close book ")]),_:1},8,["to","onClick"])]),_:1}),n(mt),e.empty?S("",!0):(c(),p(F,{key:0},{default:d(()=>[n(s),n(h,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),n(F,null,{default:d(()=>[n(m)]),_:1})]),_:2},[o.title?{name:"extension",fn:d(()=>[n(at,{class:"readerTitle"},{default:d(()=>[r("div",Ho,w(o.title),1),e.subtitle?(c(),v("div",qo,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"]),[[ne,e.showToolbars]])]),_:1})}const ge=k(Wo,[["render",Ko],["__scopeId","data-v-c6e3ba36"]]),Go={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:ge,EmptyState:ie},data(){return{mdiBookRemoveOutline:je}},methods:{..._(i,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function jo(e,t,a,g,l,o){const s=u("ReaderTopToolbar"),h=u("EmptyState");return c(),v(B,null,[n(s),n(h,{headline:"Book Not Found",title:"Close the reader and find another book",icon:l.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Yo=k(Go,[["render",jo]]),Xo={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:de},props:{direction:{type:String,required:!0}},computed:{...f(i,["isBTT"]),...P(i,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:D.cloneDeep(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{..._(i,["bookChangeIcon"])}};function Zo(e,t,a,g,l,o){const s=u("PaginationNavButton");return e.toRoute?(c(),p(s,{key:0,class:R(o.classes),icon:"",variant:"plain",title:o.title,to:e.toRoute},{default:d(()=>[n(C,null,{default:d(()=>[b(w(o.icon),1)]),_:1})]),_:1},8,["class","title","to"])):S("",!0)}const Jo=k(Xo,[["render",Zo],["__scopeId","data-v-7c12a0eb"]]),Qo={name:"ReaderNavButton",components:{PaginationNavButton:de},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...f(i,["isVertical"]),...P(i,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{..._(i,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ea(e,t,a,g,l,o){const s=u("PaginationNavButton");return c(),p(s,{key:e.isVertical,disabled:o.disabled,class:R(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:d(()=>[b(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const ta=k(Qo,[["render",ea],["__scopeId","data-v-530fba8c"]]),$="prev",O="next",oa={name:"ReaderNavToolbar",components:{PaginationSlider:kt,ReaderNavButton:ta,PaginationToolbar:bt,ReaderBookChangeNavButton:Jo},computed:{...f(I,["isAuthDialogOpen"]),...f(i,["activeSettings","isReadInReverse","isVertical"]),...P(i,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.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:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{..._(i,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection($);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection($);break;case",":this.routeToDirectionOne($);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook($);break}}}};function aa(e,t,a,g,l,o){const s=u("ReaderBookChangeNavButton"),h=u("ReaderNavButton"),m=u("PaginationSlider"),A=u("PaginationToolbar");return c(),p(Ye,null,{default:d(()=>[e.maxPage?T((c(),p(A,{key:0,id:"readerToolbarNav"},{default:d(()=>[n(s,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),n(h,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(c(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=E=>o.onSliderUpdate(E))},null,8,["model-value","max","step","track-color","reverse"])),n(h,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ne,e.showToolbars]]):S("",!0)]),_:1})}const sa=k(oa,[["render",aa],["__scopeId","data-v-20fc0313"]]),ra={name:"MainReader",components:{BooksWindow:ro,ReaderEmpty:Yo,ReaderNavToolbar:sa,ReaderTopToolbar:ge,ReaderSettingsDrawer:Eo,Unauthorized:nt},data(){return{showToolbars:!1}},computed:{...f(I,["isAuthorized"]),...P(I,{user:e=>e.user}),...P(i,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{..._(i,["loadReaderSettings","reset"])}},na={key:0},ia={id:"readerContainer"};function la(e,t,a,g,l,o){const s=u("ReaderTopToolbar"),h=u("BooksWindow"),m=u("ReaderNavToolbar"),A=u("ReaderEmpty"),E=u("ReaderSettingsDrawer"),me=u("Unauthorized");return e.isAuthorized?(c(),p(it,{key:0,id:"readerWrapper"},{default:d(()=>[e.empty?(c(),p(A,{key:1})):(c(),v("div",na,[r("div",ia,[n(s),n(h),n(m)])])),n(E)]),_:1})):(c(),p(me,{key:1}))}const Ra=k(ra,[["render",la],["__scopeId","data-v-4f31abfa"]]);export{Ra as default};