codex 1.5.13a2__py3-none-any.whl → 1.5.14__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 (396) hide show
  1. codex/librarian/importer/create_fks.py +13 -9
  2. codex/librarian/importer/importerd.py +2 -2
  3. codex/models/comic.py +4 -0
  4. codex/search/backend.py +9 -1
  5. codex/search/indexes.py +2 -0
  6. codex/settings/settings.py +34 -22
  7. codex/settings/whitenoise.py +1 -1
  8. codex/static_root/assets/{VCheckbox-BR-5qiW4.d4e12b9a3549.js → VCheckbox-CJQL54i9.0296823df6ca.js} +1 -1
  9. codex/static_root/assets/VCheckbox-CJQL54i9.0296823df6ca.js.br +0 -0
  10. codex/static_root/assets/VCheckbox-CJQL54i9.0296823df6ca.js.gz +0 -0
  11. codex/static_root/assets/{VCheckbox-BR-5qiW4.js → VCheckbox-CJQL54i9.js} +1 -1
  12. codex/static_root/assets/VCheckbox-CJQL54i9.js.br +0 -0
  13. codex/static_root/assets/VCheckbox-CJQL54i9.js.gz +0 -0
  14. codex/static_root/assets/{VCheckboxBtn-C7T6Tf80.597cfcc88998.js → VCheckboxBtn-tlNM-0ad.d65f170bccff.js} +1 -1
  15. codex/static_root/assets/VCheckboxBtn-tlNM-0ad.d65f170bccff.js.br +0 -0
  16. codex/static_root/assets/VCheckboxBtn-tlNM-0ad.d65f170bccff.js.gz +0 -0
  17. codex/static_root/assets/{VCheckboxBtn-C7T6Tf80.js → VCheckboxBtn-tlNM-0ad.js} +1 -1
  18. codex/static_root/assets/VCheckboxBtn-tlNM-0ad.js.br +0 -0
  19. codex/static_root/assets/VCheckboxBtn-tlNM-0ad.js.gz +0 -0
  20. codex/static_root/assets/{VCombobox-CA6L757N.c9c01cbc12eb.js → VCombobox-CkY5XApP.aaba85cdee5f.js} +1 -1
  21. codex/static_root/assets/VCombobox-CkY5XApP.aaba85cdee5f.js.br +0 -0
  22. codex/static_root/assets/VCombobox-CkY5XApP.aaba85cdee5f.js.gz +0 -0
  23. codex/static_root/assets/{VCombobox-CA6L757N.js → VCombobox-CkY5XApP.js} +1 -1
  24. codex/static_root/assets/VCombobox-CkY5XApP.js.br +0 -0
  25. codex/static_root/assets/VCombobox-CkY5XApP.js.gz +0 -0
  26. codex/static_root/assets/{VDataTableVirtual-DgdQqVhC.118522d90dfd.js → VDataTableVirtual-BJGcTO-T.44d8d103caee.js} +1 -1
  27. codex/static_root/assets/VDataTableVirtual-BJGcTO-T.44d8d103caee.js.br +0 -0
  28. codex/static_root/assets/VDataTableVirtual-BJGcTO-T.44d8d103caee.js.gz +0 -0
  29. codex/static_root/assets/{VDataTableVirtual-DgdQqVhC.js → VDataTableVirtual-BJGcTO-T.js} +1 -1
  30. codex/static_root/assets/VDataTableVirtual-BJGcTO-T.js.br +0 -0
  31. codex/static_root/assets/VDataTableVirtual-BJGcTO-T.js.gz +0 -0
  32. codex/static_root/assets/{VExpansionPanel-DSgyCbMu.ce806293d8ad.js → VExpansionPanel-iuNlRDRN.32914d43b986.js} +1 -1
  33. codex/static_root/assets/VExpansionPanel-iuNlRDRN.32914d43b986.js.br +0 -0
  34. codex/static_root/assets/VExpansionPanel-iuNlRDRN.32914d43b986.js.gz +0 -0
  35. codex/static_root/assets/{VExpansionPanel-DSgyCbMu.js → VExpansionPanel-iuNlRDRN.js} +1 -1
  36. codex/static_root/assets/VExpansionPanel-iuNlRDRN.js.br +0 -0
  37. codex/static_root/assets/VExpansionPanel-iuNlRDRN.js.gz +0 -0
  38. codex/static_root/assets/{VMain-CDWaq_uU.9350720f2523.js → VMain-KVBhuT21.5b0d88cd01a9.js} +1 -1
  39. codex/static_root/assets/VMain-KVBhuT21.5b0d88cd01a9.js.br +0 -0
  40. codex/static_root/assets/VMain-KVBhuT21.5b0d88cd01a9.js.gz +0 -0
  41. codex/static_root/assets/{VMain-CDWaq_uU.js → VMain-KVBhuT21.js} +1 -1
  42. codex/static_root/assets/VMain-KVBhuT21.js.br +0 -0
  43. codex/static_root/assets/VMain-KVBhuT21.js.gz +0 -0
  44. codex/static_root/assets/{VRadioGroup-1KnJv1YV.c78bc794333b.js → VRadioGroup-CSbyI7OY.3fca1f8a79a9.js} +1 -1
  45. codex/static_root/assets/VRadioGroup-CSbyI7OY.3fca1f8a79a9.js.br +0 -0
  46. codex/static_root/assets/VRadioGroup-CSbyI7OY.3fca1f8a79a9.js.gz +0 -0
  47. codex/static_root/assets/{VRadioGroup-1KnJv1YV.js → VRadioGroup-CSbyI7OY.js} +1 -1
  48. codex/static_root/assets/VRadioGroup-CSbyI7OY.js.br +0 -0
  49. codex/static_root/assets/VRadioGroup-CSbyI7OY.js.gz +0 -0
  50. codex/static_root/assets/VSelect-Bng0oQPD.7e78a191f34b.js +1 -0
  51. codex/static_root/assets/VSelect-Bng0oQPD.7e78a191f34b.js.br +0 -0
  52. codex/static_root/assets/VSelect-Bng0oQPD.7e78a191f34b.js.gz +0 -0
  53. codex/static_root/assets/VSelect-Bng0oQPD.js +1 -0
  54. codex/static_root/assets/VSelect-Bng0oQPD.js.br +0 -0
  55. codex/static_root/assets/VSelect-Bng0oQPD.js.gz +0 -0
  56. codex/static_root/assets/{VSelectionControl-CEOyDLZC.60a1d02bebde.js → VSelectionControl-BgzeMswJ.1379ba73dcb2.js} +1 -1
  57. codex/static_root/assets/VSelectionControl-BgzeMswJ.1379ba73dcb2.js.br +0 -0
  58. codex/static_root/assets/VSelectionControl-BgzeMswJ.1379ba73dcb2.js.gz +0 -0
  59. codex/static_root/assets/{VSelectionControl-CEOyDLZC.js → VSelectionControl-BgzeMswJ.js} +1 -1
  60. codex/static_root/assets/VSelectionControl-BgzeMswJ.js.br +0 -0
  61. codex/static_root/assets/VSelectionControl-BgzeMswJ.js.gz +0 -0
  62. codex/static_root/assets/{VSlideGroup-r8lyA6_4.d51fe70b8cfa.js → VSlideGroup-r0m4k0_1.5acebfb723b6.js} +1 -1
  63. codex/static_root/assets/VSlideGroup-r0m4k0_1.5acebfb723b6.js.br +0 -0
  64. codex/static_root/assets/VSlideGroup-r0m4k0_1.5acebfb723b6.js.gz +0 -0
  65. codex/static_root/assets/{VSlideGroup-r8lyA6_4.js → VSlideGroup-r0m4k0_1.js} +1 -1
  66. codex/static_root/assets/VSlideGroup-r0m4k0_1.js.br +0 -0
  67. codex/static_root/assets/VSlideGroup-r0m4k0_1.js.gz +0 -0
  68. codex/static_root/assets/{VTable-CyZmujCR.5d4fdcc0324d.js → VTable-DibtRyqi.8af08167ae77.js} +1 -1
  69. codex/static_root/assets/VTable-DibtRyqi.8af08167ae77.js.br +0 -0
  70. codex/static_root/assets/VTable-DibtRyqi.8af08167ae77.js.gz +0 -0
  71. codex/static_root/assets/{VTable-CyZmujCR.js → VTable-DibtRyqi.js} +1 -1
  72. codex/static_root/assets/VTable-DibtRyqi.js.br +0 -0
  73. codex/static_root/assets/VTable-DibtRyqi.js.gz +0 -0
  74. codex/static_root/assets/{VToolbar-qYCVOLXR.07eda01fd108.js → VToolbar-qC6PomNj.f738e6696804.js} +2 -2
  75. codex/static_root/assets/VToolbar-qC6PomNj.f738e6696804.js.br +0 -0
  76. codex/static_root/assets/VToolbar-qC6PomNj.f738e6696804.js.gz +0 -0
  77. codex/static_root/assets/{VToolbar-qYCVOLXR.js → VToolbar-qC6PomNj.js} +2 -2
  78. codex/static_root/assets/VToolbar-qC6PomNj.js.br +0 -0
  79. codex/static_root/assets/VToolbar-qC6PomNj.js.gz +0 -0
  80. codex/static_root/assets/{VWindowItem-DAPhfogt.d9e874ecf5be.js → VWindowItem-DtPdrKkO.df3cecc6ea62.js} +1 -1
  81. codex/static_root/assets/VWindowItem-DtPdrKkO.df3cecc6ea62.js.br +0 -0
  82. codex/static_root/assets/VWindowItem-DtPdrKkO.df3cecc6ea62.js.gz +0 -0
  83. codex/static_root/assets/{VWindowItem-DAPhfogt.js → VWindowItem-DtPdrKkO.js} +1 -1
  84. codex/static_root/assets/VWindowItem-DtPdrKkO.js.br +0 -0
  85. codex/static_root/assets/VWindowItem-DtPdrKkO.js.gz +0 -0
  86. codex/static_root/assets/{admin-CfqyTXqy.b073b6fa7ebd.js → admin-BaX1b6zJ.38832467c7a9.js} +1 -1
  87. codex/static_root/assets/admin-BaX1b6zJ.38832467c7a9.js.br +0 -0
  88. codex/static_root/assets/admin-BaX1b6zJ.38832467c7a9.js.gz +0 -0
  89. codex/static_root/assets/{admin-CfqyTXqy.js → admin-BaX1b6zJ.js} +1 -1
  90. codex/static_root/assets/admin-BaX1b6zJ.js.br +0 -0
  91. codex/static_root/assets/admin-BaX1b6zJ.js.gz +0 -0
  92. codex/static_root/assets/{admin-drawer-panel-UQNBz5Mr.4f87b323dcdc.js → admin-drawer-panel-Bd8JDQcd.a639a777a3cb.js} +2 -2
  93. codex/static_root/assets/admin-drawer-panel-Bd8JDQcd.a639a777a3cb.js.br +0 -0
  94. codex/static_root/assets/admin-drawer-panel-Bd8JDQcd.a639a777a3cb.js.gz +0 -0
  95. codex/static_root/assets/{admin-drawer-panel-UQNBz5Mr.js → admin-drawer-panel-Bd8JDQcd.js} +2 -2
  96. codex/static_root/assets/admin-drawer-panel-Bd8JDQcd.js.br +0 -0
  97. codex/static_root/assets/admin-drawer-panel-Bd8JDQcd.js.gz +0 -0
  98. codex/static_root/assets/admin-drawer-panel-Cr-0BCQv.b519336cb005.css +1 -0
  99. codex/static_root/assets/admin-drawer-panel-Cr-0BCQv.b519336cb005.css.br +0 -0
  100. codex/static_root/assets/admin-drawer-panel-Cr-0BCQv.b519336cb005.css.gz +0 -0
  101. codex/static_root/assets/admin-drawer-panel-Cr-0BCQv.css +1 -0
  102. codex/static_root/assets/admin-drawer-panel-Cr-0BCQv.css.br +0 -0
  103. codex/static_root/assets/admin-drawer-panel-Cr-0BCQv.css.gz +0 -0
  104. codex/static_root/assets/{browser-CTxEKlCx.211d729d9165.css → browser-Bnfe7deQ.ca3f3bb6c77c.css} +1 -1
  105. codex/static_root/assets/browser-Bnfe7deQ.ca3f3bb6c77c.css.br +0 -0
  106. codex/static_root/assets/browser-Bnfe7deQ.ca3f3bb6c77c.css.gz +0 -0
  107. codex/static_root/assets/{browser-CTxEKlCx.css → browser-Bnfe7deQ.css} +1 -1
  108. codex/static_root/assets/browser-Bnfe7deQ.css.br +0 -0
  109. codex/static_root/assets/browser-Bnfe7deQ.css.gz +0 -0
  110. codex/static_root/assets/browser-CViSPlzZ.ff279ffe86e0.js +1 -0
  111. codex/static_root/assets/browser-CViSPlzZ.ff279ffe86e0.js.br +0 -0
  112. codex/static_root/assets/browser-CViSPlzZ.ff279ffe86e0.js.gz +0 -0
  113. codex/static_root/assets/browser-CViSPlzZ.js +1 -0
  114. codex/static_root/assets/browser-CViSPlzZ.js.br +0 -0
  115. codex/static_root/assets/browser-CViSPlzZ.js.gz +0 -0
  116. codex/static_root/assets/{change-password-dialog-D80TfT-n.284c707d3d79.js → change-password-dialog-2SRI8ZTS.d2faf818d88a.js} +1 -1
  117. codex/static_root/assets/change-password-dialog-2SRI8ZTS.d2faf818d88a.js.br +0 -0
  118. codex/static_root/assets/change-password-dialog-2SRI8ZTS.d2faf818d88a.js.gz +0 -0
  119. codex/static_root/assets/{change-password-dialog-D80TfT-n.js → change-password-dialog-2SRI8ZTS.js} +1 -1
  120. codex/static_root/assets/change-password-dialog-2SRI8ZTS.js.br +0 -0
  121. codex/static_root/assets/change-password-dialog-2SRI8ZTS.js.gz +0 -0
  122. codex/static_root/assets/{confirm-dialog-CTwvsrD2.8de12739f859.js → confirm-dialog-Z5DZqsRj.4154bccd3717.js} +1 -1
  123. codex/static_root/assets/confirm-dialog-Z5DZqsRj.4154bccd3717.js.br +0 -0
  124. codex/static_root/assets/confirm-dialog-Z5DZqsRj.4154bccd3717.js.gz +0 -0
  125. codex/static_root/assets/{confirm-dialog-CTwvsrD2.js → confirm-dialog-Z5DZqsRj.js} +1 -1
  126. codex/static_root/assets/confirm-dialog-Z5DZqsRj.js.br +0 -0
  127. codex/static_root/assets/confirm-dialog-Z5DZqsRj.js.gz +0 -0
  128. codex/static_root/assets/{confirm-footer-CLcqjnLg.ebed69027134.js → confirm-footer-bZLoGqQV.2e75995120d4.js} +1 -1
  129. codex/static_root/assets/confirm-footer-bZLoGqQV.2e75995120d4.js.br +0 -0
  130. codex/static_root/assets/confirm-footer-bZLoGqQV.2e75995120d4.js.gz +0 -0
  131. codex/static_root/assets/{confirm-footer-CLcqjnLg.js → confirm-footer-bZLoGqQV.js} +1 -1
  132. codex/static_root/assets/confirm-footer-bZLoGqQV.js.br +0 -0
  133. codex/static_root/assets/confirm-footer-bZLoGqQV.js.gz +0 -0
  134. codex/static_root/assets/{datetime-column-DPVO98E2.27e26fb391ca.js → datetime-column-C0IBXj-b.15ec505c39d1.js} +1 -1
  135. codex/static_root/assets/datetime-column-C0IBXj-b.15ec505c39d1.js.br +0 -0
  136. codex/static_root/assets/datetime-column-C0IBXj-b.15ec505c39d1.js.gz +0 -0
  137. codex/static_root/assets/{datetime-column-DPVO98E2.js → datetime-column-C0IBXj-b.js} +1 -1
  138. codex/static_root/assets/datetime-column-C0IBXj-b.js.br +0 -0
  139. codex/static_root/assets/datetime-column-C0IBXj-b.js.gz +0 -0
  140. codex/static_root/assets/{filter-Cqjy01SO.71710ea1c7f8.js → filter-C9a1yuyT.8246be2d72e0.js} +1 -1
  141. codex/static_root/assets/filter-C9a1yuyT.8246be2d72e0.js.br +0 -0
  142. codex/static_root/assets/filter-C9a1yuyT.8246be2d72e0.js.gz +0 -0
  143. codex/static_root/assets/{filter-Cqjy01SO.js → filter-C9a1yuyT.js} +1 -1
  144. codex/static_root/assets/filter-C9a1yuyT.js.br +0 -0
  145. codex/static_root/assets/filter-C9a1yuyT.js.gz +0 -0
  146. codex/static_root/assets/flag-tab-CTkQVifL.3777e0ad02e2.js +1 -0
  147. codex/static_root/assets/flag-tab-CTkQVifL.3777e0ad02e2.js.br +0 -0
  148. codex/static_root/assets/flag-tab-CTkQVifL.3777e0ad02e2.js.gz +0 -0
  149. codex/static_root/assets/flag-tab-CTkQVifL.js +1 -0
  150. codex/static_root/assets/flag-tab-CTkQVifL.js.br +0 -0
  151. codex/static_root/assets/flag-tab-CTkQVifL.js.gz +0 -0
  152. codex/static_root/assets/flag-tab-D_HjkAta.203bedf35ce7.css +1 -0
  153. codex/static_root/assets/flag-tab-D_HjkAta.203bedf35ce7.css.br +0 -0
  154. codex/static_root/assets/flag-tab-D_HjkAta.203bedf35ce7.css.gz +0 -0
  155. codex/static_root/assets/flag-tab-D_HjkAta.css +1 -0
  156. codex/static_root/assets/flag-tab-D_HjkAta.css.br +0 -0
  157. codex/static_root/assets/flag-tab-D_HjkAta.css.gz +0 -0
  158. codex/static_root/assets/{group-tab-DknI2YL3.7b2e5d32ee7e.js → group-tab-DNlUAhCM.78003689c3a2.js} +1 -1
  159. codex/static_root/assets/group-tab-DNlUAhCM.78003689c3a2.js.br +0 -0
  160. codex/static_root/assets/group-tab-DNlUAhCM.78003689c3a2.js.gz +0 -0
  161. codex/static_root/assets/{group-tab-DknI2YL3.js → group-tab-DNlUAhCM.js} +1 -1
  162. codex/static_root/assets/group-tab-DNlUAhCM.js.br +0 -0
  163. codex/static_root/assets/group-tab-DNlUAhCM.js.gz +0 -0
  164. codex/static_root/assets/{http-error-DxxoT0wf.8f26afe5c1dd.js → http-error-CB3r_6Rg.817fa263671d.js} +1 -1
  165. codex/static_root/assets/http-error-CB3r_6Rg.817fa263671d.js.br +0 -0
  166. codex/static_root/assets/http-error-CB3r_6Rg.817fa263671d.js.gz +0 -0
  167. codex/static_root/assets/{http-error-DxxoT0wf.js → http-error-CB3r_6Rg.js} +1 -1
  168. codex/static_root/assets/http-error-CB3r_6Rg.js.br +0 -0
  169. codex/static_root/assets/http-error-CB3r_6Rg.js.gz +0 -0
  170. codex/static_root/assets/{library-tab-DXCuu0zS.6a7b7e48a6f5.js → library-tab-Bn0w-GQL.5820f057238d.js} +1 -1
  171. codex/static_root/assets/library-tab-Bn0w-GQL.5820f057238d.js.br +0 -0
  172. codex/static_root/assets/library-tab-Bn0w-GQL.5820f057238d.js.gz +0 -0
  173. codex/static_root/assets/{library-tab-DXCuu0zS.js → library-tab-Bn0w-GQL.js} +1 -1
  174. codex/static_root/assets/library-tab-Bn0w-GQL.js.br +0 -0
  175. codex/static_root/assets/library-tab-Bn0w-GQL.js.gz +0 -0
  176. codex/static_root/assets/{main-CacfwsKA.4f849ef1c5db.css → main-ClKzvaJK.04ea1888c6b4.css} +1 -1
  177. codex/static_root/assets/main-ClKzvaJK.04ea1888c6b4.css.br +0 -0
  178. codex/static_root/assets/{main-CacfwsKA.4f849ef1c5db.css.gz → main-ClKzvaJK.04ea1888c6b4.css.gz} +0 -0
  179. codex/static_root/assets/{main-CacfwsKA.css → main-ClKzvaJK.css} +1 -1
  180. codex/static_root/assets/main-ClKzvaJK.css.br +0 -0
  181. codex/static_root/assets/{main-CacfwsKA.css.gz → main-ClKzvaJK.css.gz} +0 -0
  182. codex/static_root/assets/main-YL3nS1Ml.e60fb4d9fcf6.js +37 -0
  183. codex/static_root/assets/main-YL3nS1Ml.e60fb4d9fcf6.js.br +0 -0
  184. codex/static_root/assets/main-YL3nS1Ml.e60fb4d9fcf6.js.gz +0 -0
  185. codex/static_root/assets/main-YL3nS1Ml.js +37 -0
  186. codex/static_root/assets/main-YL3nS1Ml.js.br +0 -0
  187. codex/static_root/assets/main-YL3nS1Ml.js.gz +0 -0
  188. codex/static_root/assets/{metadata-dialog-CZDWNVCD.js → metadata-dialog-C7rQOEVd.ceb8516fb954.js} +1 -1
  189. codex/static_root/assets/metadata-dialog-C7rQOEVd.ceb8516fb954.js.br +0 -0
  190. codex/static_root/assets/metadata-dialog-C7rQOEVd.ceb8516fb954.js.gz +0 -0
  191. codex/static_root/assets/{metadata-dialog-CZDWNVCD.b78ed72bc090.js → metadata-dialog-C7rQOEVd.js} +1 -1
  192. codex/static_root/assets/metadata-dialog-C7rQOEVd.js.br +0 -0
  193. codex/static_root/assets/metadata-dialog-C7rQOEVd.js.gz +0 -0
  194. codex/static_root/assets/{pdf-doc-C_LEA8HV.6bd1dba60a0b.js → pdf-doc-ti4yO5IP.42f93d4dbbaa.js} +1 -1
  195. codex/static_root/assets/pdf-doc-ti4yO5IP.42f93d4dbbaa.js.br +0 -0
  196. codex/static_root/assets/pdf-doc-ti4yO5IP.42f93d4dbbaa.js.gz +0 -0
  197. codex/static_root/assets/{pdf-doc-C_LEA8HV.js → pdf-doc-ti4yO5IP.js} +1 -1
  198. codex/static_root/assets/pdf-doc-ti4yO5IP.js.br +0 -0
  199. codex/static_root/assets/pdf-doc-ti4yO5IP.js.gz +0 -0
  200. codex/static_root/assets/{reader-DXk46jdF.0a2b0809bd02.js → reader-BlLttrze.056690fb7544.js} +2 -2
  201. codex/static_root/assets/reader-BlLttrze.056690fb7544.js.br +0 -0
  202. codex/static_root/assets/reader-BlLttrze.056690fb7544.js.gz +0 -0
  203. codex/static_root/assets/{reader-DXk46jdF.js → reader-BlLttrze.js} +2 -2
  204. codex/static_root/assets/reader-BlLttrze.js.br +0 -0
  205. codex/static_root/assets/reader-BlLttrze.js.gz +0 -0
  206. codex/static_root/assets/{stats-tab-Dy0YEoJ4.f24c8ddba0d3.js → stats-tab-WNjGvBtl.f4b6069bbd59.js} +1 -1
  207. codex/static_root/assets/stats-tab-WNjGvBtl.f4b6069bbd59.js.br +0 -0
  208. codex/static_root/assets/stats-tab-WNjGvBtl.f4b6069bbd59.js.gz +0 -0
  209. codex/static_root/assets/{stats-tab-Dy0YEoJ4.js → stats-tab-WNjGvBtl.js} +1 -1
  210. codex/static_root/assets/stats-tab-WNjGvBtl.js.br +0 -0
  211. codex/static_root/assets/stats-tab-WNjGvBtl.js.gz +0 -0
  212. codex/static_root/assets/{task-tab-Bv3B4rCC.1546850899dc.js → task-tab-D7YR7Dg8.e5fa5faea233.js} +1 -1
  213. codex/static_root/assets/task-tab-D7YR7Dg8.e5fa5faea233.js.br +0 -0
  214. codex/static_root/assets/task-tab-D7YR7Dg8.e5fa5faea233.js.gz +0 -0
  215. codex/static_root/assets/{task-tab-Bv3B4rCC.js → task-tab-D7YR7Dg8.js} +1 -1
  216. codex/static_root/assets/task-tab-D7YR7Dg8.js.br +0 -0
  217. codex/static_root/assets/task-tab-D7YR7Dg8.js.gz +0 -0
  218. codex/static_root/assets/{user-tab-CSF2DZe5.8e65aaed43b2.js → user-tab-yg1892EK.6d2036fa37e0.js} +1 -1
  219. codex/static_root/assets/user-tab-yg1892EK.6d2036fa37e0.js.br +0 -0
  220. codex/static_root/assets/user-tab-yg1892EK.6d2036fa37e0.js.gz +0 -0
  221. codex/static_root/assets/{user-tab-CSF2DZe5.js → user-tab-yg1892EK.js} +1 -1
  222. codex/static_root/assets/user-tab-yg1892EK.js.br +0 -0
  223. codex/static_root/assets/user-tab-yg1892EK.js.gz +0 -0
  224. codex/static_root/{manifest.24ec466b9bcf.json → manifest.ae8037157171.json} +210 -210
  225. codex/static_root/manifest.ae8037157171.json.br +0 -0
  226. codex/static_root/manifest.ae8037157171.json.gz +0 -0
  227. codex/static_root/manifest.json +210 -210
  228. codex/static_root/manifest.json.br +0 -0
  229. codex/static_root/manifest.json.gz +0 -0
  230. codex/static_root/staticfiles.json +1 -1
  231. codex/status.py +7 -3
  232. codex/templates/search/indexes/codex/comic_text.txt +1 -0
  233. codex/views/browser/browser_annotations.py +44 -34
  234. codex/views/browser/metadata.py +7 -5
  235. codex/views/error.py +3 -1
  236. {codex-1.5.13a2.dist-info → codex-1.5.14.dist-info}/METADATA +2 -1
  237. {codex-1.5.13a2.dist-info → codex-1.5.14.dist-info}/RECORD +240 -240
  238. codex/static_root/assets/VCheckbox-BR-5qiW4.d4e12b9a3549.js.br +0 -0
  239. codex/static_root/assets/VCheckbox-BR-5qiW4.d4e12b9a3549.js.gz +0 -0
  240. codex/static_root/assets/VCheckbox-BR-5qiW4.js.br +0 -0
  241. codex/static_root/assets/VCheckbox-BR-5qiW4.js.gz +0 -0
  242. codex/static_root/assets/VCheckboxBtn-C7T6Tf80.597cfcc88998.js.br +0 -0
  243. codex/static_root/assets/VCheckboxBtn-C7T6Tf80.597cfcc88998.js.gz +0 -0
  244. codex/static_root/assets/VCheckboxBtn-C7T6Tf80.js.br +0 -0
  245. codex/static_root/assets/VCheckboxBtn-C7T6Tf80.js.gz +0 -0
  246. codex/static_root/assets/VCombobox-CA6L757N.c9c01cbc12eb.js.br +0 -0
  247. codex/static_root/assets/VCombobox-CA6L757N.c9c01cbc12eb.js.gz +0 -0
  248. codex/static_root/assets/VCombobox-CA6L757N.js.br +0 -0
  249. codex/static_root/assets/VCombobox-CA6L757N.js.gz +0 -0
  250. codex/static_root/assets/VDataTableVirtual-DgdQqVhC.118522d90dfd.js.br +0 -0
  251. codex/static_root/assets/VDataTableVirtual-DgdQqVhC.118522d90dfd.js.gz +0 -0
  252. codex/static_root/assets/VDataTableVirtual-DgdQqVhC.js.br +0 -0
  253. codex/static_root/assets/VDataTableVirtual-DgdQqVhC.js.gz +0 -0
  254. codex/static_root/assets/VExpansionPanel-DSgyCbMu.ce806293d8ad.js.br +0 -0
  255. codex/static_root/assets/VExpansionPanel-DSgyCbMu.ce806293d8ad.js.gz +0 -0
  256. codex/static_root/assets/VExpansionPanel-DSgyCbMu.js.br +0 -0
  257. codex/static_root/assets/VExpansionPanel-DSgyCbMu.js.gz +0 -0
  258. codex/static_root/assets/VMain-CDWaq_uU.9350720f2523.js.br +0 -0
  259. codex/static_root/assets/VMain-CDWaq_uU.9350720f2523.js.gz +0 -0
  260. codex/static_root/assets/VMain-CDWaq_uU.js.br +0 -0
  261. codex/static_root/assets/VMain-CDWaq_uU.js.gz +0 -0
  262. codex/static_root/assets/VRadioGroup-1KnJv1YV.c78bc794333b.js.br +0 -0
  263. codex/static_root/assets/VRadioGroup-1KnJv1YV.c78bc794333b.js.gz +0 -0
  264. codex/static_root/assets/VRadioGroup-1KnJv1YV.js.br +0 -0
  265. codex/static_root/assets/VRadioGroup-1KnJv1YV.js.gz +0 -0
  266. codex/static_root/assets/VSelect-CLw1oGQg.37122543e75e.js +0 -1
  267. codex/static_root/assets/VSelect-CLw1oGQg.37122543e75e.js.br +0 -0
  268. codex/static_root/assets/VSelect-CLw1oGQg.37122543e75e.js.gz +0 -0
  269. codex/static_root/assets/VSelect-CLw1oGQg.js +0 -1
  270. codex/static_root/assets/VSelect-CLw1oGQg.js.br +0 -0
  271. codex/static_root/assets/VSelect-CLw1oGQg.js.gz +0 -0
  272. codex/static_root/assets/VSelectionControl-CEOyDLZC.60a1d02bebde.js.br +0 -0
  273. codex/static_root/assets/VSelectionControl-CEOyDLZC.60a1d02bebde.js.gz +0 -0
  274. codex/static_root/assets/VSelectionControl-CEOyDLZC.js.br +0 -0
  275. codex/static_root/assets/VSelectionControl-CEOyDLZC.js.gz +0 -0
  276. codex/static_root/assets/VSlideGroup-r8lyA6_4.d51fe70b8cfa.js.br +0 -0
  277. codex/static_root/assets/VSlideGroup-r8lyA6_4.d51fe70b8cfa.js.gz +0 -0
  278. codex/static_root/assets/VSlideGroup-r8lyA6_4.js.br +0 -0
  279. codex/static_root/assets/VSlideGroup-r8lyA6_4.js.gz +0 -0
  280. codex/static_root/assets/VTable-CyZmujCR.5d4fdcc0324d.js.br +0 -0
  281. codex/static_root/assets/VTable-CyZmujCR.5d4fdcc0324d.js.gz +0 -0
  282. codex/static_root/assets/VTable-CyZmujCR.js.br +0 -0
  283. codex/static_root/assets/VTable-CyZmujCR.js.gz +0 -0
  284. codex/static_root/assets/VToolbar-qYCVOLXR.07eda01fd108.js.br +0 -0
  285. codex/static_root/assets/VToolbar-qYCVOLXR.07eda01fd108.js.gz +0 -0
  286. codex/static_root/assets/VToolbar-qYCVOLXR.js.br +0 -0
  287. codex/static_root/assets/VToolbar-qYCVOLXR.js.gz +0 -0
  288. codex/static_root/assets/VWindowItem-DAPhfogt.d9e874ecf5be.js.br +0 -0
  289. codex/static_root/assets/VWindowItem-DAPhfogt.d9e874ecf5be.js.gz +0 -0
  290. codex/static_root/assets/VWindowItem-DAPhfogt.js.br +0 -0
  291. codex/static_root/assets/VWindowItem-DAPhfogt.js.gz +0 -0
  292. codex/static_root/assets/admin-CfqyTXqy.b073b6fa7ebd.js.br +0 -0
  293. codex/static_root/assets/admin-CfqyTXqy.b073b6fa7ebd.js.gz +0 -0
  294. codex/static_root/assets/admin-CfqyTXqy.js.br +0 -0
  295. codex/static_root/assets/admin-CfqyTXqy.js.gz +0 -0
  296. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.1531b747003f.css +0 -1
  297. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.1531b747003f.css.br +0 -0
  298. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.1531b747003f.css.gz +0 -0
  299. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.css +0 -1
  300. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.css.br +0 -0
  301. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.css.gz +0 -0
  302. codex/static_root/assets/admin-drawer-panel-UQNBz5Mr.4f87b323dcdc.js.br +0 -0
  303. codex/static_root/assets/admin-drawer-panel-UQNBz5Mr.4f87b323dcdc.js.gz +0 -0
  304. codex/static_root/assets/admin-drawer-panel-UQNBz5Mr.js.br +0 -0
  305. codex/static_root/assets/admin-drawer-panel-UQNBz5Mr.js.gz +0 -0
  306. codex/static_root/assets/browser-CTxEKlCx.211d729d9165.css.br +0 -0
  307. codex/static_root/assets/browser-CTxEKlCx.211d729d9165.css.gz +0 -0
  308. codex/static_root/assets/browser-CTxEKlCx.css.br +0 -0
  309. codex/static_root/assets/browser-CTxEKlCx.css.gz +0 -0
  310. codex/static_root/assets/browser-CWqU3TI5.4583f12be6b9.js +0 -1
  311. codex/static_root/assets/browser-CWqU3TI5.4583f12be6b9.js.br +0 -0
  312. codex/static_root/assets/browser-CWqU3TI5.4583f12be6b9.js.gz +0 -0
  313. codex/static_root/assets/browser-CWqU3TI5.js +0 -1
  314. codex/static_root/assets/browser-CWqU3TI5.js.br +0 -0
  315. codex/static_root/assets/browser-CWqU3TI5.js.gz +0 -0
  316. codex/static_root/assets/change-password-dialog-D80TfT-n.284c707d3d79.js.br +0 -0
  317. codex/static_root/assets/change-password-dialog-D80TfT-n.284c707d3d79.js.gz +0 -0
  318. codex/static_root/assets/change-password-dialog-D80TfT-n.js.br +0 -0
  319. codex/static_root/assets/change-password-dialog-D80TfT-n.js.gz +0 -0
  320. codex/static_root/assets/confirm-dialog-CTwvsrD2.8de12739f859.js.br +0 -0
  321. codex/static_root/assets/confirm-dialog-CTwvsrD2.8de12739f859.js.gz +0 -0
  322. codex/static_root/assets/confirm-dialog-CTwvsrD2.js.br +0 -0
  323. codex/static_root/assets/confirm-dialog-CTwvsrD2.js.gz +0 -0
  324. codex/static_root/assets/confirm-footer-CLcqjnLg.ebed69027134.js.br +0 -0
  325. codex/static_root/assets/confirm-footer-CLcqjnLg.ebed69027134.js.gz +0 -0
  326. codex/static_root/assets/confirm-footer-CLcqjnLg.js.br +0 -0
  327. codex/static_root/assets/confirm-footer-CLcqjnLg.js.gz +0 -0
  328. codex/static_root/assets/datetime-column-DPVO98E2.27e26fb391ca.js.br +0 -0
  329. codex/static_root/assets/datetime-column-DPVO98E2.27e26fb391ca.js.gz +0 -0
  330. codex/static_root/assets/datetime-column-DPVO98E2.js.br +0 -0
  331. codex/static_root/assets/datetime-column-DPVO98E2.js.gz +0 -0
  332. codex/static_root/assets/filter-Cqjy01SO.71710ea1c7f8.js.br +0 -0
  333. codex/static_root/assets/filter-Cqjy01SO.71710ea1c7f8.js.gz +0 -0
  334. codex/static_root/assets/filter-Cqjy01SO.js.br +0 -0
  335. codex/static_root/assets/filter-Cqjy01SO.js.gz +0 -0
  336. codex/static_root/assets/flag-tab-BERamYWo.52c4bc9b4243.js +0 -1
  337. codex/static_root/assets/flag-tab-BERamYWo.52c4bc9b4243.js.br +0 -0
  338. codex/static_root/assets/flag-tab-BERamYWo.52c4bc9b4243.js.gz +0 -0
  339. codex/static_root/assets/flag-tab-BERamYWo.js +0 -1
  340. codex/static_root/assets/flag-tab-BERamYWo.js.br +0 -0
  341. codex/static_root/assets/flag-tab-BERamYWo.js.gz +0 -0
  342. codex/static_root/assets/flag-tab-DUXtbpA2.8d52c0d4f9e2.css +0 -1
  343. codex/static_root/assets/flag-tab-DUXtbpA2.8d52c0d4f9e2.css.br +0 -1
  344. codex/static_root/assets/flag-tab-DUXtbpA2.8d52c0d4f9e2.css.gz +0 -0
  345. codex/static_root/assets/flag-tab-DUXtbpA2.css +0 -1
  346. codex/static_root/assets/flag-tab-DUXtbpA2.css.br +0 -1
  347. codex/static_root/assets/flag-tab-DUXtbpA2.css.gz +0 -0
  348. codex/static_root/assets/group-tab-DknI2YL3.7b2e5d32ee7e.js.br +0 -0
  349. codex/static_root/assets/group-tab-DknI2YL3.7b2e5d32ee7e.js.gz +0 -0
  350. codex/static_root/assets/group-tab-DknI2YL3.js.br +0 -0
  351. codex/static_root/assets/group-tab-DknI2YL3.js.gz +0 -0
  352. codex/static_root/assets/http-error-DxxoT0wf.8f26afe5c1dd.js.br +0 -0
  353. codex/static_root/assets/http-error-DxxoT0wf.8f26afe5c1dd.js.gz +0 -0
  354. codex/static_root/assets/http-error-DxxoT0wf.js.br +0 -0
  355. codex/static_root/assets/http-error-DxxoT0wf.js.gz +0 -0
  356. codex/static_root/assets/library-tab-DXCuu0zS.6a7b7e48a6f5.js.br +0 -0
  357. codex/static_root/assets/library-tab-DXCuu0zS.6a7b7e48a6f5.js.gz +0 -0
  358. codex/static_root/assets/library-tab-DXCuu0zS.js.br +0 -0
  359. codex/static_root/assets/library-tab-DXCuu0zS.js.gz +0 -0
  360. codex/static_root/assets/main-CTJQvqMb.1d5f619166b3.js +0 -37
  361. codex/static_root/assets/main-CTJQvqMb.1d5f619166b3.js.br +0 -0
  362. codex/static_root/assets/main-CTJQvqMb.1d5f619166b3.js.gz +0 -0
  363. codex/static_root/assets/main-CTJQvqMb.js +0 -37
  364. codex/static_root/assets/main-CTJQvqMb.js.br +0 -0
  365. codex/static_root/assets/main-CTJQvqMb.js.gz +0 -0
  366. codex/static_root/assets/main-CacfwsKA.4f849ef1c5db.css.br +0 -0
  367. codex/static_root/assets/main-CacfwsKA.css.br +0 -0
  368. codex/static_root/assets/metadata-dialog-CZDWNVCD.b78ed72bc090.js.br +0 -0
  369. codex/static_root/assets/metadata-dialog-CZDWNVCD.b78ed72bc090.js.gz +0 -0
  370. codex/static_root/assets/metadata-dialog-CZDWNVCD.js.br +0 -0
  371. codex/static_root/assets/metadata-dialog-CZDWNVCD.js.gz +0 -0
  372. codex/static_root/assets/pdf-doc-C_LEA8HV.6bd1dba60a0b.js.br +0 -0
  373. codex/static_root/assets/pdf-doc-C_LEA8HV.6bd1dba60a0b.js.gz +0 -0
  374. codex/static_root/assets/pdf-doc-C_LEA8HV.js.br +0 -0
  375. codex/static_root/assets/pdf-doc-C_LEA8HV.js.gz +0 -0
  376. codex/static_root/assets/reader-DXk46jdF.0a2b0809bd02.js.br +0 -0
  377. codex/static_root/assets/reader-DXk46jdF.0a2b0809bd02.js.gz +0 -0
  378. codex/static_root/assets/reader-DXk46jdF.js.br +0 -0
  379. codex/static_root/assets/reader-DXk46jdF.js.gz +0 -0
  380. codex/static_root/assets/stats-tab-Dy0YEoJ4.f24c8ddba0d3.js.br +0 -0
  381. codex/static_root/assets/stats-tab-Dy0YEoJ4.f24c8ddba0d3.js.gz +0 -0
  382. codex/static_root/assets/stats-tab-Dy0YEoJ4.js.br +0 -0
  383. codex/static_root/assets/stats-tab-Dy0YEoJ4.js.gz +0 -0
  384. codex/static_root/assets/task-tab-Bv3B4rCC.1546850899dc.js.br +0 -0
  385. codex/static_root/assets/task-tab-Bv3B4rCC.1546850899dc.js.gz +0 -0
  386. codex/static_root/assets/task-tab-Bv3B4rCC.js.br +0 -0
  387. codex/static_root/assets/task-tab-Bv3B4rCC.js.gz +0 -0
  388. codex/static_root/assets/user-tab-CSF2DZe5.8e65aaed43b2.js.br +0 -0
  389. codex/static_root/assets/user-tab-CSF2DZe5.8e65aaed43b2.js.gz +0 -0
  390. codex/static_root/assets/user-tab-CSF2DZe5.js.br +0 -0
  391. codex/static_root/assets/user-tab-CSF2DZe5.js.gz +0 -0
  392. codex/static_root/manifest.24ec466b9bcf.json.br +0 -0
  393. codex/static_root/manifest.24ec466b9bcf.json.gz +0 -0
  394. {codex-1.5.13a2.dist-info → codex-1.5.14.dist-info}/LICENSE +0 -0
  395. {codex-1.5.13a2.dist-info → codex-1.5.14.dist-info}/WHEEL +0 -0
  396. {codex-1.5.13a2.dist-info → codex-1.5.14.dist-info}/entry_points.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  function __vite__mapDeps(indexes) {
2
2
  if (!__vite__mapDeps.viteFileDeps) {
3
- __vite__mapDeps.viteFileDeps = ["assets/pdf-doc-C_LEA8HV.js","assets/admin-drawer-panel-UQNBz5Mr.js","assets/admin-drawer-panel-Bk7z8uTR.css","assets/main-CTJQvqMb.js","assets/main-CacfwsKA.css","assets/VToolbar-qYCVOLXR.js","assets/index-DUjeNg4x.js","assets/confirm-footer-CLcqjnLg.js","assets/confirm-footer-VFepxcJs.css","assets/change-password-dialog-D80TfT-n.js","assets/VSlideGroup-r8lyA6_4.js","assets/VSelectionControl-CEOyDLZC.js","assets/VSelectionControl-BFq--28I.css","assets/VSlideGroup-C3lY91uv.css","assets/change-password-dialog-BRmvkNir.css","assets/VToolbar-DqQLg1UA.css","assets/pdf-doc-CMzaSV_K.css"]
3
+ __vite__mapDeps.viteFileDeps = ["assets/pdf-doc-ti4yO5IP.js","assets/admin-drawer-panel-Bd8JDQcd.js","assets/admin-drawer-panel-Cr-0BCQv.css","assets/main-YL3nS1Ml.js","assets/main-ClKzvaJK.css","assets/VToolbar-qC6PomNj.js","assets/index-DUjeNg4x.js","assets/confirm-footer-bZLoGqQV.js","assets/confirm-footer-VFepxcJs.css","assets/change-password-dialog-2SRI8ZTS.js","assets/VSlideGroup-r0m4k0_1.js","assets/VSelectionControl-BgzeMswJ.js","assets/VSelectionControl-BFq--28I.css","assets/VSlideGroup-C3lY91uv.css","assets/change-password-dialog-BRmvkNir.css","assets/VToolbar-DqQLg1UA.css","assets/pdf-doc-CMzaSV_K.css"]
4
4
  }
5
5
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
6
6
  }
7
- import{u as c,c as U,d as Ve,S as Oe,V as xe,a as Ee,e as Ae,h as Ne,i as Fe,_ as re}from"./VToolbar-qYCVOLXR.js";import{_ as A,a as ne,b as ie,P as Ue,c as le,V as K}from"./metadata-dialog-CZDWNVCD.js";import{ax as w,M as P,N as f,_ as m,R as u,O as g,P as i,aa as h,ae as _,L as n,ad as v,aB as S,bj as ze,bf as Me,be as B,ay as b,aK as We,b7 as O,bk as ce,Q as y,ab as D,bl as qe,bm as He,aD as r,am as W,aC as H,bn as ue,aA as de,az as x,al as R,a9 as G,bc as Ge,bo as Ke,bp as je,bq as Ye,br as Xe,ag as E,bs as Ze,k as T,ak as q,bt as Qe,bu as Je,af as j,a$ as et,bv as tt,bw as ot,bx as at,by as st,bz as rt,bA as nt,aH as it,aI as lt,aT as Y,m as X,bB as ct,bh as Z,bC as ut}from"./admin-drawer-panel-UQNBz5Mr.js";import{_ as dt,a as he,u as ht,C as pt}from"./main-CTJQvqMb.js";import{V as pe,a as ge}from"./VWindowItem-DAPhfogt.js";import{b as gt,V as mt}from"./VSelect-CLw1oGQg.js";import{V as $,a as z}from"./VRadioGroup-1KnJv1YV.js";import{V as M}from"./VCheckbox-BR-5qiW4.js";import{V as kt,a as _t,b as bt,c as ft}from"./VExpansionPanel-DSgyCbMu.js";import{V as Pt}from"./VMain-CDWaq_uU.js";import"./index-DUjeNg4x.js";import"./confirm-footer-CLcqjnLg.js";import"./change-password-dialog-D80TfT-n.js";import"./VSlideGroup-r8lyA6_4.js";import"./VSelectionControl-CEOyDLZC.js";import"./to-case-kUm8NPpW.js";import"./VCheckboxBtn-C7T6Tf80.js";const vt={name:"ReaderNavButton",components:{PaginationNavButton:A},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...w(c,["isVertical"]),...P(c,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}}}),title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...f(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function wt(e,t,a,d,l,o){const s=A;return u(),g(s,{key:e.isVertical,disabled:o.disabled,title:o.title,to:e.toRoute,onClick:o.onClick},{default:i(()=>[h(_(a.value),1)]),_:1},8,["disabled","title","to","onClick"])}const me=m(vt,[["render",wt]]),St={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:A},props:{direction:{type:String,required:!0}},computed:{...w(c,["isBTT"]),...P(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},disabled(){return!this.toRoute}},methods:{...f(c,["bookChangeIcon"])}};function Ct(e,t,a,d,l,o){const s=A;return u(),g(s,{icon:"",variant:"plain",disabled:o.disabled,title:o.title,to:e.toRoute},{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.icon),1)]),_:1})]),_:1},8,["disabled","title","to"])}const ke=m(St,[["render",Ct]]),L="prev",V="next",yt={name:"ReaderNavToolbar",components:{PaginationSlider:ne,ReaderNavButton:me,PaginationToolbar:ie,ReaderBookChangeNavButton:ke},computed:{...w(c,["activeSettings","isReadInReverse","isVertical"]),...P(c,{storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...f(c,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyListener(e){switch(e.stopPropagation(),e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(V):e.shiftKey&&window.scrollY===0&&this.routeToDirection(L);break;case"j":case"ArrowRight":this.routeToDirection(V);break;case"k":case"ArrowLeft":this.routeToDirection(L);break;case",":this.routeToDirectionOne(L);break;case".":this.routeToDirectionOne(V);break;case"n":this.routeToBook(V);break;case"p":this.routeToBook(L);break}}}};function Rt(e,t,a,d,l,o){const s=ke,p=me,k=ne,I=ie;return e.maxPage?(u(),g(I,{key:0},{default:i(()=>[n(s,{direction:o.bookPrev},null,8,["direction"]),n(p,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),g(k,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=F=>o.onSliderUpdate(F))},null,8,["model-value","max","step","track-color","reverse"])),n(p,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext},null,8,["direction"])]),_:1})):S("",!0)}const _e=m(yt,[["render",Rt]]),Bt=.5,Tt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ze}},computed:{...P(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=U},style(){return{cursor:this.scale==U?"zoom-in":"all-scroll"}}},methods:{...f(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Bt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:U})}}};function Dt(e,t,a,d,l,o){const s=Me("drag-scroller");return B((u(),b("div",{class:"scaleForScroll",style:ce(o.style),onDblclick:t[0]||(t[0]=(...p)=>o.onDoubleClick&&o.onDoubleClick(...p))},[We(e.$slots,"default",{},void 0,!0),o.showReset?(u(),g(v,{key:0,class:"resetIcon",onClick:O(o.scaleReset,["stop"])},{default:i(()=>[h(_(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const N=m(Tt,[["render",Dt],["__scopeId","data-v-b24267c0"]]),It={name:"LoadingPage",components:{Placeholder:Ue},props:{twoPages:{type:Boolean,required:!0}}};function $t(e,t,a,d,l,o){const s=y("Placeholder");return u(),b("div",{class:D(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Lt=m(It,[["render",$t],["__scopeId","data-v-04027168"]]),Q="unauthorized",Vt={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===Q?"Protected page":"Failed to load page"},icon(){return this.type===Q?qe:He}}},Ot={class:"pageErrorContainer"},xt={class:"pageErrorText"};function Et(e,t,a,d,l,o){return u(),b("div",{class:D(["pageError",{twoPages:a.twoPages}])},[r("div",Ot,[r("div",xt,_(o.text),1),n(v,{class:"pageErrorIcon"},{default:i(()=>[h(_(o.icon),1)]),_:1})])],2)}const At=m(Vt,[["render",Et],["__scopeId","data-v-cea0843d"]]),Nt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...f(c,["fitToClass"])}},Ft=["src"];function Ut(e,t,a,d,l,o){return u(),b("img",W({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Ft)}const J=m(Nt,[["render",Ut],["__scopeId","data-v-559e2ecc"]]),ee=H(ue(()=>dt(()=>import("./pdf-doc-C_LEA8HV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])))),zt=333,Mt={name:"BookPage",components:{ErrorPage:At,LoadingPage:Lt,PDFDoc:ee,ImgPage:J},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...w(c,["isVertical"]),...P(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return Ve(e)},component(){return this.book.fileType==="PDF"?ee:J},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},zt)},methods:{...f(c,["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}}},Wt=["id","data-page"];function qt(e,t,a,d,l,o){const s=y("ErrorPage"),p=y("LoadingPage");return u(),b("div",{id:`page${a.page}`,"data-page":a.page,class:"page",style:ce(o.style)},[l.error?(u(),g(s,{key:0,"two-pages":o.settings.twoPages,type:l.error},null,8,["two-pages","type"])):l.showProgress&&!l.loaded?(u(),g(p,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(u(),g(de(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Wt)}const be=m(Mt,[["render",qt],["__scopeId","data-v-87996fa1"]]),Ht={name:"HorizontalPages",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...w(c,["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:{...f(c,["getSettings"])}};function Gt(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,{class:"noWrap"},{default:i(()=>[o.showPageOne?(u(),g(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(u(),g(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const fe=m(Ht,[["render",Gt],["__scopeId","data-v-9a560964"]]),Kt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...w(c,["isVertical","isFirstPage","isLastPage"]),...P(c,{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:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function jt(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(s,{key:0,to:o.route,"aria-label":o.label,class:D({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Pe=m(Kt,[["render",jt],["__scopeId","data-v-9ade7d96"]]),Yt=48,Xt=48,Zt={name:"PagerHorizontal",components:{HorizontalPages:fe,PageChangeLink:Pe},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...w(c,["isReadInReverse"]),...P(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),twoPages(){return this.getSettings(this.book).twoPages},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...f(c,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Yt,0),t=Math.min(this.activePage+Xt,this.book.maxPage),a=he.range(e,t+1);this.pages=a}}};function Qt(e,t,a,d,l,o){const s=Pe,p=fe;return u(),g(ge,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(l.pages,k=>(u(),g(pe,{key:`c/${a.book.pk}/${k}`,class:"windowItem",disabled:"",eager:k>=e.storePage-1&&k<=e.storePage+2,"model-value":k,transition:!0},{default:i(()=>[n(p,{book:a.book,page:k},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const te=m(Zt,[["render",Qt],["__scopeId","data-v-e04bbc00"]]);function ve(e,t){const{self:a=!1}=t.modifiers??{},d=t.value,l=typeof d=="object"&&d.options||{passive:!0},o=typeof d=="function"||"handleEvent"in d?d:d.handler,s=a?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,l),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:l,target:a?void 0:s})}function we(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:d,target:l=e}=e._onScroll[t.instance.$.uid];l.removeEventListener("scroll",a,d),delete e._onScroll[t.instance.$.uid]}function Jt(e,t){t.value!==t.oldValue&&(we(e,t),ve(e,t))}const eo={mounted:ve,unmounted:we,updated:Jt},to=12,oe=250,oo={name:"PagerVertical",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(c,{storePage:e=>e.page}),...G(c,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=((a=this.book)==null?void 0:a.maxPage)+1,t=he.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,to)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},oe)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...f(c,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const d=+t[0].target.dataset.page;this.setActivePage(d,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},oe)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},ao=["data-page"];function so(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,null,{default:i(()=>[B((u(),g(gt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:i(({item:k})=>[n(s,{book:a.book,page:k,class:"verticalPage"},null,8,["book","page"]),B(r("div",{class:"pageTracker","data-page":k},null,8,ao),[[Ge,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[eo,o.onScroll,"#verticalScroll"]])]),_:1})}const ae=m(oo,[["render",so],["__scopeId","data-v-0836627c"]]),se=H(ue(()=>"@/components/reader/pager/pager-full-pdf.vue")),ro={name:"PagerSelector",components:{PagerHorizontal:te,PagerPDF:se,PagerVertical:ae},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...w(c,["isVertical","cacheBook"]),...P(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?se:this.isVertical?ae:te}},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:{...f(c,["getSettings","setActivePage","prefetchBook"])}};function no(e,t,a,d,l,o){return u(),g(de(o.component),{book:a.book},null,8,["book"])}const Se=m(ro,[["render",no]]),io={name:"BookChangeActivator",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:{...f(c,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function lo(e,t,a,d,l,o){return o.show?(u(),b("div",{key:0,class:D(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=O(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0)}const Ce=m(io,[["render",lo],["__scopeId","data-v-2b81f2ae"]]),co={name:"BooksWindow",components:{BookChangeActivator:Ce,Pager:Se},emits:["click"],computed:{...w(c,["isBTT"]),...P(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...f(c,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function uo(e,t,a,d,l,o){const s=Ce,p=Se;return u(),g(ge,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:o.click},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(e.books,k=>(u(),g(pe,{key:`c/${k.pk}`,class:"windowItem",disabled:"",eager:o.eager(k.pk),value:k.pk,transition:!0},{default:i(()=>[n(p,{book:k,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ye=m(co,[["render",uo],["__scopeId","data-v-2a90783e"]]),ho={a:je,f:Ye,s:Xe},po={a:"Story Arc",f:"Folder",s:"Series"},go={name:"ReaderArcSelect",computed:{...P(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pk===t.pk)return t.name;return"Unknown"},arcKey:e=>`${e.arc.group}:${e.arc.pk}`,arcItems:e=>{const t=[];for(const a of e.arcs){const d={value:`${a.group}:${a.pk}`,title:a.name,group:a.group};t.push(d)}return t},arcPosition:function(e){const t=e.arc;return t&&t.index&&t.count?`${t.index}/${t.count}`:""}}),arc:{get(){return this.arcKey},set(e){const t=this.$route.params;if(!t)return;const[a,d]=e.split(":"),l={...t,arcGroup:a,arcPk:d};this.loadBooks(l)}}},methods:{...f(c,["loadBooks"]),arcIcon(e){return ho[e]},arcLabel(e){return po[e]},checkIcon(e){return e===this.arc?Ke:""}}},mo={key:2,id:"arcPosition"};function ko(e,t,a,d,l,o){return u(),b(R,null,[e.arcItems.length>1?(u(),g(mt,{key:0,modelValue:o.arc,"onUpdate:modelValue":t[0]||(t[0]=s=>o.arc=s),class:"arcSelect",density:"compact","hide-details":"auto",label:"Order",variant:"plain",items:e.arcItems},{item:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain","prepend-icon":o.arcIcon(s.raw.group),subtitle:o.arcLabel(s.raw.group),"append-icon":o.checkIcon(p.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain"}),{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.arcIcon(s.raw.group)),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","items"])):(u(),g(v,{key:1,id:"onlyArc",title:e.arcName},{default:i(()=>[h(_(o.arcIcon(e.arcGroup)),1)]),_:1},8,["title"])),e.arcPosition?(u(),b("span",mo,_(e.arcPosition),1)):S("",!0)],64)}const Re=m(go,[["render",ko],["__scopeId","data-v-90090a3c"]]),_o={name:"ReaderTitleToolbar",components:{MetadataDialog:le,ReaderArcSelect:Re,SettingsDrawerButton:Oe},data(){return{mdiClose:Ze,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...w(c,["activeTitle"]),...P(c,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}}}),...P(ht,{lastRoute:e=>e.page.routes.last}),...G(T,["isSettingsDrawerOpen"]),closeBookRoute:function(){var t;const e={name:"browser",params:this.lastRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||pt.browser.route,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...f(T,["setTimestamp"]),...f(c,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){switch(e.stopPropagation(),e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.openMetadata();break}}}},bo={key:0};function fo(e,t,a,d,l,o){const s=Re,p=le,k=y("SettingsDrawerButton");return u(),g(Ee,{id:"readerTopToolbar",class:"codexToolbar",density:"compact"},{default:i(()=>[n(K,null,{default:i(()=>[n(q,{id:"closeBook",ref:"closeBook",to:o.closeBookRoute,size:"large",onClick:o.onCloseBook},{default:i(()=>[e.$vuetify.display.smAndDown?(u(),g(v,{key:1,title:"Close Book"},{default:i(()=>[h(_(l.mdiClose),1)]),_:1})):(u(),b("span",bo,"close book"))]),_:1},8,["to","onClick"])]),_:1}),n(xe,{id:"toolbarTitle",class:"codexToolbarTitle"},{default:i(()=>[h(_(e.activeTitle),1)]),_:1}),n(K,null,{default:i(()=>[n(s),n(q,{id:"tagButton",onClick:O(o.openMetadata,["stop"])},{default:i(()=>[n(p,{ref:"metadataDialog",group:"c",book:e.currentBook},null,8,["book"])]),_:1},8,["onClick"]),n(k,{id:"settingsButton",onClick:t[0]||(t[0]=O(I=>e.isSettingsDrawerOpen=!0,["stop"]))})]),_:1})]),_:1})}const Be=m(_o,[["render",fo],["__scopeId","data-v-5d12ffc0"]]),Po={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...w(c,["isBTT"]),...P(c,{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:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function vo(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(Ae,{key:0,class:"bookChangeDrawer","disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:i(()=>[n(s,{class:D({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},{default:i(()=>[n(v,{class:"bookChangeIcon"},{default:i(()=>[h(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value"])):S("",!0)}const Te=m(Po,[["render",vo],["__scopeId","data-v-457facfc"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Qe,mdiFileImage:Je}},computed:{...w(c,["activeTitle","routeParams"]),...P(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Ne(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Fe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...f(T,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},So={id:"downloadPanel"};function Co(e,t,a,d,l,o){return u(),b("div",So,[n(E,{onClick:o.downloadPage},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiFileImage),1)]),_:1}),h("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),n(E,{onClick:o.downloadBook},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiDownload),1)]),_:1}),h("Download Book ")]),_:1})]),_:1},8,["onClick"])])}const De=m(wo,[["render",Co],["__scopeId","data-v-079b7d8d"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const yo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:et}},computed:{...w(c,["isVertical","isPDF","cacheBook"]),...P(c,{choices:e=>e.choices,selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const d of Ie){const l=(a=e.books)==null?void 0:a.current.settings[d];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t;return tt((t=e.books)==null?void 0:t.current)}}),...G(c,["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:{...f(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){e.stopPropagation();let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"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)}}},Ro={id:"readerSettings"},Bo=["href"];function To(e,t,a,d,l,o){return u(),b("div",Ro,[n(z,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),density:"compact",label:"Scope","hide-details":"auto"},{default:i(()=>[n($,{label:"Only this comic",value:!1}),n($,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.fitToChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.readingDirectionChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),e.isPDF?(u(),b("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[n(v,null,{default:i(()=>[h(_(l.mdiOpenInNew),1)]),_:1}),h("Read PDF in Browser ")],8,Bo)):S("",!0),l.isGlobalScope?(u(),g(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]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"])):S("",!0),l.isGlobalScope?S("",!0):(u(),g(q,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:i(()=>[h(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])}const $e=m(yo,[["render",To],["__scopeId","data-v-953d00f1"]]),Do={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:ot,mdiMenuRight:at,mdiKeyboardOutline:st,mdiKeyboardSpace:rt,mdiAppleKeyboardShift:nt}},computed:{...w(T,["isMobile"])}},C=e=>(it("data-v-a8b4ac47"),e=e(),lt(),e),Io=C(()=>r("h4",null,"Navigation",-1)),$o={class:"highlight-table"},Lo=C(()=>r("td",null,"Previous page",-1)),Vo=C(()=>r("td",null,"Next page",-1)),Oo=C(()=>r("tr",null,[r("td",null,","),r("td",null,[h("Next "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),xo=C(()=>r("tr",null,[r("td",null,"."),r("td",null,[h("Previous "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),Eo=C(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),Ao=C(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),No=C(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),Fo=C(()=>r("h4",null,"Fit Page To",-1)),Uo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),zo=C(()=>r("h4",null,"Other",-1)),Mo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Wo(e,t,a,d,l,o){return e.isMobile?S("",!0):(u(),g(ft,{key:0},{default:i(()=>[n(kt,{id:"readerKeyboardShortcuts"},{default:i(()=>[n(_t,{id:"shortcutsTitle"},{default:i(()=>[n(v,{id:"keyboardIcon"},{default:i(()=>[h(_(l.mdiKeyboardOutline),1)]),_:1}),h("Keyboard Shortcuts ")]),_:1}),n(bt,null,{default:i(()=>[Io,r("table",$o,[r("tbody",null,[r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuLeft),1)]),_:1}),h(", j, "),r("div",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiAppleKeyboardShift),1)]),_:1}),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})])]),Lo]),r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuRight),1)]),_:1}),h(", k, "),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})]),Vo]),Oo,xo,Eo,Ao,No])]),Fo,Uo,zo,Mo]),_:1})]),_:1})]),_:1}))}const qo=m(Do,[["render",Wo],["__scopeId","data-v-a8b4ac47"]]),Ho={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:De,ReaderKeyboardShortcutsPanel:qo,ReaderSettingsPanel:$e}};function Go(e,t,a,d,l,o){const s=$e,p=y("ReaderKeyboardShortcutsPanel"),k=De;return u(),b(R,null,[n(s),n(Y),n(p),n(Y),n(k)],64)}const Ko=m(Ho,[["render",Go]]),jo={name:"MainReader",components:{BookChangeDrawer:Te,BooksWindow:ye,ReaderNavToolbar:_e,ReaderTitleToolbar:Be,SettingsDrawer:re},data(){return{showToolbars:!1,ReaderSettingsSuperPanel:H(Ko)}},computed:{...w(X,["isCodexViewable"]),...P(X,{user:e=>e.user})},watch:{user(){this.loadReaderSettings()},isCodexViewable(){this.loadReaderSettings()}},created(){T().isSettingsDrawerOpen=!1},beforeMount(){c().$reset,this.loadReaderSettings()},methods:{...f(c,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Yo={key:0,id:"readerContainer"},Xo={key:1,id:"announcement"};function Zo(e,t,a,d,l,o){const s=Te,p=Be,k=ye,I=_e,F=y("router-link"),Le=re;return u(),b(R,null,[n(Pt,{id:"readerWrapper"},{default:i(()=>[n(s,{direction:"prev"}),e.isCodexViewable?(u(),b("div",Yo,[n(ct,null,{default:i(()=>[B(n(p,null,null,512),[[Z,l.showToolbars]])]),_:1}),n(k,{onClick:o.toggleToolbars},null,8,["onClick"]),n(ut,null,{default:i(()=>[B(n(I,null,null,512),[[Z,l.showToolbars]])]),_:1})])):(u(),b("div",Xo,[r("h1",null,[n(F,{to:{name:"home"}},{default:i(()=>[h(" Log in ")]),_:1}),h(" to read comics ")])]))]),_:1}),n(s,{direction:"next"}),n(Le,{title:"Reader Settings",panel:l.ReaderSettingsSuperPanel,temporary:""},null,8,["panel"])],64)}const ma=m(jo,[["render",Zo],["__scopeId","data-v-fd949081"]]);export{ma as default};
7
+ import{u as c,c as U,d as Ve,S as Oe,V as xe,a as Ee,e as Ae,h as Ne,i as Fe,_ as re}from"./VToolbar-qC6PomNj.js";import{_ as A,a as ne,b as ie,P as Ue,c as le,V as K}from"./metadata-dialog-C7rQOEVd.js";import{ax as w,M as P,N as f,_ as m,R as u,O as g,P as i,aa as h,ae as _,L as n,ad as v,aB as S,bj as ze,bf as Me,be as B,ay as b,aK as We,b7 as O,bk as ce,Q as y,ab as D,bl as qe,bm as He,aD as r,am as W,aC as H,bn as ue,aA as de,az as x,al as R,a9 as G,bc as Ge,bo as Ke,bp as je,bq as Ye,br as Xe,ag as E,bs as Ze,k as T,ak as q,bt as Qe,bu as Je,af as j,a$ as et,bv as tt,bw as ot,bx as at,by as st,bz as rt,bA as nt,aH as it,aI as lt,aT as Y,m as X,bB as ct,bh as Z,bC as ut}from"./admin-drawer-panel-Bd8JDQcd.js";import{_ as dt,a as he,u as ht,C as pt}from"./main-YL3nS1Ml.js";import{V as pe,a as ge}from"./VWindowItem-DtPdrKkO.js";import{b as gt,V as mt}from"./VSelect-Bng0oQPD.js";import{V as $,a as z}from"./VRadioGroup-CSbyI7OY.js";import{V as M}from"./VCheckbox-CJQL54i9.js";import{V as kt,a as _t,b as bt,c as ft}from"./VExpansionPanel-iuNlRDRN.js";import{V as Pt}from"./VMain-KVBhuT21.js";import"./index-DUjeNg4x.js";import"./confirm-footer-bZLoGqQV.js";import"./change-password-dialog-2SRI8ZTS.js";import"./VSlideGroup-r0m4k0_1.js";import"./VSelectionControl-BgzeMswJ.js";import"./to-case-kUm8NPpW.js";import"./VCheckboxBtn-tlNM-0ad.js";const vt={name:"ReaderNavButton",components:{PaginationNavButton:A},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...w(c,["isVertical"]),...P(c,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}}}),title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...f(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function wt(e,t,a,d,l,o){const s=A;return u(),g(s,{key:e.isVertical,disabled:o.disabled,title:o.title,to:e.toRoute,onClick:o.onClick},{default:i(()=>[h(_(a.value),1)]),_:1},8,["disabled","title","to","onClick"])}const me=m(vt,[["render",wt]]),St={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:A},props:{direction:{type:String,required:!0}},computed:{...w(c,["isBTT"]),...P(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},disabled(){return!this.toRoute}},methods:{...f(c,["bookChangeIcon"])}};function Ct(e,t,a,d,l,o){const s=A;return u(),g(s,{icon:"",variant:"plain",disabled:o.disabled,title:o.title,to:e.toRoute},{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.icon),1)]),_:1})]),_:1},8,["disabled","title","to"])}const ke=m(St,[["render",Ct]]),L="prev",V="next",yt={name:"ReaderNavToolbar",components:{PaginationSlider:ne,ReaderNavButton:me,PaginationToolbar:ie,ReaderBookChangeNavButton:ke},computed:{...w(c,["activeSettings","isReadInReverse","isVertical"]),...P(c,{storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...f(c,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyListener(e){switch(e.stopPropagation(),e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(V):e.shiftKey&&window.scrollY===0&&this.routeToDirection(L);break;case"j":case"ArrowRight":this.routeToDirection(V);break;case"k":case"ArrowLeft":this.routeToDirection(L);break;case",":this.routeToDirectionOne(L);break;case".":this.routeToDirectionOne(V);break;case"n":this.routeToBook(V);break;case"p":this.routeToBook(L);break}}}};function Rt(e,t,a,d,l,o){const s=ke,p=me,k=ne,I=ie;return e.maxPage?(u(),g(I,{key:0},{default:i(()=>[n(s,{direction:o.bookPrev},null,8,["direction"]),n(p,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),g(k,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=F=>o.onSliderUpdate(F))},null,8,["model-value","max","step","track-color","reverse"])),n(p,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext},null,8,["direction"])]),_:1})):S("",!0)}const _e=m(yt,[["render",Rt]]),Bt=.5,Tt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ze}},computed:{...P(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=U},style(){return{cursor:this.scale==U?"zoom-in":"all-scroll"}}},methods:{...f(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Bt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:U})}}};function Dt(e,t,a,d,l,o){const s=Me("drag-scroller");return B((u(),b("div",{class:"scaleForScroll",style:ce(o.style),onDblclick:t[0]||(t[0]=(...p)=>o.onDoubleClick&&o.onDoubleClick(...p))},[We(e.$slots,"default",{},void 0,!0),o.showReset?(u(),g(v,{key:0,class:"resetIcon",onClick:O(o.scaleReset,["stop"])},{default:i(()=>[h(_(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const N=m(Tt,[["render",Dt],["__scopeId","data-v-b24267c0"]]),It={name:"LoadingPage",components:{Placeholder:Ue},props:{twoPages:{type:Boolean,required:!0}}};function $t(e,t,a,d,l,o){const s=y("Placeholder");return u(),b("div",{class:D(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Lt=m(It,[["render",$t],["__scopeId","data-v-04027168"]]),Q="unauthorized",Vt={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===Q?"Protected page":"Failed to load page"},icon(){return this.type===Q?qe:He}}},Ot={class:"pageErrorContainer"},xt={class:"pageErrorText"};function Et(e,t,a,d,l,o){return u(),b("div",{class:D(["pageError",{twoPages:a.twoPages}])},[r("div",Ot,[r("div",xt,_(o.text),1),n(v,{class:"pageErrorIcon"},{default:i(()=>[h(_(o.icon),1)]),_:1})])],2)}const At=m(Vt,[["render",Et],["__scopeId","data-v-cea0843d"]]),Nt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...f(c,["fitToClass"])}},Ft=["src"];function Ut(e,t,a,d,l,o){return u(),b("img",W({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Ft)}const J=m(Nt,[["render",Ut],["__scopeId","data-v-559e2ecc"]]),ee=H(ue(()=>dt(()=>import("./pdf-doc-ti4yO5IP.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])))),zt=333,Mt={name:"BookPage",components:{ErrorPage:At,LoadingPage:Lt,PDFDoc:ee,ImgPage:J},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...w(c,["isVertical"]),...P(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return Ve(e)},component(){return this.book.fileType==="PDF"?ee:J},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},zt)},methods:{...f(c,["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}}},Wt=["id","data-page"];function qt(e,t,a,d,l,o){const s=y("ErrorPage"),p=y("LoadingPage");return u(),b("div",{id:`page${a.page}`,"data-page":a.page,class:"page",style:ce(o.style)},[l.error?(u(),g(s,{key:0,"two-pages":o.settings.twoPages,type:l.error},null,8,["two-pages","type"])):l.showProgress&&!l.loaded?(u(),g(p,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(u(),g(de(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Wt)}const be=m(Mt,[["render",qt],["__scopeId","data-v-87996fa1"]]),Ht={name:"HorizontalPages",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...w(c,["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:{...f(c,["getSettings"])}};function Gt(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,{class:"noWrap"},{default:i(()=>[o.showPageOne?(u(),g(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(u(),g(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const fe=m(Ht,[["render",Gt],["__scopeId","data-v-9a560964"]]),Kt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...w(c,["isVertical","isFirstPage","isLastPage"]),...P(c,{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:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function jt(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(s,{key:0,to:o.route,"aria-label":o.label,class:D({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Pe=m(Kt,[["render",jt],["__scopeId","data-v-9ade7d96"]]),Yt=48,Xt=48,Zt={name:"PagerHorizontal",components:{HorizontalPages:fe,PageChangeLink:Pe},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...w(c,["isReadInReverse"]),...P(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),twoPages(){return this.getSettings(this.book).twoPages},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...f(c,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Yt,0),t=Math.min(this.activePage+Xt,this.book.maxPage),a=he.range(e,t+1);this.pages=a}}};function Qt(e,t,a,d,l,o){const s=Pe,p=fe;return u(),g(ge,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(l.pages,k=>(u(),g(pe,{key:`c/${a.book.pk}/${k}`,class:"windowItem",disabled:"",eager:k>=e.storePage-1&&k<=e.storePage+2,"model-value":k,transition:!0},{default:i(()=>[n(p,{book:a.book,page:k},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const te=m(Zt,[["render",Qt],["__scopeId","data-v-e04bbc00"]]);function ve(e,t){const{self:a=!1}=t.modifiers??{},d=t.value,l=typeof d=="object"&&d.options||{passive:!0},o=typeof d=="function"||"handleEvent"in d?d:d.handler,s=a?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,l),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:l,target:a?void 0:s})}function we(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:d,target:l=e}=e._onScroll[t.instance.$.uid];l.removeEventListener("scroll",a,d),delete e._onScroll[t.instance.$.uid]}function Jt(e,t){t.value!==t.oldValue&&(we(e,t),ve(e,t))}const eo={mounted:ve,unmounted:we,updated:Jt},to=12,oe=250,oo={name:"PagerVertical",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(c,{storePage:e=>e.page}),...G(c,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=((a=this.book)==null?void 0:a.maxPage)+1,t=he.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,to)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},oe)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...f(c,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const d=+t[0].target.dataset.page;this.setActivePage(d,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},oe)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},ao=["data-page"];function so(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,null,{default:i(()=>[B((u(),g(gt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:i(({item:k})=>[n(s,{book:a.book,page:k,class:"verticalPage"},null,8,["book","page"]),B(r("div",{class:"pageTracker","data-page":k},null,8,ao),[[Ge,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[eo,o.onScroll,"#verticalScroll"]])]),_:1})}const ae=m(oo,[["render",so],["__scopeId","data-v-0836627c"]]),se=H(ue(()=>"@/components/reader/pager/pager-full-pdf.vue")),ro={name:"PagerSelector",components:{PagerHorizontal:te,PagerPDF:se,PagerVertical:ae},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...w(c,["isVertical","cacheBook"]),...P(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?se:this.isVertical?ae:te}},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:{...f(c,["getSettings","setActivePage","prefetchBook"])}};function no(e,t,a,d,l,o){return u(),g(de(o.component),{book:a.book},null,8,["book"])}const Se=m(ro,[["render",no]]),io={name:"BookChangeActivator",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:{...f(c,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function lo(e,t,a,d,l,o){return o.show?(u(),b("div",{key:0,class:D(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=O(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0)}const Ce=m(io,[["render",lo],["__scopeId","data-v-2b81f2ae"]]),co={name:"BooksWindow",components:{BookChangeActivator:Ce,Pager:Se},emits:["click"],computed:{...w(c,["isBTT"]),...P(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...f(c,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function uo(e,t,a,d,l,o){const s=Ce,p=Se;return u(),g(ge,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:o.click},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(e.books,k=>(u(),g(pe,{key:`c/${k.pk}`,class:"windowItem",disabled:"",eager:o.eager(k.pk),value:k.pk,transition:!0},{default:i(()=>[n(p,{book:k,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ye=m(co,[["render",uo],["__scopeId","data-v-2a90783e"]]),ho={a:je,f:Ye,s:Xe},po={a:"Story Arc",f:"Folder",s:"Series"},go={name:"ReaderArcSelect",computed:{...P(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pk===t.pk)return t.name;return"Unknown"},arcKey:e=>`${e.arc.group}:${e.arc.pk}`,arcItems:e=>{const t=[];for(const a of e.arcs){const d={value:`${a.group}:${a.pk}`,title:a.name,group:a.group};t.push(d)}return t},arcPosition:function(e){const t=e.arc;return t&&t.index&&t.count?`${t.index}/${t.count}`:""}}),arc:{get(){return this.arcKey},set(e){const t=this.$route.params;if(!t)return;const[a,d]=e.split(":"),l={...t,arcGroup:a,arcPk:d};this.loadBooks(l)}}},methods:{...f(c,["loadBooks"]),arcIcon(e){return ho[e]},arcLabel(e){return po[e]},checkIcon(e){return e===this.arc?Ke:""}}},mo={key:2,id:"arcPosition"};function ko(e,t,a,d,l,o){return u(),b(R,null,[e.arcItems.length>1?(u(),g(mt,{key:0,modelValue:o.arc,"onUpdate:modelValue":t[0]||(t[0]=s=>o.arc=s),class:"arcSelect",density:"compact","hide-details":"auto",label:"Order",variant:"plain",items:e.arcItems},{item:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain","prepend-icon":o.arcIcon(s.raw.group),subtitle:o.arcLabel(s.raw.group),"append-icon":o.checkIcon(p.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain"}),{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.arcIcon(s.raw.group)),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","items"])):(u(),g(v,{key:1,id:"onlyArc",title:e.arcName},{default:i(()=>[h(_(o.arcIcon(e.arcGroup)),1)]),_:1},8,["title"])),e.arcPosition?(u(),b("span",mo,_(e.arcPosition),1)):S("",!0)],64)}const Re=m(go,[["render",ko],["__scopeId","data-v-90090a3c"]]),_o={name:"ReaderTitleToolbar",components:{MetadataDialog:le,ReaderArcSelect:Re,SettingsDrawerButton:Oe},data(){return{mdiClose:Ze,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...w(c,["activeTitle"]),...P(c,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}}}),...P(ht,{lastRoute:e=>e.page.routes.last}),...G(T,["isSettingsDrawerOpen"]),closeBookRoute:function(){var t;const e={name:"browser",params:this.lastRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||pt.browser.route,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...f(T,["setTimestamp"]),...f(c,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){switch(e.stopPropagation(),e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.openMetadata();break}}}},bo={key:0};function fo(e,t,a,d,l,o){const s=Re,p=le,k=y("SettingsDrawerButton");return u(),g(Ee,{id:"readerTopToolbar",class:"codexToolbar",density:"compact"},{default:i(()=>[n(K,null,{default:i(()=>[n(q,{id:"closeBook",ref:"closeBook",to:o.closeBookRoute,size:"large",onClick:o.onCloseBook},{default:i(()=>[e.$vuetify.display.smAndDown?(u(),g(v,{key:1,title:"Close Book"},{default:i(()=>[h(_(l.mdiClose),1)]),_:1})):(u(),b("span",bo,"close book"))]),_:1},8,["to","onClick"])]),_:1}),n(xe,{id:"toolbarTitle",class:"codexToolbarTitle"},{default:i(()=>[h(_(e.activeTitle),1)]),_:1}),n(K,null,{default:i(()=>[n(s),n(q,{id:"tagButton",onClick:O(o.openMetadata,["stop"])},{default:i(()=>[n(p,{ref:"metadataDialog",group:"c",book:e.currentBook},null,8,["book"])]),_:1},8,["onClick"]),n(k,{id:"settingsButton",onClick:t[0]||(t[0]=O(I=>e.isSettingsDrawerOpen=!0,["stop"]))})]),_:1})]),_:1})}const Be=m(_o,[["render",fo],["__scopeId","data-v-5d12ffc0"]]),Po={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...w(c,["isBTT"]),...P(c,{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:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function vo(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(Ae,{key:0,class:"bookChangeDrawer","disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:i(()=>[n(s,{class:D({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},{default:i(()=>[n(v,{class:"bookChangeIcon"},{default:i(()=>[h(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value"])):S("",!0)}const Te=m(Po,[["render",vo],["__scopeId","data-v-457facfc"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Qe,mdiFileImage:Je}},computed:{...w(c,["activeTitle","routeParams"]),...P(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Ne(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Fe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...f(T,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},So={id:"downloadPanel"};function Co(e,t,a,d,l,o){return u(),b("div",So,[n(E,{onClick:o.downloadPage},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiFileImage),1)]),_:1}),h("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),n(E,{onClick:o.downloadBook},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiDownload),1)]),_:1}),h("Download Book ")]),_:1})]),_:1},8,["onClick"])])}const De=m(wo,[["render",Co],["__scopeId","data-v-079b7d8d"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const yo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:et}},computed:{...w(c,["isVertical","isPDF","cacheBook"]),...P(c,{choices:e=>e.choices,selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const d of Ie){const l=(a=e.books)==null?void 0:a.current.settings[d];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t;return tt((t=e.books)==null?void 0:t.current)}}),...G(c,["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:{...f(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){e.stopPropagation();let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"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)}}},Ro={id:"readerSettings"},Bo=["href"];function To(e,t,a,d,l,o){return u(),b("div",Ro,[n(z,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),density:"compact",label:"Scope","hide-details":"auto"},{default:i(()=>[n($,{label:"Only this comic",value:!1}),n($,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.fitToChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.readingDirectionChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),e.isPDF?(u(),b("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[n(v,null,{default:i(()=>[h(_(l.mdiOpenInNew),1)]),_:1}),h("Read PDF in Browser ")],8,Bo)):S("",!0),l.isGlobalScope?(u(),g(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]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"])):S("",!0),l.isGlobalScope?S("",!0):(u(),g(q,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:i(()=>[h(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])}const $e=m(yo,[["render",To],["__scopeId","data-v-953d00f1"]]),Do={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:ot,mdiMenuRight:at,mdiKeyboardOutline:st,mdiKeyboardSpace:rt,mdiAppleKeyboardShift:nt}},computed:{...w(T,["isMobile"])}},C=e=>(it("data-v-a8b4ac47"),e=e(),lt(),e),Io=C(()=>r("h4",null,"Navigation",-1)),$o={class:"highlight-table"},Lo=C(()=>r("td",null,"Previous page",-1)),Vo=C(()=>r("td",null,"Next page",-1)),Oo=C(()=>r("tr",null,[r("td",null,","),r("td",null,[h("Next "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),xo=C(()=>r("tr",null,[r("td",null,"."),r("td",null,[h("Previous "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),Eo=C(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),Ao=C(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),No=C(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),Fo=C(()=>r("h4",null,"Fit Page To",-1)),Uo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),zo=C(()=>r("h4",null,"Other",-1)),Mo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Wo(e,t,a,d,l,o){return e.isMobile?S("",!0):(u(),g(ft,{key:0},{default:i(()=>[n(kt,{id:"readerKeyboardShortcuts"},{default:i(()=>[n(_t,{id:"shortcutsTitle"},{default:i(()=>[n(v,{id:"keyboardIcon"},{default:i(()=>[h(_(l.mdiKeyboardOutline),1)]),_:1}),h("Keyboard Shortcuts ")]),_:1}),n(bt,null,{default:i(()=>[Io,r("table",$o,[r("tbody",null,[r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuLeft),1)]),_:1}),h(", j, "),r("div",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiAppleKeyboardShift),1)]),_:1}),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})])]),Lo]),r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuRight),1)]),_:1}),h(", k, "),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})]),Vo]),Oo,xo,Eo,Ao,No])]),Fo,Uo,zo,Mo]),_:1})]),_:1})]),_:1}))}const qo=m(Do,[["render",Wo],["__scopeId","data-v-a8b4ac47"]]),Ho={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:De,ReaderKeyboardShortcutsPanel:qo,ReaderSettingsPanel:$e}};function Go(e,t,a,d,l,o){const s=$e,p=y("ReaderKeyboardShortcutsPanel"),k=De;return u(),b(R,null,[n(s),n(Y),n(p),n(Y),n(k)],64)}const Ko=m(Ho,[["render",Go]]),jo={name:"MainReader",components:{BookChangeDrawer:Te,BooksWindow:ye,ReaderNavToolbar:_e,ReaderTitleToolbar:Be,SettingsDrawer:re},data(){return{showToolbars:!1,ReaderSettingsSuperPanel:H(Ko)}},computed:{...w(X,["isCodexViewable"]),...P(X,{user:e=>e.user})},watch:{user(){this.loadReaderSettings()},isCodexViewable(){this.loadReaderSettings()}},created(){T().isSettingsDrawerOpen=!1},beforeMount(){c().$reset,this.loadReaderSettings()},methods:{...f(c,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Yo={key:0,id:"readerContainer"},Xo={key:1,id:"announcement"};function Zo(e,t,a,d,l,o){const s=Te,p=Be,k=ye,I=_e,F=y("router-link"),Le=re;return u(),b(R,null,[n(Pt,{id:"readerWrapper"},{default:i(()=>[n(s,{direction:"prev"}),e.isCodexViewable?(u(),b("div",Yo,[n(ct,null,{default:i(()=>[B(n(p,null,null,512),[[Z,l.showToolbars]])]),_:1}),n(k,{onClick:o.toggleToolbars},null,8,["onClick"]),n(ut,null,{default:i(()=>[B(n(I,null,null,512),[[Z,l.showToolbars]])]),_:1})])):(u(),b("div",Xo,[r("h1",null,[n(F,{to:{name:"home"}},{default:i(()=>[h(" Log in ")]),_:1}),h(" to read comics ")])]))]),_:1}),n(s,{direction:"next"}),n(Le,{title:"Reader Settings",panel:l.ReaderSettingsSuperPanel,temporary:""},null,8,["panel"])],64)}const ma=m(jo,[["render",Zo],["__scopeId","data-v-fd949081"]]);export{ma as default};
@@ -1,7 +1,7 @@
1
1
  function __vite__mapDeps(indexes) {
2
2
  if (!__vite__mapDeps.viteFileDeps) {
3
- __vite__mapDeps.viteFileDeps = ["assets/pdf-doc-C_LEA8HV.js","assets/admin-drawer-panel-UQNBz5Mr.js","assets/admin-drawer-panel-Bk7z8uTR.css","assets/main-CTJQvqMb.js","assets/main-CacfwsKA.css","assets/VToolbar-qYCVOLXR.js","assets/index-DUjeNg4x.js","assets/confirm-footer-CLcqjnLg.js","assets/confirm-footer-VFepxcJs.css","assets/change-password-dialog-D80TfT-n.js","assets/VSlideGroup-r8lyA6_4.js","assets/VSelectionControl-CEOyDLZC.js","assets/VSelectionControl-BFq--28I.css","assets/VSlideGroup-C3lY91uv.css","assets/change-password-dialog-BRmvkNir.css","assets/VToolbar-DqQLg1UA.css","assets/pdf-doc-CMzaSV_K.css"]
3
+ __vite__mapDeps.viteFileDeps = ["assets/pdf-doc-ti4yO5IP.js","assets/admin-drawer-panel-Bd8JDQcd.js","assets/admin-drawer-panel-Cr-0BCQv.css","assets/main-YL3nS1Ml.js","assets/main-ClKzvaJK.css","assets/VToolbar-qC6PomNj.js","assets/index-DUjeNg4x.js","assets/confirm-footer-bZLoGqQV.js","assets/confirm-footer-VFepxcJs.css","assets/change-password-dialog-2SRI8ZTS.js","assets/VSlideGroup-r0m4k0_1.js","assets/VSelectionControl-BgzeMswJ.js","assets/VSelectionControl-BFq--28I.css","assets/VSlideGroup-C3lY91uv.css","assets/change-password-dialog-BRmvkNir.css","assets/VToolbar-DqQLg1UA.css","assets/pdf-doc-CMzaSV_K.css"]
4
4
  }
5
5
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
6
6
  }
7
- import{u as c,c as U,d as Ve,S as Oe,V as xe,a as Ee,e as Ae,h as Ne,i as Fe,_ as re}from"./VToolbar-qYCVOLXR.js";import{_ as A,a as ne,b as ie,P as Ue,c as le,V as K}from"./metadata-dialog-CZDWNVCD.js";import{ax as w,M as P,N as f,_ as m,R as u,O as g,P as i,aa as h,ae as _,L as n,ad as v,aB as S,bj as ze,bf as Me,be as B,ay as b,aK as We,b7 as O,bk as ce,Q as y,ab as D,bl as qe,bm as He,aD as r,am as W,aC as H,bn as ue,aA as de,az as x,al as R,a9 as G,bc as Ge,bo as Ke,bp as je,bq as Ye,br as Xe,ag as E,bs as Ze,k as T,ak as q,bt as Qe,bu as Je,af as j,a$ as et,bv as tt,bw as ot,bx as at,by as st,bz as rt,bA as nt,aH as it,aI as lt,aT as Y,m as X,bB as ct,bh as Z,bC as ut}from"./admin-drawer-panel-UQNBz5Mr.js";import{_ as dt,a as he,u as ht,C as pt}from"./main-CTJQvqMb.js";import{V as pe,a as ge}from"./VWindowItem-DAPhfogt.js";import{b as gt,V as mt}from"./VSelect-CLw1oGQg.js";import{V as $,a as z}from"./VRadioGroup-1KnJv1YV.js";import{V as M}from"./VCheckbox-BR-5qiW4.js";import{V as kt,a as _t,b as bt,c as ft}from"./VExpansionPanel-DSgyCbMu.js";import{V as Pt}from"./VMain-CDWaq_uU.js";import"./index-DUjeNg4x.js";import"./confirm-footer-CLcqjnLg.js";import"./change-password-dialog-D80TfT-n.js";import"./VSlideGroup-r8lyA6_4.js";import"./VSelectionControl-CEOyDLZC.js";import"./to-case-kUm8NPpW.js";import"./VCheckboxBtn-C7T6Tf80.js";const vt={name:"ReaderNavButton",components:{PaginationNavButton:A},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...w(c,["isVertical"]),...P(c,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}}}),title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...f(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function wt(e,t,a,d,l,o){const s=A;return u(),g(s,{key:e.isVertical,disabled:o.disabled,title:o.title,to:e.toRoute,onClick:o.onClick},{default:i(()=>[h(_(a.value),1)]),_:1},8,["disabled","title","to","onClick"])}const me=m(vt,[["render",wt]]),St={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:A},props:{direction:{type:String,required:!0}},computed:{...w(c,["isBTT"]),...P(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},disabled(){return!this.toRoute}},methods:{...f(c,["bookChangeIcon"])}};function Ct(e,t,a,d,l,o){const s=A;return u(),g(s,{icon:"",variant:"plain",disabled:o.disabled,title:o.title,to:e.toRoute},{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.icon),1)]),_:1})]),_:1},8,["disabled","title","to"])}const ke=m(St,[["render",Ct]]),L="prev",V="next",yt={name:"ReaderNavToolbar",components:{PaginationSlider:ne,ReaderNavButton:me,PaginationToolbar:ie,ReaderBookChangeNavButton:ke},computed:{...w(c,["activeSettings","isReadInReverse","isVertical"]),...P(c,{storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...f(c,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyListener(e){switch(e.stopPropagation(),e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(V):e.shiftKey&&window.scrollY===0&&this.routeToDirection(L);break;case"j":case"ArrowRight":this.routeToDirection(V);break;case"k":case"ArrowLeft":this.routeToDirection(L);break;case",":this.routeToDirectionOne(L);break;case".":this.routeToDirectionOne(V);break;case"n":this.routeToBook(V);break;case"p":this.routeToBook(L);break}}}};function Rt(e,t,a,d,l,o){const s=ke,p=me,k=ne,I=ie;return e.maxPage?(u(),g(I,{key:0},{default:i(()=>[n(s,{direction:o.bookPrev},null,8,["direction"]),n(p,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),g(k,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=F=>o.onSliderUpdate(F))},null,8,["model-value","max","step","track-color","reverse"])),n(p,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext},null,8,["direction"])]),_:1})):S("",!0)}const _e=m(yt,[["render",Rt]]),Bt=.5,Tt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ze}},computed:{...P(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=U},style(){return{cursor:this.scale==U?"zoom-in":"all-scroll"}}},methods:{...f(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Bt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:U})}}};function Dt(e,t,a,d,l,o){const s=Me("drag-scroller");return B((u(),b("div",{class:"scaleForScroll",style:ce(o.style),onDblclick:t[0]||(t[0]=(...p)=>o.onDoubleClick&&o.onDoubleClick(...p))},[We(e.$slots,"default",{},void 0,!0),o.showReset?(u(),g(v,{key:0,class:"resetIcon",onClick:O(o.scaleReset,["stop"])},{default:i(()=>[h(_(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const N=m(Tt,[["render",Dt],["__scopeId","data-v-b24267c0"]]),It={name:"LoadingPage",components:{Placeholder:Ue},props:{twoPages:{type:Boolean,required:!0}}};function $t(e,t,a,d,l,o){const s=y("Placeholder");return u(),b("div",{class:D(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Lt=m(It,[["render",$t],["__scopeId","data-v-04027168"]]),Q="unauthorized",Vt={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===Q?"Protected page":"Failed to load page"},icon(){return this.type===Q?qe:He}}},Ot={class:"pageErrorContainer"},xt={class:"pageErrorText"};function Et(e,t,a,d,l,o){return u(),b("div",{class:D(["pageError",{twoPages:a.twoPages}])},[r("div",Ot,[r("div",xt,_(o.text),1),n(v,{class:"pageErrorIcon"},{default:i(()=>[h(_(o.icon),1)]),_:1})])],2)}const At=m(Vt,[["render",Et],["__scopeId","data-v-cea0843d"]]),Nt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...f(c,["fitToClass"])}},Ft=["src"];function Ut(e,t,a,d,l,o){return u(),b("img",W({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Ft)}const J=m(Nt,[["render",Ut],["__scopeId","data-v-559e2ecc"]]),ee=H(ue(()=>dt(()=>import("./pdf-doc-C_LEA8HV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])))),zt=333,Mt={name:"BookPage",components:{ErrorPage:At,LoadingPage:Lt,PDFDoc:ee,ImgPage:J},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...w(c,["isVertical"]),...P(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return Ve(e)},component(){return this.book.fileType==="PDF"?ee:J},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},zt)},methods:{...f(c,["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}}},Wt=["id","data-page"];function qt(e,t,a,d,l,o){const s=y("ErrorPage"),p=y("LoadingPage");return u(),b("div",{id:`page${a.page}`,"data-page":a.page,class:"page",style:ce(o.style)},[l.error?(u(),g(s,{key:0,"two-pages":o.settings.twoPages,type:l.error},null,8,["two-pages","type"])):l.showProgress&&!l.loaded?(u(),g(p,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(u(),g(de(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Wt)}const be=m(Mt,[["render",qt],["__scopeId","data-v-87996fa1"]]),Ht={name:"HorizontalPages",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...w(c,["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:{...f(c,["getSettings"])}};function Gt(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,{class:"noWrap"},{default:i(()=>[o.showPageOne?(u(),g(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(u(),g(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const fe=m(Ht,[["render",Gt],["__scopeId","data-v-9a560964"]]),Kt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...w(c,["isVertical","isFirstPage","isLastPage"]),...P(c,{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:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function jt(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(s,{key:0,to:o.route,"aria-label":o.label,class:D({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Pe=m(Kt,[["render",jt],["__scopeId","data-v-9ade7d96"]]),Yt=48,Xt=48,Zt={name:"PagerHorizontal",components:{HorizontalPages:fe,PageChangeLink:Pe},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...w(c,["isReadInReverse"]),...P(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),twoPages(){return this.getSettings(this.book).twoPages},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...f(c,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Yt,0),t=Math.min(this.activePage+Xt,this.book.maxPage),a=he.range(e,t+1);this.pages=a}}};function Qt(e,t,a,d,l,o){const s=Pe,p=fe;return u(),g(ge,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(l.pages,k=>(u(),g(pe,{key:`c/${a.book.pk}/${k}`,class:"windowItem",disabled:"",eager:k>=e.storePage-1&&k<=e.storePage+2,"model-value":k,transition:!0},{default:i(()=>[n(p,{book:a.book,page:k},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const te=m(Zt,[["render",Qt],["__scopeId","data-v-e04bbc00"]]);function ve(e,t){const{self:a=!1}=t.modifiers??{},d=t.value,l=typeof d=="object"&&d.options||{passive:!0},o=typeof d=="function"||"handleEvent"in d?d:d.handler,s=a?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,l),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:l,target:a?void 0:s})}function we(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:d,target:l=e}=e._onScroll[t.instance.$.uid];l.removeEventListener("scroll",a,d),delete e._onScroll[t.instance.$.uid]}function Jt(e,t){t.value!==t.oldValue&&(we(e,t),ve(e,t))}const eo={mounted:ve,unmounted:we,updated:Jt},to=12,oe=250,oo={name:"PagerVertical",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(c,{storePage:e=>e.page}),...G(c,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=((a=this.book)==null?void 0:a.maxPage)+1,t=he.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,to)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},oe)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...f(c,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const d=+t[0].target.dataset.page;this.setActivePage(d,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},oe)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},ao=["data-page"];function so(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,null,{default:i(()=>[B((u(),g(gt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:i(({item:k})=>[n(s,{book:a.book,page:k,class:"verticalPage"},null,8,["book","page"]),B(r("div",{class:"pageTracker","data-page":k},null,8,ao),[[Ge,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[eo,o.onScroll,"#verticalScroll"]])]),_:1})}const ae=m(oo,[["render",so],["__scopeId","data-v-0836627c"]]),se=H(ue(()=>"@/components/reader/pager/pager-full-pdf.vue")),ro={name:"PagerSelector",components:{PagerHorizontal:te,PagerPDF:se,PagerVertical:ae},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...w(c,["isVertical","cacheBook"]),...P(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?se:this.isVertical?ae:te}},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:{...f(c,["getSettings","setActivePage","prefetchBook"])}};function no(e,t,a,d,l,o){return u(),g(de(o.component),{book:a.book},null,8,["book"])}const Se=m(ro,[["render",no]]),io={name:"BookChangeActivator",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:{...f(c,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function lo(e,t,a,d,l,o){return o.show?(u(),b("div",{key:0,class:D(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=O(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0)}const Ce=m(io,[["render",lo],["__scopeId","data-v-2b81f2ae"]]),co={name:"BooksWindow",components:{BookChangeActivator:Ce,Pager:Se},emits:["click"],computed:{...w(c,["isBTT"]),...P(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...f(c,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function uo(e,t,a,d,l,o){const s=Ce,p=Se;return u(),g(ge,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:o.click},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(e.books,k=>(u(),g(pe,{key:`c/${k.pk}`,class:"windowItem",disabled:"",eager:o.eager(k.pk),value:k.pk,transition:!0},{default:i(()=>[n(p,{book:k,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ye=m(co,[["render",uo],["__scopeId","data-v-2a90783e"]]),ho={a:je,f:Ye,s:Xe},po={a:"Story Arc",f:"Folder",s:"Series"},go={name:"ReaderArcSelect",computed:{...P(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pk===t.pk)return t.name;return"Unknown"},arcKey:e=>`${e.arc.group}:${e.arc.pk}`,arcItems:e=>{const t=[];for(const a of e.arcs){const d={value:`${a.group}:${a.pk}`,title:a.name,group:a.group};t.push(d)}return t},arcPosition:function(e){const t=e.arc;return t&&t.index&&t.count?`${t.index}/${t.count}`:""}}),arc:{get(){return this.arcKey},set(e){const t=this.$route.params;if(!t)return;const[a,d]=e.split(":"),l={...t,arcGroup:a,arcPk:d};this.loadBooks(l)}}},methods:{...f(c,["loadBooks"]),arcIcon(e){return ho[e]},arcLabel(e){return po[e]},checkIcon(e){return e===this.arc?Ke:""}}},mo={key:2,id:"arcPosition"};function ko(e,t,a,d,l,o){return u(),b(R,null,[e.arcItems.length>1?(u(),g(mt,{key:0,modelValue:o.arc,"onUpdate:modelValue":t[0]||(t[0]=s=>o.arc=s),class:"arcSelect",density:"compact","hide-details":"auto",label:"Order",variant:"plain",items:e.arcItems},{item:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain","prepend-icon":o.arcIcon(s.raw.group),subtitle:o.arcLabel(s.raw.group),"append-icon":o.checkIcon(p.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain"}),{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.arcIcon(s.raw.group)),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","items"])):(u(),g(v,{key:1,id:"onlyArc",title:e.arcName},{default:i(()=>[h(_(o.arcIcon(e.arcGroup)),1)]),_:1},8,["title"])),e.arcPosition?(u(),b("span",mo,_(e.arcPosition),1)):S("",!0)],64)}const Re=m(go,[["render",ko],["__scopeId","data-v-90090a3c"]]),_o={name:"ReaderTitleToolbar",components:{MetadataDialog:le,ReaderArcSelect:Re,SettingsDrawerButton:Oe},data(){return{mdiClose:Ze,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...w(c,["activeTitle"]),...P(c,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}}}),...P(ht,{lastRoute:e=>e.page.routes.last}),...G(T,["isSettingsDrawerOpen"]),closeBookRoute:function(){var t;const e={name:"browser",params:this.lastRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||pt.browser.route,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...f(T,["setTimestamp"]),...f(c,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){switch(e.stopPropagation(),e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.openMetadata();break}}}},bo={key:0};function fo(e,t,a,d,l,o){const s=Re,p=le,k=y("SettingsDrawerButton");return u(),g(Ee,{id:"readerTopToolbar",class:"codexToolbar",density:"compact"},{default:i(()=>[n(K,null,{default:i(()=>[n(q,{id:"closeBook",ref:"closeBook",to:o.closeBookRoute,size:"large",onClick:o.onCloseBook},{default:i(()=>[e.$vuetify.display.smAndDown?(u(),g(v,{key:1,title:"Close Book"},{default:i(()=>[h(_(l.mdiClose),1)]),_:1})):(u(),b("span",bo,"close book"))]),_:1},8,["to","onClick"])]),_:1}),n(xe,{id:"toolbarTitle",class:"codexToolbarTitle"},{default:i(()=>[h(_(e.activeTitle),1)]),_:1}),n(K,null,{default:i(()=>[n(s),n(q,{id:"tagButton",onClick:O(o.openMetadata,["stop"])},{default:i(()=>[n(p,{ref:"metadataDialog",group:"c",book:e.currentBook},null,8,["book"])]),_:1},8,["onClick"]),n(k,{id:"settingsButton",onClick:t[0]||(t[0]=O(I=>e.isSettingsDrawerOpen=!0,["stop"]))})]),_:1})]),_:1})}const Be=m(_o,[["render",fo],["__scopeId","data-v-5d12ffc0"]]),Po={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...w(c,["isBTT"]),...P(c,{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:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function vo(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(Ae,{key:0,class:"bookChangeDrawer","disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:i(()=>[n(s,{class:D({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},{default:i(()=>[n(v,{class:"bookChangeIcon"},{default:i(()=>[h(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value"])):S("",!0)}const Te=m(Po,[["render",vo],["__scopeId","data-v-457facfc"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Qe,mdiFileImage:Je}},computed:{...w(c,["activeTitle","routeParams"]),...P(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Ne(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Fe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...f(T,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},So={id:"downloadPanel"};function Co(e,t,a,d,l,o){return u(),b("div",So,[n(E,{onClick:o.downloadPage},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiFileImage),1)]),_:1}),h("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),n(E,{onClick:o.downloadBook},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiDownload),1)]),_:1}),h("Download Book ")]),_:1})]),_:1},8,["onClick"])])}const De=m(wo,[["render",Co],["__scopeId","data-v-079b7d8d"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const yo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:et}},computed:{...w(c,["isVertical","isPDF","cacheBook"]),...P(c,{choices:e=>e.choices,selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const d of Ie){const l=(a=e.books)==null?void 0:a.current.settings[d];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t;return tt((t=e.books)==null?void 0:t.current)}}),...G(c,["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:{...f(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){e.stopPropagation();let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"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)}}},Ro={id:"readerSettings"},Bo=["href"];function To(e,t,a,d,l,o){return u(),b("div",Ro,[n(z,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),density:"compact",label:"Scope","hide-details":"auto"},{default:i(()=>[n($,{label:"Only this comic",value:!1}),n($,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.fitToChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.readingDirectionChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),e.isPDF?(u(),b("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[n(v,null,{default:i(()=>[h(_(l.mdiOpenInNew),1)]),_:1}),h("Read PDF in Browser ")],8,Bo)):S("",!0),l.isGlobalScope?(u(),g(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]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"])):S("",!0),l.isGlobalScope?S("",!0):(u(),g(q,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:i(()=>[h(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])}const $e=m(yo,[["render",To],["__scopeId","data-v-953d00f1"]]),Do={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:ot,mdiMenuRight:at,mdiKeyboardOutline:st,mdiKeyboardSpace:rt,mdiAppleKeyboardShift:nt}},computed:{...w(T,["isMobile"])}},C=e=>(it("data-v-a8b4ac47"),e=e(),lt(),e),Io=C(()=>r("h4",null,"Navigation",-1)),$o={class:"highlight-table"},Lo=C(()=>r("td",null,"Previous page",-1)),Vo=C(()=>r("td",null,"Next page",-1)),Oo=C(()=>r("tr",null,[r("td",null,","),r("td",null,[h("Next "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),xo=C(()=>r("tr",null,[r("td",null,"."),r("td",null,[h("Previous "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),Eo=C(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),Ao=C(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),No=C(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),Fo=C(()=>r("h4",null,"Fit Page To",-1)),Uo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),zo=C(()=>r("h4",null,"Other",-1)),Mo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Wo(e,t,a,d,l,o){return e.isMobile?S("",!0):(u(),g(ft,{key:0},{default:i(()=>[n(kt,{id:"readerKeyboardShortcuts"},{default:i(()=>[n(_t,{id:"shortcutsTitle"},{default:i(()=>[n(v,{id:"keyboardIcon"},{default:i(()=>[h(_(l.mdiKeyboardOutline),1)]),_:1}),h("Keyboard Shortcuts ")]),_:1}),n(bt,null,{default:i(()=>[Io,r("table",$o,[r("tbody",null,[r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuLeft),1)]),_:1}),h(", j, "),r("div",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiAppleKeyboardShift),1)]),_:1}),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})])]),Lo]),r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuRight),1)]),_:1}),h(", k, "),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})]),Vo]),Oo,xo,Eo,Ao,No])]),Fo,Uo,zo,Mo]),_:1})]),_:1})]),_:1}))}const qo=m(Do,[["render",Wo],["__scopeId","data-v-a8b4ac47"]]),Ho={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:De,ReaderKeyboardShortcutsPanel:qo,ReaderSettingsPanel:$e}};function Go(e,t,a,d,l,o){const s=$e,p=y("ReaderKeyboardShortcutsPanel"),k=De;return u(),b(R,null,[n(s),n(Y),n(p),n(Y),n(k)],64)}const Ko=m(Ho,[["render",Go]]),jo={name:"MainReader",components:{BookChangeDrawer:Te,BooksWindow:ye,ReaderNavToolbar:_e,ReaderTitleToolbar:Be,SettingsDrawer:re},data(){return{showToolbars:!1,ReaderSettingsSuperPanel:H(Ko)}},computed:{...w(X,["isCodexViewable"]),...P(X,{user:e=>e.user})},watch:{user(){this.loadReaderSettings()},isCodexViewable(){this.loadReaderSettings()}},created(){T().isSettingsDrawerOpen=!1},beforeMount(){c().$reset,this.loadReaderSettings()},methods:{...f(c,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Yo={key:0,id:"readerContainer"},Xo={key:1,id:"announcement"};function Zo(e,t,a,d,l,o){const s=Te,p=Be,k=ye,I=_e,F=y("router-link"),Le=re;return u(),b(R,null,[n(Pt,{id:"readerWrapper"},{default:i(()=>[n(s,{direction:"prev"}),e.isCodexViewable?(u(),b("div",Yo,[n(ct,null,{default:i(()=>[B(n(p,null,null,512),[[Z,l.showToolbars]])]),_:1}),n(k,{onClick:o.toggleToolbars},null,8,["onClick"]),n(ut,null,{default:i(()=>[B(n(I,null,null,512),[[Z,l.showToolbars]])]),_:1})])):(u(),b("div",Xo,[r("h1",null,[n(F,{to:{name:"home"}},{default:i(()=>[h(" Log in ")]),_:1}),h(" to read comics ")])]))]),_:1}),n(s,{direction:"next"}),n(Le,{title:"Reader Settings",panel:l.ReaderSettingsSuperPanel,temporary:""},null,8,["panel"])],64)}const ma=m(jo,[["render",Zo],["__scopeId","data-v-fd949081"]]);export{ma as default};
7
+ import{u as c,c as U,d as Ve,S as Oe,V as xe,a as Ee,e as Ae,h as Ne,i as Fe,_ as re}from"./VToolbar-qC6PomNj.js";import{_ as A,a as ne,b as ie,P as Ue,c as le,V as K}from"./metadata-dialog-C7rQOEVd.js";import{ax as w,M as P,N as f,_ as m,R as u,O as g,P as i,aa as h,ae as _,L as n,ad as v,aB as S,bj as ze,bf as Me,be as B,ay as b,aK as We,b7 as O,bk as ce,Q as y,ab as D,bl as qe,bm as He,aD as r,am as W,aC as H,bn as ue,aA as de,az as x,al as R,a9 as G,bc as Ge,bo as Ke,bp as je,bq as Ye,br as Xe,ag as E,bs as Ze,k as T,ak as q,bt as Qe,bu as Je,af as j,a$ as et,bv as tt,bw as ot,bx as at,by as st,bz as rt,bA as nt,aH as it,aI as lt,aT as Y,m as X,bB as ct,bh as Z,bC as ut}from"./admin-drawer-panel-Bd8JDQcd.js";import{_ as dt,a as he,u as ht,C as pt}from"./main-YL3nS1Ml.js";import{V as pe,a as ge}from"./VWindowItem-DtPdrKkO.js";import{b as gt,V as mt}from"./VSelect-Bng0oQPD.js";import{V as $,a as z}from"./VRadioGroup-CSbyI7OY.js";import{V as M}from"./VCheckbox-CJQL54i9.js";import{V as kt,a as _t,b as bt,c as ft}from"./VExpansionPanel-iuNlRDRN.js";import{V as Pt}from"./VMain-KVBhuT21.js";import"./index-DUjeNg4x.js";import"./confirm-footer-bZLoGqQV.js";import"./change-password-dialog-2SRI8ZTS.js";import"./VSlideGroup-r0m4k0_1.js";import"./VSelectionControl-BgzeMswJ.js";import"./to-case-kUm8NPpW.js";import"./VCheckboxBtn-tlNM-0ad.js";const vt={name:"ReaderNavButton",components:{PaginationNavButton:A},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...w(c,["isVertical"]),...P(c,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}}}),title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...f(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function wt(e,t,a,d,l,o){const s=A;return u(),g(s,{key:e.isVertical,disabled:o.disabled,title:o.title,to:e.toRoute,onClick:o.onClick},{default:i(()=>[h(_(a.value),1)]),_:1},8,["disabled","title","to","onClick"])}const me=m(vt,[["render",wt]]),St={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:A},props:{direction:{type:String,required:!0}},computed:{...w(c,["isBTT"]),...P(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},disabled(){return!this.toRoute}},methods:{...f(c,["bookChangeIcon"])}};function Ct(e,t,a,d,l,o){const s=A;return u(),g(s,{icon:"",variant:"plain",disabled:o.disabled,title:o.title,to:e.toRoute},{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.icon),1)]),_:1})]),_:1},8,["disabled","title","to"])}const ke=m(St,[["render",Ct]]),L="prev",V="next",yt={name:"ReaderNavToolbar",components:{PaginationSlider:ne,ReaderNavButton:me,PaginationToolbar:ie,ReaderBookChangeNavButton:ke},computed:{...w(c,["activeSettings","isReadInReverse","isVertical"]),...P(c,{storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...f(c,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyListener(e){switch(e.stopPropagation(),e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(V):e.shiftKey&&window.scrollY===0&&this.routeToDirection(L);break;case"j":case"ArrowRight":this.routeToDirection(V);break;case"k":case"ArrowLeft":this.routeToDirection(L);break;case",":this.routeToDirectionOne(L);break;case".":this.routeToDirectionOne(V);break;case"n":this.routeToBook(V);break;case"p":this.routeToBook(L);break}}}};function Rt(e,t,a,d,l,o){const s=ke,p=me,k=ne,I=ie;return e.maxPage?(u(),g(I,{key:0},{default:i(()=>[n(s,{direction:o.bookPrev},null,8,["direction"]),n(p,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),g(k,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=F=>o.onSliderUpdate(F))},null,8,["model-value","max","step","track-color","reverse"])),n(p,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext},null,8,["direction"])]),_:1})):S("",!0)}const _e=m(yt,[["render",Rt]]),Bt=.5,Tt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ze}},computed:{...P(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=U},style(){return{cursor:this.scale==U?"zoom-in":"all-scroll"}}},methods:{...f(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Bt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:U})}}};function Dt(e,t,a,d,l,o){const s=Me("drag-scroller");return B((u(),b("div",{class:"scaleForScroll",style:ce(o.style),onDblclick:t[0]||(t[0]=(...p)=>o.onDoubleClick&&o.onDoubleClick(...p))},[We(e.$slots,"default",{},void 0,!0),o.showReset?(u(),g(v,{key:0,class:"resetIcon",onClick:O(o.scaleReset,["stop"])},{default:i(()=>[h(_(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const N=m(Tt,[["render",Dt],["__scopeId","data-v-b24267c0"]]),It={name:"LoadingPage",components:{Placeholder:Ue},props:{twoPages:{type:Boolean,required:!0}}};function $t(e,t,a,d,l,o){const s=y("Placeholder");return u(),b("div",{class:D(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Lt=m(It,[["render",$t],["__scopeId","data-v-04027168"]]),Q="unauthorized",Vt={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===Q?"Protected page":"Failed to load page"},icon(){return this.type===Q?qe:He}}},Ot={class:"pageErrorContainer"},xt={class:"pageErrorText"};function Et(e,t,a,d,l,o){return u(),b("div",{class:D(["pageError",{twoPages:a.twoPages}])},[r("div",Ot,[r("div",xt,_(o.text),1),n(v,{class:"pageErrorIcon"},{default:i(()=>[h(_(o.icon),1)]),_:1})])],2)}const At=m(Vt,[["render",Et],["__scopeId","data-v-cea0843d"]]),Nt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...f(c,["fitToClass"])}},Ft=["src"];function Ut(e,t,a,d,l,o){return u(),b("img",W({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Ft)}const J=m(Nt,[["render",Ut],["__scopeId","data-v-559e2ecc"]]),ee=H(ue(()=>dt(()=>import("./pdf-doc-ti4yO5IP.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])))),zt=333,Mt={name:"BookPage",components:{ErrorPage:At,LoadingPage:Lt,PDFDoc:ee,ImgPage:J},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...w(c,["isVertical"]),...P(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return Ve(e)},component(){return this.book.fileType==="PDF"?ee:J},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},zt)},methods:{...f(c,["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}}},Wt=["id","data-page"];function qt(e,t,a,d,l,o){const s=y("ErrorPage"),p=y("LoadingPage");return u(),b("div",{id:`page${a.page}`,"data-page":a.page,class:"page",style:ce(o.style)},[l.error?(u(),g(s,{key:0,"two-pages":o.settings.twoPages,type:l.error},null,8,["two-pages","type"])):l.showProgress&&!l.loaded?(u(),g(p,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(u(),g(de(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Wt)}const be=m(Mt,[["render",qt],["__scopeId","data-v-87996fa1"]]),Ht={name:"HorizontalPages",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...w(c,["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:{...f(c,["getSettings"])}};function Gt(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,{class:"noWrap"},{default:i(()=>[o.showPageOne?(u(),g(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(u(),g(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const fe=m(Ht,[["render",Gt],["__scopeId","data-v-9a560964"]]),Kt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...w(c,["isVertical","isFirstPage","isLastPage"]),...P(c,{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:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function jt(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(s,{key:0,to:o.route,"aria-label":o.label,class:D({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Pe=m(Kt,[["render",jt],["__scopeId","data-v-9ade7d96"]]),Yt=48,Xt=48,Zt={name:"PagerHorizontal",components:{HorizontalPages:fe,PageChangeLink:Pe},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...w(c,["isReadInReverse"]),...P(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),twoPages(){return this.getSettings(this.book).twoPages},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...f(c,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Yt,0),t=Math.min(this.activePage+Xt,this.book.maxPage),a=he.range(e,t+1);this.pages=a}}};function Qt(e,t,a,d,l,o){const s=Pe,p=fe;return u(),g(ge,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(l.pages,k=>(u(),g(pe,{key:`c/${a.book.pk}/${k}`,class:"windowItem",disabled:"",eager:k>=e.storePage-1&&k<=e.storePage+2,"model-value":k,transition:!0},{default:i(()=>[n(p,{book:a.book,page:k},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const te=m(Zt,[["render",Qt],["__scopeId","data-v-e04bbc00"]]);function ve(e,t){const{self:a=!1}=t.modifiers??{},d=t.value,l=typeof d=="object"&&d.options||{passive:!0},o=typeof d=="function"||"handleEvent"in d?d:d.handler,s=a?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,l),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:l,target:a?void 0:s})}function we(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:d,target:l=e}=e._onScroll[t.instance.$.uid];l.removeEventListener("scroll",a,d),delete e._onScroll[t.instance.$.uid]}function Jt(e,t){t.value!==t.oldValue&&(we(e,t),ve(e,t))}const eo={mounted:ve,unmounted:we,updated:Jt},to=12,oe=250,oo={name:"PagerVertical",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(c,{storePage:e=>e.page}),...G(c,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=((a=this.book)==null?void 0:a.maxPage)+1,t=he.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,to)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},oe)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...f(c,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const d=+t[0].target.dataset.page;this.setActivePage(d,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},oe)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},ao=["data-page"];function so(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,null,{default:i(()=>[B((u(),g(gt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:i(({item:k})=>[n(s,{book:a.book,page:k,class:"verticalPage"},null,8,["book","page"]),B(r("div",{class:"pageTracker","data-page":k},null,8,ao),[[Ge,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[eo,o.onScroll,"#verticalScroll"]])]),_:1})}const ae=m(oo,[["render",so],["__scopeId","data-v-0836627c"]]),se=H(ue(()=>"@/components/reader/pager/pager-full-pdf.vue")),ro={name:"PagerSelector",components:{PagerHorizontal:te,PagerPDF:se,PagerVertical:ae},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...w(c,["isVertical","cacheBook"]),...P(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?se:this.isVertical?ae:te}},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:{...f(c,["getSettings","setActivePage","prefetchBook"])}};function no(e,t,a,d,l,o){return u(),g(de(o.component),{book:a.book},null,8,["book"])}const Se=m(ro,[["render",no]]),io={name:"BookChangeActivator",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:{...f(c,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function lo(e,t,a,d,l,o){return o.show?(u(),b("div",{key:0,class:D(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=O(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0)}const Ce=m(io,[["render",lo],["__scopeId","data-v-2b81f2ae"]]),co={name:"BooksWindow",components:{BookChangeActivator:Ce,Pager:Se},emits:["click"],computed:{...w(c,["isBTT"]),...P(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...f(c,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function uo(e,t,a,d,l,o){const s=Ce,p=Se;return u(),g(ge,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:o.click},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(e.books,k=>(u(),g(pe,{key:`c/${k.pk}`,class:"windowItem",disabled:"",eager:o.eager(k.pk),value:k.pk,transition:!0},{default:i(()=>[n(p,{book:k,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ye=m(co,[["render",uo],["__scopeId","data-v-2a90783e"]]),ho={a:je,f:Ye,s:Xe},po={a:"Story Arc",f:"Folder",s:"Series"},go={name:"ReaderArcSelect",computed:{...P(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pk===t.pk)return t.name;return"Unknown"},arcKey:e=>`${e.arc.group}:${e.arc.pk}`,arcItems:e=>{const t=[];for(const a of e.arcs){const d={value:`${a.group}:${a.pk}`,title:a.name,group:a.group};t.push(d)}return t},arcPosition:function(e){const t=e.arc;return t&&t.index&&t.count?`${t.index}/${t.count}`:""}}),arc:{get(){return this.arcKey},set(e){const t=this.$route.params;if(!t)return;const[a,d]=e.split(":"),l={...t,arcGroup:a,arcPk:d};this.loadBooks(l)}}},methods:{...f(c,["loadBooks"]),arcIcon(e){return ho[e]},arcLabel(e){return po[e]},checkIcon(e){return e===this.arc?Ke:""}}},mo={key:2,id:"arcPosition"};function ko(e,t,a,d,l,o){return u(),b(R,null,[e.arcItems.length>1?(u(),g(mt,{key:0,modelValue:o.arc,"onUpdate:modelValue":t[0]||(t[0]=s=>o.arc=s),class:"arcSelect",density:"compact","hide-details":"auto",label:"Order",variant:"plain",items:e.arcItems},{item:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain","prepend-icon":o.arcIcon(s.raw.group),subtitle:o.arcLabel(s.raw.group),"append-icon":o.checkIcon(p.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain"}),{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.arcIcon(s.raw.group)),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","items"])):(u(),g(v,{key:1,id:"onlyArc",title:e.arcName},{default:i(()=>[h(_(o.arcIcon(e.arcGroup)),1)]),_:1},8,["title"])),e.arcPosition?(u(),b("span",mo,_(e.arcPosition),1)):S("",!0)],64)}const Re=m(go,[["render",ko],["__scopeId","data-v-90090a3c"]]),_o={name:"ReaderTitleToolbar",components:{MetadataDialog:le,ReaderArcSelect:Re,SettingsDrawerButton:Oe},data(){return{mdiClose:Ze,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...w(c,["activeTitle"]),...P(c,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}}}),...P(ht,{lastRoute:e=>e.page.routes.last}),...G(T,["isSettingsDrawerOpen"]),closeBookRoute:function(){var t;const e={name:"browser",params:this.lastRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||pt.browser.route,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...f(T,["setTimestamp"]),...f(c,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){switch(e.stopPropagation(),e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.openMetadata();break}}}},bo={key:0};function fo(e,t,a,d,l,o){const s=Re,p=le,k=y("SettingsDrawerButton");return u(),g(Ee,{id:"readerTopToolbar",class:"codexToolbar",density:"compact"},{default:i(()=>[n(K,null,{default:i(()=>[n(q,{id:"closeBook",ref:"closeBook",to:o.closeBookRoute,size:"large",onClick:o.onCloseBook},{default:i(()=>[e.$vuetify.display.smAndDown?(u(),g(v,{key:1,title:"Close Book"},{default:i(()=>[h(_(l.mdiClose),1)]),_:1})):(u(),b("span",bo,"close book"))]),_:1},8,["to","onClick"])]),_:1}),n(xe,{id:"toolbarTitle",class:"codexToolbarTitle"},{default:i(()=>[h(_(e.activeTitle),1)]),_:1}),n(K,null,{default:i(()=>[n(s),n(q,{id:"tagButton",onClick:O(o.openMetadata,["stop"])},{default:i(()=>[n(p,{ref:"metadataDialog",group:"c",book:e.currentBook},null,8,["book"])]),_:1},8,["onClick"]),n(k,{id:"settingsButton",onClick:t[0]||(t[0]=O(I=>e.isSettingsDrawerOpen=!0,["stop"]))})]),_:1})]),_:1})}const Be=m(_o,[["render",fo],["__scopeId","data-v-5d12ffc0"]]),Po={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...w(c,["isBTT"]),...P(c,{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:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function vo(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(Ae,{key:0,class:"bookChangeDrawer","disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:i(()=>[n(s,{class:D({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},{default:i(()=>[n(v,{class:"bookChangeIcon"},{default:i(()=>[h(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value"])):S("",!0)}const Te=m(Po,[["render",vo],["__scopeId","data-v-457facfc"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Qe,mdiFileImage:Je}},computed:{...w(c,["activeTitle","routeParams"]),...P(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Ne(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Fe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...f(T,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},So={id:"downloadPanel"};function Co(e,t,a,d,l,o){return u(),b("div",So,[n(E,{onClick:o.downloadPage},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiFileImage),1)]),_:1}),h("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),n(E,{onClick:o.downloadBook},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiDownload),1)]),_:1}),h("Download Book ")]),_:1})]),_:1},8,["onClick"])])}const De=m(wo,[["render",Co],["__scopeId","data-v-079b7d8d"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const yo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:et}},computed:{...w(c,["isVertical","isPDF","cacheBook"]),...P(c,{choices:e=>e.choices,selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const d of Ie){const l=(a=e.books)==null?void 0:a.current.settings[d];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t;return tt((t=e.books)==null?void 0:t.current)}}),...G(c,["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:{...f(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){e.stopPropagation();let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"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)}}},Ro={id:"readerSettings"},Bo=["href"];function To(e,t,a,d,l,o){return u(),b("div",Ro,[n(z,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),density:"compact",label:"Scope","hide-details":"auto"},{default:i(()=>[n($,{label:"Only this comic",value:!1}),n($,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.fitToChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.readingDirectionChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),e.isPDF?(u(),b("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[n(v,null,{default:i(()=>[h(_(l.mdiOpenInNew),1)]),_:1}),h("Read PDF in Browser ")],8,Bo)):S("",!0),l.isGlobalScope?(u(),g(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]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"])):S("",!0),l.isGlobalScope?S("",!0):(u(),g(q,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:i(()=>[h(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])}const $e=m(yo,[["render",To],["__scopeId","data-v-953d00f1"]]),Do={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:ot,mdiMenuRight:at,mdiKeyboardOutline:st,mdiKeyboardSpace:rt,mdiAppleKeyboardShift:nt}},computed:{...w(T,["isMobile"])}},C=e=>(it("data-v-a8b4ac47"),e=e(),lt(),e),Io=C(()=>r("h4",null,"Navigation",-1)),$o={class:"highlight-table"},Lo=C(()=>r("td",null,"Previous page",-1)),Vo=C(()=>r("td",null,"Next page",-1)),Oo=C(()=>r("tr",null,[r("td",null,","),r("td",null,[h("Next "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),xo=C(()=>r("tr",null,[r("td",null,"."),r("td",null,[h("Previous "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),Eo=C(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),Ao=C(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),No=C(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),Fo=C(()=>r("h4",null,"Fit Page To",-1)),Uo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),zo=C(()=>r("h4",null,"Other",-1)),Mo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Wo(e,t,a,d,l,o){return e.isMobile?S("",!0):(u(),g(ft,{key:0},{default:i(()=>[n(kt,{id:"readerKeyboardShortcuts"},{default:i(()=>[n(_t,{id:"shortcutsTitle"},{default:i(()=>[n(v,{id:"keyboardIcon"},{default:i(()=>[h(_(l.mdiKeyboardOutline),1)]),_:1}),h("Keyboard Shortcuts ")]),_:1}),n(bt,null,{default:i(()=>[Io,r("table",$o,[r("tbody",null,[r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuLeft),1)]),_:1}),h(", j, "),r("div",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiAppleKeyboardShift),1)]),_:1}),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})])]),Lo]),r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuRight),1)]),_:1}),h(", k, "),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})]),Vo]),Oo,xo,Eo,Ao,No])]),Fo,Uo,zo,Mo]),_:1})]),_:1})]),_:1}))}const qo=m(Do,[["render",Wo],["__scopeId","data-v-a8b4ac47"]]),Ho={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:De,ReaderKeyboardShortcutsPanel:qo,ReaderSettingsPanel:$e}};function Go(e,t,a,d,l,o){const s=$e,p=y("ReaderKeyboardShortcutsPanel"),k=De;return u(),b(R,null,[n(s),n(Y),n(p),n(Y),n(k)],64)}const Ko=m(Ho,[["render",Go]]),jo={name:"MainReader",components:{BookChangeDrawer:Te,BooksWindow:ye,ReaderNavToolbar:_e,ReaderTitleToolbar:Be,SettingsDrawer:re},data(){return{showToolbars:!1,ReaderSettingsSuperPanel:H(Ko)}},computed:{...w(X,["isCodexViewable"]),...P(X,{user:e=>e.user})},watch:{user(){this.loadReaderSettings()},isCodexViewable(){this.loadReaderSettings()}},created(){T().isSettingsDrawerOpen=!1},beforeMount(){c().$reset,this.loadReaderSettings()},methods:{...f(c,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Yo={key:0,id:"readerContainer"},Xo={key:1,id:"announcement"};function Zo(e,t,a,d,l,o){const s=Te,p=Be,k=ye,I=_e,F=y("router-link"),Le=re;return u(),b(R,null,[n(Pt,{id:"readerWrapper"},{default:i(()=>[n(s,{direction:"prev"}),e.isCodexViewable?(u(),b("div",Yo,[n(ct,null,{default:i(()=>[B(n(p,null,null,512),[[Z,l.showToolbars]])]),_:1}),n(k,{onClick:o.toggleToolbars},null,8,["onClick"]),n(ut,null,{default:i(()=>[B(n(I,null,null,512),[[Z,l.showToolbars]])]),_:1})])):(u(),b("div",Xo,[r("h1",null,[n(F,{to:{name:"home"}},{default:i(()=>[h(" Log in ")]),_:1}),h(" to read comics ")])]))]),_:1}),n(s,{direction:"next"}),n(Le,{title:"Reader Settings",panel:l.ReaderSettingsSuperPanel,temporary:""},null,8,["panel"])],64)}const ma=m(jo,[["render",Zo],["__scopeId","data-v-fd949081"]]);export{ma as default};
@@ -1 +1 @@
1
- import{_ as b}from"./confirm-dialog-CTwvsrD2.js";import{_ as g,M as m,k as I,t as y,c0 as k,c1 as A,N as B,b4 as P,ay as a,aD as t,L as i,P as u,aB as r,R as d,ae as l,al as w,az as S,aa as _,ad as K,c2 as v,be as R,bh as D,aH as V,aI as N}from"./admin-drawer-panel-UQNBz5Mr.js";import{c as E}from"./index-DUjeNg4x.js";import{c as L}from"./to-case-kUm8NPpW.js";import{V as c}from"./VTable-CyZmujCR.js";import"./confirm-footer-CLcqjnLg.js";import"./main-CTJQvqMb.js";const M="Copy API Key to clipboard",p="&nbsp;&nbsp;&nbsp;&nbsp;",O={name:"AdminTasksTab",components:{ConfirmDialog:b},data(){return{showTooltip:{show:!1},apiSchemaURL:window.CODEX.API_V3_PATH}},computed:{...m(I,{}),...m(y,{stats:s=>s.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return M?this.clipBoardEnabled:void 0},clipBoardIcon(){return this.showTooltip?k:A}},created(){this.loadStats()},methods:{...B(y,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},nf(s){return P.format(s)},onClickAPIKey(){this.clipBoardEnabled&&E(this.stats.config.apiKey,this.showTooltip)},metadataTitle(s){let o=s.replace(/Count$/,"");return o=L(o),o=o.replace(/^Contributor\s/,p),o=o.replace(/^Identifier\s/,p),o=o.replace(/^Story\sArc\s/,p),o}}},e=s=>(V("data-v-dbe3be76"),s=s(),N(),s),U={key:0,id:"stats"},F={class:"statBlock"},z=e(()=>t("h3",null,"Platform",-1)),H=e(()=>t("td",null,"Docker",-1)),j=e(()=>t("td",null,"Machine",-1)),G=e(()=>t("td",null,"System",-1)),X=e(()=>t("td",null,"Python",-1)),Z=e(()=>t("td",null,"Codex",-1)),q={class:"statBlock"},J=e(()=>t("h3",null,"Config",-1)),Q=e(()=>t("td",null,"Libraries",-1)),W=e(()=>t("td",null,"Anonymous Users",-1)),Y=e(()=>t("td",null,"Registered Users",-1)),x=e(()=>t("td",null,"Groups",-1)),$={class:"statBlock"},tt=e(()=>t("h3",null,"Groups",-1)),st=e(()=>t("td",null,"Folders",-1)),et=e(()=>t("td",null,"Publishers",-1)),lt=e(()=>t("td",null,"Imprints",-1)),nt=e(()=>t("td",null,"Series",-1)),ot=e(()=>t("td",null,"Volumes",-1)),at=e(()=>t("td",null,"Issues",-1)),dt={key:0},it=e(()=>t("td",{class:"indent"},"CBZ",-1)),rt={key:1},ut=e(()=>t("td",{class:"indent"},"CBR",-1)),ct={key:2},ht=e(()=>t("td",{class:"indent"},"CBX",-1)),_t={key:3},pt=e(()=>t("td",{class:"indent"},"CBT",-1)),ft={key:4},mt=e(()=>t("td",{class:"indent"},"PDF",-1)),yt={key:5},bt=e(()=>t("td",{class:"indent"},"Unknown",-1)),Ct={class:"statBlock"},Tt=e(()=>t("h3",null,"Metadata",-1)),gt=["innerHTML"],It={class:"statBlock"},kt=e(()=>t("h3",null,"API",-1)),At=e(()=>t("td",null,"Schema Documentation:",-1)),Bt={id:"schemaDocValue"},Pt=["href"],wt=["title"],St={key:0},Kt={class:"copied"},vt={id:"apiKey"},Rt={colspan:"2"};function Dt(s,o,Vt,Nt,f,n){const C=b;return s.stats?(d(),a("div",U,[t("div",F,[z,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[H,t("td",null,l(s.stats.platform.docker),1)]),t("tr",null,[j,t("td",null,l(s.stats.platform.machine),1)]),t("tr",null,[G,t("td",null,l(s.stats.platform.system)+" "+l(s.stats.platform.systemRelease),1)]),t("tr",null,[X,t("td",null,l(s.stats.platform.python),1)]),t("tr",null,[Z,t("td",null,l(s.stats.platform.codex),1)])])]),_:1})]),t("div",q,[J,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[Q,t("td",null,l(n.nf(s.stats.config.librariesCount)),1)]),t("tr",null,[W,t("td",null,l(n.nf(s.stats.config.sessionsAnonCount)),1)]),t("tr",null,[Y,t("td",null,l(n.nf(s.stats.config.usersCount)),1)]),t("tr",null,[x,t("td",null,l(n.nf(s.stats.config.groupsCount)),1)])])]),_:1})]),t("div",$,[tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[st,t("td",null,l(n.nf(s.stats.groups.foldersCount)),1)]),t("tr",null,[et,t("td",null,l(n.nf(s.stats.groups.publishersCount)),1)]),t("tr",null,[lt,t("td",null,l(n.nf(s.stats.groups.imprintsCount)),1)]),t("tr",null,[nt,t("td",null,l(n.nf(s.stats.groups.seriesCount)),1)]),t("tr",null,[ot,t("td",null,l(n.nf(s.stats.groups.volumesCount)),1)]),t("tr",null,[at,t("td",null,l(n.nf(s.stats.groups.issuesCount)),1)]),s.stats.fileTypes.cbzCount?(d(),a("tr",dt,[it,t("td",null,l(n.nf(s.stats.fileTypes.cbzCount)),1)])):r("",!0),s.stats.fileTypes.cbrCount?(d(),a("tr",rt,[ut,t("td",null,l(n.nf(s.stats.fileTypes.cbrCount)),1)])):r("",!0),s.stats.fileTypes.cbxCount?(d(),a("tr",ct,[ht,t("td",null,l(n.nf(s.stats.fileTypes.cbxCount)),1)])):r("",!0),s.stats.fileTypes.cbtCount?(d(),a("tr",_t,[pt,t("td",null,l(n.nf(s.stats.fileTypes.cbtCount)),1)])):r("",!0),s.stats.fileTypes.pdfCount?(d(),a("tr",ft,[mt,t("td",null,l(n.nf(s.stats.fileTypes.pdfCount)),1)])):r("",!0),s.stats.fileTypes.unknownCount?(d(),a("tr",yt,[bt,t("td",null,l(n.nf(s.stats.fileTypes.unknownCount)),1)])):r("",!0)])]),_:1})]),t("div",Ct,[Tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[(d(!0),a(w,null,S(Object.entries(s.stats.metadata),([h,T])=>(d(),a("tr",{key:h},[t("td",{innerHTML:n.metadataTitle(h)},null,8,gt),t("td",null,l(n.nf(T)),1)]))),128))])]),_:1})]),t("div",It,[kt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[At,t("td",Bt,[_(" The only endpoint accessible with API Key access is "),t("a",{href:`${f.apiSchemaURL}#/api/api_v3_admin_stats_retrieve`,target:"_blank"},"/admin/stats",8,Pt)])]),t("tr",{id:"apiKeyRow",title:n.apiTooltip,onClick:o[0]||(o[0]=(...h)=>n.onClickAPIKey&&n.onClickAPIKey(...h))},[t("td",null,[_(" API Key "),n.clipBoardEnabled?(d(),a("span",St,[i(K,{class:"clipBoardIcon",size:"small"},{default:u(()=>[_(l(n.clipBoardIcon),1)]),_:1}),i(v,null,{default:u(()=>[R(t("span",Kt,"Copied",512),[[D,f.showTooltip.show]])]),_:1})])):r("",!0)]),t("td",vt,l(s.stats.config.apiKey),1)],8,wt),t("tr",null,[t("td",Rt,[i(C,{"button-text":"Regenerate API Key","title-text":"Regenerate","object-name":"API Key","confirm-text":"Regenerate",onConfirm:n.regenAPIKey},null,8,["onConfirm"])])])])]),_:1})])])):r("",!0)}const Ht=g(O,[["render",Dt],["__scopeId","data-v-dbe3be76"]]);export{Ht as default};
1
+ import{_ as b}from"./confirm-dialog-Z5DZqsRj.js";import{_ as g,M as m,k as I,t as y,c0 as k,c1 as A,N as B,b4 as P,ay as a,aD as t,L as i,P as u,aB as r,R as d,ae as l,al as w,az as S,aa as _,ad as K,c2 as v,be as R,bh as D,aH as V,aI as N}from"./admin-drawer-panel-Bd8JDQcd.js";import{c as E}from"./index-DUjeNg4x.js";import{c as L}from"./to-case-kUm8NPpW.js";import{V as c}from"./VTable-DibtRyqi.js";import"./confirm-footer-bZLoGqQV.js";import"./main-YL3nS1Ml.js";const M="Copy API Key to clipboard",p="&nbsp;&nbsp;&nbsp;&nbsp;",O={name:"AdminTasksTab",components:{ConfirmDialog:b},data(){return{showTooltip:{show:!1},apiSchemaURL:window.CODEX.API_V3_PATH}},computed:{...m(I,{}),...m(y,{stats:s=>s.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return M?this.clipBoardEnabled:void 0},clipBoardIcon(){return this.showTooltip?k:A}},created(){this.loadStats()},methods:{...B(y,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},nf(s){return P.format(s)},onClickAPIKey(){this.clipBoardEnabled&&E(this.stats.config.apiKey,this.showTooltip)},metadataTitle(s){let o=s.replace(/Count$/,"");return o=L(o),o=o.replace(/^Contributor\s/,p),o=o.replace(/^Identifier\s/,p),o=o.replace(/^Story\sArc\s/,p),o}}},e=s=>(V("data-v-dbe3be76"),s=s(),N(),s),U={key:0,id:"stats"},F={class:"statBlock"},z=e(()=>t("h3",null,"Platform",-1)),H=e(()=>t("td",null,"Docker",-1)),j=e(()=>t("td",null,"Machine",-1)),G=e(()=>t("td",null,"System",-1)),X=e(()=>t("td",null,"Python",-1)),Z=e(()=>t("td",null,"Codex",-1)),q={class:"statBlock"},J=e(()=>t("h3",null,"Config",-1)),Q=e(()=>t("td",null,"Libraries",-1)),W=e(()=>t("td",null,"Anonymous Users",-1)),Y=e(()=>t("td",null,"Registered Users",-1)),x=e(()=>t("td",null,"Groups",-1)),$={class:"statBlock"},tt=e(()=>t("h3",null,"Groups",-1)),st=e(()=>t("td",null,"Folders",-1)),et=e(()=>t("td",null,"Publishers",-1)),lt=e(()=>t("td",null,"Imprints",-1)),nt=e(()=>t("td",null,"Series",-1)),ot=e(()=>t("td",null,"Volumes",-1)),at=e(()=>t("td",null,"Issues",-1)),dt={key:0},it=e(()=>t("td",{class:"indent"},"CBZ",-1)),rt={key:1},ut=e(()=>t("td",{class:"indent"},"CBR",-1)),ct={key:2},ht=e(()=>t("td",{class:"indent"},"CBX",-1)),_t={key:3},pt=e(()=>t("td",{class:"indent"},"CBT",-1)),ft={key:4},mt=e(()=>t("td",{class:"indent"},"PDF",-1)),yt={key:5},bt=e(()=>t("td",{class:"indent"},"Unknown",-1)),Ct={class:"statBlock"},Tt=e(()=>t("h3",null,"Metadata",-1)),gt=["innerHTML"],It={class:"statBlock"},kt=e(()=>t("h3",null,"API",-1)),At=e(()=>t("td",null,"Schema Documentation:",-1)),Bt={id:"schemaDocValue"},Pt=["href"],wt=["title"],St={key:0},Kt={class:"copied"},vt={id:"apiKey"},Rt={colspan:"2"};function Dt(s,o,Vt,Nt,f,n){const C=b;return s.stats?(d(),a("div",U,[t("div",F,[z,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[H,t("td",null,l(s.stats.platform.docker),1)]),t("tr",null,[j,t("td",null,l(s.stats.platform.machine),1)]),t("tr",null,[G,t("td",null,l(s.stats.platform.system)+" "+l(s.stats.platform.systemRelease),1)]),t("tr",null,[X,t("td",null,l(s.stats.platform.python),1)]),t("tr",null,[Z,t("td",null,l(s.stats.platform.codex),1)])])]),_:1})]),t("div",q,[J,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[Q,t("td",null,l(n.nf(s.stats.config.librariesCount)),1)]),t("tr",null,[W,t("td",null,l(n.nf(s.stats.config.sessionsAnonCount)),1)]),t("tr",null,[Y,t("td",null,l(n.nf(s.stats.config.usersCount)),1)]),t("tr",null,[x,t("td",null,l(n.nf(s.stats.config.groupsCount)),1)])])]),_:1})]),t("div",$,[tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[st,t("td",null,l(n.nf(s.stats.groups.foldersCount)),1)]),t("tr",null,[et,t("td",null,l(n.nf(s.stats.groups.publishersCount)),1)]),t("tr",null,[lt,t("td",null,l(n.nf(s.stats.groups.imprintsCount)),1)]),t("tr",null,[nt,t("td",null,l(n.nf(s.stats.groups.seriesCount)),1)]),t("tr",null,[ot,t("td",null,l(n.nf(s.stats.groups.volumesCount)),1)]),t("tr",null,[at,t("td",null,l(n.nf(s.stats.groups.issuesCount)),1)]),s.stats.fileTypes.cbzCount?(d(),a("tr",dt,[it,t("td",null,l(n.nf(s.stats.fileTypes.cbzCount)),1)])):r("",!0),s.stats.fileTypes.cbrCount?(d(),a("tr",rt,[ut,t("td",null,l(n.nf(s.stats.fileTypes.cbrCount)),1)])):r("",!0),s.stats.fileTypes.cbxCount?(d(),a("tr",ct,[ht,t("td",null,l(n.nf(s.stats.fileTypes.cbxCount)),1)])):r("",!0),s.stats.fileTypes.cbtCount?(d(),a("tr",_t,[pt,t("td",null,l(n.nf(s.stats.fileTypes.cbtCount)),1)])):r("",!0),s.stats.fileTypes.pdfCount?(d(),a("tr",ft,[mt,t("td",null,l(n.nf(s.stats.fileTypes.pdfCount)),1)])):r("",!0),s.stats.fileTypes.unknownCount?(d(),a("tr",yt,[bt,t("td",null,l(n.nf(s.stats.fileTypes.unknownCount)),1)])):r("",!0)])]),_:1})]),t("div",Ct,[Tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[(d(!0),a(w,null,S(Object.entries(s.stats.metadata),([h,T])=>(d(),a("tr",{key:h},[t("td",{innerHTML:n.metadataTitle(h)},null,8,gt),t("td",null,l(n.nf(T)),1)]))),128))])]),_:1})]),t("div",It,[kt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[At,t("td",Bt,[_(" The only endpoint accessible with API Key access is "),t("a",{href:`${f.apiSchemaURL}#/api/api_v3_admin_stats_retrieve`,target:"_blank"},"/admin/stats",8,Pt)])]),t("tr",{id:"apiKeyRow",title:n.apiTooltip,onClick:o[0]||(o[0]=(...h)=>n.onClickAPIKey&&n.onClickAPIKey(...h))},[t("td",null,[_(" API Key "),n.clipBoardEnabled?(d(),a("span",St,[i(K,{class:"clipBoardIcon",size:"small"},{default:u(()=>[_(l(n.clipBoardIcon),1)]),_:1}),i(v,null,{default:u(()=>[R(t("span",Kt,"Copied",512),[[D,f.showTooltip.show]])]),_:1})])):r("",!0)]),t("td",vt,l(s.stats.config.apiKey),1)],8,wt),t("tr",null,[t("td",Rt,[i(C,{"button-text":"Regenerate API Key","title-text":"Regenerate","object-name":"API Key","confirm-text":"Regenerate",onConfirm:n.regenAPIKey},null,8,["onConfirm"])])])])]),_:1})])])):r("",!0)}const Ht=g(O,[["render",Dt],["__scopeId","data-v-dbe3be76"]]);export{Ht as default};
@@ -1 +1 @@
1
- import{_ as b}from"./confirm-dialog-CTwvsrD2.js";import{_ as g,M as m,k as I,t as y,c0 as k,c1 as A,N as B,b4 as P,ay as a,aD as t,L as i,P as u,aB as r,R as d,ae as l,al as w,az as S,aa as _,ad as K,c2 as v,be as R,bh as D,aH as V,aI as N}from"./admin-drawer-panel-UQNBz5Mr.js";import{c as E}from"./index-DUjeNg4x.js";import{c as L}from"./to-case-kUm8NPpW.js";import{V as c}from"./VTable-CyZmujCR.js";import"./confirm-footer-CLcqjnLg.js";import"./main-CTJQvqMb.js";const M="Copy API Key to clipboard",p="&nbsp;&nbsp;&nbsp;&nbsp;",O={name:"AdminTasksTab",components:{ConfirmDialog:b},data(){return{showTooltip:{show:!1},apiSchemaURL:window.CODEX.API_V3_PATH}},computed:{...m(I,{}),...m(y,{stats:s=>s.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return M?this.clipBoardEnabled:void 0},clipBoardIcon(){return this.showTooltip?k:A}},created(){this.loadStats()},methods:{...B(y,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},nf(s){return P.format(s)},onClickAPIKey(){this.clipBoardEnabled&&E(this.stats.config.apiKey,this.showTooltip)},metadataTitle(s){let o=s.replace(/Count$/,"");return o=L(o),o=o.replace(/^Contributor\s/,p),o=o.replace(/^Identifier\s/,p),o=o.replace(/^Story\sArc\s/,p),o}}},e=s=>(V("data-v-dbe3be76"),s=s(),N(),s),U={key:0,id:"stats"},F={class:"statBlock"},z=e(()=>t("h3",null,"Platform",-1)),H=e(()=>t("td",null,"Docker",-1)),j=e(()=>t("td",null,"Machine",-1)),G=e(()=>t("td",null,"System",-1)),X=e(()=>t("td",null,"Python",-1)),Z=e(()=>t("td",null,"Codex",-1)),q={class:"statBlock"},J=e(()=>t("h3",null,"Config",-1)),Q=e(()=>t("td",null,"Libraries",-1)),W=e(()=>t("td",null,"Anonymous Users",-1)),Y=e(()=>t("td",null,"Registered Users",-1)),x=e(()=>t("td",null,"Groups",-1)),$={class:"statBlock"},tt=e(()=>t("h3",null,"Groups",-1)),st=e(()=>t("td",null,"Folders",-1)),et=e(()=>t("td",null,"Publishers",-1)),lt=e(()=>t("td",null,"Imprints",-1)),nt=e(()=>t("td",null,"Series",-1)),ot=e(()=>t("td",null,"Volumes",-1)),at=e(()=>t("td",null,"Issues",-1)),dt={key:0},it=e(()=>t("td",{class:"indent"},"CBZ",-1)),rt={key:1},ut=e(()=>t("td",{class:"indent"},"CBR",-1)),ct={key:2},ht=e(()=>t("td",{class:"indent"},"CBX",-1)),_t={key:3},pt=e(()=>t("td",{class:"indent"},"CBT",-1)),ft={key:4},mt=e(()=>t("td",{class:"indent"},"PDF",-1)),yt={key:5},bt=e(()=>t("td",{class:"indent"},"Unknown",-1)),Ct={class:"statBlock"},Tt=e(()=>t("h3",null,"Metadata",-1)),gt=["innerHTML"],It={class:"statBlock"},kt=e(()=>t("h3",null,"API",-1)),At=e(()=>t("td",null,"Schema Documentation:",-1)),Bt={id:"schemaDocValue"},Pt=["href"],wt=["title"],St={key:0},Kt={class:"copied"},vt={id:"apiKey"},Rt={colspan:"2"};function Dt(s,o,Vt,Nt,f,n){const C=b;return s.stats?(d(),a("div",U,[t("div",F,[z,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[H,t("td",null,l(s.stats.platform.docker),1)]),t("tr",null,[j,t("td",null,l(s.stats.platform.machine),1)]),t("tr",null,[G,t("td",null,l(s.stats.platform.system)+" "+l(s.stats.platform.systemRelease),1)]),t("tr",null,[X,t("td",null,l(s.stats.platform.python),1)]),t("tr",null,[Z,t("td",null,l(s.stats.platform.codex),1)])])]),_:1})]),t("div",q,[J,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[Q,t("td",null,l(n.nf(s.stats.config.librariesCount)),1)]),t("tr",null,[W,t("td",null,l(n.nf(s.stats.config.sessionsAnonCount)),1)]),t("tr",null,[Y,t("td",null,l(n.nf(s.stats.config.usersCount)),1)]),t("tr",null,[x,t("td",null,l(n.nf(s.stats.config.groupsCount)),1)])])]),_:1})]),t("div",$,[tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[st,t("td",null,l(n.nf(s.stats.groups.foldersCount)),1)]),t("tr",null,[et,t("td",null,l(n.nf(s.stats.groups.publishersCount)),1)]),t("tr",null,[lt,t("td",null,l(n.nf(s.stats.groups.imprintsCount)),1)]),t("tr",null,[nt,t("td",null,l(n.nf(s.stats.groups.seriesCount)),1)]),t("tr",null,[ot,t("td",null,l(n.nf(s.stats.groups.volumesCount)),1)]),t("tr",null,[at,t("td",null,l(n.nf(s.stats.groups.issuesCount)),1)]),s.stats.fileTypes.cbzCount?(d(),a("tr",dt,[it,t("td",null,l(n.nf(s.stats.fileTypes.cbzCount)),1)])):r("",!0),s.stats.fileTypes.cbrCount?(d(),a("tr",rt,[ut,t("td",null,l(n.nf(s.stats.fileTypes.cbrCount)),1)])):r("",!0),s.stats.fileTypes.cbxCount?(d(),a("tr",ct,[ht,t("td",null,l(n.nf(s.stats.fileTypes.cbxCount)),1)])):r("",!0),s.stats.fileTypes.cbtCount?(d(),a("tr",_t,[pt,t("td",null,l(n.nf(s.stats.fileTypes.cbtCount)),1)])):r("",!0),s.stats.fileTypes.pdfCount?(d(),a("tr",ft,[mt,t("td",null,l(n.nf(s.stats.fileTypes.pdfCount)),1)])):r("",!0),s.stats.fileTypes.unknownCount?(d(),a("tr",yt,[bt,t("td",null,l(n.nf(s.stats.fileTypes.unknownCount)),1)])):r("",!0)])]),_:1})]),t("div",Ct,[Tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[(d(!0),a(w,null,S(Object.entries(s.stats.metadata),([h,T])=>(d(),a("tr",{key:h},[t("td",{innerHTML:n.metadataTitle(h)},null,8,gt),t("td",null,l(n.nf(T)),1)]))),128))])]),_:1})]),t("div",It,[kt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[At,t("td",Bt,[_(" The only endpoint accessible with API Key access is "),t("a",{href:`${f.apiSchemaURL}#/api/api_v3_admin_stats_retrieve`,target:"_blank"},"/admin/stats",8,Pt)])]),t("tr",{id:"apiKeyRow",title:n.apiTooltip,onClick:o[0]||(o[0]=(...h)=>n.onClickAPIKey&&n.onClickAPIKey(...h))},[t("td",null,[_(" API Key "),n.clipBoardEnabled?(d(),a("span",St,[i(K,{class:"clipBoardIcon",size:"small"},{default:u(()=>[_(l(n.clipBoardIcon),1)]),_:1}),i(v,null,{default:u(()=>[R(t("span",Kt,"Copied",512),[[D,f.showTooltip.show]])]),_:1})])):r("",!0)]),t("td",vt,l(s.stats.config.apiKey),1)],8,wt),t("tr",null,[t("td",Rt,[i(C,{"button-text":"Regenerate API Key","title-text":"Regenerate","object-name":"API Key","confirm-text":"Regenerate",onConfirm:n.regenAPIKey},null,8,["onConfirm"])])])])]),_:1})])])):r("",!0)}const Ht=g(O,[["render",Dt],["__scopeId","data-v-dbe3be76"]]);export{Ht as default};
1
+ import{_ as b}from"./confirm-dialog-Z5DZqsRj.js";import{_ as g,M as m,k as I,t as y,c0 as k,c1 as A,N as B,b4 as P,ay as a,aD as t,L as i,P as u,aB as r,R as d,ae as l,al as w,az as S,aa as _,ad as K,c2 as v,be as R,bh as D,aH as V,aI as N}from"./admin-drawer-panel-Bd8JDQcd.js";import{c as E}from"./index-DUjeNg4x.js";import{c as L}from"./to-case-kUm8NPpW.js";import{V as c}from"./VTable-DibtRyqi.js";import"./confirm-footer-bZLoGqQV.js";import"./main-YL3nS1Ml.js";const M="Copy API Key to clipboard",p="&nbsp;&nbsp;&nbsp;&nbsp;",O={name:"AdminTasksTab",components:{ConfirmDialog:b},data(){return{showTooltip:{show:!1},apiSchemaURL:window.CODEX.API_V3_PATH}},computed:{...m(I,{}),...m(y,{stats:s=>s.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return M?this.clipBoardEnabled:void 0},clipBoardIcon(){return this.showTooltip?k:A}},created(){this.loadStats()},methods:{...B(y,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},nf(s){return P.format(s)},onClickAPIKey(){this.clipBoardEnabled&&E(this.stats.config.apiKey,this.showTooltip)},metadataTitle(s){let o=s.replace(/Count$/,"");return o=L(o),o=o.replace(/^Contributor\s/,p),o=o.replace(/^Identifier\s/,p),o=o.replace(/^Story\sArc\s/,p),o}}},e=s=>(V("data-v-dbe3be76"),s=s(),N(),s),U={key:0,id:"stats"},F={class:"statBlock"},z=e(()=>t("h3",null,"Platform",-1)),H=e(()=>t("td",null,"Docker",-1)),j=e(()=>t("td",null,"Machine",-1)),G=e(()=>t("td",null,"System",-1)),X=e(()=>t("td",null,"Python",-1)),Z=e(()=>t("td",null,"Codex",-1)),q={class:"statBlock"},J=e(()=>t("h3",null,"Config",-1)),Q=e(()=>t("td",null,"Libraries",-1)),W=e(()=>t("td",null,"Anonymous Users",-1)),Y=e(()=>t("td",null,"Registered Users",-1)),x=e(()=>t("td",null,"Groups",-1)),$={class:"statBlock"},tt=e(()=>t("h3",null,"Groups",-1)),st=e(()=>t("td",null,"Folders",-1)),et=e(()=>t("td",null,"Publishers",-1)),lt=e(()=>t("td",null,"Imprints",-1)),nt=e(()=>t("td",null,"Series",-1)),ot=e(()=>t("td",null,"Volumes",-1)),at=e(()=>t("td",null,"Issues",-1)),dt={key:0},it=e(()=>t("td",{class:"indent"},"CBZ",-1)),rt={key:1},ut=e(()=>t("td",{class:"indent"},"CBR",-1)),ct={key:2},ht=e(()=>t("td",{class:"indent"},"CBX",-1)),_t={key:3},pt=e(()=>t("td",{class:"indent"},"CBT",-1)),ft={key:4},mt=e(()=>t("td",{class:"indent"},"PDF",-1)),yt={key:5},bt=e(()=>t("td",{class:"indent"},"Unknown",-1)),Ct={class:"statBlock"},Tt=e(()=>t("h3",null,"Metadata",-1)),gt=["innerHTML"],It={class:"statBlock"},kt=e(()=>t("h3",null,"API",-1)),At=e(()=>t("td",null,"Schema Documentation:",-1)),Bt={id:"schemaDocValue"},Pt=["href"],wt=["title"],St={key:0},Kt={class:"copied"},vt={id:"apiKey"},Rt={colspan:"2"};function Dt(s,o,Vt,Nt,f,n){const C=b;return s.stats?(d(),a("div",U,[t("div",F,[z,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[H,t("td",null,l(s.stats.platform.docker),1)]),t("tr",null,[j,t("td",null,l(s.stats.platform.machine),1)]),t("tr",null,[G,t("td",null,l(s.stats.platform.system)+" "+l(s.stats.platform.systemRelease),1)]),t("tr",null,[X,t("td",null,l(s.stats.platform.python),1)]),t("tr",null,[Z,t("td",null,l(s.stats.platform.codex),1)])])]),_:1})]),t("div",q,[J,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[Q,t("td",null,l(n.nf(s.stats.config.librariesCount)),1)]),t("tr",null,[W,t("td",null,l(n.nf(s.stats.config.sessionsAnonCount)),1)]),t("tr",null,[Y,t("td",null,l(n.nf(s.stats.config.usersCount)),1)]),t("tr",null,[x,t("td",null,l(n.nf(s.stats.config.groupsCount)),1)])])]),_:1})]),t("div",$,[tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[st,t("td",null,l(n.nf(s.stats.groups.foldersCount)),1)]),t("tr",null,[et,t("td",null,l(n.nf(s.stats.groups.publishersCount)),1)]),t("tr",null,[lt,t("td",null,l(n.nf(s.stats.groups.imprintsCount)),1)]),t("tr",null,[nt,t("td",null,l(n.nf(s.stats.groups.seriesCount)),1)]),t("tr",null,[ot,t("td",null,l(n.nf(s.stats.groups.volumesCount)),1)]),t("tr",null,[at,t("td",null,l(n.nf(s.stats.groups.issuesCount)),1)]),s.stats.fileTypes.cbzCount?(d(),a("tr",dt,[it,t("td",null,l(n.nf(s.stats.fileTypes.cbzCount)),1)])):r("",!0),s.stats.fileTypes.cbrCount?(d(),a("tr",rt,[ut,t("td",null,l(n.nf(s.stats.fileTypes.cbrCount)),1)])):r("",!0),s.stats.fileTypes.cbxCount?(d(),a("tr",ct,[ht,t("td",null,l(n.nf(s.stats.fileTypes.cbxCount)),1)])):r("",!0),s.stats.fileTypes.cbtCount?(d(),a("tr",_t,[pt,t("td",null,l(n.nf(s.stats.fileTypes.cbtCount)),1)])):r("",!0),s.stats.fileTypes.pdfCount?(d(),a("tr",ft,[mt,t("td",null,l(n.nf(s.stats.fileTypes.pdfCount)),1)])):r("",!0),s.stats.fileTypes.unknownCount?(d(),a("tr",yt,[bt,t("td",null,l(n.nf(s.stats.fileTypes.unknownCount)),1)])):r("",!0)])]),_:1})]),t("div",Ct,[Tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[(d(!0),a(w,null,S(Object.entries(s.stats.metadata),([h,T])=>(d(),a("tr",{key:h},[t("td",{innerHTML:n.metadataTitle(h)},null,8,gt),t("td",null,l(n.nf(T)),1)]))),128))])]),_:1})]),t("div",It,[kt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[At,t("td",Bt,[_(" The only endpoint accessible with API Key access is "),t("a",{href:`${f.apiSchemaURL}#/api/api_v3_admin_stats_retrieve`,target:"_blank"},"/admin/stats",8,Pt)])]),t("tr",{id:"apiKeyRow",title:n.apiTooltip,onClick:o[0]||(o[0]=(...h)=>n.onClickAPIKey&&n.onClickAPIKey(...h))},[t("td",null,[_(" API Key "),n.clipBoardEnabled?(d(),a("span",St,[i(K,{class:"clipBoardIcon",size:"small"},{default:u(()=>[_(l(n.clipBoardIcon),1)]),_:1}),i(v,null,{default:u(()=>[R(t("span",Kt,"Copied",512),[[D,f.showTooltip.show]])]),_:1})])):r("",!0)]),t("td",vt,l(s.stats.config.apiKey),1)],8,wt),t("tr",null,[t("td",Rt,[i(C,{"button-text":"Regenerate API Key","title-text":"Regenerate","object-name":"API Key","confirm-text":"Regenerate",onConfirm:n.regenAPIKey},null,8,["onConfirm"])])])])]),_:1})])])):r("",!0)}const Ht=g(O,[["render",Dt],["__scopeId","data-v-dbe3be76"]]);export{Ht as default};
@@ -1 +1 @@
1
- import{_ as d}from"./confirm-dialog-CTwvsrD2.js";import{_ as m,d8 as p,M as _,k as h,N as v,t as b,ay as t,aD as n,ae as r,al as c,az as l,R as e,ab as y,O as i,P as C,aa as S,ak as T,aH as B,aI as x}from"./admin-drawer-panel-UQNBz5Mr.js";import"./confirm-footer-CLcqjnLg.js";import"./main-CTJQvqMb.js";const D={name:"AdminTasksTab",components:{ConfirmDialog:d},data(){return{tasks:p}},computed:{..._(h,{formSuccess:s=>s.form.success,formErrors:s=>s.form.errors})},methods:{...v(b,["librarianTask"])}},E=s=>(B("data-v-e6ffa3c6"),s=s(),x(),s),I={id:"tasks"},$=E(()=>n("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),g={key:0,id:"success"},N={key:1,id:"error"},w={key:2,id:"noRecentTask"},A={class:"taskBox"},L={class:"taskDesc"};function V(s,j,z,R,u,F){const k=d;return e(),t("div",I,[n("div",null,[$,n("span",null,[s.formSuccess?(e(),t("span",g,r(s.formSuccess),1)):s.formErrors&&s.formErrors.length>0?(e(),t("span",N,[(e(!0),t(c,null,l(s.formErrors,o=>(e(),t("span",{key:o},r(o),1))),128))])):(e(),t("span",w,"No recent task"))])]),(e(!0),t(c,null,l(u.tasks,o=>(e(),t("div",{key:o.title,"fixed-header":"",class:"taskGroup"},[n("h3",null,r(o.title),1),(e(!0),t(c,null,l(o.tasks,a=>(e(),t("div",{key:a.value,class:y(["trow",{selected:!1}])},[n("div",A,[a.confirm?(e(),i(k,{key:0,"button-text":a.title,"title-text":a.title,"object-name":a.confirm,"confirm-text":"Confirm",onConfirm:f=>s.librarianTask(a.value,a.title)},null,8,["button-text","title-text","object-name","onConfirm"])):(e(),i(T,{key:1,block:"",onClick:f=>s.librarianTask(a.value,a.title)},{default:C(()=>[S(r(a.title),1)]),_:2},1032,["onClick"])),n("div",L,r(a.desc),1)])]))),128))]))),128))])}const P=m(D,[["render",V],["__scopeId","data-v-e6ffa3c6"]]);export{P as default};
1
+ import{_ as d}from"./confirm-dialog-Z5DZqsRj.js";import{_ as m,d8 as p,M as _,k as h,N as v,t as b,ay as t,aD as n,ae as r,al as c,az as l,R as e,ab as y,O as i,P as C,aa as S,ak as T,aH as B,aI as x}from"./admin-drawer-panel-Bd8JDQcd.js";import"./confirm-footer-bZLoGqQV.js";import"./main-YL3nS1Ml.js";const D={name:"AdminTasksTab",components:{ConfirmDialog:d},data(){return{tasks:p}},computed:{..._(h,{formSuccess:s=>s.form.success,formErrors:s=>s.form.errors})},methods:{...v(b,["librarianTask"])}},E=s=>(B("data-v-e6ffa3c6"),s=s(),x(),s),I={id:"tasks"},$=E(()=>n("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),g={key:0,id:"success"},N={key:1,id:"error"},w={key:2,id:"noRecentTask"},A={class:"taskBox"},L={class:"taskDesc"};function V(s,j,z,R,u,F){const k=d;return e(),t("div",I,[n("div",null,[$,n("span",null,[s.formSuccess?(e(),t("span",g,r(s.formSuccess),1)):s.formErrors&&s.formErrors.length>0?(e(),t("span",N,[(e(!0),t(c,null,l(s.formErrors,o=>(e(),t("span",{key:o},r(o),1))),128))])):(e(),t("span",w,"No recent task"))])]),(e(!0),t(c,null,l(u.tasks,o=>(e(),t("div",{key:o.title,"fixed-header":"",class:"taskGroup"},[n("h3",null,r(o.title),1),(e(!0),t(c,null,l(o.tasks,a=>(e(),t("div",{key:a.value,class:y(["trow",{selected:!1}])},[n("div",A,[a.confirm?(e(),i(k,{key:0,"button-text":a.title,"title-text":a.title,"object-name":a.confirm,"confirm-text":"Confirm",onConfirm:f=>s.librarianTask(a.value,a.title)},null,8,["button-text","title-text","object-name","onConfirm"])):(e(),i(T,{key:1,block:"",onClick:f=>s.librarianTask(a.value,a.title)},{default:C(()=>[S(r(a.title),1)]),_:2},1032,["onClick"])),n("div",L,r(a.desc),1)])]))),128))]))),128))])}const P=m(D,[["render",V],["__scopeId","data-v-e6ffa3c6"]]);export{P as default};
@@ -1 +1 @@
1
- import{_ as d}from"./confirm-dialog-CTwvsrD2.js";import{_ as m,d8 as p,M as _,k as h,N as v,t as b,ay as t,aD as n,ae as r,al as c,az as l,R as e,ab as y,O as i,P as C,aa as S,ak as T,aH as B,aI as x}from"./admin-drawer-panel-UQNBz5Mr.js";import"./confirm-footer-CLcqjnLg.js";import"./main-CTJQvqMb.js";const D={name:"AdminTasksTab",components:{ConfirmDialog:d},data(){return{tasks:p}},computed:{..._(h,{formSuccess:s=>s.form.success,formErrors:s=>s.form.errors})},methods:{...v(b,["librarianTask"])}},E=s=>(B("data-v-e6ffa3c6"),s=s(),x(),s),I={id:"tasks"},$=E(()=>n("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),g={key:0,id:"success"},N={key:1,id:"error"},w={key:2,id:"noRecentTask"},A={class:"taskBox"},L={class:"taskDesc"};function V(s,j,z,R,u,F){const k=d;return e(),t("div",I,[n("div",null,[$,n("span",null,[s.formSuccess?(e(),t("span",g,r(s.formSuccess),1)):s.formErrors&&s.formErrors.length>0?(e(),t("span",N,[(e(!0),t(c,null,l(s.formErrors,o=>(e(),t("span",{key:o},r(o),1))),128))])):(e(),t("span",w,"No recent task"))])]),(e(!0),t(c,null,l(u.tasks,o=>(e(),t("div",{key:o.title,"fixed-header":"",class:"taskGroup"},[n("h3",null,r(o.title),1),(e(!0),t(c,null,l(o.tasks,a=>(e(),t("div",{key:a.value,class:y(["trow",{selected:!1}])},[n("div",A,[a.confirm?(e(),i(k,{key:0,"button-text":a.title,"title-text":a.title,"object-name":a.confirm,"confirm-text":"Confirm",onConfirm:f=>s.librarianTask(a.value,a.title)},null,8,["button-text","title-text","object-name","onConfirm"])):(e(),i(T,{key:1,block:"",onClick:f=>s.librarianTask(a.value,a.title)},{default:C(()=>[S(r(a.title),1)]),_:2},1032,["onClick"])),n("div",L,r(a.desc),1)])]))),128))]))),128))])}const P=m(D,[["render",V],["__scopeId","data-v-e6ffa3c6"]]);export{P as default};
1
+ import{_ as d}from"./confirm-dialog-Z5DZqsRj.js";import{_ as m,d8 as p,M as _,k as h,N as v,t as b,ay as t,aD as n,ae as r,al as c,az as l,R as e,ab as y,O as i,P as C,aa as S,ak as T,aH as B,aI as x}from"./admin-drawer-panel-Bd8JDQcd.js";import"./confirm-footer-bZLoGqQV.js";import"./main-YL3nS1Ml.js";const D={name:"AdminTasksTab",components:{ConfirmDialog:d},data(){return{tasks:p}},computed:{..._(h,{formSuccess:s=>s.form.success,formErrors:s=>s.form.errors})},methods:{...v(b,["librarianTask"])}},E=s=>(B("data-v-e6ffa3c6"),s=s(),x(),s),I={id:"tasks"},$=E(()=>n("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),g={key:0,id:"success"},N={key:1,id:"error"},w={key:2,id:"noRecentTask"},A={class:"taskBox"},L={class:"taskDesc"};function V(s,j,z,R,u,F){const k=d;return e(),t("div",I,[n("div",null,[$,n("span",null,[s.formSuccess?(e(),t("span",g,r(s.formSuccess),1)):s.formErrors&&s.formErrors.length>0?(e(),t("span",N,[(e(!0),t(c,null,l(s.formErrors,o=>(e(),t("span",{key:o},r(o),1))),128))])):(e(),t("span",w,"No recent task"))])]),(e(!0),t(c,null,l(u.tasks,o=>(e(),t("div",{key:o.title,"fixed-header":"",class:"taskGroup"},[n("h3",null,r(o.title),1),(e(!0),t(c,null,l(o.tasks,a=>(e(),t("div",{key:a.value,class:y(["trow",{selected:!1}])},[n("div",A,[a.confirm?(e(),i(k,{key:0,"button-text":a.title,"title-text":a.title,"object-name":a.confirm,"confirm-text":"Confirm",onConfirm:f=>s.librarianTask(a.value,a.title)},null,8,["button-text","title-text","object-name","onConfirm"])):(e(),i(T,{key:1,block:"",onClick:f=>s.librarianTask(a.value,a.title)},{default:C(()=>[S(r(a.title),1)]),_:2},1032,["onClick"])),n("div",L,r(a.desc),1)])]))),128))]))),128))])}const P=m(D,[["render",V],["__scopeId","data-v-e6ffa3c6"]]);export{P as default};