codex 1.6.0a5__py3-none-any.whl → 1.6.0a6__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 (389) hide show
  1. codex/librarian/covers/purge.py +1 -2
  2. codex/librarian/importer/const.py +8 -0
  3. codex/librarian/importer/covers.py +47 -0
  4. codex/librarian/importer/deleted.py +45 -7
  5. codex/librarian/importer/importerd.py +9 -1
  6. codex/librarian/importer/update_comics.py +0 -2
  7. codex/migrations/0029_choices_adminflag_and_timestamp.py +44 -0
  8. codex/models/admin.py +0 -1
  9. codex/serializers/browser/page.py +0 -1
  10. codex/static_root/assets/{VCheckbox-BF_99tgB.7fe59e56d9d4.js → VCheckbox-BS5fdM4M.a5d446e4aeb3.js} +1 -1
  11. codex/static_root/assets/VCheckbox-BS5fdM4M.a5d446e4aeb3.js.br +0 -0
  12. codex/static_root/assets/VCheckbox-BS5fdM4M.a5d446e4aeb3.js.gz +0 -0
  13. codex/static_root/assets/{VCheckbox-BF_99tgB.js → VCheckbox-BS5fdM4M.js} +1 -1
  14. codex/static_root/assets/VCheckbox-BS5fdM4M.js.br +0 -0
  15. codex/static_root/assets/VCheckbox-BS5fdM4M.js.gz +0 -0
  16. codex/static_root/assets/{VCheckboxBtn-Coc7g8m7.31e1e6aa44c9.js → VCheckboxBtn-m4IbdjEe.f0c4a814ded8.js} +1 -1
  17. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.f0c4a814ded8.js.br +0 -0
  18. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.f0c4a814ded8.js.gz +0 -0
  19. codex/static_root/assets/{VCheckboxBtn-Coc7g8m7.js → VCheckboxBtn-m4IbdjEe.js} +1 -1
  20. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.js.br +0 -0
  21. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.js.gz +0 -0
  22. codex/static_root/assets/{VCombobox-CTRWnOuM.0f00903c2ebc.js → VCombobox-jg7SI5mn.af66f18b4c54.js} +1 -1
  23. codex/static_root/assets/VCombobox-jg7SI5mn.af66f18b4c54.js.br +0 -0
  24. codex/static_root/assets/VCombobox-jg7SI5mn.af66f18b4c54.js.gz +0 -0
  25. codex/static_root/assets/{VCombobox-CTRWnOuM.js → VCombobox-jg7SI5mn.js} +1 -1
  26. codex/static_root/assets/VCombobox-jg7SI5mn.js.br +0 -0
  27. codex/static_root/assets/VCombobox-jg7SI5mn.js.gz +0 -0
  28. codex/static_root/assets/{VDialog-pzwzInEh.51acf566a069.js → VDialog-DiixpkQL.f84fd1fd1f84.js} +1 -1
  29. codex/static_root/assets/VDialog-DiixpkQL.f84fd1fd1f84.js.br +0 -0
  30. codex/static_root/assets/VDialog-DiixpkQL.f84fd1fd1f84.js.gz +0 -0
  31. codex/static_root/assets/{VDialog-pzwzInEh.js → VDialog-DiixpkQL.js} +1 -1
  32. codex/static_root/assets/VDialog-DiixpkQL.js.br +0 -0
  33. codex/static_root/assets/VDialog-DiixpkQL.js.gz +0 -0
  34. codex/static_root/assets/{VExpansionPanels-CKSq1GpG.0ecf702c5b67.js → VExpansionPanels-Db5mPFue.56d0ad094a62.js} +1 -1
  35. codex/static_root/assets/VExpansionPanels-Db5mPFue.56d0ad094a62.js.br +0 -0
  36. codex/static_root/assets/VExpansionPanels-Db5mPFue.56d0ad094a62.js.gz +0 -0
  37. codex/static_root/assets/{VExpansionPanels-CKSq1GpG.js → VExpansionPanels-Db5mPFue.js} +1 -1
  38. codex/static_root/assets/VExpansionPanels-Db5mPFue.js.br +0 -0
  39. codex/static_root/assets/VExpansionPanels-Db5mPFue.js.gz +0 -0
  40. codex/static_root/assets/{VRadioGroup-CW5GobGU.b72925bca3de.js → VRadioGroup-DULWiMSI.4ae535e01d2b.js} +1 -1
  41. codex/static_root/assets/VRadioGroup-DULWiMSI.4ae535e01d2b.js.br +0 -0
  42. codex/static_root/assets/VRadioGroup-DULWiMSI.4ae535e01d2b.js.gz +0 -0
  43. codex/static_root/assets/{VRadioGroup-CW5GobGU.js → VRadioGroup-DULWiMSI.js} +1 -1
  44. codex/static_root/assets/VRadioGroup-DULWiMSI.js.br +0 -0
  45. codex/static_root/assets/VRadioGroup-DULWiMSI.js.gz +0 -0
  46. codex/static_root/assets/{VSelect-ChOlLRyH.00b11751b25e.js → VSelect-BnoCfCLY.4d50fd11c77c.js} +1 -1
  47. codex/static_root/assets/VSelect-BnoCfCLY.4d50fd11c77c.js.br +0 -0
  48. codex/static_root/assets/VSelect-BnoCfCLY.4d50fd11c77c.js.gz +0 -0
  49. codex/static_root/assets/{VSelect-ChOlLRyH.js → VSelect-BnoCfCLY.js} +1 -1
  50. codex/static_root/assets/VSelect-BnoCfCLY.js.br +0 -0
  51. codex/static_root/assets/VSelect-BnoCfCLY.js.gz +0 -0
  52. codex/static_root/assets/{VSelectionControl-DKOhc2zB.js → VSelectionControl-BSL0qeL9.5b5835d286df.js} +1 -1
  53. codex/static_root/assets/VSelectionControl-BSL0qeL9.5b5835d286df.js.br +0 -0
  54. codex/static_root/assets/VSelectionControl-BSL0qeL9.5b5835d286df.js.gz +0 -0
  55. codex/static_root/assets/{VSelectionControl-DKOhc2zB.061dca094303.js → VSelectionControl-BSL0qeL9.js} +1 -1
  56. codex/static_root/assets/VSelectionControl-BSL0qeL9.js.br +0 -0
  57. codex/static_root/assets/VSelectionControl-BSL0qeL9.js.gz +0 -0
  58. codex/static_root/assets/{VSlideGroup-zFz5_byd.e0e246b7acbb.js → VSlideGroup-BQtz8h9p.ff97dbf209e1.js} +1 -1
  59. codex/static_root/assets/VSlideGroup-BQtz8h9p.ff97dbf209e1.js.br +0 -0
  60. codex/static_root/assets/VSlideGroup-BQtz8h9p.ff97dbf209e1.js.gz +0 -0
  61. codex/static_root/assets/{VSlideGroup-zFz5_byd.js → VSlideGroup-BQtz8h9p.js} +1 -1
  62. codex/static_root/assets/VSlideGroup-BQtz8h9p.js.br +0 -0
  63. codex/static_root/assets/VSlideGroup-BQtz8h9p.js.gz +0 -0
  64. codex/static_root/assets/{VTable-FKMTcdkF.6c1eed84d25e.js → VTable-C0gAriFq.fa6e4b60d4ef.js} +1 -1
  65. codex/static_root/assets/VTable-C0gAriFq.fa6e4b60d4ef.js.br +0 -0
  66. codex/static_root/assets/VTable-C0gAriFq.fa6e4b60d4ef.js.gz +0 -0
  67. codex/static_root/assets/{VTable-FKMTcdkF.js → VTable-C0gAriFq.js} +1 -1
  68. codex/static_root/assets/VTable-C0gAriFq.js.br +0 -0
  69. codex/static_root/assets/VTable-C0gAriFq.js.gz +0 -0
  70. codex/static_root/assets/{VTextField-Dftcik85.js → VTextField-Da_Hs7ls.c295f24c251e.js} +1 -1
  71. codex/static_root/assets/VTextField-Da_Hs7ls.c295f24c251e.js.br +0 -0
  72. codex/static_root/assets/VTextField-Da_Hs7ls.c295f24c251e.js.gz +0 -0
  73. codex/static_root/assets/{VTextField-Dftcik85.cb2f1dda87e1.js → VTextField-Da_Hs7ls.js} +1 -1
  74. codex/static_root/assets/VTextField-Da_Hs7ls.js.br +0 -0
  75. codex/static_root/assets/VTextField-Da_Hs7ls.js.gz +0 -0
  76. codex/static_root/assets/{VWindowItem-CYCwnt3s.28025dc36c6a.js → VWindowItem-CFhKCj49.b2458002a937.js} +1 -1
  77. codex/static_root/assets/VWindowItem-CFhKCj49.b2458002a937.js.br +0 -0
  78. codex/static_root/assets/VWindowItem-CFhKCj49.b2458002a937.js.gz +0 -0
  79. codex/static_root/assets/{VWindowItem-CYCwnt3s.js → VWindowItem-CFhKCj49.js} +1 -1
  80. codex/static_root/assets/VWindowItem-CFhKCj49.js.br +0 -0
  81. codex/static_root/assets/VWindowItem-CFhKCj49.js.gz +0 -0
  82. codex/static_root/assets/{admin-DH_DrB0F.dc45fb726e07.js → admin-BpGFsvOH.d7193c78d0dd.js} +1 -1
  83. codex/static_root/assets/admin-BpGFsvOH.d7193c78d0dd.js.br +0 -0
  84. codex/static_root/assets/admin-BpGFsvOH.d7193c78d0dd.js.gz +0 -0
  85. codex/static_root/assets/{admin-DH_DrB0F.js → admin-BpGFsvOH.js} +1 -1
  86. codex/static_root/assets/admin-BpGFsvOH.js.br +0 -0
  87. codex/static_root/assets/admin-BpGFsvOH.js.gz +0 -0
  88. codex/static_root/assets/{admin-drawer-panel-B2rmpAVA.a9e72fbfdadc.js → admin-drawer-panel-C34Ze3-5.113c50cdf2cc.js} +2 -2
  89. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.113c50cdf2cc.js.br +0 -0
  90. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.113c50cdf2cc.js.gz +0 -0
  91. codex/static_root/assets/{admin-drawer-panel-B2rmpAVA.js → admin-drawer-panel-C34Ze3-5.js} +2 -2
  92. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.js.br +0 -0
  93. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.js.gz +0 -0
  94. codex/static_root/assets/{browser-lKU7rqLd.cdb86e625ed9.js → browser-CRPvEdqv.f355a71f4380.js} +1 -1
  95. codex/static_root/assets/browser-CRPvEdqv.f355a71f4380.js.br +0 -0
  96. codex/static_root/assets/browser-CRPvEdqv.f355a71f4380.js.gz +0 -0
  97. codex/static_root/assets/{browser-lKU7rqLd.js → browser-CRPvEdqv.js} +1 -1
  98. codex/static_root/assets/browser-CRPvEdqv.js.br +0 -0
  99. codex/static_root/assets/browser-CRPvEdqv.js.gz +0 -0
  100. codex/static_root/assets/browser-Zqc9cR6T.b7d6ddeff130.css +1 -0
  101. codex/static_root/assets/browser-Zqc9cR6T.b7d6ddeff130.css.br +0 -0
  102. codex/static_root/assets/browser-Zqc9cR6T.b7d6ddeff130.css.gz +0 -0
  103. codex/static_root/assets/browser-Zqc9cR6T.css +1 -0
  104. codex/static_root/assets/browser-Zqc9cR6T.css.br +0 -0
  105. codex/static_root/assets/browser-Zqc9cR6T.css.gz +0 -0
  106. codex/static_root/assets/{change-password-dialog-BIBG6Bk8.3583021c124a.js → change-password-dialog-JYM9aAR9.f71d378f4fa6.js} +1 -1
  107. codex/static_root/assets/change-password-dialog-JYM9aAR9.f71d378f4fa6.js.br +0 -0
  108. codex/static_root/assets/change-password-dialog-JYM9aAR9.f71d378f4fa6.js.gz +0 -0
  109. codex/static_root/assets/{change-password-dialog-BIBG6Bk8.js → change-password-dialog-JYM9aAR9.js} +1 -1
  110. codex/static_root/assets/change-password-dialog-JYM9aAR9.js.br +0 -0
  111. codex/static_root/assets/change-password-dialog-JYM9aAR9.js.gz +0 -0
  112. codex/static_root/assets/{confirm-dialog-DARLmXRf.53fc6938fb8c.js → confirm-dialog-ZAZ6P1Rc.515858dd21e8.js} +1 -1
  113. codex/static_root/assets/confirm-dialog-ZAZ6P1Rc.515858dd21e8.js.br +0 -0
  114. codex/static_root/assets/confirm-dialog-ZAZ6P1Rc.515858dd21e8.js.gz +0 -0
  115. codex/static_root/assets/{confirm-dialog-DARLmXRf.js → confirm-dialog-ZAZ6P1Rc.js} +1 -1
  116. codex/static_root/assets/confirm-dialog-ZAZ6P1Rc.js.br +0 -0
  117. codex/static_root/assets/confirm-dialog-ZAZ6P1Rc.js.gz +0 -0
  118. codex/static_root/assets/{datetime-column-LpLgWpkf.16ce3324970f.js → datetime-column-BT1MSP82.9617f6b94ebf.js} +1 -1
  119. codex/static_root/assets/datetime-column-BT1MSP82.9617f6b94ebf.js.br +0 -0
  120. codex/static_root/assets/datetime-column-BT1MSP82.9617f6b94ebf.js.gz +0 -0
  121. codex/static_root/assets/{datetime-column-LpLgWpkf.js → datetime-column-BT1MSP82.js} +1 -1
  122. codex/static_root/assets/datetime-column-BT1MSP82.js.br +0 -0
  123. codex/static_root/assets/datetime-column-BT1MSP82.js.gz +0 -0
  124. codex/static_root/assets/{filter-jRB1Ob6r.6a559a53e805.js → filter-frSNsexx.eab1570bd32d.js} +1 -1
  125. codex/static_root/assets/filter-frSNsexx.eab1570bd32d.js.br +0 -0
  126. codex/static_root/assets/filter-frSNsexx.eab1570bd32d.js.gz +0 -0
  127. codex/static_root/assets/{filter-jRB1Ob6r.js → filter-frSNsexx.js} +1 -1
  128. codex/static_root/assets/filter-frSNsexx.js.br +0 -0
  129. codex/static_root/assets/filter-frSNsexx.js.gz +0 -0
  130. codex/static_root/assets/{flag-tab-mYS2wg5e.17829c46cae9.js → flag-tab-Ci_XcDT0.a5ea640a08d6.js} +1 -1
  131. codex/static_root/assets/flag-tab-Ci_XcDT0.a5ea640a08d6.js.br +0 -0
  132. codex/static_root/assets/flag-tab-Ci_XcDT0.a5ea640a08d6.js.gz +0 -0
  133. codex/static_root/assets/{flag-tab-mYS2wg5e.js → flag-tab-Ci_XcDT0.js} +1 -1
  134. codex/static_root/assets/flag-tab-Ci_XcDT0.js.br +0 -0
  135. codex/static_root/assets/flag-tab-Ci_XcDT0.js.gz +0 -0
  136. codex/static_root/assets/{group-tab-MK1lcjUU.98406d5babdc.js → group-tab-DFma2R-E.879c37b15bbd.js} +1 -1
  137. codex/static_root/assets/group-tab-DFma2R-E.879c37b15bbd.js.br +0 -0
  138. codex/static_root/assets/group-tab-DFma2R-E.879c37b15bbd.js.gz +0 -0
  139. codex/static_root/assets/{group-tab-MK1lcjUU.js → group-tab-DFma2R-E.js} +1 -1
  140. codex/static_root/assets/group-tab-DFma2R-E.js.br +0 -0
  141. codex/static_root/assets/group-tab-DFma2R-E.js.gz +0 -0
  142. codex/static_root/assets/{http-error-HFeYnF0n.a3c578a0265e.js → http-error-B3fQGxpt.9efc29496e30.js} +1 -1
  143. codex/static_root/assets/http-error-B3fQGxpt.9efc29496e30.js.br +0 -0
  144. codex/static_root/assets/http-error-B3fQGxpt.9efc29496e30.js.gz +0 -0
  145. codex/static_root/assets/{http-error-HFeYnF0n.js → http-error-B3fQGxpt.js} +1 -1
  146. codex/static_root/assets/http-error-B3fQGxpt.js.br +0 -0
  147. codex/static_root/assets/http-error-B3fQGxpt.js.gz +0 -0
  148. codex/static_root/assets/{library-tab-DYeEBYlT.js → library-tab-V8DUGoHN.809c548ff347.js} +1 -1
  149. codex/static_root/assets/library-tab-V8DUGoHN.809c548ff347.js.br +0 -0
  150. codex/static_root/assets/library-tab-V8DUGoHN.809c548ff347.js.gz +0 -0
  151. codex/static_root/assets/{library-tab-DYeEBYlT.a2a2ef088d1c.js → library-tab-V8DUGoHN.js} +1 -1
  152. codex/static_root/assets/library-tab-V8DUGoHN.js.br +0 -0
  153. codex/static_root/assets/library-tab-V8DUGoHN.js.gz +0 -0
  154. codex/static_root/assets/{main-gSW7TFDY.js → main-Cavvqkyp.a9c4df906406.js} +4 -4
  155. codex/static_root/assets/main-Cavvqkyp.a9c4df906406.js.br +0 -0
  156. codex/static_root/assets/main-Cavvqkyp.a9c4df906406.js.gz +0 -0
  157. codex/static_root/assets/{main-gSW7TFDY.329223b148d4.js → main-Cavvqkyp.js} +4 -4
  158. codex/static_root/assets/main-Cavvqkyp.js.br +0 -0
  159. codex/static_root/assets/main-Cavvqkyp.js.gz +0 -0
  160. codex/static_root/assets/{pagination-toolbar-Dlm70Bhs.8f23f8bd9a05.js → pagination-toolbar-Dg9tH1Ju.b2eb1e0c6985.js} +1 -1
  161. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.b2eb1e0c6985.js.br +0 -0
  162. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.b2eb1e0c6985.js.gz +0 -0
  163. codex/static_root/assets/{pagination-toolbar-Dlm70Bhs.js → pagination-toolbar-Dg9tH1Ju.js} +1 -1
  164. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.js.br +0 -0
  165. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.js.gz +0 -0
  166. codex/static_root/assets/{pdf-doc-BTdS9hUz.7c966524280a.js → pdf-doc-4PKLN-Z3.62d8de4d1fd8.js} +1 -1
  167. codex/static_root/assets/pdf-doc-4PKLN-Z3.62d8de4d1fd8.js.br +0 -0
  168. codex/static_root/assets/pdf-doc-4PKLN-Z3.62d8de4d1fd8.js.gz +0 -0
  169. codex/static_root/assets/{pdf-doc-BTdS9hUz.js → pdf-doc-4PKLN-Z3.js} +1 -1
  170. codex/static_root/assets/pdf-doc-4PKLN-Z3.js.br +0 -0
  171. codex/static_root/assets/pdf-doc-4PKLN-Z3.js.gz +0 -0
  172. codex/static_root/assets/{reader-BtSTIETq.f940f66c0e58.js → reader-C39uGGxn.67b0f324cd5e.js} +2 -2
  173. codex/static_root/assets/reader-C39uGGxn.67b0f324cd5e.js.br +0 -0
  174. codex/static_root/assets/reader-C39uGGxn.67b0f324cd5e.js.gz +0 -0
  175. codex/static_root/assets/{reader-BtSTIETq.js → reader-C39uGGxn.js} +2 -2
  176. codex/static_root/assets/reader-C39uGGxn.js.br +0 -0
  177. codex/static_root/assets/reader-C39uGGxn.js.gz +0 -0
  178. codex/static_root/assets/{reader-CF3xt6JG.19fad7f62450.css → reader-N2Ei_y2K.8c0cdc0d513f.css} +1 -1
  179. codex/static_root/assets/reader-N2Ei_y2K.8c0cdc0d513f.css.br +0 -0
  180. codex/static_root/assets/reader-N2Ei_y2K.8c0cdc0d513f.css.gz +0 -0
  181. codex/static_root/assets/{reader-CF3xt6JG.css → reader-N2Ei_y2K.css} +1 -1
  182. codex/static_root/assets/reader-N2Ei_y2K.css.br +0 -0
  183. codex/static_root/assets/reader-N2Ei_y2K.css.gz +0 -0
  184. codex/static_root/assets/{relation-chips-C4Ob7ySi.95855a010f4a.js → relation-chips-CAC5ytqH.f205d920ffea.js} +1 -1
  185. codex/static_root/assets/relation-chips-CAC5ytqH.f205d920ffea.js.br +0 -0
  186. codex/static_root/assets/relation-chips-CAC5ytqH.f205d920ffea.js.gz +0 -0
  187. codex/static_root/assets/{relation-chips-C4Ob7ySi.js → relation-chips-CAC5ytqH.js} +1 -1
  188. codex/static_root/assets/relation-chips-CAC5ytqH.js.br +0 -0
  189. codex/static_root/assets/relation-chips-CAC5ytqH.js.gz +0 -0
  190. codex/static_root/assets/{settings-drawer-xSctoxZn.4ce8afcb879a.js → settings-drawer-CT73ieiV.fac6f69e86ff.js} +2 -2
  191. codex/static_root/assets/settings-drawer-CT73ieiV.fac6f69e86ff.js.br +0 -0
  192. codex/static_root/assets/settings-drawer-CT73ieiV.fac6f69e86ff.js.gz +0 -0
  193. codex/static_root/assets/{settings-drawer-xSctoxZn.js → settings-drawer-CT73ieiV.js} +2 -2
  194. codex/static_root/assets/settings-drawer-CT73ieiV.js.br +0 -0
  195. codex/static_root/assets/settings-drawer-CT73ieiV.js.gz +0 -0
  196. codex/static_root/assets/{settings-drawer-BJOfMtqA.6471a50fc05b.css → settings-drawer-nZ9HvKSZ.01744e131806.css} +1 -1
  197. codex/static_root/assets/settings-drawer-nZ9HvKSZ.01744e131806.css.br +0 -0
  198. codex/static_root/assets/settings-drawer-nZ9HvKSZ.01744e131806.css.gz +0 -0
  199. codex/static_root/assets/{settings-drawer-BJOfMtqA.css → settings-drawer-nZ9HvKSZ.css} +1 -1
  200. codex/static_root/assets/settings-drawer-nZ9HvKSZ.css.br +0 -0
  201. codex/static_root/assets/settings-drawer-nZ9HvKSZ.css.gz +0 -0
  202. codex/static_root/assets/{stats-tab-C_uC_U7o.e6b014b6e8c6.js → stats-tab-C6qAnV6-.f08c46b5f141.js} +1 -1
  203. codex/static_root/assets/stats-tab-C6qAnV6-.f08c46b5f141.js.br +0 -0
  204. codex/static_root/assets/stats-tab-C6qAnV6-.f08c46b5f141.js.gz +0 -0
  205. codex/static_root/assets/{stats-tab-C_uC_U7o.js → stats-tab-C6qAnV6-.js} +1 -1
  206. codex/static_root/assets/stats-tab-C6qAnV6-.js.br +0 -0
  207. codex/static_root/assets/stats-tab-C6qAnV6-.js.gz +0 -0
  208. codex/static_root/assets/{task-tab-VIpy1Ula.c07877250c88.js → task-tab-JcG2vvgt.eed6e03db487.js} +1 -1
  209. codex/static_root/assets/task-tab-JcG2vvgt.eed6e03db487.js.br +0 -0
  210. codex/static_root/assets/task-tab-JcG2vvgt.eed6e03db487.js.gz +0 -0
  211. codex/static_root/assets/{task-tab-VIpy1Ula.js → task-tab-JcG2vvgt.js} +1 -1
  212. codex/static_root/assets/task-tab-JcG2vvgt.js.br +0 -0
  213. codex/static_root/assets/task-tab-JcG2vvgt.js.gz +0 -0
  214. codex/static_root/assets/{unauthorized-kEuFL5br.475729603aeb.js → unauthorized-28bmiwAU.c74825b5c16f.js} +1 -1
  215. codex/static_root/assets/unauthorized-28bmiwAU.c74825b5c16f.js.br +0 -0
  216. codex/static_root/assets/unauthorized-28bmiwAU.c74825b5c16f.js.gz +0 -0
  217. codex/static_root/assets/{unauthorized-kEuFL5br.js → unauthorized-28bmiwAU.js} +1 -1
  218. codex/static_root/assets/unauthorized-28bmiwAU.js.br +0 -0
  219. codex/static_root/assets/unauthorized-28bmiwAU.js.gz +0 -0
  220. codex/static_root/assets/{user-tab-CZNFTTEI.f3940a75daae.js → user-tab-BOq4BMMc.b64ac15dd772.js} +1 -1
  221. codex/static_root/assets/user-tab-BOq4BMMc.b64ac15dd772.js.br +0 -0
  222. codex/static_root/assets/user-tab-BOq4BMMc.b64ac15dd772.js.gz +0 -0
  223. codex/static_root/assets/{user-tab-CZNFTTEI.js → user-tab-BOq4BMMc.js} +1 -1
  224. codex/static_root/assets/user-tab-BOq4BMMc.js.br +0 -0
  225. codex/static_root/assets/user-tab-BOq4BMMc.js.gz +0 -0
  226. codex/static_root/{manifest.6ef112683dae.json → manifest.ad9da9714e46.json} +233 -233
  227. codex/static_root/manifest.ad9da9714e46.json.br +0 -0
  228. codex/static_root/manifest.ad9da9714e46.json.gz +0 -0
  229. codex/static_root/manifest.json +233 -233
  230. codex/static_root/manifest.json.br +0 -0
  231. codex/static_root/manifest.json.gz +0 -0
  232. codex/static_root/staticfiles.json +1 -1
  233. codex/views/browser/base.py +1 -1
  234. codex/views/browser/browser.py +0 -7
  235. codex/views/browser/browser_annotations.py +38 -27
  236. codex/views/browser/filters/field.py +3 -1
  237. {codex-1.6.0a5.dist-info → codex-1.6.0a6.dist-info}/METADATA +1 -1
  238. {codex-1.6.0a5.dist-info → codex-1.6.0a6.dist-info}/RECORD +241 -239
  239. codex/static_root/assets/VCheckbox-BF_99tgB.7fe59e56d9d4.js.br +0 -0
  240. codex/static_root/assets/VCheckbox-BF_99tgB.7fe59e56d9d4.js.gz +0 -0
  241. codex/static_root/assets/VCheckbox-BF_99tgB.js.br +0 -0
  242. codex/static_root/assets/VCheckbox-BF_99tgB.js.gz +0 -0
  243. codex/static_root/assets/VCheckboxBtn-Coc7g8m7.31e1e6aa44c9.js.br +0 -0
  244. codex/static_root/assets/VCheckboxBtn-Coc7g8m7.31e1e6aa44c9.js.gz +0 -0
  245. codex/static_root/assets/VCheckboxBtn-Coc7g8m7.js.br +0 -0
  246. codex/static_root/assets/VCheckboxBtn-Coc7g8m7.js.gz +0 -0
  247. codex/static_root/assets/VCombobox-CTRWnOuM.0f00903c2ebc.js.br +0 -0
  248. codex/static_root/assets/VCombobox-CTRWnOuM.0f00903c2ebc.js.gz +0 -0
  249. codex/static_root/assets/VCombobox-CTRWnOuM.js.br +0 -0
  250. codex/static_root/assets/VCombobox-CTRWnOuM.js.gz +0 -0
  251. codex/static_root/assets/VDialog-pzwzInEh.51acf566a069.js.br +0 -0
  252. codex/static_root/assets/VDialog-pzwzInEh.51acf566a069.js.gz +0 -0
  253. codex/static_root/assets/VDialog-pzwzInEh.js.br +0 -0
  254. codex/static_root/assets/VDialog-pzwzInEh.js.gz +0 -0
  255. codex/static_root/assets/VExpansionPanels-CKSq1GpG.0ecf702c5b67.js.br +0 -0
  256. codex/static_root/assets/VExpansionPanels-CKSq1GpG.0ecf702c5b67.js.gz +0 -0
  257. codex/static_root/assets/VExpansionPanels-CKSq1GpG.js.br +0 -0
  258. codex/static_root/assets/VExpansionPanels-CKSq1GpG.js.gz +0 -0
  259. codex/static_root/assets/VRadioGroup-CW5GobGU.b72925bca3de.js.br +0 -0
  260. codex/static_root/assets/VRadioGroup-CW5GobGU.b72925bca3de.js.gz +0 -0
  261. codex/static_root/assets/VRadioGroup-CW5GobGU.js.br +0 -0
  262. codex/static_root/assets/VRadioGroup-CW5GobGU.js.gz +0 -0
  263. codex/static_root/assets/VSelect-ChOlLRyH.00b11751b25e.js.br +0 -0
  264. codex/static_root/assets/VSelect-ChOlLRyH.00b11751b25e.js.gz +0 -0
  265. codex/static_root/assets/VSelect-ChOlLRyH.js.br +0 -0
  266. codex/static_root/assets/VSelect-ChOlLRyH.js.gz +0 -0
  267. codex/static_root/assets/VSelectionControl-DKOhc2zB.061dca094303.js.br +0 -0
  268. codex/static_root/assets/VSelectionControl-DKOhc2zB.061dca094303.js.gz +0 -0
  269. codex/static_root/assets/VSelectionControl-DKOhc2zB.js.br +0 -0
  270. codex/static_root/assets/VSelectionControl-DKOhc2zB.js.gz +0 -0
  271. codex/static_root/assets/VSlideGroup-zFz5_byd.e0e246b7acbb.js.br +0 -0
  272. codex/static_root/assets/VSlideGroup-zFz5_byd.e0e246b7acbb.js.gz +0 -0
  273. codex/static_root/assets/VSlideGroup-zFz5_byd.js.br +0 -0
  274. codex/static_root/assets/VSlideGroup-zFz5_byd.js.gz +0 -0
  275. codex/static_root/assets/VTable-FKMTcdkF.6c1eed84d25e.js.br +0 -0
  276. codex/static_root/assets/VTable-FKMTcdkF.6c1eed84d25e.js.gz +0 -0
  277. codex/static_root/assets/VTable-FKMTcdkF.js.br +0 -0
  278. codex/static_root/assets/VTable-FKMTcdkF.js.gz +0 -0
  279. codex/static_root/assets/VTextField-Dftcik85.cb2f1dda87e1.js.br +0 -0
  280. codex/static_root/assets/VTextField-Dftcik85.cb2f1dda87e1.js.gz +0 -0
  281. codex/static_root/assets/VTextField-Dftcik85.js.br +0 -0
  282. codex/static_root/assets/VTextField-Dftcik85.js.gz +0 -0
  283. codex/static_root/assets/VWindowItem-CYCwnt3s.28025dc36c6a.js.br +0 -0
  284. codex/static_root/assets/VWindowItem-CYCwnt3s.28025dc36c6a.js.gz +0 -0
  285. codex/static_root/assets/VWindowItem-CYCwnt3s.js.br +0 -0
  286. codex/static_root/assets/VWindowItem-CYCwnt3s.js.gz +0 -0
  287. codex/static_root/assets/admin-DH_DrB0F.dc45fb726e07.js.br +0 -0
  288. codex/static_root/assets/admin-DH_DrB0F.dc45fb726e07.js.gz +0 -0
  289. codex/static_root/assets/admin-DH_DrB0F.js.br +0 -0
  290. codex/static_root/assets/admin-DH_DrB0F.js.gz +0 -0
  291. codex/static_root/assets/admin-drawer-panel-B2rmpAVA.a9e72fbfdadc.js.br +0 -0
  292. codex/static_root/assets/admin-drawer-panel-B2rmpAVA.a9e72fbfdadc.js.gz +0 -0
  293. codex/static_root/assets/admin-drawer-panel-B2rmpAVA.js.br +0 -0
  294. codex/static_root/assets/admin-drawer-panel-B2rmpAVA.js.gz +0 -0
  295. codex/static_root/assets/browser-CpppBvim.a1b5d4fe97b1.css +0 -1
  296. codex/static_root/assets/browser-CpppBvim.a1b5d4fe97b1.css.br +0 -0
  297. codex/static_root/assets/browser-CpppBvim.a1b5d4fe97b1.css.gz +0 -0
  298. codex/static_root/assets/browser-CpppBvim.css +0 -1
  299. codex/static_root/assets/browser-CpppBvim.css.br +0 -0
  300. codex/static_root/assets/browser-CpppBvim.css.gz +0 -0
  301. codex/static_root/assets/browser-lKU7rqLd.cdb86e625ed9.js.br +0 -0
  302. codex/static_root/assets/browser-lKU7rqLd.cdb86e625ed9.js.gz +0 -0
  303. codex/static_root/assets/browser-lKU7rqLd.js.br +0 -0
  304. codex/static_root/assets/browser-lKU7rqLd.js.gz +0 -0
  305. codex/static_root/assets/change-password-dialog-BIBG6Bk8.3583021c124a.js.br +0 -0
  306. codex/static_root/assets/change-password-dialog-BIBG6Bk8.3583021c124a.js.gz +0 -0
  307. codex/static_root/assets/change-password-dialog-BIBG6Bk8.js.br +0 -0
  308. codex/static_root/assets/change-password-dialog-BIBG6Bk8.js.gz +0 -0
  309. codex/static_root/assets/confirm-dialog-DARLmXRf.53fc6938fb8c.js.br +0 -0
  310. codex/static_root/assets/confirm-dialog-DARLmXRf.53fc6938fb8c.js.gz +0 -0
  311. codex/static_root/assets/confirm-dialog-DARLmXRf.js.br +0 -0
  312. codex/static_root/assets/confirm-dialog-DARLmXRf.js.gz +0 -0
  313. codex/static_root/assets/datetime-column-LpLgWpkf.16ce3324970f.js.br +0 -0
  314. codex/static_root/assets/datetime-column-LpLgWpkf.16ce3324970f.js.gz +0 -0
  315. codex/static_root/assets/datetime-column-LpLgWpkf.js.br +0 -0
  316. codex/static_root/assets/datetime-column-LpLgWpkf.js.gz +0 -0
  317. codex/static_root/assets/filter-jRB1Ob6r.6a559a53e805.js.br +0 -0
  318. codex/static_root/assets/filter-jRB1Ob6r.6a559a53e805.js.gz +0 -0
  319. codex/static_root/assets/filter-jRB1Ob6r.js.br +0 -0
  320. codex/static_root/assets/filter-jRB1Ob6r.js.gz +0 -0
  321. codex/static_root/assets/flag-tab-mYS2wg5e.17829c46cae9.js.br +0 -0
  322. codex/static_root/assets/flag-tab-mYS2wg5e.17829c46cae9.js.gz +0 -0
  323. codex/static_root/assets/flag-tab-mYS2wg5e.js.br +0 -0
  324. codex/static_root/assets/flag-tab-mYS2wg5e.js.gz +0 -0
  325. codex/static_root/assets/group-tab-MK1lcjUU.98406d5babdc.js.br +0 -0
  326. codex/static_root/assets/group-tab-MK1lcjUU.98406d5babdc.js.gz +0 -0
  327. codex/static_root/assets/group-tab-MK1lcjUU.js.br +0 -0
  328. codex/static_root/assets/group-tab-MK1lcjUU.js.gz +0 -0
  329. codex/static_root/assets/http-error-HFeYnF0n.a3c578a0265e.js.br +0 -0
  330. codex/static_root/assets/http-error-HFeYnF0n.a3c578a0265e.js.gz +0 -0
  331. codex/static_root/assets/http-error-HFeYnF0n.js.br +0 -0
  332. codex/static_root/assets/http-error-HFeYnF0n.js.gz +0 -0
  333. codex/static_root/assets/library-tab-DYeEBYlT.a2a2ef088d1c.js.br +0 -0
  334. codex/static_root/assets/library-tab-DYeEBYlT.a2a2ef088d1c.js.gz +0 -0
  335. codex/static_root/assets/library-tab-DYeEBYlT.js.br +0 -0
  336. codex/static_root/assets/library-tab-DYeEBYlT.js.gz +0 -0
  337. codex/static_root/assets/main-gSW7TFDY.329223b148d4.js.br +0 -0
  338. codex/static_root/assets/main-gSW7TFDY.329223b148d4.js.gz +0 -0
  339. codex/static_root/assets/main-gSW7TFDY.js.br +0 -0
  340. codex/static_root/assets/main-gSW7TFDY.js.gz +0 -0
  341. codex/static_root/assets/pagination-toolbar-Dlm70Bhs.8f23f8bd9a05.js.br +0 -0
  342. codex/static_root/assets/pagination-toolbar-Dlm70Bhs.8f23f8bd9a05.js.gz +0 -0
  343. codex/static_root/assets/pagination-toolbar-Dlm70Bhs.js.br +0 -0
  344. codex/static_root/assets/pagination-toolbar-Dlm70Bhs.js.gz +0 -0
  345. codex/static_root/assets/pdf-doc-BTdS9hUz.7c966524280a.js.br +0 -0
  346. codex/static_root/assets/pdf-doc-BTdS9hUz.7c966524280a.js.gz +0 -0
  347. codex/static_root/assets/pdf-doc-BTdS9hUz.js.br +0 -0
  348. codex/static_root/assets/pdf-doc-BTdS9hUz.js.gz +0 -0
  349. codex/static_root/assets/reader-BtSTIETq.f940f66c0e58.js.br +0 -0
  350. codex/static_root/assets/reader-BtSTIETq.f940f66c0e58.js.gz +0 -0
  351. codex/static_root/assets/reader-BtSTIETq.js.br +0 -0
  352. codex/static_root/assets/reader-BtSTIETq.js.gz +0 -0
  353. codex/static_root/assets/reader-CF3xt6JG.19fad7f62450.css.br +0 -0
  354. codex/static_root/assets/reader-CF3xt6JG.19fad7f62450.css.gz +0 -0
  355. codex/static_root/assets/reader-CF3xt6JG.css.br +0 -0
  356. codex/static_root/assets/reader-CF3xt6JG.css.gz +0 -0
  357. codex/static_root/assets/relation-chips-C4Ob7ySi.95855a010f4a.js.br +0 -0
  358. codex/static_root/assets/relation-chips-C4Ob7ySi.95855a010f4a.js.gz +0 -0
  359. codex/static_root/assets/relation-chips-C4Ob7ySi.js.br +0 -0
  360. codex/static_root/assets/relation-chips-C4Ob7ySi.js.gz +0 -0
  361. codex/static_root/assets/settings-drawer-BJOfMtqA.6471a50fc05b.css.br +0 -0
  362. codex/static_root/assets/settings-drawer-BJOfMtqA.6471a50fc05b.css.gz +0 -0
  363. codex/static_root/assets/settings-drawer-BJOfMtqA.css.br +0 -0
  364. codex/static_root/assets/settings-drawer-BJOfMtqA.css.gz +0 -0
  365. codex/static_root/assets/settings-drawer-xSctoxZn.4ce8afcb879a.js.br +0 -0
  366. codex/static_root/assets/settings-drawer-xSctoxZn.4ce8afcb879a.js.gz +0 -0
  367. codex/static_root/assets/settings-drawer-xSctoxZn.js.br +0 -0
  368. codex/static_root/assets/settings-drawer-xSctoxZn.js.gz +0 -0
  369. codex/static_root/assets/stats-tab-C_uC_U7o.e6b014b6e8c6.js.br +0 -0
  370. codex/static_root/assets/stats-tab-C_uC_U7o.e6b014b6e8c6.js.gz +0 -0
  371. codex/static_root/assets/stats-tab-C_uC_U7o.js.br +0 -0
  372. codex/static_root/assets/stats-tab-C_uC_U7o.js.gz +0 -0
  373. codex/static_root/assets/task-tab-VIpy1Ula.c07877250c88.js.br +0 -0
  374. codex/static_root/assets/task-tab-VIpy1Ula.c07877250c88.js.gz +0 -0
  375. codex/static_root/assets/task-tab-VIpy1Ula.js.br +0 -0
  376. codex/static_root/assets/task-tab-VIpy1Ula.js.gz +0 -0
  377. codex/static_root/assets/unauthorized-kEuFL5br.475729603aeb.js.br +0 -0
  378. codex/static_root/assets/unauthorized-kEuFL5br.475729603aeb.js.gz +0 -0
  379. codex/static_root/assets/unauthorized-kEuFL5br.js.br +0 -0
  380. codex/static_root/assets/unauthorized-kEuFL5br.js.gz +0 -0
  381. codex/static_root/assets/user-tab-CZNFTTEI.f3940a75daae.js.br +0 -0
  382. codex/static_root/assets/user-tab-CZNFTTEI.f3940a75daae.js.gz +0 -0
  383. codex/static_root/assets/user-tab-CZNFTTEI.js.br +0 -0
  384. codex/static_root/assets/user-tab-CZNFTTEI.js.gz +0 -0
  385. codex/static_root/manifest.6ef112683dae.json.br +0 -0
  386. codex/static_root/manifest.6ef112683dae.json.gz +0 -0
  387. {codex-1.6.0a5.dist-info → codex-1.6.0a6.dist-info}/LICENSE +0 -0
  388. {codex-1.6.0a5.dist-info → codex-1.6.0a6.dist-info}/WHEEL +0 -0
  389. {codex-1.6.0a5.dist-info → codex-1.6.0a6.dist-info}/entry_points.txt +0 -0
@@ -1,2 +1,2 @@
1
- const __vite__fileDeps=["assets/pdf-doc-BTdS9hUz.js","assets/admin-drawer-panel-B2rmpAVA.js","assets/admin-drawer-panel-BHdNPwzF.css","assets/main-gSW7TFDY.js","assets/main-sK7HC5h4.css","assets/index-DUjeNg4x.js","assets/pagination-toolbar-Dlm70Bhs.js","assets/VSelect-ChOlLRyH.js","assets/VTextField-Dftcik85.js","assets/VDialog-pzwzInEh.js","assets/VDialog-C5Nxd_zP.css","assets/VSelectionControl-DKOhc2zB.js","assets/VSelectionControl-BFq--28I.css","assets/VTextField-BssVoDhB.css","assets/VCheckboxBtn-Coc7g8m7.js","assets/VSlideGroup-zFz5_byd.js","assets/VSlideGroup-Dk_1upHt.css","assets/VSelect-MGVSeLgr.css","assets/to-case-kUm8NPpW.js","assets/unauthorized-kEuFL5br.js","assets/change-password-dialog-BIBG6Bk8.js","assets/change-password-dialog-HvIvmmIE.css","assets/unauthorized-DHV6Q1n-.css","assets/settings-drawer-xSctoxZn.js","assets/settings-drawer-BJOfMtqA.css","assets/pagination-toolbar-ClZui9Zf.css","assets/VWindowItem-CYCwnt3s.js","assets/VWindowItem-ByIod57Y.css","assets/VExpansionPanels-CKSq1GpG.js","assets/VExpansionPanels-DsEXVcCv.css","assets/VRadioGroup-CW5GobGU.js","assets/VRadioGroup-i2qP9Wu9.css","assets/VCheckbox-BF_99tgB.js","assets/VCheckbox-CMKdyl0R.css","assets/pdf-doc-CMzaSV_K.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);
2
- import{l as $e,bw as Oe,bx as Ne,ag as P,N as v,O as b,_ as f,Q as g,R as d,P as p,T as c,L as l,ah as R,ad as k,ai as _,ae as B,aD as w,aA as S,aS as ce,M as T,by as Ve,bz as Ee,ap as W,bA as ue,bB as de,aC as he,bC as ge,bD as Ae,b1 as Fe,b0 as D,bt as ze,aB as V,bo as pe,aN as i,a_ as Ue,bE as Me,bF as We,k as q,aj as Y,ak as H,bG as He,bH as je,bI as Ge,bJ as qe,bK as Ke,aO as Ye,aP as Xe,aJ as Qe,m as I,bL as Je,ao as me,aQ as X,bM as Ze,bN as et,bf as tt,af as ot,bO as st,bh as rt,bP as at,b3 as Q,bk as nt,bQ as it}from"./admin-drawer-panel-B2rmpAVA.js";import{t as lt}from"./index-DUjeNg4x.js";import{C as O,r as J,B as Z,_ as ct,a as ke}from"./main-gSW7TFDY.js";import{g as ut,A as F,h as j,i as dt,j as ht,T as gt,M as pt,V as z,c as mt,P as fe,d as kt,e as ft}from"./pagination-toolbar-Dlm70Bhs.js";import{d as bt,b as _t,S as Pt,V as vt,a as St}from"./settings-drawer-xSctoxZn.js";import{P as wt,a as be,U as Rt,V as Ct}from"./unauthorized-kEuFL5br.js";import{b as _e,V as Pe}from"./VWindowItem-CYCwnt3s.js";import{b as Bt}from"./VSelect-ChOlLRyH.js";import{V as Tt,a as yt,b as Dt,c as It}from"./VExpansionPanels-CKSq1GpG.js";import{V as L,a as U}from"./VRadioGroup-CW5GobGU.js";import{V as M}from"./VCheckbox-BF_99tgB.js";const ve={fitTo:"",twoPages:null,readingDirection:"",readRtlInReverse:null};Object.freeze(ve);const Se={cacheBook:!1};Object.freeze(Se);const N=new Set(["",null,void 0]);Object.freeze(N);const we={prev:"next",next:"prev"};Object.freeze(we);const G={rel:"prefetch",as:"image"};Object.freeze(G);const K=new Set(["ttb","btt"]);Object.freeze(K);const Re=new Set(["rtl","btt"]);Object.freeze(Re);const y=1,Ce={S:"Screen",W:"Width",H:"Height",O:"Original"};Object.freeze(Ce);const Lt=()=>Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)>600?"HEIGHT":"WIDTH",ee=e=>{K.has(e.readingDirection)&&e.twoPages&&(e.twoPages=!1)},u=$e("reader",{state:()=>({choices:{fitTo:O.reader.fitTo,readingDirection:O.reader.readingDirection,nullValues:N},readerSettings:{fitTo:Lt(),twoPages:!1,readingDirection:"ltr",readRtlInReverse:!1},books:{current:void 0,prev:!1,next:!1},arcs:[],arc:{},empty:!1,page:void 0,routes:{prev:!1,next:!1,books:{prev:!1,next:!1},close:O.browser.breadcrumbs[0]},bookChange:void 0,reactWithScroll:!1,clientSettings:{cacheBook:!1,scale:y}}),getters:{groupBooks(e){const t=[];return e.books.prev[0]&&t.push[e.books.prev[0]],t.push[e.books.current],e.books.next[0]&&t.push[e.books.next[0]],t},activeSettings(e){return e.getSettings(e.books.current)||{}},activeTitle(e){var n;const t=e.books.current;let o;return t?(((n=e.arcs[0])==null?void 0:n.group)!="f"&&(o=ut(t)),o||(o=t.filename||"")):o="",o},routeParams(e){return{pk:+e.books.current.pk,page:+e.page}},isVertical(e){return K.has(e.activeSettings.readingDirection)},isPDF(e){var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.fileType)=="PDF"},cacheBook(e){return e.clientSettings.cacheBook&&!(this.isPDF&&this.isVertical)},isPagesNotRoutes(e){return e.isVertical||this.cacheBook},isReadInReverse(e){return Re.has(e.activeSettings.readingDirection)},isBTT(e){return e.activeSettings.readingDirection==="btt"},isFirstPage(e){return e.page===0},isLastPage(e){const t=e.books.current?e.books.current.maxPage:0,o=e.activeSettings.twoPages?1:0,n=t-o;return this.page>=n}},actions:{setReadRTLInReverse(e){return this.readerSettings.readRtlInReverse&&e.readingDirection==="rtl"?{...e,readingDirection:"ltr"}:e},getSettings(e){const t={...N};let o=e?e.settings:{};o=this.setReadRTLInReverse(o);const n=[this.readerSettings,o];for(const r of n)for(const[s,a]of Object.entries(r))N.has(a)||(t[s]=a);return ee(t),t},bookChangeLocation(e){let t;return this.isBTT?t=e==="next"?"left":"right":t=e==="next"?"right":"left",t},bookChangeCursorClass(e){let t;return this.isReadInReverse?t=e==="next"?"up":"down":t=e==="next"?"down":"up",t+"Cursor"},bookChangeShow(e){return e==="prev"?this.books.prev&&this.isFirstPage:this.books.next&&this.isLastPage},bookChangeIcon(e){let t=e==="next";return this.isBTT&&(t=!t),t?Oe:Ne},isCoverPage(e,t){return e.readLtr!==!1&&t===0||e.readLtr&&t===e.maxPage},_getRouteParams(e,t,o){const n=o==="prev"?-1:1;let r=1;this.getSettings(e).twoPages&&!this.isCoverPage(e,+t+n)&&(r=2),r=r*n;const a=+t+r;let h=!1;return a>=0&&a<=e.maxPage&&(h={pk:e.pk,page:a}),h},fitToClass(e){const t=this.getSettings(e),o={};let n;if(this.clientSettings.scale>y?n="Orig":n=Ce[t.fitTo],n){let r="fitTo";r+=lt(n),this.isVertical?r+="Vertical":t.twoPages&&(r+="Two"),o[r]=!0}return o},_updateSettings(e,t){t?(this.books.current.settings={...this.books.current.settings,...e},ee(this.books.current.settings)):this.readerSettings={...this.readerSettings,...e}},_getBookRoutePage(e,t){let o=0;if(t&&e.readLtr!==!1||!t&&e.readLtr===!1){const r=this.getSettings(e).twoPages?-1:0;o=e.maxPage+r}return o},_getBookRoute(e,t){if(!e)return!1;const o=this._getBookRoutePage(e,t);return{pk:e.pk,page:o}},_getBookRoutes(e,t){return{prev:this._getBookRoute(e,!0),next:this._getBookRoute(t,!1)}},async setRoutesAndBookmarkPage(e){const t=this.books.current;this.$patch(o=>{o.routes.prev=this._getRouteParams(t,e,"prev"),o.routes.next=this._getRouteParams(t,e,"next")}),await this._setBookmarkPage(e).then(()=>(this.bookChange=void 0,!0))},setActivePage(e,t=!0){if(e<0)return console.warn("Page out of bounds. Redirecting to 0."),this.routeToPage(0);if(e>this.books.current.maxPage)return console.warn(`Page out of bounds. Redirecting to ${this.books.current.maxPage}.`),this.routeToPage(this.books.current.maxPage);if(this.reactWithScroll=!!t,this.page=+e,this.setRoutesAndBookmarkPage(e),this.isPagesNotRoutes){const o={params:{pk:this.books.current.pk,page:e}},{href:n}=J.resolve(o);window.history.pushState({},void 0,n)}else window.scrollTo(0,0)},async loadReaderSettings(){return F.getReaderSettings().then(e=>{const t=e.data;return this._updateSettings(t,!1),this.empty=!1,!0}).catch(console.error)},async loadBooks(e){await F.getReaderInfo(e).then(t=>{const o=t.data,n=[o.books.prevBook,o.books.current,o.books.nextBook];for(const s of n)s&&!s.settings&&(s.settings={});const r=this._getBookRoutes(o.books.prevBook,o.books.nextBook);return this.$patch(s=>{s.books.current=o.books.current,s.books.prev=o.books.prevBook,s.books.next=o.books.nextBook,s.arcs=o.arcs,s.arc=o.arc,s.routes.prev=this._getRouteParams(s.books.current,e.page,"prev"),s.routes.next=this._getRouteParams(s.books.current,e.page,"next"),s.routes.books=r,s.routes.close=o.closeRoute,s.empty=!1}),!0}).catch(t=>{console.debug(t),this.empty=!0})},async _setBookmarkPage(e){const t={group:"c",ids:[+this.books.current.pk]};e=Math.max(Math.min(this.books.current.maxPage,e),0);const o={page:e};await Z.setGroupBookmarks(t,o)},async setSettingsLocal(e){this._updateSettings(e,!0);const t={group:"c",ids:[+this.books.current.pk]};await Z.setGroupBookmarks(t,this.books.current.settings)},setSettingsClient(e){this.clientSettings={...this.clientSettings,...e}},async clearSettingsLocal(){await this.setSettingsLocal(ve),this.setSettingsClient(Se)},async setSettingsGlobal(e){this._updateSettings(e,!1),await F.setReaderSettings(this.readerSettings),await this.clearSettingsLocal()},setBookChangeFlag(e){e=this.normalizeDirection(e),this.bookChange=this.routes.books[e]?e:void 0},normalizeDirection(e){return this.isReadInReverse?we[e]:e},_validateRoute(e,t){if(t||(t=this.books.current),!t)return{};const o=t.maxPage??0;return e.page>o?(e.page=o,console.warn("Tried to navigate past the end of the book.")):e.page<0&&(e.page=0,console.warn("Tried to navigate before the beginning of the book.")),e},_routeTo(e,t){if(e=this._validateRoute(e,t),this.isPagesNotRoutes&&+e.pk===this.books.current.pk)this.setActivePage(+e.page,!0);else{const o={name:"reader",params:e};J.push(o).catch(console.debug)}},routeToDirectionOne(e){e=this.normalizeDirection(e);const t=e==="prev"?-1:1,o=this.page+=t;if(o<0||o>this.books.current.maxPage)return;const n={pk:this.books.current.pk,page:o};this._routeTo(n)},routeToDirection(e){if(e=this.normalizeDirection(e),this.routes[e]){const t=this.routes[e];this._routeTo(t)}else this.routes.books[e]?this.bookChange===e?this._routeTo(this.routes.books[e],this.books[e]):this.setBookChangeFlag(e):console.debug("No route to direction",e)},routeToPage(e){const t={pk:this.books.current.pk,page:e};this._routeTo(t)},routeToBook(e){this._routeTo(this.routes.books[e],this.books[e])},_prefetchSrc(e,t,o=!1,n=!1){if(!e)return!1;const r=o?this.books[t]:this.books.current;if(!r)return!1;let s=e.page;if(n){if(!this.getSettings(r).twoPages)return!1;s+=1}if(s>r.maxPage)return!1;const a={pk:e.pk,page:s,mtime:r.mtime};return j(a)},prefetchLinks(e,t,o=!1){if(!o&&this.cacheBook)return{};const n=[this._prefetchSrc(e,t,o,!1),this._prefetchSrc(e,t,o,!0)],r=[];for(const s of n)s&&r.push({...G,href:s});return{link:r}},prefetchBook(e){if(!this.cacheBook||e.fileType=="PDF")return{};const t=e.pk,o=[];for(let n=0;n<=e.maxPage;n++){const r={pk:t,page:n,mtime:e.mtime},s=j(r);s&&o.push({...G,href:s})}return{link:o}},toRoute(e){return e?{params:e}:{}},linkLabel(e,t){return`${e==="prev"?"Previous":"Next"} ${t}`}}}),xt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(u,["isBTT"]),...v(u,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.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:{...b(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function $t(e,t,o,n,r,s){const a=g("router-link");return s.show?(d(),p(bt,{key:0,class:B(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:s.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:c(()=>[l(a,{class:B({navLink:!0,[s.cursorClass]:!0}),to:s.route,"aria-label":s.label,title:s.label,onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},{default:c(()=>[l(R,{class:"bookChangeIcon"},{default:c(()=>[k(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):w("",!0)}const Ot=f(xt,[["render",$t],["__scopeId","data-v-03e41a14"]]),Nt={name:"BookChangeActivator",components:{BookChangeDrawer:Ot},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:{...b(u,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function Vt(e,t,o,n,r,s){const a=g("BookChangeDrawer");return d(),S(T,null,[s.show?(d(),S("div",{key:0,class:B(["bookChangeColumn",{[s.positionClass]:!0,[s.cursorClass]:!0}]),onClick:t[0]||(t[0]=ce(h=>e.setBookChangeFlag(o.direction),["stop"]))},null,2)):w("",!0),l(a,{direction:o.direction},null,8,["direction"])],64)}const Et=f(Nt,[["render",Vt],["__scopeId","data-v-db3eb561"]]),At={name:"LoadingPage",components:{Placeholder:wt},props:{twoPages:{type:Boolean,required:!0}}};function Ft(e,t,o,n,r,s){const a=g("Placeholder");return d(),S("div",{class:B(["pageLoading",{twoPages:o.twoPages}])},[l(a,{class:"pagePlaceholder"})],2)}const zt=f(At,[["render",Ft],["__scopeId","data-v-04027168"]]),te="unauthorized",Ut={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===te?"Protected page":"Failed to load page"},icon(){return this.type===te?Ve:Ee}}};function Mt(e,t,o,n,r,s){return d(),p(be,{class:B(["pageError",{twoPages:o.twoPages}]),headline:s.text,icon:s.icon},null,8,["class","headline","icon"])}const Wt=f(Ut,[["render",Mt],["__scopeId","data-v-417a4cab"]]),Ht={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(u,{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 o=t.naturalWidth/2;return e.transformOrigin=`${o}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...b(u,["fitToClass"])}},jt=["src"];function Gt(e,t,o,n,r,s){return d(),S("img",W({class:[s.classes,"img"],draggable:"false",src:o.src,style:s.style},e.$attrs,{onError:t[0]||(t[0]=a=>e.$emit("error",a)),onLoad:t[1]||(t[1]=a=>e.$emit("load",a))}),null,16,jt)}const oe=f(Ht,[["render",Gt],["__scopeId","data-v-559e2ecc"]]),se=ue(de(()=>ct(()=>import("./pdf-doc-BTdS9hUz.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])))),qt=333,Kt={name:"BookPage",components:{ErrorPage:Wt,LoadingPage:zt,PDFDoc:se,ImgPage:oe},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...P(u,["isVertical"]),...v(u,{scale:e=>e.clientSettings.scale}),style(){var o;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(o=this.$refs.pageComponent)==null?void 0:o.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return j(e)},component(){return this.book.fileType==="PDF"?se:oe},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},qt)},methods:{...b(u,["getSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1}}},Yt=["id","data-page"];function Xt(e,t,o,n,r,s){const a=g("ErrorPage"),h=g("LoadingPage");return d(),S("div",{id:`page${o.page}`,"data-page":o.page,class:"page",style:ge(s.style)},[r.error?(d(),p(a,{key:0,"two-pages":s.settings.twoPages,type:r.error},null,8,["two-pages","type"])):r.showProgress&&!r.loaded?(d(),p(h,{key:1,"two-pages":s.settings.twoPages},null,8,["two-pages"])):(d(),p(he(s.component),{key:2,ref:"pageComponent",book:o.book,page:1,src:s.src,onError:s.onError,onLoad:s.onLoad,onUnauthorized:s.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Yt)}const Be=f(Kt,[["render",Xt],["__scopeId","data-v-87996fa1"]]),Qt=.5,Jt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:Ae}},computed:{...v(u,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=y},style(){return{cursor:this.scale==y?"zoom-in":"all-scroll"}}},methods:{...b(u,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Qt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:y})}}};function Zt(e,t,o,n,r,s){const a=Fe("drag-scroller");return D((d(),S("div",{class:"scaleForScroll",style:ge(s.style),onDblclick:t[0]||(t[0]=(...h)=>s.onDoubleClick&&s.onDoubleClick(...h))},[ze(e.$slots,"default",{},void 0,!0),s.showReset?(d(),p(R,{key:0,class:"resetIcon",onClick:ce(s.scaleReset,["stop"])},{default:c(()=>[k(_(r.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):w("",!0)],36)),[[a,,void 0,{onlyX:!0}]])}const Te=f(Jt,[["render",Zt],["__scopeId","data-v-b24267c0"]]),eo={name:"HorizontalPages",components:{BookPage:Be,ScaleForScroll:Te},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...P(u,["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:{...b(u,["getSettings"])}};function to(e,t,o,n,r,s){const a=g("BookPage"),h=g("ScaleForScroll");return d(),p(h,{class:"noWrap"},{default:c(()=>[s.showPageOne?(d(),p(a,{key:0,ref:"pageOne",book:o.book,page:s.pageOne,class:"horizontalPage"},null,8,["book","page"])):w("",!0),s.showPageTwo?(d(),p(a,{key:1,book:o.book,page:s.pageTwo,class:"horizontalPage"},null,8,["book","page"])):w("",!0)]),_:1})}const oo=f(eo,[["render",to],["__scopeId","data-v-9a560964"]]),so={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(u,["isVertical","isFirstPage","isLastPage"]),...v(u,{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:{...b(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function ro(e,t,o,n,r,s){const a=g("router-link");return s.show?(d(),p(a,{key:0,to:s.route,"aria-label":s.label,class:B({[s.pageChangeClass]:!0,[s.directionClass]:!0}),onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},null,8,["to","aria-label","class"])):w("",!0)}const ao=f(so,[["render",ro],["__scopeId","data-v-9ade7d96"]]),no=48,io=48,lo={name:"PagerHorizontal",components:{HorizontalPages:oo,PageChangeLink:ao},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...P(u,["isReadInReverse"]),...v(u,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),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),o=this.pages.at(-1);(e<t||e>o)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(u,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-no,0),t=Math.min(this.activePage+io,this.book.maxPage),o=ke.range(e,t+1);this.pages=o}}};function co(e,t,o,n,r,s){const a=g("PageChangeLink"),h=g("HorizontalPages");return d(),p(Pe,{"show-arrows":"",continuous:"","model-value":s.windowIndex,reverse:e.isReadInReverse},{prev:c(()=>[l(a,{direction:"prev"})]),next:c(()=>[l(a,{direction:"next"})]),default:c(()=>[(d(!0),S(T,null,V(r.pages,m=>(d(),p(_e,{key:`c/${o.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:c(()=>[l(h,{book:o.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const re=f(lo,[["render",co],["__scopeId","data-v-e04bbc00"]]);function ye(e,t){const{self:o=!1}=t.modifiers??{},n=t.value,r=typeof n=="object"&&n.options||{passive:!0},s=typeof n=="function"||"handleEvent"in n?n:n.handler,a=o?e:t.arg?document.querySelector(t.arg):window;a&&(a.addEventListener("scroll",s,r),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:s,options:r,target:o?void 0:a})}function De(e,t){var s;if(!((s=e._onScroll)!=null&&s[t.instance.$.uid]))return;const{handler:o,options:n,target:r=e}=e._onScroll[t.instance.$.uid];r.removeEventListener("scroll",o,n),delete e._onScroll[t.instance.$.uid]}function uo(e,t){t.value!==t.oldValue&&(De(e,t),ye(e,t))}const ho={mounted:ye,unmounted:De,updated:uo},go=12,ae=250,po={name:"PagerVertical",components:{BookPage:Be,ScaleForScroll:Te},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...v(u,{storePage:e=>e.page}),...pe(u,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var o;const e=(o=this.book)!=null&&o.maxPage?this.book.maxPage+1:0,t=ke.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,go)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},ae)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(u,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const n=+t[0].target.dataset.page;this.setActivePage(n,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const o=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=o&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},ae)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},mo=["data-page"];function ko(e,t,o,n,r,s){const a=g("BookPage"),h=g("ScaleForScroll");return d(),p(h,null,{default:c(()=>[D((d(),p(Bt,{id:"verticalScroll",key:s.readInReverse,ref:"verticalScroll",items:s.items,height:r.innerHeight,width:r.innerWidth},{default:c(({item:m})=>[l(a,{book:o.book,page:m,class:"verticalPage"},null,8,["book","page"]),D(i("div",{class:"pageTracker","data-page":m},null,8,mo),[[Ue,{handler:s.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ho,s.onScroll,"#verticalScroll"]])]),_:1})}const ne=f(po,[["render",ko],["__scopeId","data-v-97638fc3"]]),ie=ue(de(()=>"@/components/reader/pager/pager-full-pdf.vue")),fo={name:"PagerSelector",components:{PagerHorizontal:re,PagerPDF:ie,PagerVertical:ne},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(u,["isVertical","cacheBook"]),...v(u,{storePk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?ie:this.isVertical?ne:re}},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:{...b(u,["getSettings","setActivePage","prefetchBook"])}};function bo(e,t,o,n,r,s){return d(),p(he(s.component),{book:o.book},null,8,["book"])}const _o=f(fo,[["render",bo]]),Po={name:"BooksWindow",components:{BookChangeActivator:Et,Pager:_o},emits:["click"],computed:{...P(u,["isBTT"]),...v(u,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...b(u,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function vo(e,t,o,n,r,s){const a=g("BookChangeActivator"),h=g("Pager");return d(),p(Pe,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:s.click},{prev:c(()=>[l(a,{direction:"prev"})]),next:c(()=>[l(a,{direction:"next"})]),default:c(()=>[(d(!0),S(T,null,V(e.books,m=>(d(),p(_e,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:s.eager(m.pk),value:m.pk,transition:!0},{default:c(()=>[l(h,{book:m,onClick:s.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const So=f(Po,[["render",vo],["__scopeId","data-v-2a90783e"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Me,mdiFileImage:We}},computed:{...P(u,["activeTitle","routeParams"]),...v(u,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return dt(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return ht({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...b(q,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},Ro={key:0,id:"downloadPanel"};function Co(e,t,o,n,r,s){return e.currentBook?(d(),S("div",Ro,[l(H,{onClick:s.downloadPage},{default:c(()=>[l(Y,null,{default:c(()=>[l(R,null,{default:c(()=>[k(_(r.mdiFileImage),1)]),_:1}),k("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),l(H,{onClick:s.downloadBook},{default:c(()=>[l(Y,null,{default:c(()=>[l(R,null,{default:c(()=>[k(_(r.mdiDownload),1)]),_:1}),k("Download Book ")]),_:1})]),_:1},8,["onClick"])])):w("",!0)}const Bo=f(wo,[["render",Co],["__scopeId","data-v-9e01f4cb"]]),To={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:He,mdiMenuRight:je,mdiKeyboardOutline:Ge,mdiKeyboardSpace:qe,mdiAppleKeyboardShift:Ke}},computed:{...P(q,["isMobile"])}},C=e=>(Ye("data-v-a8b4ac47"),e=e(),Xe(),e),yo=C(()=>i("h4",null,"Navigation",-1)),Do={class:"highlight-table"},Io=C(()=>i("td",null,"Previous page",-1)),Lo=C(()=>i("td",null,"Next page",-1)),xo=C(()=>i("tr",null,[i("td",null,","),i("td",null,[k("Next "),i("em",null,"only"),k(" one page in two page mode.")])],-1)),$o=C(()=>i("tr",null,[i("td",null,"."),i("td",null,[k("Previous "),i("em",null,"only"),k(" one page in two page mode.")])],-1)),Oo=C(()=>i("tr",null,[i("td",null,"p"),i("td",null,"Previous Book")],-1)),No=C(()=>i("tr",null,[i("td",null,"n"),i("td",null,"Next Book")],-1)),Vo=C(()=>i("tr",null,[i("td",null,"esc"),i("td",null,"Close book")],-1)),Eo=C(()=>i("h4",null,"Fit Page To",-1)),Ao=C(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"s"),i("td",null,"screen")]),i("tr",null,[i("td",null,"h"),i("td",null,"screen height")]),i("tr",null,[i("td",null,"w"),i("td",null,"screen width")]),i("tr",null,[i("td",null,"o"),i("td",null,"Show page at original size")]),i("tr",null,[i("td",null,"2"),i("td",null,"Toggle two page view")]),i("tr",null,[i("td",null,"r"),i("td",null,"Read Right to Left")]),i("tr",null,[i("td",null,"l"),i("td",null,"Read Left to Right")]),i("tr",null,[i("td",null,"t"),i("td",null,"Read Top to Bottom")]),i("tr",null,[i("td",null,"b"),i("td",null,"Read in Bottom to Top")])])],-1)),Fo=C(()=>i("h4",null,"Other",-1)),zo=C(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"m"),i("td",null,"Show comic's metadata")]),i("tr",null,[i("td",null,"double click"),i("td",null,"Zoom page")])])],-1));function Uo(e,t,o,n,r,s){return e.isMobile?w("",!0):(d(),p(It,{key:0},{default:c(()=>[l(Tt,{id:"readerKeyboardShortcuts"},{default:c(()=>[l(yt,{id:"shortcutsTitle"},{default:c(()=>[l(R,{id:"keyboardIcon"},{default:c(()=>[k(_(r.mdiKeyboardOutline),1)]),_:1}),k("Keyboard Shortcuts ")]),_:1}),l(Dt,null,{default:c(()=>[yo,i("table",Do,[i("tbody",null,[i("tr",null,[i("td",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiMenuLeft),1)]),_:1}),k(", j, "),i("div",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiAppleKeyboardShift),1)]),_:1}),l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiKeyboardSpace),1)]),_:1})])]),Io]),i("tr",null,[i("td",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiMenuRight),1)]),_:1}),k(", k, "),l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiKeyboardSpace),1)]),_:1})]),Lo]),xo,$o,Oo,No,Vo])]),Eo,Ao,Fo,zo]),_:1})]),_:1})]),_:1}))}const Mo=f(To,[["render",Uo],["__scopeId","data-v-a8b4ac47"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const Wo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:Qe}},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["isVertical","isPDF","cacheBook"]),...v(u,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,o;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(o=e.books)==null?void 0:o.current.settings},isClearSettingsButtonDisabled(e){var t,o;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const n of Ie){const r=(o=e.books)==null?void 0:o.current.settings[n];if(!e.choices.nullValues.has(r))return!1}return!0},bookInBrowserURL(e){var t,o;return(t=e.books)!=null&&t.current?Je((o=e.books)==null?void 0:o.current):""}}),...pe(u,["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:{...b(u,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const o of this.choices[e])o.value&&t.push(o);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)}}},Ho={key:0,id:"readerSettings"},jo=["href"];function Go(e,t,o,n,r,s){return e.validBook?(d(),S("div",Ho,[l(U,{modelValue:r.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=a=>r.isGlobalScope=a),density:"compact",label:"Scope","hide-details":"auto"},{default:c(()=>[l(L,{label:"Only this comic",value:!1}),l(L,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),l(U,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=a=>s.settingsDialogChanged({fitTo:a}))},{default:c(()=>[(d(!0),S(T,null,V(s.fitToChoices,a=>(d(),p(L,{key:a.value,label:a.title,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l(M,{disabled:s.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]=a=>s.settingsDialogChanged({twoPages:a}))},null,8,["disabled","model-value","indeterminate"]),l(U,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=a=>s.settingsDialogChanged({readingDirection:a}))},{default:c(()=>[(d(!0),S(T,null,V(s.readingDirectionChoices,a=>(d(),p(L,{key:a.value,label:a.title,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:s.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=a=>e.setSettingsClient({cacheBook:a}))},null,8,["model-value","disabled"]),e.isPDF?(d(),S("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[l(R,null,{default:c(()=>[k(_(r.mdiOpenInNew),1)]),_:1}),k("Read PDF in Browser ")],8,jo)):w("",!0),r.isGlobalScope?(d(),p(M,{key:1,"model-value":e.selectedSettings.readRtlInReverse,class:"readRtlInReverse",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=a=>s.settingsDialogChanged({readRtlInReverse:a}))},null,8,["model-value"])):w("",!0),r.isGlobalScope?w("",!0):(d(),p(me,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:c(()=>[k(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])):w("",!0)}const qo=f(Wo,[["render",Go],["__scopeId","data-v-599636e1"]]),Ko={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:Bo,ReaderKeyboardShortcutsPanel:Mo,ReaderSettingsPanel:qo}};function Yo(e,t,o,n,r,s){const a=g("ReaderSettingsPanel"),h=g("ReaderKeyboardShortcutsPanel"),m=g("DownloadPanel");return d(),S(T,null,[l(a),l(X),l(h),l(X),l(m)],64)}const Xo=f(Ko,[["render",Yo]]),Qo={name:"ReaderSettingsDrawer",components:{SettingsDrawer:_t,ReaderSettingsSuperPanel:Xo}};function Jo(e,t,o,n,r,s){const a=g("ReaderSettingsSuperPanel"),h=g("SettingsDrawer");return d(),p(h,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:c(()=>[l(a)]),_:1})}const Zo=f(Qo,[["render",Jo]]),le={a:et,f:tt,s:ot},es={a:"Story Arc",f:"Folder",s:"Series"},ts={name:"ReaderArcSelect",components:{ToolbarSelect:gt},computed:{...v(u,{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 o of e.arcs){const n={value:o,title:o.name,group:o.group,subtitle:es[o.group],prependIcon:le[o.group]};t.push(n)}return t}})},methods:{...b(u,["loadBooks"]),arcIcon(e){return le[e]},checkIcon(e){return e===this.arc?Ze:""},onUpdate(e){const t=this.$route.params;if(!t)return;const o={group:e.group,pks:e.pks},n={...t,arc:o};this.loadBooks(n)}}},os={id:"arcPos"};function ss(e,t,o,n,r,s){const a=g("ToolbarSelect");return d(),p(a,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":s.onUpdate},{item:c(({item:h,props:m})=>[l(H,W(m,{density:"compact",variant:"plain","prepend-icon":h.raw.prependIcon,subtitle:h.raw.subtitle,"append-icon":s.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:c(({item:h,props:m})=>[l(R,W({size:"large"},m,{class:"arcSelectIcon"}),{default:c(()=>[k(_(s.arcIcon(h.raw.group)),1)]),_:2},1040),i("span",os,_(e.arc.index)+" / "+_(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const rs=f(ts,[["render",ss],["__scopeId","data-v-42a57aca"]]),as={name:"ReaderTitleToolbar",components:{MetadataDialog:pt,ReaderArcSelect:rs,SettingsDrawerButton:Pt},data(){return{mdiClose:st,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["activeTitle"]),...v(u,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},closeRoute:e=>e.routes.close,empty:e=>e.empty,subtitle:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.name)||""}}),closeBookRoute(){var t;const e={name:"browser",params:this.closeRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||O.browser.breadcrumbs[0],e},title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(q,["setTimestamp"]),...b(u,["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}}}},ns={id:"title"},is={key:0,id:"subtitle"};function ls(e,t,o,n,r,s){const a=g("ReaderArcSelect"),h=g("MetadataDialog"),m=g("SettingsDrawerButton");return d(),p(St,{id:"readerToolbarTop",density:"compact","extension-height":s.extensionHeight},rt({default:c(()=>[l(z,null,{default:c(()=>[l(me,{ref:"closeBook",class:"closeBook",to:s.closeBookRoute,size:"large",density:"compact",variant:"plain",onClick:s.onCloseBook},{default:c(()=>[k(" close book ")]),_:1},8,["to","onClick"])]),_:1}),l(mt),e.empty?w("",!0):(d(),p(z,{key:0},{default:c(()=>[l(a),l(h,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),l(z,null,{default:c(()=>[l(m)]),_:1})]),_:2},[s.title?{name:"extension",fn:c(()=>[l(vt,{class:"readerTitle"},{default:c(()=>[i("div",ns,_(s.title),1),e.subtitle?(d(),S("div",is,_(e.subtitle),1)):w("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])}const Le=f(as,[["render",ls],["__scopeId","data-v-0217ea46"]]),cs={name:"ReaderEmpty",components:{ReaderTopToolbar:Le},data(){return{mdiBookRemoveOutline:at}}};function us(e,t,o,n,r,s){const a=g("ReaderTopToolbar");return d(),S(T,null,[l(a),l(be,{class:"empty",headline:"Book Not Found",title:"Close the reader and find another book",icon:r.mdiBookRemoveOutline},null,8,["icon"])],64)}const ds=f(cs,[["render",us],["__scopeId","data-v-65d65e48"]]),hs={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:fe},props:{direction:{type:String,required:!0}},computed:{...P(u,["isBTT"]),...v(u,{toRoute(e){var o;const t=(o=e==null?void 0:e.routes)==null?void 0:o.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...b(u,["bookChangeIcon"])}};function gs(e,t,o,n,r,s){const a=g("PaginationNavButton");return e.toRoute?(d(),p(a,{key:0,class:B(s.classes),icon:"",variant:"plain",title:s.title,to:e.toRoute},{default:c(()=>[l(R,null,{default:c(()=>[k(_(s.icon),1)]),_:1})]),_:1},8,["class","title","to"])):w("",!0)}const ps=f(hs,[["render",gs],["__scopeId","data-v-4be59e7e"]]),ms={name:"ReaderNavButton",components:{PaginationNavButton:fe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(u,["isVertical"]),...v(u,{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:{...b(u,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ks(e,t,o,n,r,s){const a=g("PaginationNavButton");return d(),p(a,{key:e.isVertical,disabled:s.disabled,class:B(["readerNavButton",s.classes]),title:s.title,to:e.toRoute,onClick:s.onClick},{default:c(()=>[k(_(o.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const fs=f(ms,[["render",ks],["__scopeId","data-v-c9e294f6"]]),x="prev",$="next",bs={name:"ReaderNavToolbar",components:{PaginationSlider:kt,ReaderNavButton:fs,PaginationToolbar:ft,ReaderBookChangeNavButton:ps},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["activeSettings","isReadInReverse","isVertical"]),...v(u,{storePage:e=>e.page,key(e){var t,o;return`${(o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},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:{...b(u,["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($):e.shiftKey&&window.scrollY===0&&this.routeToDirection(x);break;case"j":case"ArrowRight":this.routeToDirection($);break;case"k":case"ArrowLeft":this.routeToDirection(x);break;case",":this.routeToDirectionOne(x);break;case".":this.routeToDirectionOne($);break;case"n":this.routeToBook($);break;case"p":this.routeToBook(x);break}}}};function _s(e,t,o,n,r,s){const a=g("ReaderBookChangeNavButton"),h=g("ReaderNavButton"),m=g("PaginationSlider"),E=g("PaginationToolbar");return e.maxPage?(d(),p(E,{key:0,id:"readerToolbarNav"},{default:c(()=>[l(a,{direction:s.bookPrev,narrow:!1},null,8,["direction"]),l(h,{value:s.min,"two-pages":s.twoPages},null,8,["value","two-pages"]),(d(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:s.step,"track-color":s.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=A=>s.onSliderUpdate(A))},null,8,["model-value","max","step","track-color","reverse"])),l(h,{value:s.max,"two-pages":s.twoPages},null,8,["value","two-pages"]),l(a,{direction:s.bookNext,narrow:!1},null,8,["direction"])]),_:1})):w("",!0)}const Ps=f(bs,[["render",_s],["__scopeId","data-v-dab0637e"]]),vs={name:"MainReader",components:{BooksWindow:So,ReaderEmpty:ds,ReaderNavToolbar:Ps,ReaderTopToolbar:Le,ReaderSettingsDrawer:Zo,Unauthorized:Rt},data(){return{showToolbars:!1}},computed:{...P(I,["isAuthorized"]),...v(I,{user:e=>e.user}),...v(u,{empty:e=>e.empty})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){u().$reset,this.loadReaderSettings()},methods:{...b(u,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Ss={key:0},ws={id:"readerContainer"};function Rs(e,t,o,n,r,s){const a=g("ReaderTopToolbar"),h=g("BooksWindow"),m=g("ReaderNavToolbar"),E=g("ReaderEmpty"),A=g("ReaderSettingsDrawer"),xe=g("Unauthorized");return e.isAuthorized?(d(),p(Ct,{key:0,id:"readerWrapper"},{default:c(()=>[e.empty?(d(),p(E,{key:1})):(d(),S("div",Ss,[i("div",ws,[l(nt,null,{default:c(()=>[D(l(a,null,null,512),[[Q,r.showToolbars]])]),_:1}),l(h,{onClick:s.toggleToolbars},null,8,["onClick"]),l(it,null,{default:c(()=>[D(l(m,null,null,512),[[Q,r.showToolbars]])]),_:1})])])),l(A)]),_:1})):(d(),p(xe,{key:1}))}const Cs=f(vs,[["render",Rs],["__scopeId","data-v-dab9a44d"]]),Es=Object.freeze(Object.defineProperty({__proto__:null,default:Cs},Symbol.toStringTag,{value:"Module"}));export{Es as r,u};
1
+ const __vite__fileDeps=["assets/pdf-doc-4PKLN-Z3.js","assets/admin-drawer-panel-C34Ze3-5.js","assets/admin-drawer-panel-BHdNPwzF.css","assets/main-Cavvqkyp.js","assets/main-sK7HC5h4.css","assets/index-DUjeNg4x.js","assets/pagination-toolbar-Dg9tH1Ju.js","assets/VSelect-BnoCfCLY.js","assets/VTextField-Da_Hs7ls.js","assets/VDialog-DiixpkQL.js","assets/VDialog-C5Nxd_zP.css","assets/VSelectionControl-BSL0qeL9.js","assets/VSelectionControl-BFq--28I.css","assets/VTextField-BssVoDhB.css","assets/VCheckboxBtn-m4IbdjEe.js","assets/VSlideGroup-BQtz8h9p.js","assets/VSlideGroup-Dk_1upHt.css","assets/VSelect-MGVSeLgr.css","assets/to-case-kUm8NPpW.js","assets/unauthorized-28bmiwAU.js","assets/change-password-dialog-JYM9aAR9.js","assets/change-password-dialog-HvIvmmIE.css","assets/unauthorized-DHV6Q1n-.css","assets/settings-drawer-CT73ieiV.js","assets/settings-drawer-nZ9HvKSZ.css","assets/pagination-toolbar-ClZui9Zf.css","assets/VWindowItem-CFhKCj49.js","assets/VWindowItem-ByIod57Y.css","assets/VExpansionPanels-Db5mPFue.js","assets/VExpansionPanels-DsEXVcCv.css","assets/VRadioGroup-DULWiMSI.js","assets/VRadioGroup-i2qP9Wu9.css","assets/VCheckbox-BS5fdM4M.js","assets/VCheckbox-CMKdyl0R.css","assets/pdf-doc-CMzaSV_K.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);
2
+ import{l as $e,bw as Oe,bx as Ne,ag as P,N as v,O as b,_ as f,Q as g,R as d,P as p,T as c,L as l,ah as R,ad as k,ai as _,ae as B,aD as w,aA as S,aS as ce,M as T,by as Ve,bz as Ee,ap as W,bA as ue,bB as de,aC as he,bC as ge,bD as Ae,b1 as Fe,b0 as D,bt as ze,aB as V,bo as pe,aN as i,a_ as Ue,bE as Me,bF as We,k as q,aj as Y,ak as H,bG as He,bH as je,bI as Ge,bJ as qe,bK as Ke,aO as Ye,aP as Xe,aJ as Qe,m as I,bL as Je,ao as me,aQ as X,bM as Ze,bN as et,bf as tt,af as ot,bO as st,bh as rt,bP as at,b3 as Q,bk as nt,bQ as it}from"./admin-drawer-panel-C34Ze3-5.js";import{t as lt}from"./index-DUjeNg4x.js";import{C as O,r as J,B as Z,_ as ct,a as ke}from"./main-Cavvqkyp.js";import{g as ut,A as F,h as j,i as dt,j as ht,T as gt,M as pt,V as z,c as mt,P as fe,d as kt,e as ft}from"./pagination-toolbar-Dg9tH1Ju.js";import{d as bt,b as _t,S as Pt,V as vt,a as St}from"./settings-drawer-CT73ieiV.js";import{P as wt,a as be,U as Rt,V as Ct}from"./unauthorized-28bmiwAU.js";import{b as _e,V as Pe}from"./VWindowItem-CFhKCj49.js";import{b as Bt}from"./VSelect-BnoCfCLY.js";import{V as Tt,a as yt,b as Dt,c as It}from"./VExpansionPanels-Db5mPFue.js";import{V as L,a as U}from"./VRadioGroup-DULWiMSI.js";import{V as M}from"./VCheckbox-BS5fdM4M.js";const ve={fitTo:"",twoPages:null,readingDirection:"",readRtlInReverse:null};Object.freeze(ve);const Se={cacheBook:!1};Object.freeze(Se);const N=new Set(["",null,void 0]);Object.freeze(N);const we={prev:"next",next:"prev"};Object.freeze(we);const G={rel:"prefetch",as:"image"};Object.freeze(G);const K=new Set(["ttb","btt"]);Object.freeze(K);const Re=new Set(["rtl","btt"]);Object.freeze(Re);const y=1,Ce={S:"Screen",W:"Width",H:"Height",O:"Original"};Object.freeze(Ce);const Lt=()=>Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)>600?"HEIGHT":"WIDTH",ee=e=>{K.has(e.readingDirection)&&e.twoPages&&(e.twoPages=!1)},u=$e("reader",{state:()=>({choices:{fitTo:O.reader.fitTo,readingDirection:O.reader.readingDirection,nullValues:N},readerSettings:{fitTo:Lt(),twoPages:!1,readingDirection:"ltr",readRtlInReverse:!1},books:{current:void 0,prev:!1,next:!1},arcs:[],arc:{},empty:!1,page:void 0,routes:{prev:!1,next:!1,books:{prev:!1,next:!1},close:O.browser.breadcrumbs[0]},bookChange:void 0,reactWithScroll:!1,clientSettings:{cacheBook:!1,scale:y}}),getters:{groupBooks(e){const t=[];return e.books.prev[0]&&t.push[e.books.prev[0]],t.push[e.books.current],e.books.next[0]&&t.push[e.books.next[0]],t},activeSettings(e){return e.getSettings(e.books.current)||{}},activeTitle(e){var n;const t=e.books.current;let o;return t?(((n=e.arcs[0])==null?void 0:n.group)!="f"&&(o=ut(t)),o||(o=t.filename||"")):o="",o},routeParams(e){return{pk:+e.books.current.pk,page:+e.page}},isVertical(e){return K.has(e.activeSettings.readingDirection)},isPDF(e){var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.fileType)=="PDF"},cacheBook(e){return e.clientSettings.cacheBook&&!(this.isPDF&&this.isVertical)},isPagesNotRoutes(e){return e.isVertical||this.cacheBook},isReadInReverse(e){return Re.has(e.activeSettings.readingDirection)},isBTT(e){return e.activeSettings.readingDirection==="btt"},isFirstPage(e){return e.page===0},isLastPage(e){const t=e.books.current?e.books.current.maxPage:0,o=e.activeSettings.twoPages?1:0,n=t-o;return this.page>=n}},actions:{setReadRTLInReverse(e){return this.readerSettings.readRtlInReverse&&e.readingDirection==="rtl"?{...e,readingDirection:"ltr"}:e},getSettings(e){const t={...N};let o=e?e.settings:{};o=this.setReadRTLInReverse(o);const n=[this.readerSettings,o];for(const r of n)for(const[s,a]of Object.entries(r))N.has(a)||(t[s]=a);return ee(t),t},bookChangeLocation(e){let t;return this.isBTT?t=e==="next"?"left":"right":t=e==="next"?"right":"left",t},bookChangeCursorClass(e){let t;return this.isReadInReverse?t=e==="next"?"up":"down":t=e==="next"?"down":"up",t+"Cursor"},bookChangeShow(e){return e==="prev"?this.books.prev&&this.isFirstPage:this.books.next&&this.isLastPage},bookChangeIcon(e){let t=e==="next";return this.isBTT&&(t=!t),t?Oe:Ne},isCoverPage(e,t){return e.readLtr!==!1&&t===0||e.readLtr&&t===e.maxPage},_getRouteParams(e,t,o){const n=o==="prev"?-1:1;let r=1;this.getSettings(e).twoPages&&!this.isCoverPage(e,+t+n)&&(r=2),r=r*n;const a=+t+r;let h=!1;return a>=0&&a<=e.maxPage&&(h={pk:e.pk,page:a}),h},fitToClass(e){const t=this.getSettings(e),o={};let n;if(this.clientSettings.scale>y?n="Orig":n=Ce[t.fitTo],n){let r="fitTo";r+=lt(n),this.isVertical?r+="Vertical":t.twoPages&&(r+="Two"),o[r]=!0}return o},_updateSettings(e,t){t?(this.books.current.settings={...this.books.current.settings,...e},ee(this.books.current.settings)):this.readerSettings={...this.readerSettings,...e}},_getBookRoutePage(e,t){let o=0;if(t&&e.readLtr!==!1||!t&&e.readLtr===!1){const r=this.getSettings(e).twoPages?-1:0;o=e.maxPage+r}return o},_getBookRoute(e,t){if(!e)return!1;const o=this._getBookRoutePage(e,t);return{pk:e.pk,page:o}},_getBookRoutes(e,t){return{prev:this._getBookRoute(e,!0),next:this._getBookRoute(t,!1)}},async setRoutesAndBookmarkPage(e){const t=this.books.current;this.$patch(o=>{o.routes.prev=this._getRouteParams(t,e,"prev"),o.routes.next=this._getRouteParams(t,e,"next")}),await this._setBookmarkPage(e).then(()=>(this.bookChange=void 0,!0))},setActivePage(e,t=!0){if(e<0)return console.warn("Page out of bounds. Redirecting to 0."),this.routeToPage(0);if(e>this.books.current.maxPage)return console.warn(`Page out of bounds. Redirecting to ${this.books.current.maxPage}.`),this.routeToPage(this.books.current.maxPage);if(this.reactWithScroll=!!t,this.page=+e,this.setRoutesAndBookmarkPage(e),this.isPagesNotRoutes){const o={params:{pk:this.books.current.pk,page:e}},{href:n}=J.resolve(o);window.history.pushState({},void 0,n)}else window.scrollTo(0,0)},async loadReaderSettings(){return F.getReaderSettings().then(e=>{const t=e.data;return this._updateSettings(t,!1),this.empty=!1,!0}).catch(console.error)},async loadBooks(e){await F.getReaderInfo(e).then(t=>{const o=t.data,n=[o.books.prevBook,o.books.current,o.books.nextBook];for(const s of n)s&&!s.settings&&(s.settings={});const r=this._getBookRoutes(o.books.prevBook,o.books.nextBook);return this.$patch(s=>{s.books.current=o.books.current,s.books.prev=o.books.prevBook,s.books.next=o.books.nextBook,s.arcs=o.arcs,s.arc=o.arc,s.routes.prev=this._getRouteParams(s.books.current,e.page,"prev"),s.routes.next=this._getRouteParams(s.books.current,e.page,"next"),s.routes.books=r,s.routes.close=o.closeRoute,s.empty=!1}),!0}).catch(t=>{console.debug(t),this.empty=!0})},async _setBookmarkPage(e){const t={group:"c",ids:[+this.books.current.pk]};e=Math.max(Math.min(this.books.current.maxPage,e),0);const o={page:e};await Z.setGroupBookmarks(t,o)},async setSettingsLocal(e){this._updateSettings(e,!0);const t={group:"c",ids:[+this.books.current.pk]};await Z.setGroupBookmarks(t,this.books.current.settings)},setSettingsClient(e){this.clientSettings={...this.clientSettings,...e}},async clearSettingsLocal(){await this.setSettingsLocal(ve),this.setSettingsClient(Se)},async setSettingsGlobal(e){this._updateSettings(e,!1),await F.setReaderSettings(this.readerSettings),await this.clearSettingsLocal()},setBookChangeFlag(e){e=this.normalizeDirection(e),this.bookChange=this.routes.books[e]?e:void 0},normalizeDirection(e){return this.isReadInReverse?we[e]:e},_validateRoute(e,t){if(t||(t=this.books.current),!t)return{};const o=t.maxPage??0;return e.page>o?(e.page=o,console.warn("Tried to navigate past the end of the book.")):e.page<0&&(e.page=0,console.warn("Tried to navigate before the beginning of the book.")),e},_routeTo(e,t){if(e=this._validateRoute(e,t),this.isPagesNotRoutes&&+e.pk===this.books.current.pk)this.setActivePage(+e.page,!0);else{const o={name:"reader",params:e};J.push(o).catch(console.debug)}},routeToDirectionOne(e){e=this.normalizeDirection(e);const t=e==="prev"?-1:1,o=this.page+=t;if(o<0||o>this.books.current.maxPage)return;const n={pk:this.books.current.pk,page:o};this._routeTo(n)},routeToDirection(e){if(e=this.normalizeDirection(e),this.routes[e]){const t=this.routes[e];this._routeTo(t)}else this.routes.books[e]?this.bookChange===e?this._routeTo(this.routes.books[e],this.books[e]):this.setBookChangeFlag(e):console.debug("No route to direction",e)},routeToPage(e){const t={pk:this.books.current.pk,page:e};this._routeTo(t)},routeToBook(e){this._routeTo(this.routes.books[e],this.books[e])},_prefetchSrc(e,t,o=!1,n=!1){if(!e)return!1;const r=o?this.books[t]:this.books.current;if(!r)return!1;let s=e.page;if(n){if(!this.getSettings(r).twoPages)return!1;s+=1}if(s>r.maxPage)return!1;const a={pk:e.pk,page:s,mtime:r.mtime};return j(a)},prefetchLinks(e,t,o=!1){if(!o&&this.cacheBook)return{};const n=[this._prefetchSrc(e,t,o,!1),this._prefetchSrc(e,t,o,!0)],r=[];for(const s of n)s&&r.push({...G,href:s});return{link:r}},prefetchBook(e){if(!this.cacheBook||e.fileType=="PDF")return{};const t=e.pk,o=[];for(let n=0;n<=e.maxPage;n++){const r={pk:t,page:n,mtime:e.mtime},s=j(r);s&&o.push({...G,href:s})}return{link:o}},toRoute(e){return e?{params:e}:{}},linkLabel(e,t){return`${e==="prev"?"Previous":"Next"} ${t}`}}}),xt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(u,["isBTT"]),...v(u,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.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:{...b(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function $t(e,t,o,n,r,s){const a=g("router-link");return s.show?(d(),p(bt,{key:0,class:B(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:s.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:c(()=>[l(a,{class:B({navLink:!0,[s.cursorClass]:!0}),to:s.route,"aria-label":s.label,title:s.label,onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},{default:c(()=>[l(R,{class:"bookChangeIcon"},{default:c(()=>[k(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):w("",!0)}const Ot=f(xt,[["render",$t],["__scopeId","data-v-03e41a14"]]),Nt={name:"BookChangeActivator",components:{BookChangeDrawer:Ot},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:{...b(u,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function Vt(e,t,o,n,r,s){const a=g("BookChangeDrawer");return d(),S(T,null,[s.show?(d(),S("div",{key:0,class:B(["bookChangeColumn",{[s.positionClass]:!0,[s.cursorClass]:!0}]),onClick:t[0]||(t[0]=ce(h=>e.setBookChangeFlag(o.direction),["stop"]))},null,2)):w("",!0),l(a,{direction:o.direction},null,8,["direction"])],64)}const Et=f(Nt,[["render",Vt],["__scopeId","data-v-db3eb561"]]),At={name:"LoadingPage",components:{Placeholder:wt},props:{twoPages:{type:Boolean,required:!0}}};function Ft(e,t,o,n,r,s){const a=g("Placeholder");return d(),S("div",{class:B(["pageLoading",{twoPages:o.twoPages}])},[l(a,{class:"pagePlaceholder"})],2)}const zt=f(At,[["render",Ft],["__scopeId","data-v-04027168"]]),te="unauthorized",Ut={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===te?"Protected page":"Failed to load page"},icon(){return this.type===te?Ve:Ee}}};function Mt(e,t,o,n,r,s){return d(),p(be,{class:B(["pageError",{twoPages:o.twoPages}]),headline:s.text,icon:s.icon},null,8,["class","headline","icon"])}const Wt=f(Ut,[["render",Mt],["__scopeId","data-v-417a4cab"]]),Ht={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(u,{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 o=t.naturalWidth/2;return e.transformOrigin=`${o}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...b(u,["fitToClass"])}},jt=["src"];function Gt(e,t,o,n,r,s){return d(),S("img",W({class:[s.classes,"img"],draggable:"false",src:o.src,style:s.style},e.$attrs,{onError:t[0]||(t[0]=a=>e.$emit("error",a)),onLoad:t[1]||(t[1]=a=>e.$emit("load",a))}),null,16,jt)}const oe=f(Ht,[["render",Gt],["__scopeId","data-v-559e2ecc"]]),se=ue(de(()=>ct(()=>import("./pdf-doc-4PKLN-Z3.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])))),qt=333,Kt={name:"BookPage",components:{ErrorPage:Wt,LoadingPage:zt,PDFDoc:se,ImgPage:oe},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...P(u,["isVertical"]),...v(u,{scale:e=>e.clientSettings.scale}),style(){var o;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(o=this.$refs.pageComponent)==null?void 0:o.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return j(e)},component(){return this.book.fileType==="PDF"?se:oe},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},qt)},methods:{...b(u,["getSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1}}},Yt=["id","data-page"];function Xt(e,t,o,n,r,s){const a=g("ErrorPage"),h=g("LoadingPage");return d(),S("div",{id:`page${o.page}`,"data-page":o.page,class:"page",style:ge(s.style)},[r.error?(d(),p(a,{key:0,"two-pages":s.settings.twoPages,type:r.error},null,8,["two-pages","type"])):r.showProgress&&!r.loaded?(d(),p(h,{key:1,"two-pages":s.settings.twoPages},null,8,["two-pages"])):(d(),p(he(s.component),{key:2,ref:"pageComponent",book:o.book,page:1,src:s.src,onError:s.onError,onLoad:s.onLoad,onUnauthorized:s.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Yt)}const Be=f(Kt,[["render",Xt],["__scopeId","data-v-87996fa1"]]),Qt=.5,Jt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:Ae}},computed:{...v(u,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=y},style(){return{cursor:this.scale==y?"zoom-in":"all-scroll"}}},methods:{...b(u,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Qt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:y})}}};function Zt(e,t,o,n,r,s){const a=Fe("drag-scroller");return D((d(),S("div",{class:"scaleForScroll",style:ge(s.style),onDblclick:t[0]||(t[0]=(...h)=>s.onDoubleClick&&s.onDoubleClick(...h))},[ze(e.$slots,"default",{},void 0,!0),s.showReset?(d(),p(R,{key:0,class:"resetIcon",onClick:ce(s.scaleReset,["stop"])},{default:c(()=>[k(_(r.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):w("",!0)],36)),[[a,,void 0,{onlyX:!0}]])}const Te=f(Jt,[["render",Zt],["__scopeId","data-v-b24267c0"]]),eo={name:"HorizontalPages",components:{BookPage:Be,ScaleForScroll:Te},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...P(u,["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:{...b(u,["getSettings"])}};function to(e,t,o,n,r,s){const a=g("BookPage"),h=g("ScaleForScroll");return d(),p(h,{class:"noWrap"},{default:c(()=>[s.showPageOne?(d(),p(a,{key:0,ref:"pageOne",book:o.book,page:s.pageOne,class:"horizontalPage"},null,8,["book","page"])):w("",!0),s.showPageTwo?(d(),p(a,{key:1,book:o.book,page:s.pageTwo,class:"horizontalPage"},null,8,["book","page"])):w("",!0)]),_:1})}const oo=f(eo,[["render",to],["__scopeId","data-v-9a560964"]]),so={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(u,["isVertical","isFirstPage","isLastPage"]),...v(u,{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:{...b(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function ro(e,t,o,n,r,s){const a=g("router-link");return s.show?(d(),p(a,{key:0,to:s.route,"aria-label":s.label,class:B({[s.pageChangeClass]:!0,[s.directionClass]:!0}),onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},null,8,["to","aria-label","class"])):w("",!0)}const ao=f(so,[["render",ro],["__scopeId","data-v-9ade7d96"]]),no=48,io=48,lo={name:"PagerHorizontal",components:{HorizontalPages:oo,PageChangeLink:ao},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...P(u,["isReadInReverse"]),...v(u,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),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),o=this.pages.at(-1);(e<t||e>o)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(u,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-no,0),t=Math.min(this.activePage+io,this.book.maxPage),o=ke.range(e,t+1);this.pages=o}}};function co(e,t,o,n,r,s){const a=g("PageChangeLink"),h=g("HorizontalPages");return d(),p(Pe,{"show-arrows":"",continuous:"","model-value":s.windowIndex,reverse:e.isReadInReverse},{prev:c(()=>[l(a,{direction:"prev"})]),next:c(()=>[l(a,{direction:"next"})]),default:c(()=>[(d(!0),S(T,null,V(r.pages,m=>(d(),p(_e,{key:`c/${o.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:c(()=>[l(h,{book:o.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const re=f(lo,[["render",co],["__scopeId","data-v-e04bbc00"]]);function ye(e,t){const{self:o=!1}=t.modifiers??{},n=t.value,r=typeof n=="object"&&n.options||{passive:!0},s=typeof n=="function"||"handleEvent"in n?n:n.handler,a=o?e:t.arg?document.querySelector(t.arg):window;a&&(a.addEventListener("scroll",s,r),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:s,options:r,target:o?void 0:a})}function De(e,t){var s;if(!((s=e._onScroll)!=null&&s[t.instance.$.uid]))return;const{handler:o,options:n,target:r=e}=e._onScroll[t.instance.$.uid];r.removeEventListener("scroll",o,n),delete e._onScroll[t.instance.$.uid]}function uo(e,t){t.value!==t.oldValue&&(De(e,t),ye(e,t))}const ho={mounted:ye,unmounted:De,updated:uo},go=12,ae=250,po={name:"PagerVertical",components:{BookPage:Be,ScaleForScroll:Te},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...v(u,{storePage:e=>e.page}),...pe(u,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var o;const e=(o=this.book)!=null&&o.maxPage?this.book.maxPage+1:0,t=ke.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,go)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},ae)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(u,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const n=+t[0].target.dataset.page;this.setActivePage(n,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const o=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=o&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},ae)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},mo=["data-page"];function ko(e,t,o,n,r,s){const a=g("BookPage"),h=g("ScaleForScroll");return d(),p(h,null,{default:c(()=>[D((d(),p(Bt,{id:"verticalScroll",key:s.readInReverse,ref:"verticalScroll",items:s.items,height:r.innerHeight,width:r.innerWidth},{default:c(({item:m})=>[l(a,{book:o.book,page:m,class:"verticalPage"},null,8,["book","page"]),D(i("div",{class:"pageTracker","data-page":m},null,8,mo),[[Ue,{handler:s.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ho,s.onScroll,"#verticalScroll"]])]),_:1})}const ne=f(po,[["render",ko],["__scopeId","data-v-97638fc3"]]),ie=ue(de(()=>"@/components/reader/pager/pager-full-pdf.vue")),fo={name:"PagerSelector",components:{PagerHorizontal:re,PagerPDF:ie,PagerVertical:ne},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(u,["isVertical","cacheBook"]),...v(u,{storePk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?ie:this.isVertical?ne:re}},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:{...b(u,["getSettings","setActivePage","prefetchBook"])}};function bo(e,t,o,n,r,s){return d(),p(he(s.component),{book:o.book},null,8,["book"])}const _o=f(fo,[["render",bo]]),Po={name:"BooksWindow",components:{BookChangeActivator:Et,Pager:_o},emits:["click"],computed:{...P(u,["isBTT"]),...v(u,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...b(u,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function vo(e,t,o,n,r,s){const a=g("BookChangeActivator"),h=g("Pager");return d(),p(Pe,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:s.click},{prev:c(()=>[l(a,{direction:"prev"})]),next:c(()=>[l(a,{direction:"next"})]),default:c(()=>[(d(!0),S(T,null,V(e.books,m=>(d(),p(_e,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:s.eager(m.pk),value:m.pk,transition:!0},{default:c(()=>[l(h,{book:m,onClick:s.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const So=f(Po,[["render",vo],["__scopeId","data-v-2a90783e"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Me,mdiFileImage:We}},computed:{...P(u,["activeTitle","routeParams"]),...v(u,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return dt(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return ht({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...b(q,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},Ro={key:0,id:"downloadPanel"};function Co(e,t,o,n,r,s){return e.currentBook?(d(),S("div",Ro,[l(H,{onClick:s.downloadPage},{default:c(()=>[l(Y,null,{default:c(()=>[l(R,null,{default:c(()=>[k(_(r.mdiFileImage),1)]),_:1}),k("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),l(H,{onClick:s.downloadBook},{default:c(()=>[l(Y,null,{default:c(()=>[l(R,null,{default:c(()=>[k(_(r.mdiDownload),1)]),_:1}),k("Download Book ")]),_:1})]),_:1},8,["onClick"])])):w("",!0)}const Bo=f(wo,[["render",Co],["__scopeId","data-v-9e01f4cb"]]),To={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:He,mdiMenuRight:je,mdiKeyboardOutline:Ge,mdiKeyboardSpace:qe,mdiAppleKeyboardShift:Ke}},computed:{...P(q,["isMobile"])}},C=e=>(Ye("data-v-a8b4ac47"),e=e(),Xe(),e),yo=C(()=>i("h4",null,"Navigation",-1)),Do={class:"highlight-table"},Io=C(()=>i("td",null,"Previous page",-1)),Lo=C(()=>i("td",null,"Next page",-1)),xo=C(()=>i("tr",null,[i("td",null,","),i("td",null,[k("Next "),i("em",null,"only"),k(" one page in two page mode.")])],-1)),$o=C(()=>i("tr",null,[i("td",null,"."),i("td",null,[k("Previous "),i("em",null,"only"),k(" one page in two page mode.")])],-1)),Oo=C(()=>i("tr",null,[i("td",null,"p"),i("td",null,"Previous Book")],-1)),No=C(()=>i("tr",null,[i("td",null,"n"),i("td",null,"Next Book")],-1)),Vo=C(()=>i("tr",null,[i("td",null,"esc"),i("td",null,"Close book")],-1)),Eo=C(()=>i("h4",null,"Fit Page To",-1)),Ao=C(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"s"),i("td",null,"screen")]),i("tr",null,[i("td",null,"h"),i("td",null,"screen height")]),i("tr",null,[i("td",null,"w"),i("td",null,"screen width")]),i("tr",null,[i("td",null,"o"),i("td",null,"Show page at original size")]),i("tr",null,[i("td",null,"2"),i("td",null,"Toggle two page view")]),i("tr",null,[i("td",null,"r"),i("td",null,"Read Right to Left")]),i("tr",null,[i("td",null,"l"),i("td",null,"Read Left to Right")]),i("tr",null,[i("td",null,"t"),i("td",null,"Read Top to Bottom")]),i("tr",null,[i("td",null,"b"),i("td",null,"Read in Bottom to Top")])])],-1)),Fo=C(()=>i("h4",null,"Other",-1)),zo=C(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"m"),i("td",null,"Show comic's metadata")]),i("tr",null,[i("td",null,"double click"),i("td",null,"Zoom page")])])],-1));function Uo(e,t,o,n,r,s){return e.isMobile?w("",!0):(d(),p(It,{key:0},{default:c(()=>[l(Tt,{id:"readerKeyboardShortcuts"},{default:c(()=>[l(yt,{id:"shortcutsTitle"},{default:c(()=>[l(R,{id:"keyboardIcon"},{default:c(()=>[k(_(r.mdiKeyboardOutline),1)]),_:1}),k("Keyboard Shortcuts ")]),_:1}),l(Dt,null,{default:c(()=>[yo,i("table",Do,[i("tbody",null,[i("tr",null,[i("td",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiMenuLeft),1)]),_:1}),k(", j, "),i("div",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiAppleKeyboardShift),1)]),_:1}),l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiKeyboardSpace),1)]),_:1})])]),Io]),i("tr",null,[i("td",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiMenuRight),1)]),_:1}),k(", k, "),l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiKeyboardSpace),1)]),_:1})]),Lo]),xo,$o,Oo,No,Vo])]),Eo,Ao,Fo,zo]),_:1})]),_:1})]),_:1}))}const Mo=f(To,[["render",Uo],["__scopeId","data-v-a8b4ac47"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const Wo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:Qe}},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["isVertical","isPDF","cacheBook"]),...v(u,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,o;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(o=e.books)==null?void 0:o.current.settings},isClearSettingsButtonDisabled(e){var t,o;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const n of Ie){const r=(o=e.books)==null?void 0:o.current.settings[n];if(!e.choices.nullValues.has(r))return!1}return!0},bookInBrowserURL(e){var t,o;return(t=e.books)!=null&&t.current?Je((o=e.books)==null?void 0:o.current):""}}),...pe(u,["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:{...b(u,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const o of this.choices[e])o.value&&t.push(o);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)}}},Ho={key:0,id:"readerSettings"},jo=["href"];function Go(e,t,o,n,r,s){return e.validBook?(d(),S("div",Ho,[l(U,{modelValue:r.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=a=>r.isGlobalScope=a),density:"compact",label:"Scope","hide-details":"auto"},{default:c(()=>[l(L,{label:"Only this comic",value:!1}),l(L,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),l(U,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=a=>s.settingsDialogChanged({fitTo:a}))},{default:c(()=>[(d(!0),S(T,null,V(s.fitToChoices,a=>(d(),p(L,{key:a.value,label:a.title,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l(M,{disabled:s.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]=a=>s.settingsDialogChanged({twoPages:a}))},null,8,["disabled","model-value","indeterminate"]),l(U,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=a=>s.settingsDialogChanged({readingDirection:a}))},{default:c(()=>[(d(!0),S(T,null,V(s.readingDirectionChoices,a=>(d(),p(L,{key:a.value,label:a.title,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:s.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=a=>e.setSettingsClient({cacheBook:a}))},null,8,["model-value","disabled"]),e.isPDF?(d(),S("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[l(R,null,{default:c(()=>[k(_(r.mdiOpenInNew),1)]),_:1}),k("Read PDF in Browser ")],8,jo)):w("",!0),r.isGlobalScope?(d(),p(M,{key:1,"model-value":e.selectedSettings.readRtlInReverse,class:"readRtlInReverse",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=a=>s.settingsDialogChanged({readRtlInReverse:a}))},null,8,["model-value"])):w("",!0),r.isGlobalScope?w("",!0):(d(),p(me,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:c(()=>[k(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])):w("",!0)}const qo=f(Wo,[["render",Go],["__scopeId","data-v-599636e1"]]),Ko={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:Bo,ReaderKeyboardShortcutsPanel:Mo,ReaderSettingsPanel:qo}};function Yo(e,t,o,n,r,s){const a=g("ReaderSettingsPanel"),h=g("ReaderKeyboardShortcutsPanel"),m=g("DownloadPanel");return d(),S(T,null,[l(a),l(X),l(h),l(X),l(m)],64)}const Xo=f(Ko,[["render",Yo]]),Qo={name:"ReaderSettingsDrawer",components:{SettingsDrawer:_t,ReaderSettingsSuperPanel:Xo}};function Jo(e,t,o,n,r,s){const a=g("ReaderSettingsSuperPanel"),h=g("SettingsDrawer");return d(),p(h,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:c(()=>[l(a)]),_:1})}const Zo=f(Qo,[["render",Jo]]),le={a:et,f:tt,s:ot},es={a:"Story Arc",f:"Folder",s:"Series"},ts={name:"ReaderArcSelect",components:{ToolbarSelect:gt},computed:{...v(u,{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 o of e.arcs){const n={value:o,title:o.name,group:o.group,subtitle:es[o.group],prependIcon:le[o.group]};t.push(n)}return t}})},methods:{...b(u,["loadBooks"]),arcIcon(e){return le[e]},checkIcon(e){return e===this.arc?Ze:""},onUpdate(e){const t=this.$route.params;if(!t)return;const o={group:e.group,pks:e.pks},n={...t,arc:o};this.loadBooks(n)}}},os={id:"arcPos"};function ss(e,t,o,n,r,s){const a=g("ToolbarSelect");return d(),p(a,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":s.onUpdate},{item:c(({item:h,props:m})=>[l(H,W(m,{density:"compact",variant:"plain","prepend-icon":h.raw.prependIcon,subtitle:h.raw.subtitle,"append-icon":s.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:c(({item:h,props:m})=>[l(R,W({size:"large"},m,{class:"arcSelectIcon"}),{default:c(()=>[k(_(s.arcIcon(h.raw.group)),1)]),_:2},1040),i("span",os,_(e.arc.index)+" / "+_(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const rs=f(ts,[["render",ss],["__scopeId","data-v-42a57aca"]]),as={name:"ReaderTitleToolbar",components:{MetadataDialog:pt,ReaderArcSelect:rs,SettingsDrawerButton:Pt},data(){return{mdiClose:st,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["activeTitle"]),...v(u,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},closeRoute:e=>e.routes.close,empty:e=>e.empty,subtitle:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.name)||""}}),closeBookRoute(){var t;const e={name:"browser",params:this.closeRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||O.browser.breadcrumbs[0],e},title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(q,["setTimestamp"]),...b(u,["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}}}},ns={id:"title"},is={key:0,id:"subtitle"};function ls(e,t,o,n,r,s){const a=g("ReaderArcSelect"),h=g("MetadataDialog"),m=g("SettingsDrawerButton");return d(),p(St,{id:"readerToolbarTop",density:"compact","extension-height":s.extensionHeight},rt({default:c(()=>[l(z,null,{default:c(()=>[l(me,{ref:"closeBook",class:"closeBook",to:s.closeBookRoute,size:"large",density:"compact",variant:"plain",onClick:s.onCloseBook},{default:c(()=>[k(" close book ")]),_:1},8,["to","onClick"])]),_:1}),l(mt),e.empty?w("",!0):(d(),p(z,{key:0},{default:c(()=>[l(a),l(h,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),l(z,null,{default:c(()=>[l(m)]),_:1})]),_:2},[s.title?{name:"extension",fn:c(()=>[l(vt,{class:"readerTitle"},{default:c(()=>[i("div",ns,_(s.title),1),e.subtitle?(d(),S("div",is,_(e.subtitle),1)):w("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])}const Le=f(as,[["render",ls],["__scopeId","data-v-0217ea46"]]),cs={name:"ReaderEmpty",components:{ReaderTopToolbar:Le},data(){return{mdiBookRemoveOutline:at}}};function us(e,t,o,n,r,s){const a=g("ReaderTopToolbar");return d(),S(T,null,[l(a),l(be,{class:"empty",headline:"Book Not Found",title:"Close the reader and find another book",icon:r.mdiBookRemoveOutline},null,8,["icon"])],64)}const ds=f(cs,[["render",us],["__scopeId","data-v-65d65e48"]]),hs={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:fe},props:{direction:{type:String,required:!0}},computed:{...P(u,["isBTT"]),...v(u,{toRoute(e){var o;const t=(o=e==null?void 0:e.routes)==null?void 0:o.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...b(u,["bookChangeIcon"])}};function gs(e,t,o,n,r,s){const a=g("PaginationNavButton");return e.toRoute?(d(),p(a,{key:0,class:B(s.classes),icon:"",variant:"plain",title:s.title,to:e.toRoute},{default:c(()=>[l(R,null,{default:c(()=>[k(_(s.icon),1)]),_:1})]),_:1},8,["class","title","to"])):w("",!0)}const ps=f(hs,[["render",gs],["__scopeId","data-v-117f651c"]]),ms={name:"ReaderNavButton",components:{PaginationNavButton:fe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(u,["isVertical"]),...v(u,{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:{...b(u,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ks(e,t,o,n,r,s){const a=g("PaginationNavButton");return d(),p(a,{key:e.isVertical,disabled:s.disabled,class:B(["readerNavButton",s.classes]),title:s.title,to:e.toRoute,onClick:s.onClick},{default:c(()=>[k(_(o.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const fs=f(ms,[["render",ks],["__scopeId","data-v-530fba8c"]]),x="prev",$="next",bs={name:"ReaderNavToolbar",components:{PaginationSlider:kt,ReaderNavButton:fs,PaginationToolbar:ft,ReaderBookChangeNavButton:ps},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["activeSettings","isReadInReverse","isVertical"]),...v(u,{storePage:e=>e.page,key(e){var t,o;return`${(o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},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:{...b(u,["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($):e.shiftKey&&window.scrollY===0&&this.routeToDirection(x);break;case"j":case"ArrowRight":this.routeToDirection($);break;case"k":case"ArrowLeft":this.routeToDirection(x);break;case",":this.routeToDirectionOne(x);break;case".":this.routeToDirectionOne($);break;case"n":this.routeToBook($);break;case"p":this.routeToBook(x);break}}}};function _s(e,t,o,n,r,s){const a=g("ReaderBookChangeNavButton"),h=g("ReaderNavButton"),m=g("PaginationSlider"),E=g("PaginationToolbar");return e.maxPage?(d(),p(E,{key:0,id:"readerToolbarNav"},{default:c(()=>[l(a,{direction:s.bookPrev,narrow:!1},null,8,["direction"]),l(h,{value:s.min,"two-pages":s.twoPages},null,8,["value","two-pages"]),(d(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:s.step,"track-color":s.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=A=>s.onSliderUpdate(A))},null,8,["model-value","max","step","track-color","reverse"])),l(h,{value:s.max,"two-pages":s.twoPages},null,8,["value","two-pages"]),l(a,{direction:s.bookNext,narrow:!1},null,8,["direction"])]),_:1})):w("",!0)}const Ps=f(bs,[["render",_s],["__scopeId","data-v-dab0637e"]]),vs={name:"MainReader",components:{BooksWindow:So,ReaderEmpty:ds,ReaderNavToolbar:Ps,ReaderTopToolbar:Le,ReaderSettingsDrawer:Zo,Unauthorized:Rt},data(){return{showToolbars:!1}},computed:{...P(I,["isAuthorized"]),...v(I,{user:e=>e.user}),...v(u,{empty:e=>e.empty})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){u().$reset,this.loadReaderSettings()},methods:{...b(u,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Ss={key:0},ws={id:"readerContainer"};function Rs(e,t,o,n,r,s){const a=g("ReaderTopToolbar"),h=g("BooksWindow"),m=g("ReaderNavToolbar"),E=g("ReaderEmpty"),A=g("ReaderSettingsDrawer"),xe=g("Unauthorized");return e.isAuthorized?(d(),p(Ct,{key:0,id:"readerWrapper"},{default:c(()=>[e.empty?(d(),p(E,{key:1})):(d(),S("div",Ss,[i("div",ws,[l(nt,null,{default:c(()=>[D(l(a,null,null,512),[[Q,r.showToolbars]])]),_:1}),l(h,{onClick:s.toggleToolbars},null,8,["onClick"]),l(it,null,{default:c(()=>[D(l(m,null,null,512),[[Q,r.showToolbars]])]),_:1})])])),l(A)]),_:1})):(d(),p(xe,{key:1}))}const Cs=f(vs,[["render",Rs],["__scopeId","data-v-dab9a44d"]]),Es=Object.freeze(Object.defineProperty({__proto__:null,default:Cs},Symbol.toStringTag,{value:"Module"}));export{Es as r,u};
@@ -1,2 +1,2 @@
1
- const __vite__fileDeps=["assets/pdf-doc-BTdS9hUz.js","assets/admin-drawer-panel-B2rmpAVA.js","assets/admin-drawer-panel-BHdNPwzF.css","assets/main-gSW7TFDY.js","assets/main-sK7HC5h4.css","assets/index-DUjeNg4x.js","assets/pagination-toolbar-Dlm70Bhs.js","assets/VSelect-ChOlLRyH.js","assets/VTextField-Dftcik85.js","assets/VDialog-pzwzInEh.js","assets/VDialog-C5Nxd_zP.css","assets/VSelectionControl-DKOhc2zB.js","assets/VSelectionControl-BFq--28I.css","assets/VTextField-BssVoDhB.css","assets/VCheckboxBtn-Coc7g8m7.js","assets/VSlideGroup-zFz5_byd.js","assets/VSlideGroup-Dk_1upHt.css","assets/VSelect-MGVSeLgr.css","assets/to-case-kUm8NPpW.js","assets/unauthorized-kEuFL5br.js","assets/change-password-dialog-BIBG6Bk8.js","assets/change-password-dialog-HvIvmmIE.css","assets/unauthorized-DHV6Q1n-.css","assets/settings-drawer-xSctoxZn.js","assets/settings-drawer-BJOfMtqA.css","assets/pagination-toolbar-ClZui9Zf.css","assets/VWindowItem-CYCwnt3s.js","assets/VWindowItem-ByIod57Y.css","assets/VExpansionPanels-CKSq1GpG.js","assets/VExpansionPanels-DsEXVcCv.css","assets/VRadioGroup-CW5GobGU.js","assets/VRadioGroup-i2qP9Wu9.css","assets/VCheckbox-BF_99tgB.js","assets/VCheckbox-CMKdyl0R.css","assets/pdf-doc-CMzaSV_K.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);
2
- import{l as $e,bw as Oe,bx as Ne,ag as P,N as v,O as b,_ as f,Q as g,R as d,P as p,T as c,L as l,ah as R,ad as k,ai as _,ae as B,aD as w,aA as S,aS as ce,M as T,by as Ve,bz as Ee,ap as W,bA as ue,bB as de,aC as he,bC as ge,bD as Ae,b1 as Fe,b0 as D,bt as ze,aB as V,bo as pe,aN as i,a_ as Ue,bE as Me,bF as We,k as q,aj as Y,ak as H,bG as He,bH as je,bI as Ge,bJ as qe,bK as Ke,aO as Ye,aP as Xe,aJ as Qe,m as I,bL as Je,ao as me,aQ as X,bM as Ze,bN as et,bf as tt,af as ot,bO as st,bh as rt,bP as at,b3 as Q,bk as nt,bQ as it}from"./admin-drawer-panel-B2rmpAVA.js";import{t as lt}from"./index-DUjeNg4x.js";import{C as O,r as J,B as Z,_ as ct,a as ke}from"./main-gSW7TFDY.js";import{g as ut,A as F,h as j,i as dt,j as ht,T as gt,M as pt,V as z,c as mt,P as fe,d as kt,e as ft}from"./pagination-toolbar-Dlm70Bhs.js";import{d as bt,b as _t,S as Pt,V as vt,a as St}from"./settings-drawer-xSctoxZn.js";import{P as wt,a as be,U as Rt,V as Ct}from"./unauthorized-kEuFL5br.js";import{b as _e,V as Pe}from"./VWindowItem-CYCwnt3s.js";import{b as Bt}from"./VSelect-ChOlLRyH.js";import{V as Tt,a as yt,b as Dt,c as It}from"./VExpansionPanels-CKSq1GpG.js";import{V as L,a as U}from"./VRadioGroup-CW5GobGU.js";import{V as M}from"./VCheckbox-BF_99tgB.js";const ve={fitTo:"",twoPages:null,readingDirection:"",readRtlInReverse:null};Object.freeze(ve);const Se={cacheBook:!1};Object.freeze(Se);const N=new Set(["",null,void 0]);Object.freeze(N);const we={prev:"next",next:"prev"};Object.freeze(we);const G={rel:"prefetch",as:"image"};Object.freeze(G);const K=new Set(["ttb","btt"]);Object.freeze(K);const Re=new Set(["rtl","btt"]);Object.freeze(Re);const y=1,Ce={S:"Screen",W:"Width",H:"Height",O:"Original"};Object.freeze(Ce);const Lt=()=>Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)>600?"HEIGHT":"WIDTH",ee=e=>{K.has(e.readingDirection)&&e.twoPages&&(e.twoPages=!1)},u=$e("reader",{state:()=>({choices:{fitTo:O.reader.fitTo,readingDirection:O.reader.readingDirection,nullValues:N},readerSettings:{fitTo:Lt(),twoPages:!1,readingDirection:"ltr",readRtlInReverse:!1},books:{current:void 0,prev:!1,next:!1},arcs:[],arc:{},empty:!1,page:void 0,routes:{prev:!1,next:!1,books:{prev:!1,next:!1},close:O.browser.breadcrumbs[0]},bookChange:void 0,reactWithScroll:!1,clientSettings:{cacheBook:!1,scale:y}}),getters:{groupBooks(e){const t=[];return e.books.prev[0]&&t.push[e.books.prev[0]],t.push[e.books.current],e.books.next[0]&&t.push[e.books.next[0]],t},activeSettings(e){return e.getSettings(e.books.current)||{}},activeTitle(e){var n;const t=e.books.current;let o;return t?(((n=e.arcs[0])==null?void 0:n.group)!="f"&&(o=ut(t)),o||(o=t.filename||"")):o="",o},routeParams(e){return{pk:+e.books.current.pk,page:+e.page}},isVertical(e){return K.has(e.activeSettings.readingDirection)},isPDF(e){var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.fileType)=="PDF"},cacheBook(e){return e.clientSettings.cacheBook&&!(this.isPDF&&this.isVertical)},isPagesNotRoutes(e){return e.isVertical||this.cacheBook},isReadInReverse(e){return Re.has(e.activeSettings.readingDirection)},isBTT(e){return e.activeSettings.readingDirection==="btt"},isFirstPage(e){return e.page===0},isLastPage(e){const t=e.books.current?e.books.current.maxPage:0,o=e.activeSettings.twoPages?1:0,n=t-o;return this.page>=n}},actions:{setReadRTLInReverse(e){return this.readerSettings.readRtlInReverse&&e.readingDirection==="rtl"?{...e,readingDirection:"ltr"}:e},getSettings(e){const t={...N};let o=e?e.settings:{};o=this.setReadRTLInReverse(o);const n=[this.readerSettings,o];for(const r of n)for(const[s,a]of Object.entries(r))N.has(a)||(t[s]=a);return ee(t),t},bookChangeLocation(e){let t;return this.isBTT?t=e==="next"?"left":"right":t=e==="next"?"right":"left",t},bookChangeCursorClass(e){let t;return this.isReadInReverse?t=e==="next"?"up":"down":t=e==="next"?"down":"up",t+"Cursor"},bookChangeShow(e){return e==="prev"?this.books.prev&&this.isFirstPage:this.books.next&&this.isLastPage},bookChangeIcon(e){let t=e==="next";return this.isBTT&&(t=!t),t?Oe:Ne},isCoverPage(e,t){return e.readLtr!==!1&&t===0||e.readLtr&&t===e.maxPage},_getRouteParams(e,t,o){const n=o==="prev"?-1:1;let r=1;this.getSettings(e).twoPages&&!this.isCoverPage(e,+t+n)&&(r=2),r=r*n;const a=+t+r;let h=!1;return a>=0&&a<=e.maxPage&&(h={pk:e.pk,page:a}),h},fitToClass(e){const t=this.getSettings(e),o={};let n;if(this.clientSettings.scale>y?n="Orig":n=Ce[t.fitTo],n){let r="fitTo";r+=lt(n),this.isVertical?r+="Vertical":t.twoPages&&(r+="Two"),o[r]=!0}return o},_updateSettings(e,t){t?(this.books.current.settings={...this.books.current.settings,...e},ee(this.books.current.settings)):this.readerSettings={...this.readerSettings,...e}},_getBookRoutePage(e,t){let o=0;if(t&&e.readLtr!==!1||!t&&e.readLtr===!1){const r=this.getSettings(e).twoPages?-1:0;o=e.maxPage+r}return o},_getBookRoute(e,t){if(!e)return!1;const o=this._getBookRoutePage(e,t);return{pk:e.pk,page:o}},_getBookRoutes(e,t){return{prev:this._getBookRoute(e,!0),next:this._getBookRoute(t,!1)}},async setRoutesAndBookmarkPage(e){const t=this.books.current;this.$patch(o=>{o.routes.prev=this._getRouteParams(t,e,"prev"),o.routes.next=this._getRouteParams(t,e,"next")}),await this._setBookmarkPage(e).then(()=>(this.bookChange=void 0,!0))},setActivePage(e,t=!0){if(e<0)return console.warn("Page out of bounds. Redirecting to 0."),this.routeToPage(0);if(e>this.books.current.maxPage)return console.warn(`Page out of bounds. Redirecting to ${this.books.current.maxPage}.`),this.routeToPage(this.books.current.maxPage);if(this.reactWithScroll=!!t,this.page=+e,this.setRoutesAndBookmarkPage(e),this.isPagesNotRoutes){const o={params:{pk:this.books.current.pk,page:e}},{href:n}=J.resolve(o);window.history.pushState({},void 0,n)}else window.scrollTo(0,0)},async loadReaderSettings(){return F.getReaderSettings().then(e=>{const t=e.data;return this._updateSettings(t,!1),this.empty=!1,!0}).catch(console.error)},async loadBooks(e){await F.getReaderInfo(e).then(t=>{const o=t.data,n=[o.books.prevBook,o.books.current,o.books.nextBook];for(const s of n)s&&!s.settings&&(s.settings={});const r=this._getBookRoutes(o.books.prevBook,o.books.nextBook);return this.$patch(s=>{s.books.current=o.books.current,s.books.prev=o.books.prevBook,s.books.next=o.books.nextBook,s.arcs=o.arcs,s.arc=o.arc,s.routes.prev=this._getRouteParams(s.books.current,e.page,"prev"),s.routes.next=this._getRouteParams(s.books.current,e.page,"next"),s.routes.books=r,s.routes.close=o.closeRoute,s.empty=!1}),!0}).catch(t=>{console.debug(t),this.empty=!0})},async _setBookmarkPage(e){const t={group:"c",ids:[+this.books.current.pk]};e=Math.max(Math.min(this.books.current.maxPage,e),0);const o={page:e};await Z.setGroupBookmarks(t,o)},async setSettingsLocal(e){this._updateSettings(e,!0);const t={group:"c",ids:[+this.books.current.pk]};await Z.setGroupBookmarks(t,this.books.current.settings)},setSettingsClient(e){this.clientSettings={...this.clientSettings,...e}},async clearSettingsLocal(){await this.setSettingsLocal(ve),this.setSettingsClient(Se)},async setSettingsGlobal(e){this._updateSettings(e,!1),await F.setReaderSettings(this.readerSettings),await this.clearSettingsLocal()},setBookChangeFlag(e){e=this.normalizeDirection(e),this.bookChange=this.routes.books[e]?e:void 0},normalizeDirection(e){return this.isReadInReverse?we[e]:e},_validateRoute(e,t){if(t||(t=this.books.current),!t)return{};const o=t.maxPage??0;return e.page>o?(e.page=o,console.warn("Tried to navigate past the end of the book.")):e.page<0&&(e.page=0,console.warn("Tried to navigate before the beginning of the book.")),e},_routeTo(e,t){if(e=this._validateRoute(e,t),this.isPagesNotRoutes&&+e.pk===this.books.current.pk)this.setActivePage(+e.page,!0);else{const o={name:"reader",params:e};J.push(o).catch(console.debug)}},routeToDirectionOne(e){e=this.normalizeDirection(e);const t=e==="prev"?-1:1,o=this.page+=t;if(o<0||o>this.books.current.maxPage)return;const n={pk:this.books.current.pk,page:o};this._routeTo(n)},routeToDirection(e){if(e=this.normalizeDirection(e),this.routes[e]){const t=this.routes[e];this._routeTo(t)}else this.routes.books[e]?this.bookChange===e?this._routeTo(this.routes.books[e],this.books[e]):this.setBookChangeFlag(e):console.debug("No route to direction",e)},routeToPage(e){const t={pk:this.books.current.pk,page:e};this._routeTo(t)},routeToBook(e){this._routeTo(this.routes.books[e],this.books[e])},_prefetchSrc(e,t,o=!1,n=!1){if(!e)return!1;const r=o?this.books[t]:this.books.current;if(!r)return!1;let s=e.page;if(n){if(!this.getSettings(r).twoPages)return!1;s+=1}if(s>r.maxPage)return!1;const a={pk:e.pk,page:s,mtime:r.mtime};return j(a)},prefetchLinks(e,t,o=!1){if(!o&&this.cacheBook)return{};const n=[this._prefetchSrc(e,t,o,!1),this._prefetchSrc(e,t,o,!0)],r=[];for(const s of n)s&&r.push({...G,href:s});return{link:r}},prefetchBook(e){if(!this.cacheBook||e.fileType=="PDF")return{};const t=e.pk,o=[];for(let n=0;n<=e.maxPage;n++){const r={pk:t,page:n,mtime:e.mtime},s=j(r);s&&o.push({...G,href:s})}return{link:o}},toRoute(e){return e?{params:e}:{}},linkLabel(e,t){return`${e==="prev"?"Previous":"Next"} ${t}`}}}),xt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(u,["isBTT"]),...v(u,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.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:{...b(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function $t(e,t,o,n,r,s){const a=g("router-link");return s.show?(d(),p(bt,{key:0,class:B(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:s.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:c(()=>[l(a,{class:B({navLink:!0,[s.cursorClass]:!0}),to:s.route,"aria-label":s.label,title:s.label,onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},{default:c(()=>[l(R,{class:"bookChangeIcon"},{default:c(()=>[k(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):w("",!0)}const Ot=f(xt,[["render",$t],["__scopeId","data-v-03e41a14"]]),Nt={name:"BookChangeActivator",components:{BookChangeDrawer:Ot},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:{...b(u,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function Vt(e,t,o,n,r,s){const a=g("BookChangeDrawer");return d(),S(T,null,[s.show?(d(),S("div",{key:0,class:B(["bookChangeColumn",{[s.positionClass]:!0,[s.cursorClass]:!0}]),onClick:t[0]||(t[0]=ce(h=>e.setBookChangeFlag(o.direction),["stop"]))},null,2)):w("",!0),l(a,{direction:o.direction},null,8,["direction"])],64)}const Et=f(Nt,[["render",Vt],["__scopeId","data-v-db3eb561"]]),At={name:"LoadingPage",components:{Placeholder:wt},props:{twoPages:{type:Boolean,required:!0}}};function Ft(e,t,o,n,r,s){const a=g("Placeholder");return d(),S("div",{class:B(["pageLoading",{twoPages:o.twoPages}])},[l(a,{class:"pagePlaceholder"})],2)}const zt=f(At,[["render",Ft],["__scopeId","data-v-04027168"]]),te="unauthorized",Ut={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===te?"Protected page":"Failed to load page"},icon(){return this.type===te?Ve:Ee}}};function Mt(e,t,o,n,r,s){return d(),p(be,{class:B(["pageError",{twoPages:o.twoPages}]),headline:s.text,icon:s.icon},null,8,["class","headline","icon"])}const Wt=f(Ut,[["render",Mt],["__scopeId","data-v-417a4cab"]]),Ht={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(u,{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 o=t.naturalWidth/2;return e.transformOrigin=`${o}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...b(u,["fitToClass"])}},jt=["src"];function Gt(e,t,o,n,r,s){return d(),S("img",W({class:[s.classes,"img"],draggable:"false",src:o.src,style:s.style},e.$attrs,{onError:t[0]||(t[0]=a=>e.$emit("error",a)),onLoad:t[1]||(t[1]=a=>e.$emit("load",a))}),null,16,jt)}const oe=f(Ht,[["render",Gt],["__scopeId","data-v-559e2ecc"]]),se=ue(de(()=>ct(()=>import("./pdf-doc-BTdS9hUz.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])))),qt=333,Kt={name:"BookPage",components:{ErrorPage:Wt,LoadingPage:zt,PDFDoc:se,ImgPage:oe},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...P(u,["isVertical"]),...v(u,{scale:e=>e.clientSettings.scale}),style(){var o;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(o=this.$refs.pageComponent)==null?void 0:o.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return j(e)},component(){return this.book.fileType==="PDF"?se:oe},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},qt)},methods:{...b(u,["getSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1}}},Yt=["id","data-page"];function Xt(e,t,o,n,r,s){const a=g("ErrorPage"),h=g("LoadingPage");return d(),S("div",{id:`page${o.page}`,"data-page":o.page,class:"page",style:ge(s.style)},[r.error?(d(),p(a,{key:0,"two-pages":s.settings.twoPages,type:r.error},null,8,["two-pages","type"])):r.showProgress&&!r.loaded?(d(),p(h,{key:1,"two-pages":s.settings.twoPages},null,8,["two-pages"])):(d(),p(he(s.component),{key:2,ref:"pageComponent",book:o.book,page:1,src:s.src,onError:s.onError,onLoad:s.onLoad,onUnauthorized:s.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Yt)}const Be=f(Kt,[["render",Xt],["__scopeId","data-v-87996fa1"]]),Qt=.5,Jt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:Ae}},computed:{...v(u,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=y},style(){return{cursor:this.scale==y?"zoom-in":"all-scroll"}}},methods:{...b(u,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Qt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:y})}}};function Zt(e,t,o,n,r,s){const a=Fe("drag-scroller");return D((d(),S("div",{class:"scaleForScroll",style:ge(s.style),onDblclick:t[0]||(t[0]=(...h)=>s.onDoubleClick&&s.onDoubleClick(...h))},[ze(e.$slots,"default",{},void 0,!0),s.showReset?(d(),p(R,{key:0,class:"resetIcon",onClick:ce(s.scaleReset,["stop"])},{default:c(()=>[k(_(r.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):w("",!0)],36)),[[a,,void 0,{onlyX:!0}]])}const Te=f(Jt,[["render",Zt],["__scopeId","data-v-b24267c0"]]),eo={name:"HorizontalPages",components:{BookPage:Be,ScaleForScroll:Te},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...P(u,["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:{...b(u,["getSettings"])}};function to(e,t,o,n,r,s){const a=g("BookPage"),h=g("ScaleForScroll");return d(),p(h,{class:"noWrap"},{default:c(()=>[s.showPageOne?(d(),p(a,{key:0,ref:"pageOne",book:o.book,page:s.pageOne,class:"horizontalPage"},null,8,["book","page"])):w("",!0),s.showPageTwo?(d(),p(a,{key:1,book:o.book,page:s.pageTwo,class:"horizontalPage"},null,8,["book","page"])):w("",!0)]),_:1})}const oo=f(eo,[["render",to],["__scopeId","data-v-9a560964"]]),so={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(u,["isVertical","isFirstPage","isLastPage"]),...v(u,{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:{...b(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function ro(e,t,o,n,r,s){const a=g("router-link");return s.show?(d(),p(a,{key:0,to:s.route,"aria-label":s.label,class:B({[s.pageChangeClass]:!0,[s.directionClass]:!0}),onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},null,8,["to","aria-label","class"])):w("",!0)}const ao=f(so,[["render",ro],["__scopeId","data-v-9ade7d96"]]),no=48,io=48,lo={name:"PagerHorizontal",components:{HorizontalPages:oo,PageChangeLink:ao},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...P(u,["isReadInReverse"]),...v(u,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),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),o=this.pages.at(-1);(e<t||e>o)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(u,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-no,0),t=Math.min(this.activePage+io,this.book.maxPage),o=ke.range(e,t+1);this.pages=o}}};function co(e,t,o,n,r,s){const a=g("PageChangeLink"),h=g("HorizontalPages");return d(),p(Pe,{"show-arrows":"",continuous:"","model-value":s.windowIndex,reverse:e.isReadInReverse},{prev:c(()=>[l(a,{direction:"prev"})]),next:c(()=>[l(a,{direction:"next"})]),default:c(()=>[(d(!0),S(T,null,V(r.pages,m=>(d(),p(_e,{key:`c/${o.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:c(()=>[l(h,{book:o.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const re=f(lo,[["render",co],["__scopeId","data-v-e04bbc00"]]);function ye(e,t){const{self:o=!1}=t.modifiers??{},n=t.value,r=typeof n=="object"&&n.options||{passive:!0},s=typeof n=="function"||"handleEvent"in n?n:n.handler,a=o?e:t.arg?document.querySelector(t.arg):window;a&&(a.addEventListener("scroll",s,r),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:s,options:r,target:o?void 0:a})}function De(e,t){var s;if(!((s=e._onScroll)!=null&&s[t.instance.$.uid]))return;const{handler:o,options:n,target:r=e}=e._onScroll[t.instance.$.uid];r.removeEventListener("scroll",o,n),delete e._onScroll[t.instance.$.uid]}function uo(e,t){t.value!==t.oldValue&&(De(e,t),ye(e,t))}const ho={mounted:ye,unmounted:De,updated:uo},go=12,ae=250,po={name:"PagerVertical",components:{BookPage:Be,ScaleForScroll:Te},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...v(u,{storePage:e=>e.page}),...pe(u,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var o;const e=(o=this.book)!=null&&o.maxPage?this.book.maxPage+1:0,t=ke.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,go)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},ae)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(u,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const n=+t[0].target.dataset.page;this.setActivePage(n,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const o=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=o&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},ae)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},mo=["data-page"];function ko(e,t,o,n,r,s){const a=g("BookPage"),h=g("ScaleForScroll");return d(),p(h,null,{default:c(()=>[D((d(),p(Bt,{id:"verticalScroll",key:s.readInReverse,ref:"verticalScroll",items:s.items,height:r.innerHeight,width:r.innerWidth},{default:c(({item:m})=>[l(a,{book:o.book,page:m,class:"verticalPage"},null,8,["book","page"]),D(i("div",{class:"pageTracker","data-page":m},null,8,mo),[[Ue,{handler:s.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ho,s.onScroll,"#verticalScroll"]])]),_:1})}const ne=f(po,[["render",ko],["__scopeId","data-v-97638fc3"]]),ie=ue(de(()=>"@/components/reader/pager/pager-full-pdf.vue")),fo={name:"PagerSelector",components:{PagerHorizontal:re,PagerPDF:ie,PagerVertical:ne},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(u,["isVertical","cacheBook"]),...v(u,{storePk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?ie:this.isVertical?ne:re}},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:{...b(u,["getSettings","setActivePage","prefetchBook"])}};function bo(e,t,o,n,r,s){return d(),p(he(s.component),{book:o.book},null,8,["book"])}const _o=f(fo,[["render",bo]]),Po={name:"BooksWindow",components:{BookChangeActivator:Et,Pager:_o},emits:["click"],computed:{...P(u,["isBTT"]),...v(u,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...b(u,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function vo(e,t,o,n,r,s){const a=g("BookChangeActivator"),h=g("Pager");return d(),p(Pe,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:s.click},{prev:c(()=>[l(a,{direction:"prev"})]),next:c(()=>[l(a,{direction:"next"})]),default:c(()=>[(d(!0),S(T,null,V(e.books,m=>(d(),p(_e,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:s.eager(m.pk),value:m.pk,transition:!0},{default:c(()=>[l(h,{book:m,onClick:s.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const So=f(Po,[["render",vo],["__scopeId","data-v-2a90783e"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Me,mdiFileImage:We}},computed:{...P(u,["activeTitle","routeParams"]),...v(u,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return dt(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return ht({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...b(q,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},Ro={key:0,id:"downloadPanel"};function Co(e,t,o,n,r,s){return e.currentBook?(d(),S("div",Ro,[l(H,{onClick:s.downloadPage},{default:c(()=>[l(Y,null,{default:c(()=>[l(R,null,{default:c(()=>[k(_(r.mdiFileImage),1)]),_:1}),k("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),l(H,{onClick:s.downloadBook},{default:c(()=>[l(Y,null,{default:c(()=>[l(R,null,{default:c(()=>[k(_(r.mdiDownload),1)]),_:1}),k("Download Book ")]),_:1})]),_:1},8,["onClick"])])):w("",!0)}const Bo=f(wo,[["render",Co],["__scopeId","data-v-9e01f4cb"]]),To={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:He,mdiMenuRight:je,mdiKeyboardOutline:Ge,mdiKeyboardSpace:qe,mdiAppleKeyboardShift:Ke}},computed:{...P(q,["isMobile"])}},C=e=>(Ye("data-v-a8b4ac47"),e=e(),Xe(),e),yo=C(()=>i("h4",null,"Navigation",-1)),Do={class:"highlight-table"},Io=C(()=>i("td",null,"Previous page",-1)),Lo=C(()=>i("td",null,"Next page",-1)),xo=C(()=>i("tr",null,[i("td",null,","),i("td",null,[k("Next "),i("em",null,"only"),k(" one page in two page mode.")])],-1)),$o=C(()=>i("tr",null,[i("td",null,"."),i("td",null,[k("Previous "),i("em",null,"only"),k(" one page in two page mode.")])],-1)),Oo=C(()=>i("tr",null,[i("td",null,"p"),i("td",null,"Previous Book")],-1)),No=C(()=>i("tr",null,[i("td",null,"n"),i("td",null,"Next Book")],-1)),Vo=C(()=>i("tr",null,[i("td",null,"esc"),i("td",null,"Close book")],-1)),Eo=C(()=>i("h4",null,"Fit Page To",-1)),Ao=C(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"s"),i("td",null,"screen")]),i("tr",null,[i("td",null,"h"),i("td",null,"screen height")]),i("tr",null,[i("td",null,"w"),i("td",null,"screen width")]),i("tr",null,[i("td",null,"o"),i("td",null,"Show page at original size")]),i("tr",null,[i("td",null,"2"),i("td",null,"Toggle two page view")]),i("tr",null,[i("td",null,"r"),i("td",null,"Read Right to Left")]),i("tr",null,[i("td",null,"l"),i("td",null,"Read Left to Right")]),i("tr",null,[i("td",null,"t"),i("td",null,"Read Top to Bottom")]),i("tr",null,[i("td",null,"b"),i("td",null,"Read in Bottom to Top")])])],-1)),Fo=C(()=>i("h4",null,"Other",-1)),zo=C(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"m"),i("td",null,"Show comic's metadata")]),i("tr",null,[i("td",null,"double click"),i("td",null,"Zoom page")])])],-1));function Uo(e,t,o,n,r,s){return e.isMobile?w("",!0):(d(),p(It,{key:0},{default:c(()=>[l(Tt,{id:"readerKeyboardShortcuts"},{default:c(()=>[l(yt,{id:"shortcutsTitle"},{default:c(()=>[l(R,{id:"keyboardIcon"},{default:c(()=>[k(_(r.mdiKeyboardOutline),1)]),_:1}),k("Keyboard Shortcuts ")]),_:1}),l(Dt,null,{default:c(()=>[yo,i("table",Do,[i("tbody",null,[i("tr",null,[i("td",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiMenuLeft),1)]),_:1}),k(", j, "),i("div",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiAppleKeyboardShift),1)]),_:1}),l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiKeyboardSpace),1)]),_:1})])]),Io]),i("tr",null,[i("td",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiMenuRight),1)]),_:1}),k(", k, "),l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiKeyboardSpace),1)]),_:1})]),Lo]),xo,$o,Oo,No,Vo])]),Eo,Ao,Fo,zo]),_:1})]),_:1})]),_:1}))}const Mo=f(To,[["render",Uo],["__scopeId","data-v-a8b4ac47"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const Wo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:Qe}},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["isVertical","isPDF","cacheBook"]),...v(u,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,o;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(o=e.books)==null?void 0:o.current.settings},isClearSettingsButtonDisabled(e){var t,o;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const n of Ie){const r=(o=e.books)==null?void 0:o.current.settings[n];if(!e.choices.nullValues.has(r))return!1}return!0},bookInBrowserURL(e){var t,o;return(t=e.books)!=null&&t.current?Je((o=e.books)==null?void 0:o.current):""}}),...pe(u,["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:{...b(u,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const o of this.choices[e])o.value&&t.push(o);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)}}},Ho={key:0,id:"readerSettings"},jo=["href"];function Go(e,t,o,n,r,s){return e.validBook?(d(),S("div",Ho,[l(U,{modelValue:r.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=a=>r.isGlobalScope=a),density:"compact",label:"Scope","hide-details":"auto"},{default:c(()=>[l(L,{label:"Only this comic",value:!1}),l(L,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),l(U,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=a=>s.settingsDialogChanged({fitTo:a}))},{default:c(()=>[(d(!0),S(T,null,V(s.fitToChoices,a=>(d(),p(L,{key:a.value,label:a.title,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l(M,{disabled:s.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]=a=>s.settingsDialogChanged({twoPages:a}))},null,8,["disabled","model-value","indeterminate"]),l(U,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=a=>s.settingsDialogChanged({readingDirection:a}))},{default:c(()=>[(d(!0),S(T,null,V(s.readingDirectionChoices,a=>(d(),p(L,{key:a.value,label:a.title,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:s.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=a=>e.setSettingsClient({cacheBook:a}))},null,8,["model-value","disabled"]),e.isPDF?(d(),S("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[l(R,null,{default:c(()=>[k(_(r.mdiOpenInNew),1)]),_:1}),k("Read PDF in Browser ")],8,jo)):w("",!0),r.isGlobalScope?(d(),p(M,{key:1,"model-value":e.selectedSettings.readRtlInReverse,class:"readRtlInReverse",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=a=>s.settingsDialogChanged({readRtlInReverse:a}))},null,8,["model-value"])):w("",!0),r.isGlobalScope?w("",!0):(d(),p(me,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:c(()=>[k(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])):w("",!0)}const qo=f(Wo,[["render",Go],["__scopeId","data-v-599636e1"]]),Ko={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:Bo,ReaderKeyboardShortcutsPanel:Mo,ReaderSettingsPanel:qo}};function Yo(e,t,o,n,r,s){const a=g("ReaderSettingsPanel"),h=g("ReaderKeyboardShortcutsPanel"),m=g("DownloadPanel");return d(),S(T,null,[l(a),l(X),l(h),l(X),l(m)],64)}const Xo=f(Ko,[["render",Yo]]),Qo={name:"ReaderSettingsDrawer",components:{SettingsDrawer:_t,ReaderSettingsSuperPanel:Xo}};function Jo(e,t,o,n,r,s){const a=g("ReaderSettingsSuperPanel"),h=g("SettingsDrawer");return d(),p(h,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:c(()=>[l(a)]),_:1})}const Zo=f(Qo,[["render",Jo]]),le={a:et,f:tt,s:ot},es={a:"Story Arc",f:"Folder",s:"Series"},ts={name:"ReaderArcSelect",components:{ToolbarSelect:gt},computed:{...v(u,{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 o of e.arcs){const n={value:o,title:o.name,group:o.group,subtitle:es[o.group],prependIcon:le[o.group]};t.push(n)}return t}})},methods:{...b(u,["loadBooks"]),arcIcon(e){return le[e]},checkIcon(e){return e===this.arc?Ze:""},onUpdate(e){const t=this.$route.params;if(!t)return;const o={group:e.group,pks:e.pks},n={...t,arc:o};this.loadBooks(n)}}},os={id:"arcPos"};function ss(e,t,o,n,r,s){const a=g("ToolbarSelect");return d(),p(a,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":s.onUpdate},{item:c(({item:h,props:m})=>[l(H,W(m,{density:"compact",variant:"plain","prepend-icon":h.raw.prependIcon,subtitle:h.raw.subtitle,"append-icon":s.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:c(({item:h,props:m})=>[l(R,W({size:"large"},m,{class:"arcSelectIcon"}),{default:c(()=>[k(_(s.arcIcon(h.raw.group)),1)]),_:2},1040),i("span",os,_(e.arc.index)+" / "+_(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const rs=f(ts,[["render",ss],["__scopeId","data-v-42a57aca"]]),as={name:"ReaderTitleToolbar",components:{MetadataDialog:pt,ReaderArcSelect:rs,SettingsDrawerButton:Pt},data(){return{mdiClose:st,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["activeTitle"]),...v(u,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},closeRoute:e=>e.routes.close,empty:e=>e.empty,subtitle:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.name)||""}}),closeBookRoute(){var t;const e={name:"browser",params:this.closeRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||O.browser.breadcrumbs[0],e},title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(q,["setTimestamp"]),...b(u,["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}}}},ns={id:"title"},is={key:0,id:"subtitle"};function ls(e,t,o,n,r,s){const a=g("ReaderArcSelect"),h=g("MetadataDialog"),m=g("SettingsDrawerButton");return d(),p(St,{id:"readerToolbarTop",density:"compact","extension-height":s.extensionHeight},rt({default:c(()=>[l(z,null,{default:c(()=>[l(me,{ref:"closeBook",class:"closeBook",to:s.closeBookRoute,size:"large",density:"compact",variant:"plain",onClick:s.onCloseBook},{default:c(()=>[k(" close book ")]),_:1},8,["to","onClick"])]),_:1}),l(mt),e.empty?w("",!0):(d(),p(z,{key:0},{default:c(()=>[l(a),l(h,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),l(z,null,{default:c(()=>[l(m)]),_:1})]),_:2},[s.title?{name:"extension",fn:c(()=>[l(vt,{class:"readerTitle"},{default:c(()=>[i("div",ns,_(s.title),1),e.subtitle?(d(),S("div",is,_(e.subtitle),1)):w("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])}const Le=f(as,[["render",ls],["__scopeId","data-v-0217ea46"]]),cs={name:"ReaderEmpty",components:{ReaderTopToolbar:Le},data(){return{mdiBookRemoveOutline:at}}};function us(e,t,o,n,r,s){const a=g("ReaderTopToolbar");return d(),S(T,null,[l(a),l(be,{class:"empty",headline:"Book Not Found",title:"Close the reader and find another book",icon:r.mdiBookRemoveOutline},null,8,["icon"])],64)}const ds=f(cs,[["render",us],["__scopeId","data-v-65d65e48"]]),hs={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:fe},props:{direction:{type:String,required:!0}},computed:{...P(u,["isBTT"]),...v(u,{toRoute(e){var o;const t=(o=e==null?void 0:e.routes)==null?void 0:o.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...b(u,["bookChangeIcon"])}};function gs(e,t,o,n,r,s){const a=g("PaginationNavButton");return e.toRoute?(d(),p(a,{key:0,class:B(s.classes),icon:"",variant:"plain",title:s.title,to:e.toRoute},{default:c(()=>[l(R,null,{default:c(()=>[k(_(s.icon),1)]),_:1})]),_:1},8,["class","title","to"])):w("",!0)}const ps=f(hs,[["render",gs],["__scopeId","data-v-4be59e7e"]]),ms={name:"ReaderNavButton",components:{PaginationNavButton:fe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(u,["isVertical"]),...v(u,{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:{...b(u,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ks(e,t,o,n,r,s){const a=g("PaginationNavButton");return d(),p(a,{key:e.isVertical,disabled:s.disabled,class:B(["readerNavButton",s.classes]),title:s.title,to:e.toRoute,onClick:s.onClick},{default:c(()=>[k(_(o.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const fs=f(ms,[["render",ks],["__scopeId","data-v-c9e294f6"]]),x="prev",$="next",bs={name:"ReaderNavToolbar",components:{PaginationSlider:kt,ReaderNavButton:fs,PaginationToolbar:ft,ReaderBookChangeNavButton:ps},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["activeSettings","isReadInReverse","isVertical"]),...v(u,{storePage:e=>e.page,key(e){var t,o;return`${(o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},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:{...b(u,["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($):e.shiftKey&&window.scrollY===0&&this.routeToDirection(x);break;case"j":case"ArrowRight":this.routeToDirection($);break;case"k":case"ArrowLeft":this.routeToDirection(x);break;case",":this.routeToDirectionOne(x);break;case".":this.routeToDirectionOne($);break;case"n":this.routeToBook($);break;case"p":this.routeToBook(x);break}}}};function _s(e,t,o,n,r,s){const a=g("ReaderBookChangeNavButton"),h=g("ReaderNavButton"),m=g("PaginationSlider"),E=g("PaginationToolbar");return e.maxPage?(d(),p(E,{key:0,id:"readerToolbarNav"},{default:c(()=>[l(a,{direction:s.bookPrev,narrow:!1},null,8,["direction"]),l(h,{value:s.min,"two-pages":s.twoPages},null,8,["value","two-pages"]),(d(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:s.step,"track-color":s.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=A=>s.onSliderUpdate(A))},null,8,["model-value","max","step","track-color","reverse"])),l(h,{value:s.max,"two-pages":s.twoPages},null,8,["value","two-pages"]),l(a,{direction:s.bookNext,narrow:!1},null,8,["direction"])]),_:1})):w("",!0)}const Ps=f(bs,[["render",_s],["__scopeId","data-v-dab0637e"]]),vs={name:"MainReader",components:{BooksWindow:So,ReaderEmpty:ds,ReaderNavToolbar:Ps,ReaderTopToolbar:Le,ReaderSettingsDrawer:Zo,Unauthorized:Rt},data(){return{showToolbars:!1}},computed:{...P(I,["isAuthorized"]),...v(I,{user:e=>e.user}),...v(u,{empty:e=>e.empty})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){u().$reset,this.loadReaderSettings()},methods:{...b(u,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Ss={key:0},ws={id:"readerContainer"};function Rs(e,t,o,n,r,s){const a=g("ReaderTopToolbar"),h=g("BooksWindow"),m=g("ReaderNavToolbar"),E=g("ReaderEmpty"),A=g("ReaderSettingsDrawer"),xe=g("Unauthorized");return e.isAuthorized?(d(),p(Ct,{key:0,id:"readerWrapper"},{default:c(()=>[e.empty?(d(),p(E,{key:1})):(d(),S("div",Ss,[i("div",ws,[l(nt,null,{default:c(()=>[D(l(a,null,null,512),[[Q,r.showToolbars]])]),_:1}),l(h,{onClick:s.toggleToolbars},null,8,["onClick"]),l(it,null,{default:c(()=>[D(l(m,null,null,512),[[Q,r.showToolbars]])]),_:1})])])),l(A)]),_:1})):(d(),p(xe,{key:1}))}const Cs=f(vs,[["render",Rs],["__scopeId","data-v-dab9a44d"]]),Es=Object.freeze(Object.defineProperty({__proto__:null,default:Cs},Symbol.toStringTag,{value:"Module"}));export{Es as r,u};
1
+ const __vite__fileDeps=["assets/pdf-doc-4PKLN-Z3.js","assets/admin-drawer-panel-C34Ze3-5.js","assets/admin-drawer-panel-BHdNPwzF.css","assets/main-Cavvqkyp.js","assets/main-sK7HC5h4.css","assets/index-DUjeNg4x.js","assets/pagination-toolbar-Dg9tH1Ju.js","assets/VSelect-BnoCfCLY.js","assets/VTextField-Da_Hs7ls.js","assets/VDialog-DiixpkQL.js","assets/VDialog-C5Nxd_zP.css","assets/VSelectionControl-BSL0qeL9.js","assets/VSelectionControl-BFq--28I.css","assets/VTextField-BssVoDhB.css","assets/VCheckboxBtn-m4IbdjEe.js","assets/VSlideGroup-BQtz8h9p.js","assets/VSlideGroup-Dk_1upHt.css","assets/VSelect-MGVSeLgr.css","assets/to-case-kUm8NPpW.js","assets/unauthorized-28bmiwAU.js","assets/change-password-dialog-JYM9aAR9.js","assets/change-password-dialog-HvIvmmIE.css","assets/unauthorized-DHV6Q1n-.css","assets/settings-drawer-CT73ieiV.js","assets/settings-drawer-nZ9HvKSZ.css","assets/pagination-toolbar-ClZui9Zf.css","assets/VWindowItem-CFhKCj49.js","assets/VWindowItem-ByIod57Y.css","assets/VExpansionPanels-Db5mPFue.js","assets/VExpansionPanels-DsEXVcCv.css","assets/VRadioGroup-DULWiMSI.js","assets/VRadioGroup-i2qP9Wu9.css","assets/VCheckbox-BS5fdM4M.js","assets/VCheckbox-CMKdyl0R.css","assets/pdf-doc-CMzaSV_K.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);
2
+ import{l as $e,bw as Oe,bx as Ne,ag as P,N as v,O as b,_ as f,Q as g,R as d,P as p,T as c,L as l,ah as R,ad as k,ai as _,ae as B,aD as w,aA as S,aS as ce,M as T,by as Ve,bz as Ee,ap as W,bA as ue,bB as de,aC as he,bC as ge,bD as Ae,b1 as Fe,b0 as D,bt as ze,aB as V,bo as pe,aN as i,a_ as Ue,bE as Me,bF as We,k as q,aj as Y,ak as H,bG as He,bH as je,bI as Ge,bJ as qe,bK as Ke,aO as Ye,aP as Xe,aJ as Qe,m as I,bL as Je,ao as me,aQ as X,bM as Ze,bN as et,bf as tt,af as ot,bO as st,bh as rt,bP as at,b3 as Q,bk as nt,bQ as it}from"./admin-drawer-panel-C34Ze3-5.js";import{t as lt}from"./index-DUjeNg4x.js";import{C as O,r as J,B as Z,_ as ct,a as ke}from"./main-Cavvqkyp.js";import{g as ut,A as F,h as j,i as dt,j as ht,T as gt,M as pt,V as z,c as mt,P as fe,d as kt,e as ft}from"./pagination-toolbar-Dg9tH1Ju.js";import{d as bt,b as _t,S as Pt,V as vt,a as St}from"./settings-drawer-CT73ieiV.js";import{P as wt,a as be,U as Rt,V as Ct}from"./unauthorized-28bmiwAU.js";import{b as _e,V as Pe}from"./VWindowItem-CFhKCj49.js";import{b as Bt}from"./VSelect-BnoCfCLY.js";import{V as Tt,a as yt,b as Dt,c as It}from"./VExpansionPanels-Db5mPFue.js";import{V as L,a as U}from"./VRadioGroup-DULWiMSI.js";import{V as M}from"./VCheckbox-BS5fdM4M.js";const ve={fitTo:"",twoPages:null,readingDirection:"",readRtlInReverse:null};Object.freeze(ve);const Se={cacheBook:!1};Object.freeze(Se);const N=new Set(["",null,void 0]);Object.freeze(N);const we={prev:"next",next:"prev"};Object.freeze(we);const G={rel:"prefetch",as:"image"};Object.freeze(G);const K=new Set(["ttb","btt"]);Object.freeze(K);const Re=new Set(["rtl","btt"]);Object.freeze(Re);const y=1,Ce={S:"Screen",W:"Width",H:"Height",O:"Original"};Object.freeze(Ce);const Lt=()=>Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)>600?"HEIGHT":"WIDTH",ee=e=>{K.has(e.readingDirection)&&e.twoPages&&(e.twoPages=!1)},u=$e("reader",{state:()=>({choices:{fitTo:O.reader.fitTo,readingDirection:O.reader.readingDirection,nullValues:N},readerSettings:{fitTo:Lt(),twoPages:!1,readingDirection:"ltr",readRtlInReverse:!1},books:{current:void 0,prev:!1,next:!1},arcs:[],arc:{},empty:!1,page:void 0,routes:{prev:!1,next:!1,books:{prev:!1,next:!1},close:O.browser.breadcrumbs[0]},bookChange:void 0,reactWithScroll:!1,clientSettings:{cacheBook:!1,scale:y}}),getters:{groupBooks(e){const t=[];return e.books.prev[0]&&t.push[e.books.prev[0]],t.push[e.books.current],e.books.next[0]&&t.push[e.books.next[0]],t},activeSettings(e){return e.getSettings(e.books.current)||{}},activeTitle(e){var n;const t=e.books.current;let o;return t?(((n=e.arcs[0])==null?void 0:n.group)!="f"&&(o=ut(t)),o||(o=t.filename||"")):o="",o},routeParams(e){return{pk:+e.books.current.pk,page:+e.page}},isVertical(e){return K.has(e.activeSettings.readingDirection)},isPDF(e){var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.fileType)=="PDF"},cacheBook(e){return e.clientSettings.cacheBook&&!(this.isPDF&&this.isVertical)},isPagesNotRoutes(e){return e.isVertical||this.cacheBook},isReadInReverse(e){return Re.has(e.activeSettings.readingDirection)},isBTT(e){return e.activeSettings.readingDirection==="btt"},isFirstPage(e){return e.page===0},isLastPage(e){const t=e.books.current?e.books.current.maxPage:0,o=e.activeSettings.twoPages?1:0,n=t-o;return this.page>=n}},actions:{setReadRTLInReverse(e){return this.readerSettings.readRtlInReverse&&e.readingDirection==="rtl"?{...e,readingDirection:"ltr"}:e},getSettings(e){const t={...N};let o=e?e.settings:{};o=this.setReadRTLInReverse(o);const n=[this.readerSettings,o];for(const r of n)for(const[s,a]of Object.entries(r))N.has(a)||(t[s]=a);return ee(t),t},bookChangeLocation(e){let t;return this.isBTT?t=e==="next"?"left":"right":t=e==="next"?"right":"left",t},bookChangeCursorClass(e){let t;return this.isReadInReverse?t=e==="next"?"up":"down":t=e==="next"?"down":"up",t+"Cursor"},bookChangeShow(e){return e==="prev"?this.books.prev&&this.isFirstPage:this.books.next&&this.isLastPage},bookChangeIcon(e){let t=e==="next";return this.isBTT&&(t=!t),t?Oe:Ne},isCoverPage(e,t){return e.readLtr!==!1&&t===0||e.readLtr&&t===e.maxPage},_getRouteParams(e,t,o){const n=o==="prev"?-1:1;let r=1;this.getSettings(e).twoPages&&!this.isCoverPage(e,+t+n)&&(r=2),r=r*n;const a=+t+r;let h=!1;return a>=0&&a<=e.maxPage&&(h={pk:e.pk,page:a}),h},fitToClass(e){const t=this.getSettings(e),o={};let n;if(this.clientSettings.scale>y?n="Orig":n=Ce[t.fitTo],n){let r="fitTo";r+=lt(n),this.isVertical?r+="Vertical":t.twoPages&&(r+="Two"),o[r]=!0}return o},_updateSettings(e,t){t?(this.books.current.settings={...this.books.current.settings,...e},ee(this.books.current.settings)):this.readerSettings={...this.readerSettings,...e}},_getBookRoutePage(e,t){let o=0;if(t&&e.readLtr!==!1||!t&&e.readLtr===!1){const r=this.getSettings(e).twoPages?-1:0;o=e.maxPage+r}return o},_getBookRoute(e,t){if(!e)return!1;const o=this._getBookRoutePage(e,t);return{pk:e.pk,page:o}},_getBookRoutes(e,t){return{prev:this._getBookRoute(e,!0),next:this._getBookRoute(t,!1)}},async setRoutesAndBookmarkPage(e){const t=this.books.current;this.$patch(o=>{o.routes.prev=this._getRouteParams(t,e,"prev"),o.routes.next=this._getRouteParams(t,e,"next")}),await this._setBookmarkPage(e).then(()=>(this.bookChange=void 0,!0))},setActivePage(e,t=!0){if(e<0)return console.warn("Page out of bounds. Redirecting to 0."),this.routeToPage(0);if(e>this.books.current.maxPage)return console.warn(`Page out of bounds. Redirecting to ${this.books.current.maxPage}.`),this.routeToPage(this.books.current.maxPage);if(this.reactWithScroll=!!t,this.page=+e,this.setRoutesAndBookmarkPage(e),this.isPagesNotRoutes){const o={params:{pk:this.books.current.pk,page:e}},{href:n}=J.resolve(o);window.history.pushState({},void 0,n)}else window.scrollTo(0,0)},async loadReaderSettings(){return F.getReaderSettings().then(e=>{const t=e.data;return this._updateSettings(t,!1),this.empty=!1,!0}).catch(console.error)},async loadBooks(e){await F.getReaderInfo(e).then(t=>{const o=t.data,n=[o.books.prevBook,o.books.current,o.books.nextBook];for(const s of n)s&&!s.settings&&(s.settings={});const r=this._getBookRoutes(o.books.prevBook,o.books.nextBook);return this.$patch(s=>{s.books.current=o.books.current,s.books.prev=o.books.prevBook,s.books.next=o.books.nextBook,s.arcs=o.arcs,s.arc=o.arc,s.routes.prev=this._getRouteParams(s.books.current,e.page,"prev"),s.routes.next=this._getRouteParams(s.books.current,e.page,"next"),s.routes.books=r,s.routes.close=o.closeRoute,s.empty=!1}),!0}).catch(t=>{console.debug(t),this.empty=!0})},async _setBookmarkPage(e){const t={group:"c",ids:[+this.books.current.pk]};e=Math.max(Math.min(this.books.current.maxPage,e),0);const o={page:e};await Z.setGroupBookmarks(t,o)},async setSettingsLocal(e){this._updateSettings(e,!0);const t={group:"c",ids:[+this.books.current.pk]};await Z.setGroupBookmarks(t,this.books.current.settings)},setSettingsClient(e){this.clientSettings={...this.clientSettings,...e}},async clearSettingsLocal(){await this.setSettingsLocal(ve),this.setSettingsClient(Se)},async setSettingsGlobal(e){this._updateSettings(e,!1),await F.setReaderSettings(this.readerSettings),await this.clearSettingsLocal()},setBookChangeFlag(e){e=this.normalizeDirection(e),this.bookChange=this.routes.books[e]?e:void 0},normalizeDirection(e){return this.isReadInReverse?we[e]:e},_validateRoute(e,t){if(t||(t=this.books.current),!t)return{};const o=t.maxPage??0;return e.page>o?(e.page=o,console.warn("Tried to navigate past the end of the book.")):e.page<0&&(e.page=0,console.warn("Tried to navigate before the beginning of the book.")),e},_routeTo(e,t){if(e=this._validateRoute(e,t),this.isPagesNotRoutes&&+e.pk===this.books.current.pk)this.setActivePage(+e.page,!0);else{const o={name:"reader",params:e};J.push(o).catch(console.debug)}},routeToDirectionOne(e){e=this.normalizeDirection(e);const t=e==="prev"?-1:1,o=this.page+=t;if(o<0||o>this.books.current.maxPage)return;const n={pk:this.books.current.pk,page:o};this._routeTo(n)},routeToDirection(e){if(e=this.normalizeDirection(e),this.routes[e]){const t=this.routes[e];this._routeTo(t)}else this.routes.books[e]?this.bookChange===e?this._routeTo(this.routes.books[e],this.books[e]):this.setBookChangeFlag(e):console.debug("No route to direction",e)},routeToPage(e){const t={pk:this.books.current.pk,page:e};this._routeTo(t)},routeToBook(e){this._routeTo(this.routes.books[e],this.books[e])},_prefetchSrc(e,t,o=!1,n=!1){if(!e)return!1;const r=o?this.books[t]:this.books.current;if(!r)return!1;let s=e.page;if(n){if(!this.getSettings(r).twoPages)return!1;s+=1}if(s>r.maxPage)return!1;const a={pk:e.pk,page:s,mtime:r.mtime};return j(a)},prefetchLinks(e,t,o=!1){if(!o&&this.cacheBook)return{};const n=[this._prefetchSrc(e,t,o,!1),this._prefetchSrc(e,t,o,!0)],r=[];for(const s of n)s&&r.push({...G,href:s});return{link:r}},prefetchBook(e){if(!this.cacheBook||e.fileType=="PDF")return{};const t=e.pk,o=[];for(let n=0;n<=e.maxPage;n++){const r={pk:t,page:n,mtime:e.mtime},s=j(r);s&&o.push({...G,href:s})}return{link:o}},toRoute(e){return e?{params:e}:{}},linkLabel(e,t){return`${e==="prev"?"Previous":"Next"} ${t}`}}}),xt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(u,["isBTT"]),...v(u,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.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:{...b(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function $t(e,t,o,n,r,s){const a=g("router-link");return s.show?(d(),p(bt,{key:0,class:B(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:s.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:c(()=>[l(a,{class:B({navLink:!0,[s.cursorClass]:!0}),to:s.route,"aria-label":s.label,title:s.label,onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},{default:c(()=>[l(R,{class:"bookChangeIcon"},{default:c(()=>[k(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):w("",!0)}const Ot=f(xt,[["render",$t],["__scopeId","data-v-03e41a14"]]),Nt={name:"BookChangeActivator",components:{BookChangeDrawer:Ot},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:{...b(u,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function Vt(e,t,o,n,r,s){const a=g("BookChangeDrawer");return d(),S(T,null,[s.show?(d(),S("div",{key:0,class:B(["bookChangeColumn",{[s.positionClass]:!0,[s.cursorClass]:!0}]),onClick:t[0]||(t[0]=ce(h=>e.setBookChangeFlag(o.direction),["stop"]))},null,2)):w("",!0),l(a,{direction:o.direction},null,8,["direction"])],64)}const Et=f(Nt,[["render",Vt],["__scopeId","data-v-db3eb561"]]),At={name:"LoadingPage",components:{Placeholder:wt},props:{twoPages:{type:Boolean,required:!0}}};function Ft(e,t,o,n,r,s){const a=g("Placeholder");return d(),S("div",{class:B(["pageLoading",{twoPages:o.twoPages}])},[l(a,{class:"pagePlaceholder"})],2)}const zt=f(At,[["render",Ft],["__scopeId","data-v-04027168"]]),te="unauthorized",Ut={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===te?"Protected page":"Failed to load page"},icon(){return this.type===te?Ve:Ee}}};function Mt(e,t,o,n,r,s){return d(),p(be,{class:B(["pageError",{twoPages:o.twoPages}]),headline:s.text,icon:s.icon},null,8,["class","headline","icon"])}const Wt=f(Ut,[["render",Mt],["__scopeId","data-v-417a4cab"]]),Ht={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(u,{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 o=t.naturalWidth/2;return e.transformOrigin=`${o}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...b(u,["fitToClass"])}},jt=["src"];function Gt(e,t,o,n,r,s){return d(),S("img",W({class:[s.classes,"img"],draggable:"false",src:o.src,style:s.style},e.$attrs,{onError:t[0]||(t[0]=a=>e.$emit("error",a)),onLoad:t[1]||(t[1]=a=>e.$emit("load",a))}),null,16,jt)}const oe=f(Ht,[["render",Gt],["__scopeId","data-v-559e2ecc"]]),se=ue(de(()=>ct(()=>import("./pdf-doc-4PKLN-Z3.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])))),qt=333,Kt={name:"BookPage",components:{ErrorPage:Wt,LoadingPage:zt,PDFDoc:se,ImgPage:oe},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...P(u,["isVertical"]),...v(u,{scale:e=>e.clientSettings.scale}),style(){var o;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(o=this.$refs.pageComponent)==null?void 0:o.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return j(e)},component(){return this.book.fileType==="PDF"?se:oe},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},qt)},methods:{...b(u,["getSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1}}},Yt=["id","data-page"];function Xt(e,t,o,n,r,s){const a=g("ErrorPage"),h=g("LoadingPage");return d(),S("div",{id:`page${o.page}`,"data-page":o.page,class:"page",style:ge(s.style)},[r.error?(d(),p(a,{key:0,"two-pages":s.settings.twoPages,type:r.error},null,8,["two-pages","type"])):r.showProgress&&!r.loaded?(d(),p(h,{key:1,"two-pages":s.settings.twoPages},null,8,["two-pages"])):(d(),p(he(s.component),{key:2,ref:"pageComponent",book:o.book,page:1,src:s.src,onError:s.onError,onLoad:s.onLoad,onUnauthorized:s.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Yt)}const Be=f(Kt,[["render",Xt],["__scopeId","data-v-87996fa1"]]),Qt=.5,Jt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:Ae}},computed:{...v(u,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=y},style(){return{cursor:this.scale==y?"zoom-in":"all-scroll"}}},methods:{...b(u,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Qt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:y})}}};function Zt(e,t,o,n,r,s){const a=Fe("drag-scroller");return D((d(),S("div",{class:"scaleForScroll",style:ge(s.style),onDblclick:t[0]||(t[0]=(...h)=>s.onDoubleClick&&s.onDoubleClick(...h))},[ze(e.$slots,"default",{},void 0,!0),s.showReset?(d(),p(R,{key:0,class:"resetIcon",onClick:ce(s.scaleReset,["stop"])},{default:c(()=>[k(_(r.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):w("",!0)],36)),[[a,,void 0,{onlyX:!0}]])}const Te=f(Jt,[["render",Zt],["__scopeId","data-v-b24267c0"]]),eo={name:"HorizontalPages",components:{BookPage:Be,ScaleForScroll:Te},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...P(u,["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:{...b(u,["getSettings"])}};function to(e,t,o,n,r,s){const a=g("BookPage"),h=g("ScaleForScroll");return d(),p(h,{class:"noWrap"},{default:c(()=>[s.showPageOne?(d(),p(a,{key:0,ref:"pageOne",book:o.book,page:s.pageOne,class:"horizontalPage"},null,8,["book","page"])):w("",!0),s.showPageTwo?(d(),p(a,{key:1,book:o.book,page:s.pageTwo,class:"horizontalPage"},null,8,["book","page"])):w("",!0)]),_:1})}const oo=f(eo,[["render",to],["__scopeId","data-v-9a560964"]]),so={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(u,["isVertical","isFirstPage","isLastPage"]),...v(u,{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:{...b(u,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function ro(e,t,o,n,r,s){const a=g("router-link");return s.show?(d(),p(a,{key:0,to:s.route,"aria-label":s.label,class:B({[s.pageChangeClass]:!0,[s.directionClass]:!0}),onClick:t[0]||(t[0]=h=>h.stopImmediatePropagation())},null,8,["to","aria-label","class"])):w("",!0)}const ao=f(so,[["render",ro],["__scopeId","data-v-9ade7d96"]]),no=48,io=48,lo={name:"PagerHorizontal",components:{HorizontalPages:oo,PageChangeLink:ao},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...P(u,["isReadInReverse"]),...v(u,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),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),o=this.pages.at(-1);(e<t||e>o)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(u,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-no,0),t=Math.min(this.activePage+io,this.book.maxPage),o=ke.range(e,t+1);this.pages=o}}};function co(e,t,o,n,r,s){const a=g("PageChangeLink"),h=g("HorizontalPages");return d(),p(Pe,{"show-arrows":"",continuous:"","model-value":s.windowIndex,reverse:e.isReadInReverse},{prev:c(()=>[l(a,{direction:"prev"})]),next:c(()=>[l(a,{direction:"next"})]),default:c(()=>[(d(!0),S(T,null,V(r.pages,m=>(d(),p(_e,{key:`c/${o.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:c(()=>[l(h,{book:o.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const re=f(lo,[["render",co],["__scopeId","data-v-e04bbc00"]]);function ye(e,t){const{self:o=!1}=t.modifiers??{},n=t.value,r=typeof n=="object"&&n.options||{passive:!0},s=typeof n=="function"||"handleEvent"in n?n:n.handler,a=o?e:t.arg?document.querySelector(t.arg):window;a&&(a.addEventListener("scroll",s,r),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:s,options:r,target:o?void 0:a})}function De(e,t){var s;if(!((s=e._onScroll)!=null&&s[t.instance.$.uid]))return;const{handler:o,options:n,target:r=e}=e._onScroll[t.instance.$.uid];r.removeEventListener("scroll",o,n),delete e._onScroll[t.instance.$.uid]}function uo(e,t){t.value!==t.oldValue&&(De(e,t),ye(e,t))}const ho={mounted:ye,unmounted:De,updated:uo},go=12,ae=250,po={name:"PagerVertical",components:{BookPage:Be,ScaleForScroll:Te},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...v(u,{storePage:e=>e.page}),...pe(u,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var o;const e=(o=this.book)!=null&&o.maxPage?this.book.maxPage+1:0,t=ke.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,go)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},ae)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(u,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const n=+t[0].target.dataset.page;this.setActivePage(n,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const o=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=o&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},ae)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},mo=["data-page"];function ko(e,t,o,n,r,s){const a=g("BookPage"),h=g("ScaleForScroll");return d(),p(h,null,{default:c(()=>[D((d(),p(Bt,{id:"verticalScroll",key:s.readInReverse,ref:"verticalScroll",items:s.items,height:r.innerHeight,width:r.innerWidth},{default:c(({item:m})=>[l(a,{book:o.book,page:m,class:"verticalPage"},null,8,["book","page"]),D(i("div",{class:"pageTracker","data-page":m},null,8,mo),[[Ue,{handler:s.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ho,s.onScroll,"#verticalScroll"]])]),_:1})}const ne=f(po,[["render",ko],["__scopeId","data-v-97638fc3"]]),ie=ue(de(()=>"@/components/reader/pager/pager-full-pdf.vue")),fo={name:"PagerSelector",components:{PagerHorizontal:re,PagerPDF:ie,PagerVertical:ne},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(u,["isVertical","cacheBook"]),...v(u,{storePk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?ie:this.isVertical?ne:re}},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:{...b(u,["getSettings","setActivePage","prefetchBook"])}};function bo(e,t,o,n,r,s){return d(),p(he(s.component),{book:o.book},null,8,["book"])}const _o=f(fo,[["render",bo]]),Po={name:"BooksWindow",components:{BookChangeActivator:Et,Pager:_o},emits:["click"],computed:{...P(u,["isBTT"]),...v(u,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...b(u,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function vo(e,t,o,n,r,s){const a=g("BookChangeActivator"),h=g("Pager");return d(),p(Pe,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:s.click},{prev:c(()=>[l(a,{direction:"prev"})]),next:c(()=>[l(a,{direction:"next"})]),default:c(()=>[(d(!0),S(T,null,V(e.books,m=>(d(),p(_e,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:s.eager(m.pk),value:m.pk,transition:!0},{default:c(()=>[l(h,{book:m,onClick:s.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const So=f(Po,[["render",vo],["__scopeId","data-v-2a90783e"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Me,mdiFileImage:We}},computed:{...P(u,["activeTitle","routeParams"]),...v(u,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return dt(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return ht({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...b(q,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},Ro={key:0,id:"downloadPanel"};function Co(e,t,o,n,r,s){return e.currentBook?(d(),S("div",Ro,[l(H,{onClick:s.downloadPage},{default:c(()=>[l(Y,null,{default:c(()=>[l(R,null,{default:c(()=>[k(_(r.mdiFileImage),1)]),_:1}),k("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),l(H,{onClick:s.downloadBook},{default:c(()=>[l(Y,null,{default:c(()=>[l(R,null,{default:c(()=>[k(_(r.mdiDownload),1)]),_:1}),k("Download Book ")]),_:1})]),_:1},8,["onClick"])])):w("",!0)}const Bo=f(wo,[["render",Co],["__scopeId","data-v-9e01f4cb"]]),To={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:He,mdiMenuRight:je,mdiKeyboardOutline:Ge,mdiKeyboardSpace:qe,mdiAppleKeyboardShift:Ke}},computed:{...P(q,["isMobile"])}},C=e=>(Ye("data-v-a8b4ac47"),e=e(),Xe(),e),yo=C(()=>i("h4",null,"Navigation",-1)),Do={class:"highlight-table"},Io=C(()=>i("td",null,"Previous page",-1)),Lo=C(()=>i("td",null,"Next page",-1)),xo=C(()=>i("tr",null,[i("td",null,","),i("td",null,[k("Next "),i("em",null,"only"),k(" one page in two page mode.")])],-1)),$o=C(()=>i("tr",null,[i("td",null,"."),i("td",null,[k("Previous "),i("em",null,"only"),k(" one page in two page mode.")])],-1)),Oo=C(()=>i("tr",null,[i("td",null,"p"),i("td",null,"Previous Book")],-1)),No=C(()=>i("tr",null,[i("td",null,"n"),i("td",null,"Next Book")],-1)),Vo=C(()=>i("tr",null,[i("td",null,"esc"),i("td",null,"Close book")],-1)),Eo=C(()=>i("h4",null,"Fit Page To",-1)),Ao=C(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"s"),i("td",null,"screen")]),i("tr",null,[i("td",null,"h"),i("td",null,"screen height")]),i("tr",null,[i("td",null,"w"),i("td",null,"screen width")]),i("tr",null,[i("td",null,"o"),i("td",null,"Show page at original size")]),i("tr",null,[i("td",null,"2"),i("td",null,"Toggle two page view")]),i("tr",null,[i("td",null,"r"),i("td",null,"Read Right to Left")]),i("tr",null,[i("td",null,"l"),i("td",null,"Read Left to Right")]),i("tr",null,[i("td",null,"t"),i("td",null,"Read Top to Bottom")]),i("tr",null,[i("td",null,"b"),i("td",null,"Read in Bottom to Top")])])],-1)),Fo=C(()=>i("h4",null,"Other",-1)),zo=C(()=>i("table",{class:"highlight-table"},[i("tbody",null,[i("tr",null,[i("td",null,"m"),i("td",null,"Show comic's metadata")]),i("tr",null,[i("td",null,"double click"),i("td",null,"Zoom page")])])],-1));function Uo(e,t,o,n,r,s){return e.isMobile?w("",!0):(d(),p(It,{key:0},{default:c(()=>[l(Tt,{id:"readerKeyboardShortcuts"},{default:c(()=>[l(yt,{id:"shortcutsTitle"},{default:c(()=>[l(R,{id:"keyboardIcon"},{default:c(()=>[k(_(r.mdiKeyboardOutline),1)]),_:1}),k("Keyboard Shortcuts ")]),_:1}),l(Dt,null,{default:c(()=>[yo,i("table",Do,[i("tbody",null,[i("tr",null,[i("td",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiMenuLeft),1)]),_:1}),k(", j, "),i("div",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiAppleKeyboardShift),1)]),_:1}),l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiKeyboardSpace),1)]),_:1})])]),Io]),i("tr",null,[i("td",null,[l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiMenuRight),1)]),_:1}),k(", k, "),l(R,{class:"keyIcon",density:"compact"},{default:c(()=>[k(_(r.mdiKeyboardSpace),1)]),_:1})]),Lo]),xo,$o,Oo,No,Vo])]),Eo,Ao,Fo,zo]),_:1})]),_:1})]),_:1}))}const Mo=f(To,[["render",Uo],["__scopeId","data-v-a8b4ac47"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const Wo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:Qe}},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["isVertical","isPDF","cacheBook"]),...v(u,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,o;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(o=e.books)==null?void 0:o.current.settings},isClearSettingsButtonDisabled(e){var t,o;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const n of Ie){const r=(o=e.books)==null?void 0:o.current.settings[n];if(!e.choices.nullValues.has(r))return!1}return!0},bookInBrowserURL(e){var t,o;return(t=e.books)!=null&&t.current?Je((o=e.books)==null?void 0:o.current):""}}),...pe(u,["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:{...b(u,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const o of this.choices[e])o.value&&t.push(o);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)}}},Ho={key:0,id:"readerSettings"},jo=["href"];function Go(e,t,o,n,r,s){return e.validBook?(d(),S("div",Ho,[l(U,{modelValue:r.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=a=>r.isGlobalScope=a),density:"compact",label:"Scope","hide-details":"auto"},{default:c(()=>[l(L,{label:"Only this comic",value:!1}),l(L,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),l(U,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=a=>s.settingsDialogChanged({fitTo:a}))},{default:c(()=>[(d(!0),S(T,null,V(s.fitToChoices,a=>(d(),p(L,{key:a.value,label:a.title,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l(M,{disabled:s.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]=a=>s.settingsDialogChanged({twoPages:a}))},null,8,["disabled","model-value","indeterminate"]),l(U,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=a=>s.settingsDialogChanged({readingDirection:a}))},{default:c(()=>[(d(!0),S(T,null,V(s.readingDirectionChoices,a=>(d(),p(L,{key:a.value,label:a.title,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),l(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:s.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=a=>e.setSettingsClient({cacheBook:a}))},null,8,["model-value","disabled"]),e.isPDF?(d(),S("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[l(R,null,{default:c(()=>[k(_(r.mdiOpenInNew),1)]),_:1}),k("Read PDF in Browser ")],8,jo)):w("",!0),r.isGlobalScope?(d(),p(M,{key:1,"model-value":e.selectedSettings.readRtlInReverse,class:"readRtlInReverse",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=a=>s.settingsDialogChanged({readRtlInReverse:a}))},null,8,["model-value"])):w("",!0),r.isGlobalScope?w("",!0):(d(),p(me,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:c(()=>[k(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])):w("",!0)}const qo=f(Wo,[["render",Go],["__scopeId","data-v-599636e1"]]),Ko={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:Bo,ReaderKeyboardShortcutsPanel:Mo,ReaderSettingsPanel:qo}};function Yo(e,t,o,n,r,s){const a=g("ReaderSettingsPanel"),h=g("ReaderKeyboardShortcutsPanel"),m=g("DownloadPanel");return d(),S(T,null,[l(a),l(X),l(h),l(X),l(m)],64)}const Xo=f(Ko,[["render",Yo]]),Qo={name:"ReaderSettingsDrawer",components:{SettingsDrawer:_t,ReaderSettingsSuperPanel:Xo}};function Jo(e,t,o,n,r,s){const a=g("ReaderSettingsSuperPanel"),h=g("SettingsDrawer");return d(),p(h,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:c(()=>[l(a)]),_:1})}const Zo=f(Qo,[["render",Jo]]),le={a:et,f:tt,s:ot},es={a:"Story Arc",f:"Folder",s:"Series"},ts={name:"ReaderArcSelect",components:{ToolbarSelect:gt},computed:{...v(u,{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 o of e.arcs){const n={value:o,title:o.name,group:o.group,subtitle:es[o.group],prependIcon:le[o.group]};t.push(n)}return t}})},methods:{...b(u,["loadBooks"]),arcIcon(e){return le[e]},checkIcon(e){return e===this.arc?Ze:""},onUpdate(e){const t=this.$route.params;if(!t)return;const o={group:e.group,pks:e.pks},n={...t,arc:o};this.loadBooks(n)}}},os={id:"arcPos"};function ss(e,t,o,n,r,s){const a=g("ToolbarSelect");return d(),p(a,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":s.onUpdate},{item:c(({item:h,props:m})=>[l(H,W(m,{density:"compact",variant:"plain","prepend-icon":h.raw.prependIcon,subtitle:h.raw.subtitle,"append-icon":s.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:c(({item:h,props:m})=>[l(R,W({size:"large"},m,{class:"arcSelectIcon"}),{default:c(()=>[k(_(s.arcIcon(h.raw.group)),1)]),_:2},1040),i("span",os,_(e.arc.index)+" / "+_(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const rs=f(ts,[["render",ss],["__scopeId","data-v-42a57aca"]]),as={name:"ReaderTitleToolbar",components:{MetadataDialog:pt,ReaderArcSelect:rs,SettingsDrawerButton:Pt},data(){return{mdiClose:st,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["activeTitle"]),...v(u,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},closeRoute:e=>e.routes.close,empty:e=>e.empty,subtitle:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.name)||""}}),closeBookRoute(){var t;const e={name:"browser",params:this.closeRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||O.browser.breadcrumbs[0],e},title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(q,["setTimestamp"]),...b(u,["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}}}},ns={id:"title"},is={key:0,id:"subtitle"};function ls(e,t,o,n,r,s){const a=g("ReaderArcSelect"),h=g("MetadataDialog"),m=g("SettingsDrawerButton");return d(),p(St,{id:"readerToolbarTop",density:"compact","extension-height":s.extensionHeight},rt({default:c(()=>[l(z,null,{default:c(()=>[l(me,{ref:"closeBook",class:"closeBook",to:s.closeBookRoute,size:"large",density:"compact",variant:"plain",onClick:s.onCloseBook},{default:c(()=>[k(" close book ")]),_:1},8,["to","onClick"])]),_:1}),l(mt),e.empty?w("",!0):(d(),p(z,{key:0},{default:c(()=>[l(a),l(h,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),l(z,null,{default:c(()=>[l(m)]),_:1})]),_:2},[s.title?{name:"extension",fn:c(()=>[l(vt,{class:"readerTitle"},{default:c(()=>[i("div",ns,_(s.title),1),e.subtitle?(d(),S("div",is,_(e.subtitle),1)):w("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])}const Le=f(as,[["render",ls],["__scopeId","data-v-0217ea46"]]),cs={name:"ReaderEmpty",components:{ReaderTopToolbar:Le},data(){return{mdiBookRemoveOutline:at}}};function us(e,t,o,n,r,s){const a=g("ReaderTopToolbar");return d(),S(T,null,[l(a),l(be,{class:"empty",headline:"Book Not Found",title:"Close the reader and find another book",icon:r.mdiBookRemoveOutline},null,8,["icon"])],64)}const ds=f(cs,[["render",us],["__scopeId","data-v-65d65e48"]]),hs={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:fe},props:{direction:{type:String,required:!0}},computed:{...P(u,["isBTT"]),...v(u,{toRoute(e){var o;const t=(o=e==null?void 0:e.routes)==null?void 0:o.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...b(u,["bookChangeIcon"])}};function gs(e,t,o,n,r,s){const a=g("PaginationNavButton");return e.toRoute?(d(),p(a,{key:0,class:B(s.classes),icon:"",variant:"plain",title:s.title,to:e.toRoute},{default:c(()=>[l(R,null,{default:c(()=>[k(_(s.icon),1)]),_:1})]),_:1},8,["class","title","to"])):w("",!0)}const ps=f(hs,[["render",gs],["__scopeId","data-v-117f651c"]]),ms={name:"ReaderNavButton",components:{PaginationNavButton:fe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(u,["isVertical"]),...v(u,{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:{...b(u,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ks(e,t,o,n,r,s){const a=g("PaginationNavButton");return d(),p(a,{key:e.isVertical,disabled:s.disabled,class:B(["readerNavButton",s.classes]),title:s.title,to:e.toRoute,onClick:s.onClick},{default:c(()=>[k(_(o.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const fs=f(ms,[["render",ks],["__scopeId","data-v-530fba8c"]]),x="prev",$="next",bs={name:"ReaderNavToolbar",components:{PaginationSlider:kt,ReaderNavButton:fs,PaginationToolbar:ft,ReaderBookChangeNavButton:ps},computed:{...P(I,["isAuthDialogOpen"]),...P(u,["activeSettings","isReadInReverse","isVertical"]),...v(u,{storePage:e=>e.page,key(e){var t,o;return`${(o=(t=e.books)==null?void 0:t.current)==null?void 0:o.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,o;return((o=(t=e.books)==null?void 0:t.current)==null?void 0:o.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},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:{...b(u,["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($):e.shiftKey&&window.scrollY===0&&this.routeToDirection(x);break;case"j":case"ArrowRight":this.routeToDirection($);break;case"k":case"ArrowLeft":this.routeToDirection(x);break;case",":this.routeToDirectionOne(x);break;case".":this.routeToDirectionOne($);break;case"n":this.routeToBook($);break;case"p":this.routeToBook(x);break}}}};function _s(e,t,o,n,r,s){const a=g("ReaderBookChangeNavButton"),h=g("ReaderNavButton"),m=g("PaginationSlider"),E=g("PaginationToolbar");return e.maxPage?(d(),p(E,{key:0,id:"readerToolbarNav"},{default:c(()=>[l(a,{direction:s.bookPrev,narrow:!1},null,8,["direction"]),l(h,{value:s.min,"two-pages":s.twoPages},null,8,["value","two-pages"]),(d(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:s.step,"track-color":s.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=A=>s.onSliderUpdate(A))},null,8,["model-value","max","step","track-color","reverse"])),l(h,{value:s.max,"two-pages":s.twoPages},null,8,["value","two-pages"]),l(a,{direction:s.bookNext,narrow:!1},null,8,["direction"])]),_:1})):w("",!0)}const Ps=f(bs,[["render",_s],["__scopeId","data-v-dab0637e"]]),vs={name:"MainReader",components:{BooksWindow:So,ReaderEmpty:ds,ReaderNavToolbar:Ps,ReaderTopToolbar:Le,ReaderSettingsDrawer:Zo,Unauthorized:Rt},data(){return{showToolbars:!1}},computed:{...P(I,["isAuthorized"]),...v(I,{user:e=>e.user}),...v(u,{empty:e=>e.empty})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){u().$reset,this.loadReaderSettings()},methods:{...b(u,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Ss={key:0},ws={id:"readerContainer"};function Rs(e,t,o,n,r,s){const a=g("ReaderTopToolbar"),h=g("BooksWindow"),m=g("ReaderNavToolbar"),E=g("ReaderEmpty"),A=g("ReaderSettingsDrawer"),xe=g("Unauthorized");return e.isAuthorized?(d(),p(Ct,{key:0,id:"readerWrapper"},{default:c(()=>[e.empty?(d(),p(E,{key:1})):(d(),S("div",Ss,[i("div",ws,[l(nt,null,{default:c(()=>[D(l(a,null,null,512),[[Q,r.showToolbars]])]),_:1}),l(h,{onClick:s.toggleToolbars},null,8,["onClick"]),l(it,null,{default:c(()=>[D(l(m,null,null,512),[[Q,r.showToolbars]])]),_:1})])])),l(A)]),_:1})):(d(),p(xe,{key:1}))}const Cs=f(vs,[["render",Rs],["__scopeId","data-v-dab9a44d"]]),Es=Object.freeze(Object.defineProperty({__proto__:null,default:Cs},Symbol.toStringTag,{value:"Module"}));export{Es as r,u};
@@ -1 +1 @@
1
- .bookChangeDrawer[data-v-03e41a14]{opacity:.75!important;z-index:15!important}.drawerActivated[data-v-03e41a14]{width:33vw!important}.prevCursor[data-v-03e41a14]{cursor:n-resize}.nextCursor[data-v-03e41a14]{cursor:s-resize}.navLink[data-v-03e41a14]{display:block;height:100%}.bookChangeIcon[data-v-03e41a14]{top:50%;left:50%;transform:translate(-50%) translateY(-50%);height:25%;width:25%;color:#fff}.bookChangeColumn[data-v-db3eb561]{position:fixed;top:48px;height:calc(100vh - 96px);width:33vw}.leftPos[data-v-db3eb561]{left:0}.rightPos[data-v-db3eb561]{right:0}.upCursor[data-v-db3eb561]{cursor:n-resize}.downCursor[data-v-db3eb561]{cursor:s-resize}.pageLoading[data-v-04027168]{display:inline-flex;height:100vh;width:100vw;justify-content:center;align-items:center}.twoPages[data-v-04027168]{max-width:50vw}.pagePlaceholder[data-v-04027168]{height:50%!important;width:50%!important}.pageError[data-v-417a4cab]{height:100vh}.pageError[data-v-417a4cab] .v-icon,.pageError[data-v-417a4cab] .v-empty-state__headline{color:rgb(var(--v-theme-error))!important}.twoPages[data-v-417a4cab]{max-width:50vw}.img[data-v-559e2ecc]{transition:transform .5s ease-in-out}.fitToScreen[data-v-559e2ecc],.fitToScreenTwo[data-v-559e2ecc],.fitToScreenVertical[data-v-559e2ecc]{object-fit:contain}.fitToScreen[data-v-559e2ecc],.fitToScreenTwo[data-v-559e2ecc],.fitToScreenVertical[data-v-559e2ecc],.fitToHeight[data-v-559e2ecc],.fitToHeightTwo[data-v-559e2ecc],.fitToHeightVertical[data-v-559e2ecc]{height:100vh}.fitToScreenTwo[data-v-559e2ecc]{max-width:50vw}.fitToWidth[data-v-559e2ecc],.fitToWidthVertical[data-v-559e2ecc],.fitToScreen[data-v-559e2ecc],.fitToScreenVertical[data-v-559e2ecc]{width:100vw}.fitToWidthTwo[data-v-559e2ecc]{width:50vw}.fitToOrig[data-v-559e2ecc],.fitToOrigTwo[data-v-559e2ecc],.fitToOrigVertical[data-v-559e2ecc]{object-fit:none}.page[data-v-87996fa1]{font-size:0}.scaleForScroll[data-v-b24267c0]{overflow:scroll;-webkit-overflow-scrolling:touch}.resetIcon[data-v-b24267c0]{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 45px);right:50%;transform:translate(50%);z-index:200;font-size:50px;color:#fff;filter:drop-shadow(1px 1px 1px black);opacity:.666}.resetIcon[data-v-b24267c0]:hover{opacity:1}.noWrap[data-v-9a560964]{white-space:nowrap}.horizontalPage[data-v-9a560964]{display:inline-block}.pageChangeColumn[data-v-9ade7d96]{position:fixed;top:48px;height:calc(100vh - 96px);width:33vw}.pageChangeRow[data-v-9ade7d96]{position:fixed;height:33vh;width:100%}.prev[data-v-9ade7d96]{left:0;cursor:w-resize}.prevVertical[data-v-9ade7d96]{top:0;cursor:n-resize}.next[data-v-9ade7d96]{right:0;cursor:e-resize}.nextVertical[data-v-9ade7d96]{bottom:0;cursor:s-resize}.windowItem[data-v-e04bbc00]{font-size:0}.verticalPage[data-v-97638fc3]{display:block}[data-v-97638fc3] .v-virtual-scroll__item{position:relative}.pageTracker[data-v-97638fc3]{position:absolute;top:0;left:2.5%;z-index:15;width:95vw;height:85vh;z-index:10}[data-v-2a90783e] .windowItem{min-height:100vh;text-align:center}[data-v-2a90783e] .v-window__controls{position:fixed;top:48px;height:calc(100vh - 96px);padding:0}#downloadPanel[data-v-9e01f4cb],#readerKeyboardShortcuts[data-v-a8b4ac47]{background-color:rgb(var(--v-theme-background))}#shortcutsTitle[data-v-a8b4ac47]{padding:0 10px 0 17px;font-size:16px}#keyboardIcon[data-v-a8b4ac47]{margin-right:.33em!important;color:rgb(var(--v-theme-textDisabled))}[data-v-a8b4ac47] .v-expansion-panel-title--active{min-height:48px!important}[data-v-a8b4ac47] .v-expansion-panel-text__wrapper{padding-left:10px;padding-right:10px}.highlight-table[data-v-a8b4ac47]{margin-top:10px;border-collapse:collapse;color:rgb(var(--v-theme-textDisabled))}h4[data-v-a8b4ac47]{padding-left:.5em;color:rgb(var(--v-theme-textSecondary))}.highlight-table tr[data-v-a8b4ac47]:nth-child(odd){background-color:rgb(var(--v-theme-surface))!important}.highlight-table td[data-v-a8b4ac47]{min-width:60px;padding:5px}.highlight-table td[data-v-a8b4ac47]:first-child{text-align:center}.keyIcon[data-v-a8b4ac47]{margin:0}#readerSettings[data-v-599636e1]{padding-top:10px;padding-left:15px;padding-right:env(safe-area-inset-right);padding-bottom:10px;background-color:inherit}.displayRadioGroup[data-v-599636e1]{margin-top:15px}.displayTwoPages[data-v-599636e1]{margin-top:5px;margin-bottom:10px}.readRtlInReverse[data-v-599636e1]{transition:visibility .25s,opacity .25s}#clearSettingsButton[data-v-599636e1]{margin-top:4px;margin-bottom:4px;transition:visibility .25s,opacity .25s}#readPDFInBrowser[data-v-599636e1]{display:block;padding-left:2px;color:rgba(var(--v-theme-textSecondary))}.arcSelect[data-v-42a57aca]{min-width:74px}#arcPos[data-v-42a57aca]{height:22.75px;padding-top:4px;font-size:16px;letter-spacing:-.15em}[data-v-42a57aca] .v-select__selection{color:rgb(var(--v-theme-textSecondary))!important}[data-v-42a57aca] .v-select__selection .arcSelectIcon{top:4px;color:rgb(var(--v-theme-textSecondary))}[data-v-42a57aca] .v-select__selection:hover .arcSelectIcon{color:#fff}[data-v-42a57aca] .v-list-item__spacer{max-width:12px}#readerToolbarTop[data-v-0217ea46]{position:fixed;top:0;width:100%;padding-top:env(safe-area-inset-top);padding-left:0;padding-right:0;z-index:20}.closeBook[data-v-0217ea46]{padding-left:max(20px,env(safe-area-inset-left) / 2)}.readerTitle[data-v-0217ea46]{padding-left:calc(env(safe-area-inset-left)/2);padding-right:calc(env(safe-area-inset-left)/2);text-align:center;white-space:nowrap;overflow:scroll}#title[data-v-0217ea46]{font-size:clamp(18px,3vw,20px)}#subtitle[data-v-0217ea46]{font-size:clamp(16px,3vw,18px);color:rgb(var(--v-theme-textSecondary));padding-bottom:10px}.empty[data-v-65d65e48]{color:rgb(var(--v-theme-textDisabled))}.bookChangeNavButtonLeft[data-v-4be59e7e]{padding-left:max(15px,env(safe-area-inset-left) / 4)}.bookChangeNavButtonRight[data-v-4be59e7e]{padding-right:max(15px,env(safe-area-inset-right) / 4)}.readerNavButton[data-v-c9e294f6]{padding-left:15px;padding-right:15px}.readerNavButtonLeft[data-v-c9e294f6]{padding-left:max(15px,env(safe-area-inset-left) / 4)!important}.readerNavButtonRight[data-v-c9e294f6]{padding-right:max(15px,env(safe-area-inset-right) / 4)!important}#readerToolbarNav[data-v-dab0637e]{padding-left:0;padding-right:0;padding-bottom:env(safe-area-inset-top)}#readerContainer[data-v-dab9a44d]{max-width:100%;position:relative}
1
+ .bookChangeDrawer[data-v-03e41a14]{opacity:.75!important;z-index:15!important}.drawerActivated[data-v-03e41a14]{width:33vw!important}.prevCursor[data-v-03e41a14]{cursor:n-resize}.nextCursor[data-v-03e41a14]{cursor:s-resize}.navLink[data-v-03e41a14]{display:block;height:100%}.bookChangeIcon[data-v-03e41a14]{top:50%;left:50%;transform:translate(-50%) translateY(-50%);height:25%;width:25%;color:#fff}.bookChangeColumn[data-v-db3eb561]{position:fixed;top:48px;height:calc(100vh - 96px);width:33vw}.leftPos[data-v-db3eb561]{left:0}.rightPos[data-v-db3eb561]{right:0}.upCursor[data-v-db3eb561]{cursor:n-resize}.downCursor[data-v-db3eb561]{cursor:s-resize}.pageLoading[data-v-04027168]{display:inline-flex;height:100vh;width:100vw;justify-content:center;align-items:center}.twoPages[data-v-04027168]{max-width:50vw}.pagePlaceholder[data-v-04027168]{height:50%!important;width:50%!important}.pageError[data-v-417a4cab]{height:100vh}.pageError[data-v-417a4cab] .v-icon,.pageError[data-v-417a4cab] .v-empty-state__headline{color:rgb(var(--v-theme-error))!important}.twoPages[data-v-417a4cab]{max-width:50vw}.img[data-v-559e2ecc]{transition:transform .5s ease-in-out}.fitToScreen[data-v-559e2ecc],.fitToScreenTwo[data-v-559e2ecc],.fitToScreenVertical[data-v-559e2ecc]{object-fit:contain}.fitToScreen[data-v-559e2ecc],.fitToScreenTwo[data-v-559e2ecc],.fitToScreenVertical[data-v-559e2ecc],.fitToHeight[data-v-559e2ecc],.fitToHeightTwo[data-v-559e2ecc],.fitToHeightVertical[data-v-559e2ecc]{height:100vh}.fitToScreenTwo[data-v-559e2ecc]{max-width:50vw}.fitToWidth[data-v-559e2ecc],.fitToWidthVertical[data-v-559e2ecc],.fitToScreen[data-v-559e2ecc],.fitToScreenVertical[data-v-559e2ecc]{width:100vw}.fitToWidthTwo[data-v-559e2ecc]{width:50vw}.fitToOrig[data-v-559e2ecc],.fitToOrigTwo[data-v-559e2ecc],.fitToOrigVertical[data-v-559e2ecc]{object-fit:none}.page[data-v-87996fa1]{font-size:0}.scaleForScroll[data-v-b24267c0]{overflow:scroll;-webkit-overflow-scrolling:touch}.resetIcon[data-v-b24267c0]{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 45px);right:50%;transform:translate(50%);z-index:200;font-size:50px;color:#fff;filter:drop-shadow(1px 1px 1px black);opacity:.666}.resetIcon[data-v-b24267c0]:hover{opacity:1}.noWrap[data-v-9a560964]{white-space:nowrap}.horizontalPage[data-v-9a560964]{display:inline-block}.pageChangeColumn[data-v-9ade7d96]{position:fixed;top:48px;height:calc(100vh - 96px);width:33vw}.pageChangeRow[data-v-9ade7d96]{position:fixed;height:33vh;width:100%}.prev[data-v-9ade7d96]{left:0;cursor:w-resize}.prevVertical[data-v-9ade7d96]{top:0;cursor:n-resize}.next[data-v-9ade7d96]{right:0;cursor:e-resize}.nextVertical[data-v-9ade7d96]{bottom:0;cursor:s-resize}.windowItem[data-v-e04bbc00]{font-size:0}.verticalPage[data-v-97638fc3]{display:block}[data-v-97638fc3] .v-virtual-scroll__item{position:relative}.pageTracker[data-v-97638fc3]{position:absolute;top:0;left:2.5%;z-index:15;width:95vw;height:85vh;z-index:10}[data-v-2a90783e] .windowItem{min-height:100vh;text-align:center}[data-v-2a90783e] .v-window__controls{position:fixed;top:48px;height:calc(100vh - 96px);padding:0}#downloadPanel[data-v-9e01f4cb],#readerKeyboardShortcuts[data-v-a8b4ac47]{background-color:rgb(var(--v-theme-background))}#shortcutsTitle[data-v-a8b4ac47]{padding:0 10px 0 17px;font-size:16px}#keyboardIcon[data-v-a8b4ac47]{margin-right:.33em!important;color:rgb(var(--v-theme-textDisabled))}[data-v-a8b4ac47] .v-expansion-panel-title--active{min-height:48px!important}[data-v-a8b4ac47] .v-expansion-panel-text__wrapper{padding-left:10px;padding-right:10px}.highlight-table[data-v-a8b4ac47]{margin-top:10px;border-collapse:collapse;color:rgb(var(--v-theme-textDisabled))}h4[data-v-a8b4ac47]{padding-left:.5em;color:rgb(var(--v-theme-textSecondary))}.highlight-table tr[data-v-a8b4ac47]:nth-child(odd){background-color:rgb(var(--v-theme-surface))!important}.highlight-table td[data-v-a8b4ac47]{min-width:60px;padding:5px}.highlight-table td[data-v-a8b4ac47]:first-child{text-align:center}.keyIcon[data-v-a8b4ac47]{margin:0}#readerSettings[data-v-599636e1]{padding-top:10px;padding-left:15px;padding-right:env(safe-area-inset-right);padding-bottom:10px;background-color:inherit}.displayRadioGroup[data-v-599636e1]{margin-top:15px}.displayTwoPages[data-v-599636e1]{margin-top:5px;margin-bottom:10px}.readRtlInReverse[data-v-599636e1]{transition:visibility .25s,opacity .25s}#clearSettingsButton[data-v-599636e1]{margin-top:4px;margin-bottom:4px;transition:visibility .25s,opacity .25s}#readPDFInBrowser[data-v-599636e1]{display:block;padding-left:2px;color:rgba(var(--v-theme-textSecondary))}.arcSelect[data-v-42a57aca]{min-width:74px}#arcPos[data-v-42a57aca]{height:22.75px;padding-top:4px;font-size:16px;letter-spacing:-.15em}[data-v-42a57aca] .v-select__selection{color:rgb(var(--v-theme-textSecondary))!important}[data-v-42a57aca] .v-select__selection .arcSelectIcon{top:4px;color:rgb(var(--v-theme-textSecondary))}[data-v-42a57aca] .v-select__selection:hover .arcSelectIcon{color:#fff}[data-v-42a57aca] .v-list-item__spacer{max-width:12px}#readerToolbarTop[data-v-0217ea46]{position:fixed;top:0;width:100%;padding-top:env(safe-area-inset-top);padding-left:0;padding-right:0;z-index:20}.closeBook[data-v-0217ea46]{padding-left:max(20px,env(safe-area-inset-left) / 2)}.readerTitle[data-v-0217ea46]{padding-left:calc(env(safe-area-inset-left)/2);padding-right:calc(env(safe-area-inset-left)/2);text-align:center;white-space:nowrap;overflow:scroll}#title[data-v-0217ea46]{font-size:clamp(18px,3vw,20px)}#subtitle[data-v-0217ea46]{font-size:clamp(16px,3vw,18px);color:rgb(var(--v-theme-textSecondary));padding-bottom:10px}.empty[data-v-65d65e48]{color:rgb(var(--v-theme-textDisabled))}.bookChangeNavButtonLeft[data-v-117f651c]{padding-left:max(15px,env(safe-area-inset-left) / 3)}.bookChangeNavButtonRight[data-v-117f651c]{padding-right:max(15px,env(safe-area-inset-right) / 3)}.readerNavButton[data-v-530fba8c]{padding-left:15px;padding-right:15px}.readerNavButtonLeft[data-v-530fba8c]{padding-left:max(15px,env(safe-area-inset-left) / 3)!important}.readerNavButtonRight[data-v-530fba8c]{padding-right:max(15px,env(safe-area-inset-right) / 3)!important}#readerToolbarNav[data-v-dab0637e]{padding-left:0;padding-right:0;padding-bottom:env(safe-area-inset-top)}#readerContainer[data-v-dab9a44d]{max-width:100%;position:relative}