codex 1.5.7rc0__py3-none-any.whl → 1.5.8__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 (395) hide show
  1. codex/librarian/importer/aggregate_metadata.py +12 -7
  2. codex/librarian/importer/importerd.py +36 -3
  3. codex/librarian/importer/tasks.py +8 -0
  4. codex/models/comic.py +9 -0
  5. codex/search/backend.py +21 -18
  6. codex/search/indexes.py +9 -4
  7. codex/serializers/browser/page.py +1 -0
  8. codex/static_root/assets/{VCheckbox-CSvjBFR1.531e0fc38f24.js → VCheckbox-CAnsONJ8.1d8ba3df8d9f.js} +1 -1
  9. codex/static_root/assets/VCheckbox-CAnsONJ8.1d8ba3df8d9f.js.br +0 -0
  10. codex/static_root/assets/VCheckbox-CAnsONJ8.1d8ba3df8d9f.js.gz +0 -0
  11. codex/static_root/assets/{VCheckbox-CSvjBFR1.js → VCheckbox-CAnsONJ8.js} +1 -1
  12. codex/static_root/assets/VCheckbox-CAnsONJ8.js.br +0 -0
  13. codex/static_root/assets/VCheckbox-CAnsONJ8.js.gz +0 -0
  14. codex/static_root/assets/{VCheckboxBtn-CQ4VhpyA.cb28dccb8bd0.js → VCheckboxBtn-DQTVBkac.93f2be0971d2.js} +1 -1
  15. codex/static_root/assets/VCheckboxBtn-DQTVBkac.93f2be0971d2.js.br +0 -0
  16. codex/static_root/assets/VCheckboxBtn-DQTVBkac.93f2be0971d2.js.gz +0 -0
  17. codex/static_root/assets/{VCheckboxBtn-CQ4VhpyA.js → VCheckboxBtn-DQTVBkac.js} +1 -1
  18. codex/static_root/assets/VCheckboxBtn-DQTVBkac.js.br +0 -0
  19. codex/static_root/assets/VCheckboxBtn-DQTVBkac.js.gz +0 -0
  20. codex/static_root/assets/{VCombobox-DmqwaLY4.d4e984321966.js → VCombobox-xgzcfu8j.85e27125105c.js} +1 -1
  21. codex/static_root/assets/VCombobox-xgzcfu8j.85e27125105c.js.br +0 -0
  22. codex/static_root/assets/VCombobox-xgzcfu8j.85e27125105c.js.gz +0 -0
  23. codex/static_root/assets/{VCombobox-DmqwaLY4.js → VCombobox-xgzcfu8j.js} +1 -1
  24. codex/static_root/assets/VCombobox-xgzcfu8j.js.br +0 -0
  25. codex/static_root/assets/VCombobox-xgzcfu8j.js.gz +0 -0
  26. codex/static_root/assets/{VDataTableVirtual-6f42V3Lt.7bd15f89e179.js → VDataTableVirtual-ohR-xfIW.54047fbf2e77.js} +1 -1
  27. codex/static_root/assets/VDataTableVirtual-ohR-xfIW.54047fbf2e77.js.br +0 -0
  28. codex/static_root/assets/VDataTableVirtual-ohR-xfIW.54047fbf2e77.js.gz +0 -0
  29. codex/static_root/assets/{VDataTableVirtual-6f42V3Lt.js → VDataTableVirtual-ohR-xfIW.js} +1 -1
  30. codex/static_root/assets/VDataTableVirtual-ohR-xfIW.js.br +0 -0
  31. codex/static_root/assets/VDataTableVirtual-ohR-xfIW.js.gz +0 -0
  32. codex/static_root/assets/{VExpansionPanel-HxmPRHLI.2f46f7785043.js → VExpansionPanel-D77IHp4B.fe0052639210.js} +1 -1
  33. codex/static_root/assets/VExpansionPanel-D77IHp4B.fe0052639210.js.br +0 -0
  34. codex/static_root/assets/VExpansionPanel-D77IHp4B.fe0052639210.js.gz +0 -0
  35. codex/static_root/assets/{VExpansionPanel-HxmPRHLI.js → VExpansionPanel-D77IHp4B.js} +1 -1
  36. codex/static_root/assets/VExpansionPanel-D77IHp4B.js.br +0 -0
  37. codex/static_root/assets/VExpansionPanel-D77IHp4B.js.gz +0 -0
  38. codex/static_root/assets/{VMain-C67fPCUj.c0f7b7a893b2.js → VMain-BcP4P6kJ.26ba71b71a30.js} +1 -1
  39. codex/static_root/assets/VMain-BcP4P6kJ.26ba71b71a30.js.br +0 -0
  40. codex/static_root/assets/VMain-BcP4P6kJ.26ba71b71a30.js.gz +0 -0
  41. codex/static_root/assets/{VMain-C67fPCUj.js → VMain-BcP4P6kJ.js} +1 -1
  42. codex/static_root/assets/VMain-BcP4P6kJ.js.br +0 -0
  43. codex/static_root/assets/VMain-BcP4P6kJ.js.gz +0 -0
  44. codex/static_root/assets/{VRadioGroup-DlFy7v1Z.9e5a0c60e667.js → VRadioGroup-DQQmB99C.8e62ca305d42.js} +1 -1
  45. codex/static_root/assets/VRadioGroup-DQQmB99C.8e62ca305d42.js.br +5 -0
  46. codex/static_root/assets/VRadioGroup-DQQmB99C.8e62ca305d42.js.gz +0 -0
  47. codex/static_root/assets/{VRadioGroup-DlFy7v1Z.js → VRadioGroup-DQQmB99C.js} +1 -1
  48. codex/static_root/assets/VRadioGroup-DQQmB99C.js.br +5 -0
  49. codex/static_root/assets/VRadioGroup-DQQmB99C.js.gz +0 -0
  50. codex/static_root/assets/{VSelect-O_Yn2sND.d7879a023bd9.js → VSelect-YSL0tIop.c23c0657cf17.js} +1 -1
  51. codex/static_root/assets/VSelect-YSL0tIop.c23c0657cf17.js.br +0 -0
  52. codex/static_root/assets/VSelect-YSL0tIop.c23c0657cf17.js.gz +0 -0
  53. codex/static_root/assets/{VSelect-O_Yn2sND.js → VSelect-YSL0tIop.js} +1 -1
  54. codex/static_root/assets/VSelect-YSL0tIop.js.br +0 -0
  55. codex/static_root/assets/VSelect-YSL0tIop.js.gz +0 -0
  56. codex/static_root/assets/{VSelectionControl-DP64P5MF.ca35648c092a.js → VSelectionControl-D0ha1VYk.60bd3aeb20e1.js} +1 -1
  57. codex/static_root/assets/VSelectionControl-D0ha1VYk.60bd3aeb20e1.js.br +0 -0
  58. codex/static_root/assets/VSelectionControl-D0ha1VYk.60bd3aeb20e1.js.gz +0 -0
  59. codex/static_root/assets/{VSelectionControl-DP64P5MF.js → VSelectionControl-D0ha1VYk.js} +1 -1
  60. codex/static_root/assets/VSelectionControl-D0ha1VYk.js.br +0 -0
  61. codex/static_root/assets/VSelectionControl-D0ha1VYk.js.gz +0 -0
  62. codex/static_root/assets/{VSlideGroup-DOKbHMCv.23352d03450c.js → VSlideGroup-BW6pFVGY.13cecf1a7794.js} +1 -1
  63. codex/static_root/assets/VSlideGroup-BW6pFVGY.13cecf1a7794.js.br +0 -0
  64. codex/static_root/assets/VSlideGroup-BW6pFVGY.13cecf1a7794.js.gz +0 -0
  65. codex/static_root/assets/{VSlideGroup-DOKbHMCv.js → VSlideGroup-BW6pFVGY.js} +1 -1
  66. codex/static_root/assets/VSlideGroup-BW6pFVGY.js.br +0 -0
  67. codex/static_root/assets/VSlideGroup-BW6pFVGY.js.gz +0 -0
  68. codex/static_root/assets/{VTable-CtRSR9wI.ab498162ec9a.js → VTable-CXI0Xaio.06b95b33adaf.js} +1 -1
  69. codex/static_root/assets/VTable-CXI0Xaio.06b95b33adaf.js.br +0 -0
  70. codex/static_root/assets/VTable-CXI0Xaio.06b95b33adaf.js.gz +0 -0
  71. codex/static_root/assets/{VTable-CtRSR9wI.js → VTable-CXI0Xaio.js} +1 -1
  72. codex/static_root/assets/VTable-CXI0Xaio.js.br +0 -0
  73. codex/static_root/assets/VTable-CXI0Xaio.js.gz +0 -0
  74. codex/static_root/assets/{VToolbar-C__BHwZO.js → VToolbar-CnoJq5Ck.5b3dcfbf1c77.js} +2 -2
  75. codex/static_root/assets/VToolbar-CnoJq5Ck.5b3dcfbf1c77.js.br +0 -0
  76. codex/static_root/assets/VToolbar-CnoJq5Ck.5b3dcfbf1c77.js.gz +0 -0
  77. codex/static_root/assets/{VToolbar-C__BHwZO.73f9b9fcc254.js → VToolbar-CnoJq5Ck.js} +2 -2
  78. codex/static_root/assets/VToolbar-CnoJq5Ck.js.br +0 -0
  79. codex/static_root/assets/VToolbar-CnoJq5Ck.js.gz +0 -0
  80. codex/static_root/assets/{VWindowItem-BMdyDd7Q.e61cc304e3bc.js → VWindowItem-Cq-qPd5h.291287bcb566.js} +1 -1
  81. codex/static_root/assets/VWindowItem-Cq-qPd5h.291287bcb566.js.br +0 -0
  82. codex/static_root/assets/VWindowItem-Cq-qPd5h.291287bcb566.js.gz +0 -0
  83. codex/static_root/assets/{VWindowItem-BMdyDd7Q.js → VWindowItem-Cq-qPd5h.js} +1 -1
  84. codex/static_root/assets/VWindowItem-Cq-qPd5h.js.br +0 -0
  85. codex/static_root/assets/VWindowItem-Cq-qPd5h.js.gz +0 -0
  86. codex/static_root/assets/{admin-D-946Bk9.1a17b45a08d8.js → admin-3sFieyVL.7a879e617e60.js} +1 -1
  87. codex/static_root/assets/admin-3sFieyVL.7a879e617e60.js.br +0 -0
  88. codex/static_root/assets/admin-3sFieyVL.7a879e617e60.js.gz +0 -0
  89. codex/static_root/assets/{admin-D-946Bk9.js → admin-3sFieyVL.js} +1 -1
  90. codex/static_root/assets/admin-3sFieyVL.js.br +0 -0
  91. codex/static_root/assets/admin-3sFieyVL.js.gz +0 -0
  92. codex/static_root/assets/{admin-drawer-panel-Bd9_K-7V.b774e66b1bc2.js → admin-drawer-panel-C5XtSLXl.f1df22cd1144.js} +2 -2
  93. codex/static_root/assets/admin-drawer-panel-C5XtSLXl.f1df22cd1144.js.br +0 -0
  94. codex/static_root/assets/admin-drawer-panel-C5XtSLXl.f1df22cd1144.js.gz +0 -0
  95. codex/static_root/assets/{admin-drawer-panel-Bd9_K-7V.js → admin-drawer-panel-C5XtSLXl.js} +2 -2
  96. codex/static_root/assets/admin-drawer-panel-C5XtSLXl.js.br +0 -0
  97. codex/static_root/assets/admin-drawer-panel-C5XtSLXl.js.gz +0 -0
  98. codex/static_root/assets/{browser-C8SJwVGz.0f7daf93b064.css → browser-2i0QA4La.587673ac534c.css} +1 -1
  99. codex/static_root/assets/browser-2i0QA4La.587673ac534c.css.br +0 -0
  100. codex/static_root/assets/browser-2i0QA4La.587673ac534c.css.gz +0 -0
  101. codex/static_root/assets/{browser-C8SJwVGz.css → browser-2i0QA4La.css} +1 -1
  102. codex/static_root/assets/browser-2i0QA4La.css.br +0 -0
  103. codex/static_root/assets/browser-2i0QA4La.css.gz +0 -0
  104. codex/static_root/assets/browser-I1ZoWm1m.76347934dab3.js +1 -0
  105. codex/static_root/assets/browser-I1ZoWm1m.76347934dab3.js.br +0 -0
  106. codex/static_root/assets/browser-I1ZoWm1m.76347934dab3.js.gz +0 -0
  107. codex/static_root/assets/browser-I1ZoWm1m.js +1 -0
  108. codex/static_root/assets/browser-I1ZoWm1m.js.br +0 -0
  109. codex/static_root/assets/browser-I1ZoWm1m.js.gz +0 -0
  110. codex/static_root/assets/{change-password-dialog-Du93DO_u.3a928f66b2c5.js → change-password-dialog-BkX8NP9F.6eec04396e20.js} +1 -1
  111. codex/static_root/assets/change-password-dialog-BkX8NP9F.6eec04396e20.js.br +0 -0
  112. codex/static_root/assets/change-password-dialog-BkX8NP9F.6eec04396e20.js.gz +0 -0
  113. codex/static_root/assets/{change-password-dialog-Du93DO_u.js → change-password-dialog-BkX8NP9F.js} +1 -1
  114. codex/static_root/assets/change-password-dialog-BkX8NP9F.js.br +0 -0
  115. codex/static_root/assets/change-password-dialog-BkX8NP9F.js.gz +0 -0
  116. codex/static_root/assets/{confirm-dialog-BSR80Q5F.96ab044bb178.js → confirm-dialog-CKiPNGTr.b80ae71d7170.js} +1 -1
  117. codex/static_root/assets/confirm-dialog-CKiPNGTr.b80ae71d7170.js.br +0 -0
  118. codex/static_root/assets/confirm-dialog-CKiPNGTr.b80ae71d7170.js.gz +0 -0
  119. codex/static_root/assets/{confirm-dialog-BSR80Q5F.js → confirm-dialog-CKiPNGTr.js} +1 -1
  120. codex/static_root/assets/confirm-dialog-CKiPNGTr.js.br +0 -0
  121. codex/static_root/assets/confirm-dialog-CKiPNGTr.js.gz +0 -0
  122. codex/static_root/assets/{confirm-footer-nURenNFu.js → confirm-footer-CP02GqhM.8ba00213022b.js} +1 -1
  123. codex/static_root/assets/confirm-footer-CP02GqhM.8ba00213022b.js.br +0 -0
  124. codex/static_root/assets/confirm-footer-CP02GqhM.8ba00213022b.js.gz +0 -0
  125. codex/static_root/assets/{confirm-footer-nURenNFu.4bb822f97114.js → confirm-footer-CP02GqhM.js} +1 -1
  126. codex/static_root/assets/confirm-footer-CP02GqhM.js.br +0 -0
  127. codex/static_root/assets/confirm-footer-CP02GqhM.js.gz +0 -0
  128. codex/static_root/assets/{datetime-column-CPhJtWvK.314a472a0e7f.js → datetime-column-BnilMk5Y.96201e187340.js} +1 -1
  129. codex/static_root/assets/datetime-column-BnilMk5Y.96201e187340.js.br +0 -0
  130. codex/static_root/assets/datetime-column-BnilMk5Y.96201e187340.js.gz +0 -0
  131. codex/static_root/assets/{datetime-column-CPhJtWvK.js → datetime-column-BnilMk5Y.js} +1 -1
  132. codex/static_root/assets/datetime-column-BnilMk5Y.js.br +0 -0
  133. codex/static_root/assets/datetime-column-BnilMk5Y.js.gz +0 -0
  134. codex/static_root/assets/{filter-tAmBa3uw.15b44720e800.js → filter-Dp8VoLoJ.7dcf871c2c5d.js} +1 -1
  135. codex/static_root/assets/filter-Dp8VoLoJ.7dcf871c2c5d.js.br +0 -0
  136. codex/static_root/assets/filter-Dp8VoLoJ.7dcf871c2c5d.js.gz +0 -0
  137. codex/static_root/assets/{filter-tAmBa3uw.js → filter-Dp8VoLoJ.js} +1 -1
  138. codex/static_root/assets/filter-Dp8VoLoJ.js.br +0 -0
  139. codex/static_root/assets/filter-Dp8VoLoJ.js.gz +0 -0
  140. codex/static_root/assets/flag-tab-BpATs2Vh.2ba1294488a2.js +1 -0
  141. codex/static_root/assets/flag-tab-BpATs2Vh.2ba1294488a2.js.br +0 -0
  142. codex/static_root/assets/flag-tab-BpATs2Vh.2ba1294488a2.js.gz +0 -0
  143. codex/static_root/assets/flag-tab-BpATs2Vh.js +1 -0
  144. codex/static_root/assets/flag-tab-BpATs2Vh.js.br +0 -0
  145. codex/static_root/assets/flag-tab-BpATs2Vh.js.gz +0 -0
  146. codex/static_root/assets/flag-tab-DUXtbpA2.8d52c0d4f9e2.css +1 -0
  147. codex/static_root/assets/flag-tab-DUXtbpA2.8d52c0d4f9e2.css.br +1 -0
  148. codex/static_root/assets/flag-tab-DUXtbpA2.8d52c0d4f9e2.css.gz +0 -0
  149. codex/static_root/assets/flag-tab-DUXtbpA2.css +1 -0
  150. codex/static_root/assets/flag-tab-DUXtbpA2.css.br +1 -0
  151. codex/static_root/assets/flag-tab-DUXtbpA2.css.gz +0 -0
  152. codex/static_root/assets/{group-tab-LuURRP5m.c03bbeac9517.js → group-tab-BMv-gfGN.08bf0e591bdd.js} +1 -1
  153. codex/static_root/assets/group-tab-BMv-gfGN.08bf0e591bdd.js.br +0 -0
  154. codex/static_root/assets/group-tab-BMv-gfGN.08bf0e591bdd.js.gz +0 -0
  155. codex/static_root/assets/{group-tab-LuURRP5m.js → group-tab-BMv-gfGN.js} +1 -1
  156. codex/static_root/assets/group-tab-BMv-gfGN.js.br +0 -0
  157. codex/static_root/assets/group-tab-BMv-gfGN.js.gz +0 -0
  158. codex/static_root/assets/{http-error-BmImTNGc.c47768a115e0.js → http-error-Cb6Mqj4J.064dffeb574f.js} +1 -1
  159. codex/static_root/assets/http-error-Cb6Mqj4J.064dffeb574f.js.br +0 -0
  160. codex/static_root/assets/http-error-Cb6Mqj4J.064dffeb574f.js.gz +0 -0
  161. codex/static_root/assets/{http-error-BmImTNGc.js → http-error-Cb6Mqj4J.js} +1 -1
  162. codex/static_root/assets/http-error-Cb6Mqj4J.js.br +0 -0
  163. codex/static_root/assets/http-error-Cb6Mqj4J.js.gz +0 -0
  164. codex/static_root/assets/{library-tab-Df9FgT1K.82069fa06937.js → library-tab-CqPR7agm.db811498ed9a.js} +1 -1
  165. codex/static_root/assets/library-tab-CqPR7agm.db811498ed9a.js.br +0 -0
  166. codex/static_root/assets/library-tab-CqPR7agm.db811498ed9a.js.gz +0 -0
  167. codex/static_root/assets/{library-tab-Df9FgT1K.js → library-tab-CqPR7agm.js} +1 -1
  168. codex/static_root/assets/library-tab-CqPR7agm.js.br +0 -0
  169. codex/static_root/assets/library-tab-CqPR7agm.js.gz +0 -0
  170. codex/static_root/assets/{main-B0Xaei3w.js → main-D1r3hZ0f.d05c749b9988.js} +4 -4
  171. codex/static_root/assets/main-D1r3hZ0f.d05c749b9988.js.br +0 -0
  172. codex/static_root/assets/main-D1r3hZ0f.d05c749b9988.js.gz +0 -0
  173. codex/static_root/assets/{main-B0Xaei3w.311de98197bd.js → main-D1r3hZ0f.js} +4 -4
  174. codex/static_root/assets/main-D1r3hZ0f.js.br +0 -0
  175. codex/static_root/assets/main-D1r3hZ0f.js.gz +0 -0
  176. codex/static_root/assets/metadata-dialog-B8UtDnAu.f3947fec119f.js +1 -0
  177. codex/static_root/assets/metadata-dialog-B8UtDnAu.f3947fec119f.js.br +0 -0
  178. codex/static_root/assets/metadata-dialog-B8UtDnAu.f3947fec119f.js.gz +0 -0
  179. codex/static_root/assets/metadata-dialog-B8UtDnAu.js +1 -0
  180. codex/static_root/assets/metadata-dialog-B8UtDnAu.js.br +0 -0
  181. codex/static_root/assets/metadata-dialog-B8UtDnAu.js.gz +0 -0
  182. codex/static_root/assets/{metadata-dialog-uikP6x2m.84a7b6c4b6b9.css → metadata-dialog-BGJasBRy.0553851658b5.css} +1 -1
  183. codex/static_root/assets/metadata-dialog-BGJasBRy.0553851658b5.css.br +0 -0
  184. codex/static_root/assets/metadata-dialog-BGJasBRy.0553851658b5.css.gz +0 -0
  185. codex/static_root/assets/{metadata-dialog-uikP6x2m.css → metadata-dialog-BGJasBRy.css} +1 -1
  186. codex/static_root/assets/metadata-dialog-BGJasBRy.css.br +0 -0
  187. codex/static_root/assets/metadata-dialog-BGJasBRy.css.gz +0 -0
  188. codex/static_root/assets/{pdf-doc-8cjxNrmX.fb89731e22ec.js → pdf-doc-DWjSqsgP.12c6022d08b7.js} +1 -1
  189. codex/static_root/assets/pdf-doc-DWjSqsgP.12c6022d08b7.js.br +0 -0
  190. codex/static_root/assets/pdf-doc-DWjSqsgP.12c6022d08b7.js.gz +0 -0
  191. codex/static_root/assets/{pdf-doc-8cjxNrmX.js → pdf-doc-DWjSqsgP.js} +1 -1
  192. codex/static_root/assets/pdf-doc-DWjSqsgP.js.br +0 -0
  193. codex/static_root/assets/pdf-doc-DWjSqsgP.js.gz +0 -0
  194. codex/static_root/assets/reader-DsBRqChH.ae8ffff757c7.js +7 -0
  195. codex/static_root/assets/reader-DsBRqChH.ae8ffff757c7.js.br +0 -0
  196. codex/static_root/assets/reader-DsBRqChH.ae8ffff757c7.js.gz +0 -0
  197. codex/static_root/assets/reader-DsBRqChH.js +7 -0
  198. codex/static_root/assets/reader-DsBRqChH.js.br +0 -0
  199. codex/static_root/assets/reader-DsBRqChH.js.gz +0 -0
  200. codex/static_root/assets/{stats-tab-iyf0Qopa.319d016c0042.js → stats-tab-BFuWdQ3i.625b51e3ee5b.js} +1 -1
  201. codex/static_root/assets/stats-tab-BFuWdQ3i.625b51e3ee5b.js.br +0 -0
  202. codex/static_root/assets/stats-tab-BFuWdQ3i.625b51e3ee5b.js.gz +0 -0
  203. codex/static_root/assets/{stats-tab-iyf0Qopa.js → stats-tab-BFuWdQ3i.js} +1 -1
  204. codex/static_root/assets/stats-tab-BFuWdQ3i.js.br +0 -0
  205. codex/static_root/assets/stats-tab-BFuWdQ3i.js.gz +0 -0
  206. codex/static_root/assets/{task-tab-BaQoEc3u.836bc4466809.js → task-tab-DrTBYMCB.ac4473d3a137.js} +1 -1
  207. codex/static_root/assets/task-tab-DrTBYMCB.ac4473d3a137.js.br +0 -0
  208. codex/static_root/assets/task-tab-DrTBYMCB.ac4473d3a137.js.gz +0 -0
  209. codex/static_root/assets/{task-tab-BaQoEc3u.js → task-tab-DrTBYMCB.js} +1 -1
  210. codex/static_root/assets/task-tab-DrTBYMCB.js.br +0 -0
  211. codex/static_root/assets/task-tab-DrTBYMCB.js.gz +0 -0
  212. codex/static_root/assets/{user-tab-DPtaql0P.c5afb006dbe1.js → user-tab-CYzh_eX6.a2470464a951.js} +1 -1
  213. codex/static_root/assets/user-tab-CYzh_eX6.a2470464a951.js.br +0 -0
  214. codex/static_root/assets/user-tab-CYzh_eX6.a2470464a951.js.gz +0 -0
  215. codex/static_root/assets/{user-tab-DPtaql0P.js → user-tab-CYzh_eX6.js} +1 -1
  216. codex/static_root/assets/user-tab-CYzh_eX6.js.br +0 -0
  217. codex/static_root/assets/user-tab-CYzh_eX6.js.gz +0 -0
  218. codex/static_root/js/{choices-admin.3a2cdebdbfba.json → choices-admin.bb730e4f26ac.json} +1 -1
  219. codex/static_root/js/choices-admin.bb730e4f26ac.json.br +0 -0
  220. codex/static_root/js/{choices-admin.3a2cdebdbfba.json.gz → choices-admin.bb730e4f26ac.json.gz} +0 -0
  221. codex/static_root/js/choices-admin.json +1 -1
  222. codex/static_root/js/choices-admin.json.br +0 -0
  223. codex/static_root/js/choices-admin.json.gz +0 -0
  224. codex/static_root/{manifest.59b649b89398.json → manifest.07a0961655a3.json} +209 -209
  225. codex/static_root/manifest.07a0961655a3.json.br +0 -0
  226. codex/static_root/manifest.07a0961655a3.json.gz +0 -0
  227. codex/static_root/manifest.json +209 -209
  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/templates/search/indexes/codex/comic_text.txt +1 -1
  232. codex/views/browser/base.py +4 -1
  233. codex/views/browser/browser.py +19 -14
  234. codex/views/browser/choices.py +2 -0
  235. codex/views/browser/filters/search.py +3 -1
  236. codex/views/browser/metadata.py +12 -6
  237. codex/views/reader/reader.py +53 -5
  238. {codex-1.5.7rc0.dist-info → codex-1.5.8.dist-info}/METADATA +1 -1
  239. {codex-1.5.7rc0.dist-info → codex-1.5.8.dist-info}/RECORD +242 -242
  240. codex/static_root/assets/VCheckbox-CSvjBFR1.531e0fc38f24.js.br +0 -0
  241. codex/static_root/assets/VCheckbox-CSvjBFR1.531e0fc38f24.js.gz +0 -0
  242. codex/static_root/assets/VCheckbox-CSvjBFR1.js.br +0 -0
  243. codex/static_root/assets/VCheckbox-CSvjBFR1.js.gz +0 -0
  244. codex/static_root/assets/VCheckboxBtn-CQ4VhpyA.cb28dccb8bd0.js.br +0 -0
  245. codex/static_root/assets/VCheckboxBtn-CQ4VhpyA.cb28dccb8bd0.js.gz +0 -0
  246. codex/static_root/assets/VCheckboxBtn-CQ4VhpyA.js.br +0 -0
  247. codex/static_root/assets/VCheckboxBtn-CQ4VhpyA.js.gz +0 -0
  248. codex/static_root/assets/VCombobox-DmqwaLY4.d4e984321966.js.br +0 -0
  249. codex/static_root/assets/VCombobox-DmqwaLY4.d4e984321966.js.gz +0 -0
  250. codex/static_root/assets/VCombobox-DmqwaLY4.js.br +0 -0
  251. codex/static_root/assets/VCombobox-DmqwaLY4.js.gz +0 -0
  252. codex/static_root/assets/VDataTableVirtual-6f42V3Lt.7bd15f89e179.js.br +0 -0
  253. codex/static_root/assets/VDataTableVirtual-6f42V3Lt.7bd15f89e179.js.gz +0 -0
  254. codex/static_root/assets/VDataTableVirtual-6f42V3Lt.js.br +0 -0
  255. codex/static_root/assets/VDataTableVirtual-6f42V3Lt.js.gz +0 -0
  256. codex/static_root/assets/VExpansionPanel-HxmPRHLI.2f46f7785043.js.br +0 -0
  257. codex/static_root/assets/VExpansionPanel-HxmPRHLI.2f46f7785043.js.gz +0 -0
  258. codex/static_root/assets/VExpansionPanel-HxmPRHLI.js.br +0 -0
  259. codex/static_root/assets/VExpansionPanel-HxmPRHLI.js.gz +0 -0
  260. codex/static_root/assets/VMain-C67fPCUj.c0f7b7a893b2.js.br +0 -0
  261. codex/static_root/assets/VMain-C67fPCUj.c0f7b7a893b2.js.gz +0 -0
  262. codex/static_root/assets/VMain-C67fPCUj.js.br +0 -0
  263. codex/static_root/assets/VMain-C67fPCUj.js.gz +0 -0
  264. codex/static_root/assets/VRadioGroup-DlFy7v1Z.9e5a0c60e667.js.br +0 -0
  265. codex/static_root/assets/VRadioGroup-DlFy7v1Z.9e5a0c60e667.js.gz +0 -0
  266. codex/static_root/assets/VRadioGroup-DlFy7v1Z.js.br +0 -0
  267. codex/static_root/assets/VRadioGroup-DlFy7v1Z.js.gz +0 -0
  268. codex/static_root/assets/VSelect-O_Yn2sND.d7879a023bd9.js.br +0 -0
  269. codex/static_root/assets/VSelect-O_Yn2sND.d7879a023bd9.js.gz +0 -0
  270. codex/static_root/assets/VSelect-O_Yn2sND.js.br +0 -0
  271. codex/static_root/assets/VSelect-O_Yn2sND.js.gz +0 -0
  272. codex/static_root/assets/VSelectionControl-DP64P5MF.ca35648c092a.js.br +0 -0
  273. codex/static_root/assets/VSelectionControl-DP64P5MF.ca35648c092a.js.gz +0 -0
  274. codex/static_root/assets/VSelectionControl-DP64P5MF.js.br +0 -0
  275. codex/static_root/assets/VSelectionControl-DP64P5MF.js.gz +0 -0
  276. codex/static_root/assets/VSlideGroup-DOKbHMCv.23352d03450c.js.br +0 -0
  277. codex/static_root/assets/VSlideGroup-DOKbHMCv.23352d03450c.js.gz +0 -0
  278. codex/static_root/assets/VSlideGroup-DOKbHMCv.js.br +0 -0
  279. codex/static_root/assets/VSlideGroup-DOKbHMCv.js.gz +0 -0
  280. codex/static_root/assets/VTable-CtRSR9wI.ab498162ec9a.js.br +0 -0
  281. codex/static_root/assets/VTable-CtRSR9wI.ab498162ec9a.js.gz +0 -0
  282. codex/static_root/assets/VTable-CtRSR9wI.js.br +0 -0
  283. codex/static_root/assets/VTable-CtRSR9wI.js.gz +0 -0
  284. codex/static_root/assets/VToolbar-C__BHwZO.73f9b9fcc254.js.br +0 -0
  285. codex/static_root/assets/VToolbar-C__BHwZO.73f9b9fcc254.js.gz +0 -0
  286. codex/static_root/assets/VToolbar-C__BHwZO.js.br +0 -0
  287. codex/static_root/assets/VToolbar-C__BHwZO.js.gz +0 -0
  288. codex/static_root/assets/VWindowItem-BMdyDd7Q.e61cc304e3bc.js.br +0 -0
  289. codex/static_root/assets/VWindowItem-BMdyDd7Q.e61cc304e3bc.js.gz +0 -0
  290. codex/static_root/assets/VWindowItem-BMdyDd7Q.js.br +0 -0
  291. codex/static_root/assets/VWindowItem-BMdyDd7Q.js.gz +0 -0
  292. codex/static_root/assets/admin-D-946Bk9.1a17b45a08d8.js.br +0 -0
  293. codex/static_root/assets/admin-D-946Bk9.1a17b45a08d8.js.gz +0 -0
  294. codex/static_root/assets/admin-D-946Bk9.js.br +0 -0
  295. codex/static_root/assets/admin-D-946Bk9.js.gz +0 -0
  296. codex/static_root/assets/admin-drawer-panel-Bd9_K-7V.b774e66b1bc2.js.br +0 -0
  297. codex/static_root/assets/admin-drawer-panel-Bd9_K-7V.b774e66b1bc2.js.gz +0 -0
  298. codex/static_root/assets/admin-drawer-panel-Bd9_K-7V.js.br +0 -0
  299. codex/static_root/assets/admin-drawer-panel-Bd9_K-7V.js.gz +0 -0
  300. codex/static_root/assets/browser-C8SJwVGz.0f7daf93b064.css.br +0 -0
  301. codex/static_root/assets/browser-C8SJwVGz.0f7daf93b064.css.gz +0 -0
  302. codex/static_root/assets/browser-C8SJwVGz.css.br +0 -0
  303. codex/static_root/assets/browser-C8SJwVGz.css.gz +0 -0
  304. codex/static_root/assets/browser-DGl3vPo9.dcab8c37c67b.js +0 -1
  305. codex/static_root/assets/browser-DGl3vPo9.dcab8c37c67b.js.br +0 -0
  306. codex/static_root/assets/browser-DGl3vPo9.dcab8c37c67b.js.gz +0 -0
  307. codex/static_root/assets/browser-DGl3vPo9.js +0 -1
  308. codex/static_root/assets/browser-DGl3vPo9.js.br +0 -0
  309. codex/static_root/assets/browser-DGl3vPo9.js.gz +0 -0
  310. codex/static_root/assets/change-password-dialog-Du93DO_u.3a928f66b2c5.js.br +0 -0
  311. codex/static_root/assets/change-password-dialog-Du93DO_u.3a928f66b2c5.js.gz +0 -0
  312. codex/static_root/assets/change-password-dialog-Du93DO_u.js.br +0 -0
  313. codex/static_root/assets/change-password-dialog-Du93DO_u.js.gz +0 -0
  314. codex/static_root/assets/confirm-dialog-BSR80Q5F.96ab044bb178.js.br +0 -0
  315. codex/static_root/assets/confirm-dialog-BSR80Q5F.96ab044bb178.js.gz +0 -0
  316. codex/static_root/assets/confirm-dialog-BSR80Q5F.js.br +0 -0
  317. codex/static_root/assets/confirm-dialog-BSR80Q5F.js.gz +0 -0
  318. codex/static_root/assets/confirm-footer-nURenNFu.4bb822f97114.js.br +0 -0
  319. codex/static_root/assets/confirm-footer-nURenNFu.4bb822f97114.js.gz +0 -0
  320. codex/static_root/assets/confirm-footer-nURenNFu.js.br +0 -0
  321. codex/static_root/assets/confirm-footer-nURenNFu.js.gz +0 -0
  322. codex/static_root/assets/datetime-column-CPhJtWvK.314a472a0e7f.js.br +0 -0
  323. codex/static_root/assets/datetime-column-CPhJtWvK.314a472a0e7f.js.gz +0 -0
  324. codex/static_root/assets/datetime-column-CPhJtWvK.js.br +0 -0
  325. codex/static_root/assets/datetime-column-CPhJtWvK.js.gz +0 -0
  326. codex/static_root/assets/filter-tAmBa3uw.15b44720e800.js.br +0 -0
  327. codex/static_root/assets/filter-tAmBa3uw.15b44720e800.js.gz +0 -0
  328. codex/static_root/assets/filter-tAmBa3uw.js.br +0 -0
  329. codex/static_root/assets/filter-tAmBa3uw.js.gz +0 -0
  330. codex/static_root/assets/flag-tab-BTiZcgOa.81b4fefa02e1.css +0 -1
  331. codex/static_root/assets/flag-tab-BTiZcgOa.81b4fefa02e1.css.br +0 -1
  332. codex/static_root/assets/flag-tab-BTiZcgOa.81b4fefa02e1.css.gz +0 -0
  333. codex/static_root/assets/flag-tab-BTiZcgOa.css +0 -1
  334. codex/static_root/assets/flag-tab-BTiZcgOa.css.br +0 -1
  335. codex/static_root/assets/flag-tab-BTiZcgOa.css.gz +0 -0
  336. codex/static_root/assets/flag-tab-DvygpEAZ.6406b06b01fc.js +0 -1
  337. codex/static_root/assets/flag-tab-DvygpEAZ.6406b06b01fc.js.br +0 -0
  338. codex/static_root/assets/flag-tab-DvygpEAZ.6406b06b01fc.js.gz +0 -0
  339. codex/static_root/assets/flag-tab-DvygpEAZ.js +0 -1
  340. codex/static_root/assets/flag-tab-DvygpEAZ.js.br +0 -0
  341. codex/static_root/assets/flag-tab-DvygpEAZ.js.gz +0 -0
  342. codex/static_root/assets/group-tab-LuURRP5m.c03bbeac9517.js.br +0 -0
  343. codex/static_root/assets/group-tab-LuURRP5m.c03bbeac9517.js.gz +0 -0
  344. codex/static_root/assets/group-tab-LuURRP5m.js.br +0 -0
  345. codex/static_root/assets/group-tab-LuURRP5m.js.gz +0 -0
  346. codex/static_root/assets/http-error-BmImTNGc.c47768a115e0.js.br +0 -0
  347. codex/static_root/assets/http-error-BmImTNGc.c47768a115e0.js.gz +0 -0
  348. codex/static_root/assets/http-error-BmImTNGc.js.br +0 -0
  349. codex/static_root/assets/http-error-BmImTNGc.js.gz +0 -0
  350. codex/static_root/assets/library-tab-Df9FgT1K.82069fa06937.js.br +0 -0
  351. codex/static_root/assets/library-tab-Df9FgT1K.82069fa06937.js.gz +0 -0
  352. codex/static_root/assets/library-tab-Df9FgT1K.js.br +0 -0
  353. codex/static_root/assets/library-tab-Df9FgT1K.js.gz +0 -0
  354. codex/static_root/assets/main-B0Xaei3w.311de98197bd.js.br +0 -0
  355. codex/static_root/assets/main-B0Xaei3w.311de98197bd.js.gz +0 -0
  356. codex/static_root/assets/main-B0Xaei3w.js.br +0 -0
  357. codex/static_root/assets/main-B0Xaei3w.js.gz +0 -0
  358. codex/static_root/assets/metadata-dialog-MaFloIhA.95f94d1ee1a1.js +0 -1
  359. codex/static_root/assets/metadata-dialog-MaFloIhA.95f94d1ee1a1.js.br +0 -0
  360. codex/static_root/assets/metadata-dialog-MaFloIhA.95f94d1ee1a1.js.gz +0 -0
  361. codex/static_root/assets/metadata-dialog-MaFloIhA.js +0 -1
  362. codex/static_root/assets/metadata-dialog-MaFloIhA.js.br +0 -0
  363. codex/static_root/assets/metadata-dialog-MaFloIhA.js.gz +0 -0
  364. codex/static_root/assets/metadata-dialog-uikP6x2m.84a7b6c4b6b9.css.br +0 -0
  365. codex/static_root/assets/metadata-dialog-uikP6x2m.84a7b6c4b6b9.css.gz +0 -0
  366. codex/static_root/assets/metadata-dialog-uikP6x2m.css.br +0 -0
  367. codex/static_root/assets/metadata-dialog-uikP6x2m.css.gz +0 -0
  368. codex/static_root/assets/pdf-doc-8cjxNrmX.fb89731e22ec.js.br +0 -0
  369. codex/static_root/assets/pdf-doc-8cjxNrmX.fb89731e22ec.js.gz +0 -0
  370. codex/static_root/assets/pdf-doc-8cjxNrmX.js.br +0 -0
  371. codex/static_root/assets/pdf-doc-8cjxNrmX.js.gz +0 -0
  372. codex/static_root/assets/reader-T8uF7cx9.e29141aaba35.js +0 -7
  373. codex/static_root/assets/reader-T8uF7cx9.e29141aaba35.js.br +0 -0
  374. codex/static_root/assets/reader-T8uF7cx9.e29141aaba35.js.gz +0 -0
  375. codex/static_root/assets/reader-T8uF7cx9.js +0 -7
  376. codex/static_root/assets/reader-T8uF7cx9.js.br +0 -0
  377. codex/static_root/assets/reader-T8uF7cx9.js.gz +0 -0
  378. codex/static_root/assets/stats-tab-iyf0Qopa.319d016c0042.js.br +0 -0
  379. codex/static_root/assets/stats-tab-iyf0Qopa.319d016c0042.js.gz +0 -0
  380. codex/static_root/assets/stats-tab-iyf0Qopa.js.br +0 -0
  381. codex/static_root/assets/stats-tab-iyf0Qopa.js.gz +0 -0
  382. codex/static_root/assets/task-tab-BaQoEc3u.836bc4466809.js.br +0 -0
  383. codex/static_root/assets/task-tab-BaQoEc3u.836bc4466809.js.gz +0 -0
  384. codex/static_root/assets/task-tab-BaQoEc3u.js.br +0 -0
  385. codex/static_root/assets/task-tab-BaQoEc3u.js.gz +0 -0
  386. codex/static_root/assets/user-tab-DPtaql0P.c5afb006dbe1.js.br +0 -0
  387. codex/static_root/assets/user-tab-DPtaql0P.c5afb006dbe1.js.gz +0 -0
  388. codex/static_root/assets/user-tab-DPtaql0P.js.br +0 -0
  389. codex/static_root/assets/user-tab-DPtaql0P.js.gz +0 -0
  390. codex/static_root/js/choices-admin.3a2cdebdbfba.json.br +0 -0
  391. codex/static_root/manifest.59b649b89398.json.br +0 -0
  392. codex/static_root/manifest.59b649b89398.json.gz +0 -0
  393. {codex-1.5.7rc0.dist-info → codex-1.5.8.dist-info}/LICENSE +0 -0
  394. {codex-1.5.7rc0.dist-info → codex-1.5.8.dist-info}/WHEEL +0 -0
  395. {codex-1.5.7rc0.dist-info → codex-1.5.8.dist-info}/entry_points.txt +0 -0
@@ -1 +0,0 @@
1
- import{x as ae,E as fe,bJ as He,G as ie,av as We,au as E,K as ue,L as l,_ as U,R as d,O as B,aJ as Ne,az as de,P as k,aK as Re,am as X,bK as Xe,bL as Qe,h as v,bM as ke,J as be,s as Se,r as he,S as Ze,p as Je,bN as Me,bO as et,i as Fe,bP as tt,aj as at,z as H,be as Ce,bf as lt,bQ as st,bh as rt,bR as ot,bS as nt,at as Te,ar as it,al as pe,aa as D,ae as T,ak as ne,bT as ut,bU as dt,M as ee,ay as w,bV as ct,ab as Ee,aB as N,bW as mt,a$ as De,aD as m,ad as te,Q as Le,l as vt,a_ as $e,bt as ht,bX as ft,ax as bt,m as pt,b8 as gt,b9 as yt,b4 as we,N as ve,k as _t,b5 as kt,b7 as St,aQ as Ct,aX as Tt,aH as wt,aI as Vt}from"./admin-drawer-panel-Bd9_K-7V.js";import{a as Bt,g as Pt,h as It,j as Nt}from"./VToolbar-C__BHwZO.js";import{m as Rt,a as Mt,u as Ft,V as Ve,b as Et}from"./VSelectionControl-DP64P5MF.js";import{C as Dt,u as W,A as Lt}from"./main-B0Xaei3w.js";import{c as $t,d as Ot}from"./VSelect-O_Yn2sND.js";import{c as At}from"./to-case-kUm8NPpW.js";import{V as jt}from"./confirm-footer-nURenNFu.js";const zt=ae({...fe(),...He({variant:"text"})},"VToolbarItems"),Tl=ie()({name:"VToolbarItems",props:zt(),setup(e,t){let{slots:a}=t;return We({VBtn:{color:E(e,"color"),height:"inherit",variant:E(e,"variant")}}),ue(()=>{var o;return l("div",{class:["v-toolbar-items",e.class],style:e.style},[(o=a.default)==null?void 0:o.call(a)])}),{}}}),Ut={name:"PaginationToolbar"};function qt(e,t,a,o,n,s){return d(),B(Bt,{class:"paginationToolbar codexToolbar",density:"compact",transform:"center bottom"},Ne({_:2},[de(e.$slots,(i,r)=>({name:r,fn:k(c=>[Re(e.$slots,r,X({props:i},c),void 0,!0)])}))]),1024)}const wl=U(Ut,[["render",qt],["__scopeId","data-v-cfa8cce0"]]),ge=Symbol.for("vuetify:v-slider");function Gt(e,t,a){const o=a==="vertical",n=t.getBoundingClientRect(),s="touches"in e?e.touches[0]:e;return o?s.clientY-(n.top+n.height/2):s.clientX-(n.left+n.width/2)}function Kt(e,t){return"touches"in e&&e.touches.length?e.touches[0][t]:"changedTouches"in e&&e.changedTouches.length?e.changedTouches[0][t]:e[t]}const Yt=ae({disabled:{type:Boolean,default:null},error:Boolean,readonly:{type:Boolean,default:null},max:{type:[Number,String],default:100},min:{type:[Number,String],default:0},step:{type:[Number,String],default:0},thumbColor:String,thumbLabel:{type:[Boolean,String],default:void 0,validator:e=>typeof e=="boolean"||e==="always"},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:e=>typeof e=="boolean"||e==="always"},ticks:{type:[Array,Object]},tickSize:{type:[Number,String],default:2},color:String,trackColor:String,trackFillColor:String,trackSize:{type:[Number,String],default:4},direction:{type:String,default:"horizontal",validator:e=>["vertical","horizontal"].includes(e)},reverse:Boolean,...Xe(),...Qe({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),xt=e=>{const t=v(()=>parseFloat(e.min)),a=v(()=>parseFloat(e.max)),o=v(()=>+e.step>0?parseFloat(e.step):0),n=v(()=>Math.max(ke(o.value),ke(t.value)));function s(i){if(i=parseFloat(i),o.value<=0)return i;const r=Me(i,t.value,a.value),c=t.value%o.value,h=Math.round((r-c)/o.value)*o.value+c;return parseFloat(Math.min(h,a.value).toFixed(n.value))}return{min:t,max:a,step:o,decimals:n,roundValue:s}},Ht=e=>{let{props:t,steps:a,onSliderStart:o,onSliderMove:n,onSliderEnd:s,getActiveThumb:i}=e;const{isRtl:r}=be(),c=E(t,"reverse"),h=v(()=>t.direction==="vertical"),P=v(()=>h.value!==c.value),{min:_,max:b,step:L,decimals:q,roundValue:A}=a,Y=v(()=>parseInt(t.thumbSize,10)),G=v(()=>parseInt(t.tickSize,10)),j=v(()=>parseInt(t.trackSize,10)),$=v(()=>(b.value-_.value)/L.value),x=E(t,"disabled"),O=v(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),p=v(()=>t.error||t.disabled?void 0:t.trackColor??t.color),R=v(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),S=Se(!1),C=Se(0),M=he(),F=he();function f(u){var _e;const y=t.direction==="vertical",Ue=y?"top":"left",qe=y?"height":"width",Ge=y?"clientY":"clientX",{[Ue]:Ke,[qe]:Ye}=(_e=M.value)==null?void 0:_e.$el.getBoundingClientRect(),xe=Kt(u,Ge);let me=Math.min(Math.max((xe-Ke-C.value)/Ye,0),1)||0;return(y?P.value:P.value!==r.value)&&(me=1-me),A(_.value+me*(b.value-_.value))}const z=u=>{s({value:f(u)}),S.value=!1,C.value=0},K=u=>{F.value=i(u),F.value&&(F.value.focus(),S.value=!0,F.value.contains(u.target)?C.value=Gt(u,F.value,t.direction):(C.value=0,n({value:f(u)})),o({value:f(u)}))},I={passive:!0,capture:!0};function Q(u){n({value:f(u)})}function le(u){u.stopPropagation(),u.preventDefault(),z(u),window.removeEventListener("mousemove",Q,I),window.removeEventListener("mouseup",le)}function se(u){var y;z(u),window.removeEventListener("touchmove",Q,I),(y=u.target)==null||y.removeEventListener("touchend",se)}function ce(u){var y;K(u),window.addEventListener("touchmove",Q,I),(y=u.target)==null||y.addEventListener("touchend",se,{passive:!1})}function V(u){u.preventDefault(),K(u),window.addEventListener("mousemove",Q,I),window.addEventListener("mouseup",le,{passive:!1})}const g=u=>{const y=(u-_.value)/(b.value-_.value)*100;return Me(isNaN(y)?0:y,0,100)},Z=E(t,"showTicks"),J=v(()=>Z.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(u=>({value:u,position:g(u),label:u.toString()})):Object.keys(t.ticks).map(u=>({value:parseFloat(u),position:g(parseFloat(u)),label:t.ticks[u]})):$.value!==1/0?Ze($.value+1).map(u=>{const y=_.value+u*L.value;return{value:y,position:g(y)}}):[]:[]),re=v(()=>J.value.some(u=>{let{label:y}=u;return!!y})),oe={activeThumbRef:F,color:E(t,"color"),decimals:q,disabled:x,direction:E(t,"direction"),elevation:E(t,"elevation"),hasLabels:re,isReversed:c,indexFromEnd:P,min:_,max:b,mousePressed:S,numTicks:$,onSliderMousedown:V,onSliderTouchstart:ce,parsedTicks:J,parseMouseMove:f,position:g,readonly:E(t,"readonly"),rounded:E(t,"rounded"),roundValue:A,showTicks:Z,startOffset:C,step:L,thumbSize:Y,thumbColor:O,thumbLabel:E(t,"thumbLabel"),ticks:E(t,"ticks"),tickSize:G,trackColor:p,trackContainerRef:M,trackFillColor:R,trackSize:j,vertical:h};return Je(ge,oe),oe},Wt=ae({focused:Boolean,max:{type:Number,required:!0},min:{type:Number,required:!0},modelValue:{type:Number,required:!0},position:{type:Number,required:!0},ripple:{type:[Boolean,Object],default:!0},...fe()},"VSliderThumb"),Xt=ie()({name:"VSliderThumb",directives:{Ripple:et},props:Wt(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a,emit:o}=t;const n=Fe(ge),{isRtl:s,rtlClasses:i}=be();if(!n)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:r,step:c,disabled:h,thumbSize:P,thumbLabel:_,direction:b,isReversed:L,vertical:q,readonly:A,elevation:Y,mousePressed:G,decimals:j,indexFromEnd:$}=n,x=v(()=>h.value?void 0:Y.value),{elevationClasses:O}=tt(x),{textColorClasses:p,textColorStyles:R}=at(r),{pageup:S,pagedown:C,end:M,home:F,left:f,right:z,down:K,up:I}=ot,Q=[S,C,M,F,f,z,K,I],le=v(()=>c.value?[1,2,3]:[1,5,10]);function se(V,g){if(!Q.includes(V.key))return;V.preventDefault();const Z=c.value||.1,J=(e.max-e.min)/Z;if([f,z,K,I].includes(V.key)){const oe=(q.value?[s.value?f:z,L.value?K:I]:$.value!==s.value?[f,I]:[z,I]).includes(V.key)?1:-1,u=V.shiftKey?2:V.ctrlKey?1:0;g=g+oe*Z*le.value[u]}else if(V.key===F)g=e.min;else if(V.key===M)g=e.max;else{const re=V.key===C?1:-1;g=g-re*Z*(J>100?J/10:10)}return Math.max(e.min,Math.min(e.max,g))}function ce(V){const g=se(V,e.modelValue);g!=null&&o("update:modelValue",g)}return ue(()=>{const V=H($.value?100-e.position:e.position,"%");return l("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&G.value},e.class,i.value],style:[{"--v-slider-thumb-position":V,"--v-slider-thumb-size":H(P.value)},e.style],role:"slider",tabindex:h.value?-1:0,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.modelValue,"aria-readonly":!!A.value,"aria-orientation":b.value,onKeydown:A.value?void 0:ce},[l("div",{class:["v-slider-thumb__surface",p.value,O.value],style:{...R.value}},null),Ce(l("div",{class:["v-slider-thumb__ripple",p.value],style:R.value},null),[[lt("ripple"),e.ripple,null,{circle:!0,center:!0}]]),l(st,{origin:"bottom center"},{default:()=>{var g;return[Ce(l("div",{class:"v-slider-thumb__label-container"},[l("div",{class:["v-slider-thumb__label"]},[l("div",null,[((g=a["thumb-label"])==null?void 0:g.call(a,{modelValue:e.modelValue}))??e.modelValue.toFixed(c.value?j.value:1)])])]),[[rt,_.value&&e.focused||_.value==="always"]])]}})])}),{}}}),Qt=ae({start:{type:Number,required:!0},stop:{type:Number,required:!0},...fe()},"VSliderTrack"),Zt=ie()({name:"VSliderTrack",props:Qt(),emits:{},setup(e,t){let{slots:a}=t;const o=Fe(ge);if(!o)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:n,parsedTicks:s,rounded:i,showTicks:r,tickSize:c,trackColor:h,trackFillColor:P,trackSize:_,vertical:b,min:L,max:q,indexFromEnd:A}=o,{roundedClasses:Y}=nt(i),{backgroundColorClasses:G,backgroundColorStyles:j}=Te(P),{backgroundColorClasses:$,backgroundColorStyles:x}=Te(h),O=v(()=>`inset-${b.value?"block":"inline"}-${A.value?"end":"start"}`),p=v(()=>b.value?"height":"width"),R=v(()=>({[O.value]:"0%",[p.value]:"100%"})),S=v(()=>e.stop-e.start),C=v(()=>({[O.value]:H(e.start,"%"),[p.value]:H(S.value,"%")})),M=v(()=>r.value?(b.value?s.value.slice().reverse():s.value).map((f,z)=>{var I;const K=f.value!==L.value&&f.value!==q.value?H(f.position,"%"):void 0;return l("div",{key:f.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":f.position>=e.start&&f.position<=e.stop,"v-slider-track__tick--first":f.value===L.value,"v-slider-track__tick--last":f.value===q.value}],style:{[O.value]:K}},[(f.label||a["tick-label"])&&l("div",{class:"v-slider-track__tick-label"},[((I=a["tick-label"])==null?void 0:I.call(a,{tick:f,index:z}))??f.label])])}):[]);return ue(()=>l("div",{class:["v-slider-track",Y.value,e.class],style:[{"--v-slider-track-size":H(_.value),"--v-slider-tick-size":H(c.value)},e.style]},[l("div",{class:["v-slider-track__background",$.value,{"v-slider-track__background--opacity":!!n.value||!P.value}],style:{...R.value,...x.value}},null),l("div",{class:["v-slider-track__fill",G.value],style:{...C.value,...j.value}},null),r.value&&l("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":r.value==="always"}]},[M.value])])),{}}}),Jt=ae({...Rt(),...Yt(),...Mt(),modelValue:{type:[Number,String],default:0}},"VSlider"),ea=ie()({name:"VSlider",props:Jt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:a,emit:o}=t;const n=he(),{rtlClasses:s}=be(),i=xt(e),r=it(e,"modelValue",void 0,p=>i.roundValue(p??i.min.value)),{min:c,max:h,mousePressed:P,roundValue:_,onSliderMousedown:b,onSliderTouchstart:L,trackContainerRef:q,position:A,hasLabels:Y,readonly:G}=Ht({props:e,steps:i,onSliderStart:()=>{o("start",r.value)},onSliderEnd:p=>{let{value:R}=p;const S=_(R);r.value=S,o("end",S)},onSliderMove:p=>{let{value:R}=p;return r.value=_(R)},getActiveThumb:()=>{var p;return(p=n.value)==null?void 0:p.$el}}),{isFocused:j,focus:$,blur:x}=Ft(e),O=v(()=>A(r.value));return ue(()=>{const p=Ve.filterProps(e),R=!!(e.label||a.label||a.prepend);return l(Ve,X({class:["v-slider",{"v-slider--has-labels":!!a["tick-label"]||Y.value,"v-slider--focused":j.value,"v-slider--pressed":P.value,"v-slider--disabled":e.disabled},s.value,e.class],style:e.style},p,{focused:j.value}),{...a,prepend:R?S=>{var C,M;return l(pe,null,[((C=a.label)==null?void 0:C.call(a,S))??(e.label?l(Et,{id:S.id.value,class:"v-slider__label",text:e.label},null):void 0),(M=a.prepend)==null?void 0:M.call(a,S)])}:void 0,default:S=>{let{id:C,messagesId:M}=S;return l("div",{class:"v-slider__container",onMousedown:G.value?void 0:b,onTouchstartPassive:G.value?void 0:L},[l("input",{id:C.value,name:e.name||C.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:r.value},null),l(Zt,{ref:q,start:0,stop:O.value},{"tick-label":a["tick-label"]}),l(Xt,{ref:n,"aria-describedby":M.value,focused:j.value,min:c.value,max:h.value,modelValue:r.value,"onUpdate:modelValue":F=>r.value=F,position:O.value,elevation:e.elevation,onFocus:$,onBlur:x,ripple:e.ripple},{"thumb-label":a["thumb-label"]})])}})}),{}}}),ta={name:"PaginationSlider"};function aa(e,t,a,o,n,s){return d(),B(ea,X({"thumb-size":"36",class:"paginationSlider",density:"compact","hide-details":"auto",rounded:!0,"show-ticks":"always",step:1,"thumb-label":"always"},e.$attrs),{"tick-label":k(({index:i})=>[D(T(i),1)]),_:1},16)}const Vl=U(ta,[["render",aa],["__scopeId","data-v-94e297ed"]]),la={name:"PaginationNavButton"};function sa(e,t,a,o,n,s){return d(),B(ne,X({class:"paginationNavButton",height:"100%"},e.$attrs),Ne({_:2},[de(e.$slots,(i,r)=>({name:r,fn:k(c=>[Re(e.$slots,r,X({props:i},c),void 0,!0)])}))]),1040)}const Bl=U(la,[["render",sa],["__scopeId","data-v-852fad11"]]),Be=Dt.browser.vuetifyNullCode,ra=new Set(["",Be,Be.toString(),void 0]),oa=function(e){let t;return e===void 0?t=e:e instanceof Object?t={value:e.pk,title:e.name}:t={value:e,title:e.toString()},e.url&&(t.url=e.url),t},na=function(e,t){return e.title<t.title?-1:e.title>t.title?1:0},ia=function(e,t){return Number.parseFloat(e.title)-Number.parseFloat(t.title)},ua=function(e,t,a=!1){const o=e||[],n=t&&t.toLowerCase();let s=[];for(const r of o){if(!r||ra.has(r.pk))continue;const c=oa(r);c&&(!n||c.title&&c.title.toLowerCase().includes(n))&&s.push(c)}const i=a?ia:na;return s.sort(i)},da={name:"PlaceholderLoading",props:{indeterminate:{type:Boolean,default:!0}}};function ca(e,t,a,o,n,s){return d(),B(ut,X({"aria-label":"loading",class:"codexProgressCircular",indeterminate:a.indeterminate},e.$attrs),null,16,["indeterminate"])}const Oe=U(da,[["render",ca],["__scopeId","data-v-7bb4cf22"]]),ma=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],va=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],ha=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],fa=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Pe=(e,t,a)=>{let o=e;return typeof t=="string"||Array.isArray(t)?o=e.toLocaleString(t,a):(t===!0||a!==void 0)&&(o=e.toLocaleString(void 0,a)),o};function ba(e,t){if(!Number.isFinite(e))throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);t={bits:!1,binary:!1,space:!0,...t};const a=t.bits?t.binary?fa:ha:t.binary?va:ma,o=t.space?" ":"";if(t.signed&&e===0)return` 0${o}${a[0]}`;const n=e<0,s=n?"-":t.signed?"+":"";n&&(e=-e);let i;if(t.minimumFractionDigits!==void 0&&(i={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(i={maximumFractionDigits:t.maximumFractionDigits,...i}),e<1){const P=Pe(e,t.locale,i);return s+P+o+a[0]}const r=Math.min(Math.floor(t.binary?Math.log(e)/Math.log(1024):Math.log10(e)/3),a.length-1);e/=(t.binary?1024:1e3)**r,i||(e=e.toPrecision(3));const c=Pe(Number(e),t.locale,i),h=a[r];return s+c+o+h}const pa=(e,t)=>e?`${dt(e)}/cover.webp?${t}`:window.CODEX.MISSING_COVER,ga={name:"BookCover",props:{group:{type:String,required:!0},childCount:{type:Number,default:1},finished:{type:Boolean},coverPk:{type:Number,required:!0}},data(){return{showPlaceholder:!1}},computed:{...ee(W,{coverSrc:function(e){return pa(this.coverPk,e.page.coversTimestamp)}})},mounted:function(){this.delayPlaceholder()},methods:{delayPlaceholder:function(){setTimeout(()=>{this.showPlaceholder=!0},2e3)}}},ya={class:"bookCover"},_a={key:1,class:"childCount"};function ka(e,t,a,o,n,s){return d(),w("div",ya,[l(ct,{src:e.coverSrc,class:"coverImg"},null,8,["src"]),a.finished!==!0?(d(),w("div",{key:0,class:Ee({unreadFlag:!0,mixedreadFlag:a.finished===null})},null,2)):N("",!0),a.group!=="c"?(d(),w("span",_a,T(a.childCount),1)):N("",!0)])}const Ae=U(ga,[["render",ka],["__scopeId","data-v-9acb5f6a"]]),Sa={name:"MetadataTags",props:{label:{type:String,required:!0},values:{type:Array,default(){return[]}},filter:{type:String,required:!1,default:void 0}},data(){return{mdiFilter:mt,mdiOpenInNew:De}},computed:{...ee(W,{filterValues:function(e){const t=this.filter||this.label.toLowerCase();return e.settings.filters[t]}}),model(){return ua(this.values)}},methods:{chipColor:function(e){return this.filterValues&&this.filterValues.includes(e)?this.$vuetify.theme.current.colors["primary-darken-1"]:""}}},Ca={key:0,class:"tags"},Ta={class:"chipGroupLabel"},wa=["href"],Va={key:1};function Ba(e,t,a,o,n,s){return s.model&&s.model.length>0?(d(),w("div",Ca,[m("div",Ta,T(a.label),1),l(Ot,{column:!0,multiple:"",value:s.model},{default:k(()=>[(d(!0),w(pe,null,de(s.model,i=>(d(),B($t,{key:`${a.label}/${i.value}`,color:s.chipColor(i.value),value:i.value},{default:k(()=>[i.url?(d(),w("a",{key:0,href:i.url,target:"_blank"},[D(T(i.title),1),l(te,null,{default:k(()=>[D(T(n.mdiOpenInNew),1)]),_:1})],8,wa)):(d(),w("span",Va,T(i.title),1))]),_:2},1032,["color","value"]))),128))]),_:1},8,["value"])])):N("",!0)}const ye=U(Sa,[["render",Ba],["__scopeId","data-v-82f56115"]]),Pa={name:"MetadataTextBox",props:{label:{type:String,required:!0},value:{type:[Object,String,Number,Boolean],default:void 0},link:{type:[Boolean,String],default:!1},group:{type:String,default:""},obj:{type:Object,default:void 0}},data(){return{mdiOpenInNew:De}},computed:{computedValue(){return this.value!=null&&this.value instanceof Object?this.value.name:this.value},linkValue(){return this.link===!0?this.computedValue:this.link?this.link:!1},highlight(){var e;return((e=this.obj)==null?void 0:e.group)===this.group},pathArray(){if(this.computedValue)return this.computedValue.split("/")},folderPath(){if(this.pathArray)return this.pathArray.slice(0,-1).join("/")},basePath(){if(this.pathArray)return this.pathArray.at(-1)},groupTo(){const e=W();if(this.group!=="f"&&!e.settings.show[this.group]||this.group==="f"&&!e.page.adminFlags.folderView)return;let t;if(t=this.obj&&this.obj.group==this.group?this.obj.pk:this.value.pk,!t)return;const a=this.$router.currentRoute.value.params;if(!(a.group===this.group&&+a.pk===t))return{name:"browser",params:{group:this.group,pk:t}}}}},Ia={class:"textLabel"},Na={class:"textValue"},Ra=["href"],Ma={key:3,class:"textContent"},Fa={key:4,id:"basePath"};function Ea(e,t,a,o,n,s){const i=Le("router-link");return s.computedValue?(d(),w("div",{key:0,class:Ee(["text",{highlight:s.highlight}])},[m("div",Ia,T(a.label),1),m("div",Na,[s.groupTo&&a.group==="f"?(d(),B(i,{key:0,id:"folderPath",to:s.groupTo,title:"Browse Folder"},{default:k(()=>[D(T(s.folderPath)+"/ ",1)]),_:1},8,["to"])):s.groupTo?(d(),B(i,{key:1,class:"textContent",to:s.groupTo,title:`Browse ${a.label}`},{default:k(()=>[D(T(s.computedValue),1)]),_:1},8,["to","title"])):a.link?(d(),w("a",{key:2,href:s.linkValue,target:"_blank"},[D(T(s.computedValue)+" ",1),l(te,{size:"small"},{default:k(()=>[D(T(n.mdiOpenInNew),1)]),_:1})],8,Ra)):(d(),w("div",Ma,T(s.computedValue),1)),s.groupTo&&a.group==="f"?(d(),w("span",Fa,T(s.basePath),1)):N("",!0)])],2)):N("",!0)}const je=U(Pa,[["render",Ea],["__scopeId","data-v-623baf79"]]),Da={name:"MetadataContributorsTable",props:{value:{type:Array,default:void 0}},data(){return{}},computed:{contributorsDict(){const e={};for(const{role:o,person:n}of this.value){const s=At(o.name)+"s";e[s]||(e[s]=[]),e[s].push(n)}const t=Object.keys(e).sort((o,n)=>o.localeCompare(n)),a={};for(const o of t)a[o]=e[o].sort((n,s)=>n.name.localeCompare(s.name));return a}}},La={key:0},$a=m("h3",null,"Contributors",-1);function Oa(e,t,a,o,n,s){const i=ye;return Object.keys(s.contributorsDict).length>0?(d(),w("div",La,[$a,(d(!0),w(pe,null,de(Object.entries(s.contributorsDict),([r,c])=>(d(),B(i,{key:r,values:c,label:r,filter:"contributors"},null,8,["values","label"]))),128))])):N("",!0)}const Aa=U(Da,[["render",Oa]]),ze=new Set("rtl","btt");Object.freeze(ze);const ja=({pk:e,page:t,readingDirection:a,pageCount:o})=>{if(o){if(t)t=Number(t);else if(ze.has(a)){const n=Number(o)-1;t=Math.max(n,0)}else t=0;return{name:"reader",params:{pk:e,page:t}}}},Ie=vt("metadata",{state:()=>({md:void 0}),actions:{async loadMetadata({group:e,pk:t}){const a=W();await Lt.getMetadata({group:e,pk:t},a.settings).then(o=>(this.md=o.data,!0)).catch(o=>{console.error(o),this.clearMetadata()})},clearMetadata(){this.md=void 0}}}),za=1160,Ua=.05,qa=250,Ga={name:"MetadataButton",components:{BookCover:Ae,CloseButton:$e,MetadataContributorsTable:Aa,MetadataTags:ye,MetadataText:je,PlaceholderLoading:Oe},props:{group:{type:String,required:!0},book:{type:Object,required:!0},children:{type:Number,default:1}},data(){return{mdiDownload:ht,mdiTagOutline:ft,dialog:!1,progress:0}},computed:{...bt(pt,["isUserAdmin"]),...ee(W,{twentyFourHourTime:e=>e.settings.twentyFourHourTime,readingDirectionTitles:e=>e.choices.static.readingDirection,identifierTypes:e=>e.choices.static.identifierType}),...ee(Ie,{md:e=>e.md,downloadFileName:e=>{const t=e.md;return e.md.path?t.path.split("/").at(-1):Pt({seriesName:t.series.name,volumeName:t.volume.name,issueNumber:t.issueNumber,issueSuffix:t.issueSuffix})+"."+(void 0).fileType.toLowerCase()}}),...ee(W,{q:e=>e.settings.q}),downloadURL(){return It(this.book)},isReadButtonShown(){return this.group==="c"&&this.$route.name!="reader"},isReadButtonEnabled(){return this.$route.name==="browser"&&!!this.readerRoute},readButtonIcon(){return this.isReadButtonEnabled?gt:yt},readerRoute(){return ja(this.md)},formattedIssue(){if(!((this.md.issueNumber===null||this.md.issueNumber===void 0)&&!this.md.issueSuffix))return Nt(this.md)},readingDirectionText(){return this.readingDirectionTitles[this.md.readingDirection]},pages(){let e="";if(this.md.page){const a=we.format(this.md.page);e+=`Read ${a} of `}const t=we.format(this.md.pageCount);return e+=`${t} pages`,this.md.progress>0&&(e+=` (${Math.round(this.md.progress)}%)`),e},size(){return this.md.size>0?ba(this.md.size):0},fileType(){return this.md.fileType||"Unknown"},titledIdentifiers(){if(!this.md.identifiers)return this.md.identifiers;const e=[];for(const t of this.md.identifiers){const a=t.name.split(":"),o=a[0],n=a[1],s=this.identifierTypeTitle(o);let i="";s&&s!=="None"&&(i+=s+":"),i+=n,e.push({...t,name:i})}return e}},watch:{dialog(e){e?this.dialogOpened():this.clearMetadata()}},methods:{...ve(Ie,["clearMetadata","loadMetadata"]),...ve(_t,["downloadIOSPWAFix"]),...ve(W,["identifierTypeTitle"]),dialogOpened(){this.loadMetadata({group:this.group,pk:this.book.pk}),this.startProgress()},startProgress(){this.startTime=Date.now(),this.estimatedMS=Math.max(Ua,this.children/za)*1e3,this.updateProgress()},updateProgress(){const e=Date.now()-this.startTime;this.progress=e/this.estimatedMS*100,!(this.progress>=100||this.md)&&setTimeout(()=>{this.updateProgress()},qa)},formatDateTime(e){return kt(e,this.twentyFourHourTime)},download(){this.downloadIOSPWAFix(this.downloadURL,this.md.filename)}}},Ka=e=>(wt("data-v-96eeeb95"),e=e(),Vt(),e),Ya={id:"metadataHeader"},xa={id:"metadataBookCoverWrapper"},Ha={class:"inlineRow"},Wa={class:"inlineRow"},Xa={class:"inlineRow"},Qa={key:1,class:"inlineRow"},Za={id:"metadataBody"},Ja={class:"mdSection"},el={class:"quintRow"},tl={class:"mdSection"},al={class:"quarterRow"},ll={class:"lastSmallRow"},sl={class:"halfRow mdSection"},rl={class:"mdSection"},ol={class:"mdSection"},nl={class:"mdSection"},il={class:"mdSection"},ul={class:"mdSection"},dl={class:"mdSection inlineRow"},cl={class:"inlineRow"},ml={id:"footerLinks"},vl={id:"bottomRightButtons"},hl={key:1,id:"placeholderContainer"},fl=Ka(()=>m("div",{id:"placeholderTitle"},"Tags Loading",-1));function bl(e,t,a,o,n,s){const i=$e,r=je,c=Ae,h=ye,P=Le("MetadataContributorsTable"),_=Oe;return d(),B(jt,{modelValue:n.dialog,"onUpdate:modelValue":t[5]||(t[5]=b=>n.dialog=b),fullscreen:"",transition:"dialog-bottom-transition"},{activator:k(({props:b})=>[l(ne,X({"aria-label":"tags",class:"tagButton cardControlButton",icon:"",title:"Tags",variant:"text"},b,{onClick:t[0]||(t[0]=St(()=>{},["prevent"]))}),{default:k(()=>[l(te,null,{default:k(()=>[D(T(n.mdiTagOutline),1)]),_:1})]),_:2},1040)]),default:k(()=>[e.md?(d(),w("div",{key:0,id:"metadataContainer",onKeyup:t[3]||(t[3]=Tt(b=>n.dialog=!1,["esc"]))},[m("header",Ya,[l(i,{class:"closeButton",title:"Close Metadata (esc)",size:"x-large",onClick:t[1]||(t[1]=b=>n.dialog=!1)}),e.q?(d(),B(r,{key:0,id:"search",value:e.q,label:"Search Query",highlight:!0},null,8,["value"])):N("",!0),m("div",xa,[l(c,{id:"bookCover","cover-pk":e.md.coverPk,group:a.group,"child-count":e.md.childCount,finished:e.md.finished},null,8,["cover-pk","group","child-count","finished"]),l(Ct,{class:"bookCoverProgress","model-value":e.md.progress,rounded:"","background-color":"inherit",height:"2","aria-label":"% read"},null,8,["model-value"])]),m("div",Ha,[l(r,{id:"publisher",value:e.md.publisher,group:"p",label:"Publisher",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"]),l(r,{id:"imprint",value:e.md.imprint,group:"i",label:"Imprint",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"])]),m("div",Wa,[l(r,{id:"series",value:e.md.series,label:"Series",group:"s",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"])]),m("div",Xa,[l(r,{id:"volume",value:e.md.volume,label:"Volume",group:"v",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"]),l(r,{value:e.md.seriesVolumeCount,label:"Volume Count"},null,8,["value"]),l(r,{id:"issue",value:s.formattedIssue,label:"Issue",group:"c",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"]),l(r,{value:e.md.volumeIssueCount,label:"Issue Count"},null,8,["value"]),l(r,{value:e.md.name,label:"Title"},null,8,["value"])]),e.md.year||e.md.month||e.md.day?(d(),w("div",Qa,[l(r,{value:e.md.year,label:"Year",class:"datePicker",type:"number"},null,8,["value"]),l(r,{value:e.md.month,label:"Month",class:"datePicker"},null,8,["value"]),l(r,{value:e.md.day,label:"Day",class:"datePicker"},null,8,["value"])])):N("",!0)]),m("div",Za,[m("section",Ja,[m("div",el,[l(r,{value:s.pages,label:"Pages"},null,8,["value"]),l(r,{label:"Finished",value:(!!e.md.finished).toString()},null,8,["value"]),l(r,{label:"Reading Direction",value:s.readingDirectionText},null,8,["value"]),l(r,{value:(!!e.md.monochrome).toString(),label:"Monochrome"},null,8,["value"]),l(r,{value:e.md.original_format,label:"Original Format"},null,8,["value"])])]),m("section",tl,[m("div",al,[e.md.createdAt?(d(),B(r,{key:0,value:s.formatDateTime(e.md.createdAt),label:"Created at",class:"mtime"},null,8,["value"])):N("",!0),e.md.updatedAt?(d(),B(r,{key:1,value:s.formatDateTime(e.md.updatedAt),label:"Updated at",class:"mtime"},null,8,["value"])):N("",!0),l(r,{value:s.size,label:"Size"},null,8,["value"]),l(r,{value:s.fileType,label:"File Type"},null,8,["value"])]),m("div",ll,[l(r,{group:"f",value:{pk:e.md.parentFolderPk,name:e.md.path},label:"Path"},null,8,["value"])])]),m("section",sl,[l(r,{value:e.md.country,label:"Country"},null,8,["value"]),l(r,{value:e.md.language,label:"Language"},null,8,["value"])]),m("section",rl,[l(h,{values:s.titledIdentifiers,label:"Identifiers"},null,8,["values"])]),m("section",ol,[l(r,{value:e.md.summary,label:"Summary"},null,8,["value"]),l(r,{value:e.md.review,label:"Review"},null,8,["value"])]),m("section",nl,[l(r,{value:e.md.communityRating,label:"Community Rating"},null,8,["value"]),l(r,{value:e.md.criticalRating,label:"Critical Rating"},null,8,["value"]),l(r,{value:e.md.ageRating,label:"Age Rating"},null,8,["value"])]),m("section",il,[l(h,{values:e.md.genres,label:"Genres"},null,8,["values"]),l(h,{values:e.md.characters,label:"Characters"},null,8,["values"]),l(h,{values:e.md.teams,label:"Teams"},null,8,["values"]),l(h,{values:e.md.locations,label:"Locations"},null,8,["values"]),l(h,{values:e.md.seriesGroups,label:"Series Groups"},null,8,["values"]),l(h,{values:e.md.stories,label:"Stories"},null,8,["values"]),l(h,{values:e.md.storyArcNumbers,label:"Story Arcs"},null,8,["values"]),l(h,{values:e.md.tags,label:"Tags"},null,8,["values"])]),m("section",ul,[l(P,{value:e.md.contributors},null,8,["value"])]),m("section",dl,[l(r,{value:e.md.notes,label:"Notes"},null,8,["value"])]),m("section",cl,[l(r,{value:e.md.tagger,label:"Tagger"},null,8,["value"]),l(r,{value:e.md.scanInfo,label:"Scan"},null,8,["value"])])]),m("footer",ml,[a.group==="c"?(d(),B(ne,{key:0,id:"downloadButton",title:"Download Comic Archive",onClick:s.download},{default:k(()=>[a.group==="c"?(d(),B(te,{key:0},{default:k(()=>[D(T(n.mdiDownload),1)]),_:1})):N("",!0),D(" Download ")]),_:1},8,["onClick"])):N("",!0),s.isReadButtonShown?(d(),B(ne,{key:1,to:s.readerRoute,title:"Read Comic",disabled:!s.isReadButtonEnabled},{default:k(()=>[l(te,null,{default:k(()=>[D(T(s.readButtonIcon),1)]),_:1}),D(" Read ")]),_:1},8,["to","disabled"])):N("",!0),m("span",vl,[l(i,{class:"closeButton",title:"Close Metadata (esc)",size:"x-large",onClick:t[2]||(t[2]=b=>n.dialog=!1)})])])],32)):(d(),w("div",hl,[l(i,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[4]||(t[4]=b=>n.dialog=!1)}),fl,l(_,{"model-value":n.progress,indeterminate:n.progress>=100,class:"placeholder"},null,8,["model-value","indeterminate"])]))]),_:1},8,["modelValue"])}const Pl=U(Ga,[["render",bl],["__scopeId","data-v-96eeeb95"]]);export{ra as N,Oe as P,Tl as V,Bl as _,Vl as a,wl as b,Pl as c,Ae as d,ja as g,ba as p,ua as t};
@@ -1 +0,0 @@
1
- import{x as ae,E as fe,bJ as He,G as ie,av as We,au as E,K as ue,L as l,_ as U,R as d,O as B,aJ as Ne,az as de,P as k,aK as Re,am as X,bK as Xe,bL as Qe,h as v,bM as ke,J as be,s as Se,r as he,S as Ze,p as Je,bN as Me,bO as et,i as Fe,bP as tt,aj as at,z as H,be as Ce,bf as lt,bQ as st,bh as rt,bR as ot,bS as nt,at as Te,ar as it,al as pe,aa as D,ae as T,ak as ne,bT as ut,bU as dt,M as ee,ay as w,bV as ct,ab as Ee,aB as N,bW as mt,a$ as De,aD as m,ad as te,Q as Le,l as vt,a_ as $e,bt as ht,bX as ft,ax as bt,m as pt,b8 as gt,b9 as yt,b4 as we,N as ve,k as _t,b5 as kt,b7 as St,aQ as Ct,aX as Tt,aH as wt,aI as Vt}from"./admin-drawer-panel-Bd9_K-7V.js";import{a as Bt,g as Pt,h as It,j as Nt}from"./VToolbar-C__BHwZO.js";import{m as Rt,a as Mt,u as Ft,V as Ve,b as Et}from"./VSelectionControl-DP64P5MF.js";import{C as Dt,u as W,A as Lt}from"./main-B0Xaei3w.js";import{c as $t,d as Ot}from"./VSelect-O_Yn2sND.js";import{c as At}from"./to-case-kUm8NPpW.js";import{V as jt}from"./confirm-footer-nURenNFu.js";const zt=ae({...fe(),...He({variant:"text"})},"VToolbarItems"),Tl=ie()({name:"VToolbarItems",props:zt(),setup(e,t){let{slots:a}=t;return We({VBtn:{color:E(e,"color"),height:"inherit",variant:E(e,"variant")}}),ue(()=>{var o;return l("div",{class:["v-toolbar-items",e.class],style:e.style},[(o=a.default)==null?void 0:o.call(a)])}),{}}}),Ut={name:"PaginationToolbar"};function qt(e,t,a,o,n,s){return d(),B(Bt,{class:"paginationToolbar codexToolbar",density:"compact",transform:"center bottom"},Ne({_:2},[de(e.$slots,(i,r)=>({name:r,fn:k(c=>[Re(e.$slots,r,X({props:i},c),void 0,!0)])}))]),1024)}const wl=U(Ut,[["render",qt],["__scopeId","data-v-cfa8cce0"]]),ge=Symbol.for("vuetify:v-slider");function Gt(e,t,a){const o=a==="vertical",n=t.getBoundingClientRect(),s="touches"in e?e.touches[0]:e;return o?s.clientY-(n.top+n.height/2):s.clientX-(n.left+n.width/2)}function Kt(e,t){return"touches"in e&&e.touches.length?e.touches[0][t]:"changedTouches"in e&&e.changedTouches.length?e.changedTouches[0][t]:e[t]}const Yt=ae({disabled:{type:Boolean,default:null},error:Boolean,readonly:{type:Boolean,default:null},max:{type:[Number,String],default:100},min:{type:[Number,String],default:0},step:{type:[Number,String],default:0},thumbColor:String,thumbLabel:{type:[Boolean,String],default:void 0,validator:e=>typeof e=="boolean"||e==="always"},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:e=>typeof e=="boolean"||e==="always"},ticks:{type:[Array,Object]},tickSize:{type:[Number,String],default:2},color:String,trackColor:String,trackFillColor:String,trackSize:{type:[Number,String],default:4},direction:{type:String,default:"horizontal",validator:e=>["vertical","horizontal"].includes(e)},reverse:Boolean,...Xe(),...Qe({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),xt=e=>{const t=v(()=>parseFloat(e.min)),a=v(()=>parseFloat(e.max)),o=v(()=>+e.step>0?parseFloat(e.step):0),n=v(()=>Math.max(ke(o.value),ke(t.value)));function s(i){if(i=parseFloat(i),o.value<=0)return i;const r=Me(i,t.value,a.value),c=t.value%o.value,h=Math.round((r-c)/o.value)*o.value+c;return parseFloat(Math.min(h,a.value).toFixed(n.value))}return{min:t,max:a,step:o,decimals:n,roundValue:s}},Ht=e=>{let{props:t,steps:a,onSliderStart:o,onSliderMove:n,onSliderEnd:s,getActiveThumb:i}=e;const{isRtl:r}=be(),c=E(t,"reverse"),h=v(()=>t.direction==="vertical"),P=v(()=>h.value!==c.value),{min:_,max:b,step:L,decimals:q,roundValue:A}=a,Y=v(()=>parseInt(t.thumbSize,10)),G=v(()=>parseInt(t.tickSize,10)),j=v(()=>parseInt(t.trackSize,10)),$=v(()=>(b.value-_.value)/L.value),x=E(t,"disabled"),O=v(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),p=v(()=>t.error||t.disabled?void 0:t.trackColor??t.color),R=v(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),S=Se(!1),C=Se(0),M=he(),F=he();function f(u){var _e;const y=t.direction==="vertical",Ue=y?"top":"left",qe=y?"height":"width",Ge=y?"clientY":"clientX",{[Ue]:Ke,[qe]:Ye}=(_e=M.value)==null?void 0:_e.$el.getBoundingClientRect(),xe=Kt(u,Ge);let me=Math.min(Math.max((xe-Ke-C.value)/Ye,0),1)||0;return(y?P.value:P.value!==r.value)&&(me=1-me),A(_.value+me*(b.value-_.value))}const z=u=>{s({value:f(u)}),S.value=!1,C.value=0},K=u=>{F.value=i(u),F.value&&(F.value.focus(),S.value=!0,F.value.contains(u.target)?C.value=Gt(u,F.value,t.direction):(C.value=0,n({value:f(u)})),o({value:f(u)}))},I={passive:!0,capture:!0};function Q(u){n({value:f(u)})}function le(u){u.stopPropagation(),u.preventDefault(),z(u),window.removeEventListener("mousemove",Q,I),window.removeEventListener("mouseup",le)}function se(u){var y;z(u),window.removeEventListener("touchmove",Q,I),(y=u.target)==null||y.removeEventListener("touchend",se)}function ce(u){var y;K(u),window.addEventListener("touchmove",Q,I),(y=u.target)==null||y.addEventListener("touchend",se,{passive:!1})}function V(u){u.preventDefault(),K(u),window.addEventListener("mousemove",Q,I),window.addEventListener("mouseup",le,{passive:!1})}const g=u=>{const y=(u-_.value)/(b.value-_.value)*100;return Me(isNaN(y)?0:y,0,100)},Z=E(t,"showTicks"),J=v(()=>Z.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(u=>({value:u,position:g(u),label:u.toString()})):Object.keys(t.ticks).map(u=>({value:parseFloat(u),position:g(parseFloat(u)),label:t.ticks[u]})):$.value!==1/0?Ze($.value+1).map(u=>{const y=_.value+u*L.value;return{value:y,position:g(y)}}):[]:[]),re=v(()=>J.value.some(u=>{let{label:y}=u;return!!y})),oe={activeThumbRef:F,color:E(t,"color"),decimals:q,disabled:x,direction:E(t,"direction"),elevation:E(t,"elevation"),hasLabels:re,isReversed:c,indexFromEnd:P,min:_,max:b,mousePressed:S,numTicks:$,onSliderMousedown:V,onSliderTouchstart:ce,parsedTicks:J,parseMouseMove:f,position:g,readonly:E(t,"readonly"),rounded:E(t,"rounded"),roundValue:A,showTicks:Z,startOffset:C,step:L,thumbSize:Y,thumbColor:O,thumbLabel:E(t,"thumbLabel"),ticks:E(t,"ticks"),tickSize:G,trackColor:p,trackContainerRef:M,trackFillColor:R,trackSize:j,vertical:h};return Je(ge,oe),oe},Wt=ae({focused:Boolean,max:{type:Number,required:!0},min:{type:Number,required:!0},modelValue:{type:Number,required:!0},position:{type:Number,required:!0},ripple:{type:[Boolean,Object],default:!0},...fe()},"VSliderThumb"),Xt=ie()({name:"VSliderThumb",directives:{Ripple:et},props:Wt(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a,emit:o}=t;const n=Fe(ge),{isRtl:s,rtlClasses:i}=be();if(!n)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:r,step:c,disabled:h,thumbSize:P,thumbLabel:_,direction:b,isReversed:L,vertical:q,readonly:A,elevation:Y,mousePressed:G,decimals:j,indexFromEnd:$}=n,x=v(()=>h.value?void 0:Y.value),{elevationClasses:O}=tt(x),{textColorClasses:p,textColorStyles:R}=at(r),{pageup:S,pagedown:C,end:M,home:F,left:f,right:z,down:K,up:I}=ot,Q=[S,C,M,F,f,z,K,I],le=v(()=>c.value?[1,2,3]:[1,5,10]);function se(V,g){if(!Q.includes(V.key))return;V.preventDefault();const Z=c.value||.1,J=(e.max-e.min)/Z;if([f,z,K,I].includes(V.key)){const oe=(q.value?[s.value?f:z,L.value?K:I]:$.value!==s.value?[f,I]:[z,I]).includes(V.key)?1:-1,u=V.shiftKey?2:V.ctrlKey?1:0;g=g+oe*Z*le.value[u]}else if(V.key===F)g=e.min;else if(V.key===M)g=e.max;else{const re=V.key===C?1:-1;g=g-re*Z*(J>100?J/10:10)}return Math.max(e.min,Math.min(e.max,g))}function ce(V){const g=se(V,e.modelValue);g!=null&&o("update:modelValue",g)}return ue(()=>{const V=H($.value?100-e.position:e.position,"%");return l("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&G.value},e.class,i.value],style:[{"--v-slider-thumb-position":V,"--v-slider-thumb-size":H(P.value)},e.style],role:"slider",tabindex:h.value?-1:0,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.modelValue,"aria-readonly":!!A.value,"aria-orientation":b.value,onKeydown:A.value?void 0:ce},[l("div",{class:["v-slider-thumb__surface",p.value,O.value],style:{...R.value}},null),Ce(l("div",{class:["v-slider-thumb__ripple",p.value],style:R.value},null),[[lt("ripple"),e.ripple,null,{circle:!0,center:!0}]]),l(st,{origin:"bottom center"},{default:()=>{var g;return[Ce(l("div",{class:"v-slider-thumb__label-container"},[l("div",{class:["v-slider-thumb__label"]},[l("div",null,[((g=a["thumb-label"])==null?void 0:g.call(a,{modelValue:e.modelValue}))??e.modelValue.toFixed(c.value?j.value:1)])])]),[[rt,_.value&&e.focused||_.value==="always"]])]}})])}),{}}}),Qt=ae({start:{type:Number,required:!0},stop:{type:Number,required:!0},...fe()},"VSliderTrack"),Zt=ie()({name:"VSliderTrack",props:Qt(),emits:{},setup(e,t){let{slots:a}=t;const o=Fe(ge);if(!o)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:n,parsedTicks:s,rounded:i,showTicks:r,tickSize:c,trackColor:h,trackFillColor:P,trackSize:_,vertical:b,min:L,max:q,indexFromEnd:A}=o,{roundedClasses:Y}=nt(i),{backgroundColorClasses:G,backgroundColorStyles:j}=Te(P),{backgroundColorClasses:$,backgroundColorStyles:x}=Te(h),O=v(()=>`inset-${b.value?"block":"inline"}-${A.value?"end":"start"}`),p=v(()=>b.value?"height":"width"),R=v(()=>({[O.value]:"0%",[p.value]:"100%"})),S=v(()=>e.stop-e.start),C=v(()=>({[O.value]:H(e.start,"%"),[p.value]:H(S.value,"%")})),M=v(()=>r.value?(b.value?s.value.slice().reverse():s.value).map((f,z)=>{var I;const K=f.value!==L.value&&f.value!==q.value?H(f.position,"%"):void 0;return l("div",{key:f.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":f.position>=e.start&&f.position<=e.stop,"v-slider-track__tick--first":f.value===L.value,"v-slider-track__tick--last":f.value===q.value}],style:{[O.value]:K}},[(f.label||a["tick-label"])&&l("div",{class:"v-slider-track__tick-label"},[((I=a["tick-label"])==null?void 0:I.call(a,{tick:f,index:z}))??f.label])])}):[]);return ue(()=>l("div",{class:["v-slider-track",Y.value,e.class],style:[{"--v-slider-track-size":H(_.value),"--v-slider-tick-size":H(c.value)},e.style]},[l("div",{class:["v-slider-track__background",$.value,{"v-slider-track__background--opacity":!!n.value||!P.value}],style:{...R.value,...x.value}},null),l("div",{class:["v-slider-track__fill",G.value],style:{...C.value,...j.value}},null),r.value&&l("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":r.value==="always"}]},[M.value])])),{}}}),Jt=ae({...Rt(),...Yt(),...Mt(),modelValue:{type:[Number,String],default:0}},"VSlider"),ea=ie()({name:"VSlider",props:Jt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:a,emit:o}=t;const n=he(),{rtlClasses:s}=be(),i=xt(e),r=it(e,"modelValue",void 0,p=>i.roundValue(p??i.min.value)),{min:c,max:h,mousePressed:P,roundValue:_,onSliderMousedown:b,onSliderTouchstart:L,trackContainerRef:q,position:A,hasLabels:Y,readonly:G}=Ht({props:e,steps:i,onSliderStart:()=>{o("start",r.value)},onSliderEnd:p=>{let{value:R}=p;const S=_(R);r.value=S,o("end",S)},onSliderMove:p=>{let{value:R}=p;return r.value=_(R)},getActiveThumb:()=>{var p;return(p=n.value)==null?void 0:p.$el}}),{isFocused:j,focus:$,blur:x}=Ft(e),O=v(()=>A(r.value));return ue(()=>{const p=Ve.filterProps(e),R=!!(e.label||a.label||a.prepend);return l(Ve,X({class:["v-slider",{"v-slider--has-labels":!!a["tick-label"]||Y.value,"v-slider--focused":j.value,"v-slider--pressed":P.value,"v-slider--disabled":e.disabled},s.value,e.class],style:e.style},p,{focused:j.value}),{...a,prepend:R?S=>{var C,M;return l(pe,null,[((C=a.label)==null?void 0:C.call(a,S))??(e.label?l(Et,{id:S.id.value,class:"v-slider__label",text:e.label},null):void 0),(M=a.prepend)==null?void 0:M.call(a,S)])}:void 0,default:S=>{let{id:C,messagesId:M}=S;return l("div",{class:"v-slider__container",onMousedown:G.value?void 0:b,onTouchstartPassive:G.value?void 0:L},[l("input",{id:C.value,name:e.name||C.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:r.value},null),l(Zt,{ref:q,start:0,stop:O.value},{"tick-label":a["tick-label"]}),l(Xt,{ref:n,"aria-describedby":M.value,focused:j.value,min:c.value,max:h.value,modelValue:r.value,"onUpdate:modelValue":F=>r.value=F,position:O.value,elevation:e.elevation,onFocus:$,onBlur:x,ripple:e.ripple},{"thumb-label":a["thumb-label"]})])}})}),{}}}),ta={name:"PaginationSlider"};function aa(e,t,a,o,n,s){return d(),B(ea,X({"thumb-size":"36",class:"paginationSlider",density:"compact","hide-details":"auto",rounded:!0,"show-ticks":"always",step:1,"thumb-label":"always"},e.$attrs),{"tick-label":k(({index:i})=>[D(T(i),1)]),_:1},16)}const Vl=U(ta,[["render",aa],["__scopeId","data-v-94e297ed"]]),la={name:"PaginationNavButton"};function sa(e,t,a,o,n,s){return d(),B(ne,X({class:"paginationNavButton",height:"100%"},e.$attrs),Ne({_:2},[de(e.$slots,(i,r)=>({name:r,fn:k(c=>[Re(e.$slots,r,X({props:i},c),void 0,!0)])}))]),1040)}const Bl=U(la,[["render",sa],["__scopeId","data-v-852fad11"]]),Be=Dt.browser.vuetifyNullCode,ra=new Set(["",Be,Be.toString(),void 0]),oa=function(e){let t;return e===void 0?t=e:e instanceof Object?t={value:e.pk,title:e.name}:t={value:e,title:e.toString()},e.url&&(t.url=e.url),t},na=function(e,t){return e.title<t.title?-1:e.title>t.title?1:0},ia=function(e,t){return Number.parseFloat(e.title)-Number.parseFloat(t.title)},ua=function(e,t,a=!1){const o=e||[],n=t&&t.toLowerCase();let s=[];for(const r of o){if(!r||ra.has(r.pk))continue;const c=oa(r);c&&(!n||c.title&&c.title.toLowerCase().includes(n))&&s.push(c)}const i=a?ia:na;return s.sort(i)},da={name:"PlaceholderLoading",props:{indeterminate:{type:Boolean,default:!0}}};function ca(e,t,a,o,n,s){return d(),B(ut,X({"aria-label":"loading",class:"codexProgressCircular",indeterminate:a.indeterminate},e.$attrs),null,16,["indeterminate"])}const Oe=U(da,[["render",ca],["__scopeId","data-v-7bb4cf22"]]),ma=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],va=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],ha=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],fa=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Pe=(e,t,a)=>{let o=e;return typeof t=="string"||Array.isArray(t)?o=e.toLocaleString(t,a):(t===!0||a!==void 0)&&(o=e.toLocaleString(void 0,a)),o};function ba(e,t){if(!Number.isFinite(e))throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);t={bits:!1,binary:!1,space:!0,...t};const a=t.bits?t.binary?fa:ha:t.binary?va:ma,o=t.space?" ":"";if(t.signed&&e===0)return` 0${o}${a[0]}`;const n=e<0,s=n?"-":t.signed?"+":"";n&&(e=-e);let i;if(t.minimumFractionDigits!==void 0&&(i={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(i={maximumFractionDigits:t.maximumFractionDigits,...i}),e<1){const P=Pe(e,t.locale,i);return s+P+o+a[0]}const r=Math.min(Math.floor(t.binary?Math.log(e)/Math.log(1024):Math.log10(e)/3),a.length-1);e/=(t.binary?1024:1e3)**r,i||(e=e.toPrecision(3));const c=Pe(Number(e),t.locale,i),h=a[r];return s+c+o+h}const pa=(e,t)=>e?`${dt(e)}/cover.webp?${t}`:window.CODEX.MISSING_COVER,ga={name:"BookCover",props:{group:{type:String,required:!0},childCount:{type:Number,default:1},finished:{type:Boolean},coverPk:{type:Number,required:!0}},data(){return{showPlaceholder:!1}},computed:{...ee(W,{coverSrc:function(e){return pa(this.coverPk,e.page.coversTimestamp)}})},mounted:function(){this.delayPlaceholder()},methods:{delayPlaceholder:function(){setTimeout(()=>{this.showPlaceholder=!0},2e3)}}},ya={class:"bookCover"},_a={key:1,class:"childCount"};function ka(e,t,a,o,n,s){return d(),w("div",ya,[l(ct,{src:e.coverSrc,class:"coverImg"},null,8,["src"]),a.finished!==!0?(d(),w("div",{key:0,class:Ee({unreadFlag:!0,mixedreadFlag:a.finished===null})},null,2)):N("",!0),a.group!=="c"?(d(),w("span",_a,T(a.childCount),1)):N("",!0)])}const Ae=U(ga,[["render",ka],["__scopeId","data-v-9acb5f6a"]]),Sa={name:"MetadataTags",props:{label:{type:String,required:!0},values:{type:Array,default(){return[]}},filter:{type:String,required:!1,default:void 0}},data(){return{mdiFilter:mt,mdiOpenInNew:De}},computed:{...ee(W,{filterValues:function(e){const t=this.filter||this.label.toLowerCase();return e.settings.filters[t]}}),model(){return ua(this.values)}},methods:{chipColor:function(e){return this.filterValues&&this.filterValues.includes(e)?this.$vuetify.theme.current.colors["primary-darken-1"]:""}}},Ca={key:0,class:"tags"},Ta={class:"chipGroupLabel"},wa=["href"],Va={key:1};function Ba(e,t,a,o,n,s){return s.model&&s.model.length>0?(d(),w("div",Ca,[m("div",Ta,T(a.label),1),l(Ot,{column:!0,multiple:"",value:s.model},{default:k(()=>[(d(!0),w(pe,null,de(s.model,i=>(d(),B($t,{key:`${a.label}/${i.value}`,color:s.chipColor(i.value),value:i.value},{default:k(()=>[i.url?(d(),w("a",{key:0,href:i.url,target:"_blank"},[D(T(i.title),1),l(te,null,{default:k(()=>[D(T(n.mdiOpenInNew),1)]),_:1})],8,wa)):(d(),w("span",Va,T(i.title),1))]),_:2},1032,["color","value"]))),128))]),_:1},8,["value"])])):N("",!0)}const ye=U(Sa,[["render",Ba],["__scopeId","data-v-82f56115"]]),Pa={name:"MetadataTextBox",props:{label:{type:String,required:!0},value:{type:[Object,String,Number,Boolean],default:void 0},link:{type:[Boolean,String],default:!1},group:{type:String,default:""},obj:{type:Object,default:void 0}},data(){return{mdiOpenInNew:De}},computed:{computedValue(){return this.value!=null&&this.value instanceof Object?this.value.name:this.value},linkValue(){return this.link===!0?this.computedValue:this.link?this.link:!1},highlight(){var e;return((e=this.obj)==null?void 0:e.group)===this.group},pathArray(){if(this.computedValue)return this.computedValue.split("/")},folderPath(){if(this.pathArray)return this.pathArray.slice(0,-1).join("/")},basePath(){if(this.pathArray)return this.pathArray.at(-1)},groupTo(){const e=W();if(this.group!=="f"&&!e.settings.show[this.group]||this.group==="f"&&!e.page.adminFlags.folderView)return;let t;if(t=this.obj&&this.obj.group==this.group?this.obj.pk:this.value.pk,!t)return;const a=this.$router.currentRoute.value.params;if(!(a.group===this.group&&+a.pk===t))return{name:"browser",params:{group:this.group,pk:t}}}}},Ia={class:"textLabel"},Na={class:"textValue"},Ra=["href"],Ma={key:3,class:"textContent"},Fa={key:4,id:"basePath"};function Ea(e,t,a,o,n,s){const i=Le("router-link");return s.computedValue?(d(),w("div",{key:0,class:Ee(["text",{highlight:s.highlight}])},[m("div",Ia,T(a.label),1),m("div",Na,[s.groupTo&&a.group==="f"?(d(),B(i,{key:0,id:"folderPath",to:s.groupTo,title:"Browse Folder"},{default:k(()=>[D(T(s.folderPath)+"/ ",1)]),_:1},8,["to"])):s.groupTo?(d(),B(i,{key:1,class:"textContent",to:s.groupTo,title:`Browse ${a.label}`},{default:k(()=>[D(T(s.computedValue),1)]),_:1},8,["to","title"])):a.link?(d(),w("a",{key:2,href:s.linkValue,target:"_blank"},[D(T(s.computedValue)+" ",1),l(te,{size:"small"},{default:k(()=>[D(T(n.mdiOpenInNew),1)]),_:1})],8,Ra)):(d(),w("div",Ma,T(s.computedValue),1)),s.groupTo&&a.group==="f"?(d(),w("span",Fa,T(s.basePath),1)):N("",!0)])],2)):N("",!0)}const je=U(Pa,[["render",Ea],["__scopeId","data-v-623baf79"]]),Da={name:"MetadataContributorsTable",props:{value:{type:Array,default:void 0}},data(){return{}},computed:{contributorsDict(){const e={};for(const{role:o,person:n}of this.value){const s=At(o.name)+"s";e[s]||(e[s]=[]),e[s].push(n)}const t=Object.keys(e).sort((o,n)=>o.localeCompare(n)),a={};for(const o of t)a[o]=e[o].sort((n,s)=>n.name.localeCompare(s.name));return a}}},La={key:0},$a=m("h3",null,"Contributors",-1);function Oa(e,t,a,o,n,s){const i=ye;return Object.keys(s.contributorsDict).length>0?(d(),w("div",La,[$a,(d(!0),w(pe,null,de(Object.entries(s.contributorsDict),([r,c])=>(d(),B(i,{key:r,values:c,label:r,filter:"contributors"},null,8,["values","label"]))),128))])):N("",!0)}const Aa=U(Da,[["render",Oa]]),ze=new Set("rtl","btt");Object.freeze(ze);const ja=({pk:e,page:t,readingDirection:a,pageCount:o})=>{if(o){if(t)t=Number(t);else if(ze.has(a)){const n=Number(o)-1;t=Math.max(n,0)}else t=0;return{name:"reader",params:{pk:e,page:t}}}},Ie=vt("metadata",{state:()=>({md:void 0}),actions:{async loadMetadata({group:e,pk:t}){const a=W();await Lt.getMetadata({group:e,pk:t},a.settings).then(o=>(this.md=o.data,!0)).catch(o=>{console.error(o),this.clearMetadata()})},clearMetadata(){this.md=void 0}}}),za=1160,Ua=.05,qa=250,Ga={name:"MetadataButton",components:{BookCover:Ae,CloseButton:$e,MetadataContributorsTable:Aa,MetadataTags:ye,MetadataText:je,PlaceholderLoading:Oe},props:{group:{type:String,required:!0},book:{type:Object,required:!0},children:{type:Number,default:1}},data(){return{mdiDownload:ht,mdiTagOutline:ft,dialog:!1,progress:0}},computed:{...bt(pt,["isUserAdmin"]),...ee(W,{twentyFourHourTime:e=>e.settings.twentyFourHourTime,readingDirectionTitles:e=>e.choices.static.readingDirection,identifierTypes:e=>e.choices.static.identifierType}),...ee(Ie,{md:e=>e.md,downloadFileName:e=>{const t=e.md;return e.md.path?t.path.split("/").at(-1):Pt({seriesName:t.series.name,volumeName:t.volume.name,issueNumber:t.issueNumber,issueSuffix:t.issueSuffix})+"."+(void 0).fileType.toLowerCase()}}),...ee(W,{q:e=>e.settings.q}),downloadURL(){return It(this.book)},isReadButtonShown(){return this.group==="c"&&this.$route.name!="reader"},isReadButtonEnabled(){return this.$route.name==="browser"&&!!this.readerRoute},readButtonIcon(){return this.isReadButtonEnabled?gt:yt},readerRoute(){return ja(this.md)},formattedIssue(){if(!((this.md.issueNumber===null||this.md.issueNumber===void 0)&&!this.md.issueSuffix))return Nt(this.md)},readingDirectionText(){return this.readingDirectionTitles[this.md.readingDirection]},pages(){let e="";if(this.md.page){const a=we.format(this.md.page);e+=`Read ${a} of `}const t=we.format(this.md.pageCount);return e+=`${t} pages`,this.md.progress>0&&(e+=` (${Math.round(this.md.progress)}%)`),e},size(){return this.md.size>0?ba(this.md.size):0},fileType(){return this.md.fileType||"Unknown"},titledIdentifiers(){if(!this.md.identifiers)return this.md.identifiers;const e=[];for(const t of this.md.identifiers){const a=t.name.split(":"),o=a[0],n=a[1],s=this.identifierTypeTitle(o);let i="";s&&s!=="None"&&(i+=s+":"),i+=n,e.push({...t,name:i})}return e}},watch:{dialog(e){e?this.dialogOpened():this.clearMetadata()}},methods:{...ve(Ie,["clearMetadata","loadMetadata"]),...ve(_t,["downloadIOSPWAFix"]),...ve(W,["identifierTypeTitle"]),dialogOpened(){this.loadMetadata({group:this.group,pk:this.book.pk}),this.startProgress()},startProgress(){this.startTime=Date.now(),this.estimatedMS=Math.max(Ua,this.children/za)*1e3,this.updateProgress()},updateProgress(){const e=Date.now()-this.startTime;this.progress=e/this.estimatedMS*100,!(this.progress>=100||this.md)&&setTimeout(()=>{this.updateProgress()},qa)},formatDateTime(e){return kt(e,this.twentyFourHourTime)},download(){this.downloadIOSPWAFix(this.downloadURL,this.md.filename)}}},Ka=e=>(wt("data-v-96eeeb95"),e=e(),Vt(),e),Ya={id:"metadataHeader"},xa={id:"metadataBookCoverWrapper"},Ha={class:"inlineRow"},Wa={class:"inlineRow"},Xa={class:"inlineRow"},Qa={key:1,class:"inlineRow"},Za={id:"metadataBody"},Ja={class:"mdSection"},el={class:"quintRow"},tl={class:"mdSection"},al={class:"quarterRow"},ll={class:"lastSmallRow"},sl={class:"halfRow mdSection"},rl={class:"mdSection"},ol={class:"mdSection"},nl={class:"mdSection"},il={class:"mdSection"},ul={class:"mdSection"},dl={class:"mdSection inlineRow"},cl={class:"inlineRow"},ml={id:"footerLinks"},vl={id:"bottomRightButtons"},hl={key:1,id:"placeholderContainer"},fl=Ka(()=>m("div",{id:"placeholderTitle"},"Tags Loading",-1));function bl(e,t,a,o,n,s){const i=$e,r=je,c=Ae,h=ye,P=Le("MetadataContributorsTable"),_=Oe;return d(),B(jt,{modelValue:n.dialog,"onUpdate:modelValue":t[5]||(t[5]=b=>n.dialog=b),fullscreen:"",transition:"dialog-bottom-transition"},{activator:k(({props:b})=>[l(ne,X({"aria-label":"tags",class:"tagButton cardControlButton",icon:"",title:"Tags",variant:"text"},b,{onClick:t[0]||(t[0]=St(()=>{},["prevent"]))}),{default:k(()=>[l(te,null,{default:k(()=>[D(T(n.mdiTagOutline),1)]),_:1})]),_:2},1040)]),default:k(()=>[e.md?(d(),w("div",{key:0,id:"metadataContainer",onKeyup:t[3]||(t[3]=Tt(b=>n.dialog=!1,["esc"]))},[m("header",Ya,[l(i,{class:"closeButton",title:"Close Metadata (esc)",size:"x-large",onClick:t[1]||(t[1]=b=>n.dialog=!1)}),e.q?(d(),B(r,{key:0,id:"search",value:e.q,label:"Search Query",highlight:!0},null,8,["value"])):N("",!0),m("div",xa,[l(c,{id:"bookCover","cover-pk":e.md.coverPk,group:a.group,"child-count":e.md.childCount,finished:e.md.finished},null,8,["cover-pk","group","child-count","finished"]),l(Ct,{class:"bookCoverProgress","model-value":e.md.progress,rounded:"","background-color":"inherit",height:"2","aria-label":"% read"},null,8,["model-value"])]),m("div",Ha,[l(r,{id:"publisher",value:e.md.publisher,group:"p",label:"Publisher",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"]),l(r,{id:"imprint",value:e.md.imprint,group:"i",label:"Imprint",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"])]),m("div",Wa,[l(r,{id:"series",value:e.md.series,label:"Series",group:"s",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"])]),m("div",Xa,[l(r,{id:"volume",value:e.md.volume,label:"Volume",group:"v",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"]),l(r,{value:e.md.seriesVolumeCount,label:"Volume Count"},null,8,["value"]),l(r,{id:"issue",value:s.formattedIssue,label:"Issue",group:"c",obj:{pk:e.md.id,group:e.md.group}},null,8,["value","obj"]),l(r,{value:e.md.volumeIssueCount,label:"Issue Count"},null,8,["value"]),l(r,{value:e.md.name,label:"Title"},null,8,["value"])]),e.md.year||e.md.month||e.md.day?(d(),w("div",Qa,[l(r,{value:e.md.year,label:"Year",class:"datePicker",type:"number"},null,8,["value"]),l(r,{value:e.md.month,label:"Month",class:"datePicker"},null,8,["value"]),l(r,{value:e.md.day,label:"Day",class:"datePicker"},null,8,["value"])])):N("",!0)]),m("div",Za,[m("section",Ja,[m("div",el,[l(r,{value:s.pages,label:"Pages"},null,8,["value"]),l(r,{label:"Finished",value:(!!e.md.finished).toString()},null,8,["value"]),l(r,{label:"Reading Direction",value:s.readingDirectionText},null,8,["value"]),l(r,{value:(!!e.md.monochrome).toString(),label:"Monochrome"},null,8,["value"]),l(r,{value:e.md.original_format,label:"Original Format"},null,8,["value"])])]),m("section",tl,[m("div",al,[e.md.createdAt?(d(),B(r,{key:0,value:s.formatDateTime(e.md.createdAt),label:"Created at",class:"mtime"},null,8,["value"])):N("",!0),e.md.updatedAt?(d(),B(r,{key:1,value:s.formatDateTime(e.md.updatedAt),label:"Updated at",class:"mtime"},null,8,["value"])):N("",!0),l(r,{value:s.size,label:"Size"},null,8,["value"]),l(r,{value:s.fileType,label:"File Type"},null,8,["value"])]),m("div",ll,[l(r,{group:"f",value:{pk:e.md.parentFolderPk,name:e.md.path},label:"Path"},null,8,["value"])])]),m("section",sl,[l(r,{value:e.md.country,label:"Country"},null,8,["value"]),l(r,{value:e.md.language,label:"Language"},null,8,["value"])]),m("section",rl,[l(h,{values:s.titledIdentifiers,label:"Identifiers"},null,8,["values"])]),m("section",ol,[l(r,{value:e.md.summary,label:"Summary"},null,8,["value"]),l(r,{value:e.md.review,label:"Review"},null,8,["value"])]),m("section",nl,[l(r,{value:e.md.communityRating,label:"Community Rating"},null,8,["value"]),l(r,{value:e.md.criticalRating,label:"Critical Rating"},null,8,["value"]),l(r,{value:e.md.ageRating,label:"Age Rating"},null,8,["value"])]),m("section",il,[l(h,{values:e.md.genres,label:"Genres"},null,8,["values"]),l(h,{values:e.md.characters,label:"Characters"},null,8,["values"]),l(h,{values:e.md.teams,label:"Teams"},null,8,["values"]),l(h,{values:e.md.locations,label:"Locations"},null,8,["values"]),l(h,{values:e.md.seriesGroups,label:"Series Groups"},null,8,["values"]),l(h,{values:e.md.stories,label:"Stories"},null,8,["values"]),l(h,{values:e.md.storyArcNumbers,label:"Story Arcs"},null,8,["values"]),l(h,{values:e.md.tags,label:"Tags"},null,8,["values"])]),m("section",ul,[l(P,{value:e.md.contributors},null,8,["value"])]),m("section",dl,[l(r,{value:e.md.notes,label:"Notes"},null,8,["value"])]),m("section",cl,[l(r,{value:e.md.tagger,label:"Tagger"},null,8,["value"]),l(r,{value:e.md.scanInfo,label:"Scan"},null,8,["value"])])]),m("footer",ml,[a.group==="c"?(d(),B(ne,{key:0,id:"downloadButton",title:"Download Comic Archive",onClick:s.download},{default:k(()=>[a.group==="c"?(d(),B(te,{key:0},{default:k(()=>[D(T(n.mdiDownload),1)]),_:1})):N("",!0),D(" Download ")]),_:1},8,["onClick"])):N("",!0),s.isReadButtonShown?(d(),B(ne,{key:1,to:s.readerRoute,title:"Read Comic",disabled:!s.isReadButtonEnabled},{default:k(()=>[l(te,null,{default:k(()=>[D(T(s.readButtonIcon),1)]),_:1}),D(" Read ")]),_:1},8,["to","disabled"])):N("",!0),m("span",vl,[l(i,{class:"closeButton",title:"Close Metadata (esc)",size:"x-large",onClick:t[2]||(t[2]=b=>n.dialog=!1)})])])],32)):(d(),w("div",hl,[l(i,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[4]||(t[4]=b=>n.dialog=!1)}),fl,l(_,{"model-value":n.progress,indeterminate:n.progress>=100,class:"placeholder"},null,8,["model-value","indeterminate"])]))]),_:1},8,["modelValue"])}const Pl=U(Ga,[["render",bl],["__scopeId","data-v-96eeeb95"]]);export{ra as N,Oe as P,Tl as V,Bl as _,Vl as a,wl as b,Pl as c,Ae as d,ja as g,ba as p,ua as t};
@@ -1,7 +0,0 @@
1
- function __vite__mapDeps(indexes) {
2
- if (!__vite__mapDeps.viteFileDeps) {
3
- __vite__mapDeps.viteFileDeps = ["assets/pdf-doc-8cjxNrmX.js","assets/admin-drawer-panel-Bd9_K-7V.js","assets/admin-drawer-panel-DEYM8FWr.css","assets/main-B0Xaei3w.js","assets/main-CacfwsKA.css","assets/VToolbar-C__BHwZO.js","assets/index-DUjeNg4x.js","assets/confirm-footer-nURenNFu.js","assets/confirm-footer-VFepxcJs.css","assets/change-password-dialog-Du93DO_u.js","assets/VSlideGroup-DOKbHMCv.js","assets/VSelectionControl-DP64P5MF.js","assets/VSelectionControl-BFq--28I.css","assets/VSlideGroup-rAVUcz72.css","assets/change-password-dialog-BRmvkNir.css","assets/VToolbar-BfNszTMd.css","assets/pdf-doc-CMzaSV_K.css"]
4
- }
5
- return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
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-C__BHwZO.js";import{_ as A,a as ne,b as ie,P as Ue,c as le,V as K}from"./metadata-dialog-MaFloIhA.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-Bd9_K-7V.js";import{_ as dt,a as he,u as ht,C as pt}from"./main-B0Xaei3w.js";import{V as pe,a as ge}from"./VWindowItem-BMdyDd7Q.js";import{b as gt,V as mt}from"./VSelect-O_Yn2sND.js";import{V as $,a as z}from"./VRadioGroup-DlFy7v1Z.js";import{V as M}from"./VCheckbox-CSvjBFR1.js";import{V as kt,a as _t,b as bt,c as ft}from"./VExpansionPanel-HxmPRHLI.js";import{V as Pt}from"./VMain-C67fPCUj.js";import"./index-DUjeNg4x.js";import"./confirm-footer-nURenNFu.js";import"./change-password-dialog-Du93DO_u.js";import"./VSlideGroup-DOKbHMCv.js";import"./VSelectionControl-DP64P5MF.js";import"./to-case-kUm8NPpW.js";import"./VCheckboxBtn-CQ4VhpyA.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"to 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-8cjxNrmX.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 +0,0 @@
1
- function __vite__mapDeps(indexes) {
2
- if (!__vite__mapDeps.viteFileDeps) {
3
- __vite__mapDeps.viteFileDeps = ["assets/pdf-doc-8cjxNrmX.js","assets/admin-drawer-panel-Bd9_K-7V.js","assets/admin-drawer-panel-DEYM8FWr.css","assets/main-B0Xaei3w.js","assets/main-CacfwsKA.css","assets/VToolbar-C__BHwZO.js","assets/index-DUjeNg4x.js","assets/confirm-footer-nURenNFu.js","assets/confirm-footer-VFepxcJs.css","assets/change-password-dialog-Du93DO_u.js","assets/VSlideGroup-DOKbHMCv.js","assets/VSelectionControl-DP64P5MF.js","assets/VSelectionControl-BFq--28I.css","assets/VSlideGroup-rAVUcz72.css","assets/change-password-dialog-BRmvkNir.css","assets/VToolbar-BfNszTMd.css","assets/pdf-doc-CMzaSV_K.css"]
4
- }
5
- return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
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-C__BHwZO.js";import{_ as A,a as ne,b as ie,P as Ue,c as le,V as K}from"./metadata-dialog-MaFloIhA.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-Bd9_K-7V.js";import{_ as dt,a as he,u as ht,C as pt}from"./main-B0Xaei3w.js";import{V as pe,a as ge}from"./VWindowItem-BMdyDd7Q.js";import{b as gt,V as mt}from"./VSelect-O_Yn2sND.js";import{V as $,a as z}from"./VRadioGroup-DlFy7v1Z.js";import{V as M}from"./VCheckbox-CSvjBFR1.js";import{V as kt,a as _t,b as bt,c as ft}from"./VExpansionPanel-HxmPRHLI.js";import{V as Pt}from"./VMain-C67fPCUj.js";import"./index-DUjeNg4x.js";import"./confirm-footer-nURenNFu.js";import"./change-password-dialog-Du93DO_u.js";import"./VSlideGroup-DOKbHMCv.js";import"./VSelectionControl-DP64P5MF.js";import"./to-case-kUm8NPpW.js";import"./VCheckboxBtn-CQ4VhpyA.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"to 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-8cjxNrmX.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};