codex 1.7.3a2__py3-none-any.whl → 1.7.5__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 (632) hide show
  1. codex/asgi.py +2 -1
  2. codex/choices/__init__.py +1 -0
  3. codex/{choices.py → choices/admin.py} +47 -146
  4. codex/choices/browser.py +85 -0
  5. codex/{choices_to_json.py → choices/choices_to_json.py} +25 -19
  6. codex/choices/notifications.py +16 -0
  7. codex/choices/reader.py +33 -0
  8. codex/db.py +2 -2
  9. codex/exceptions.py +7 -8
  10. codex/librarian/bookmark/bookmarkd.py +8 -4
  11. codex/librarian/bookmark/update.py +84 -49
  12. codex/librarian/covers/create.py +10 -8
  13. codex/librarian/covers/path.py +6 -5
  14. codex/librarian/covers/purge.py +4 -4
  15. codex/librarian/importer/aggregate.py +2 -2
  16. codex/librarian/importer/cache.py +1 -4
  17. codex/librarian/importer/create_comics.py +2 -2
  18. codex/librarian/importer/create_covers.py +1 -1
  19. codex/librarian/importer/create_fks.py +4 -3
  20. codex/librarian/importer/deleted.py +3 -3
  21. codex/librarian/importer/extract.py +56 -37
  22. codex/librarian/importer/failed_imports.py +1 -1
  23. codex/librarian/importer/importer.py +8 -3
  24. codex/librarian/importer/importerd.py +3 -3
  25. codex/librarian/importer/link_comics.py +2 -1
  26. codex/librarian/importer/moved.py +2 -7
  27. codex/librarian/importer/query_fks.py +1 -4
  28. codex/librarian/importer/tasks.py +1 -1
  29. codex/librarian/janitor/integrity.py +27 -20
  30. codex/librarian/janitor/janitor.py +1 -1
  31. codex/librarian/janitor/latest_version.py +1 -1
  32. codex/librarian/janitor/update.py +5 -2
  33. codex/librarian/janitor/vacuum.py +1 -1
  34. codex/librarian/librariand.py +3 -2
  35. codex/librarian/notifier/notifierd.py +2 -1
  36. codex/librarian/notifier/tasks.py +17 -3
  37. codex/librarian/search/optimize.py +1 -1
  38. codex/librarian/search/remove.py +1 -1
  39. codex/librarian/search/update.py +4 -4
  40. codex/librarian/telemeter/stats.py +7 -6
  41. codex/librarian/telemeter/telemeter.py +0 -1
  42. codex/librarian/watchdog/db_snapshot.py +3 -3
  43. codex/librarian/watchdog/dir_snapshot_diff.py +3 -4
  44. codex/librarian/watchdog/emitter.py +4 -4
  45. codex/librarian/watchdog/event_batcherd.py +2 -1
  46. codex/librarian/watchdog/events.py +1 -2
  47. codex/librarian/watchdog/observers.py +15 -10
  48. codex/logger/logging.py +1 -1
  49. codex/memory.py +3 -2
  50. codex/migrations/0001_init.py +1 -2
  51. codex/migrations/0014_pdf_issue_suffix_remove_cover_image_sort_name.py +1 -2
  52. codex/migrations/0018_rename_userbookmark_bookmark.py +1 -2
  53. codex/migrations/0028_telemeter.py +1 -5
  54. codex/models/base.py +3 -1
  55. codex/models/bookmark.py +4 -7
  56. codex/models/comic.py +2 -2
  57. codex/models/functions.py +12 -5
  58. codex/models/groups.py +1 -1
  59. codex/models/library.py +1 -1
  60. codex/models/paths.py +4 -4
  61. codex/models/query.py +8 -4
  62. codex/models/util.py +1 -1
  63. codex/permissions.py +1 -1
  64. codex/run.py +1 -1
  65. codex/serializers/admin/libraries.py +1 -3
  66. codex/serializers/admin/stats.py +4 -4
  67. codex/serializers/admin/tasks.py +12 -2
  68. codex/serializers/auth.py +4 -2
  69. codex/serializers/browser/choices.py +87 -9
  70. codex/serializers/browser/filters.py +9 -37
  71. codex/serializers/browser/metadata.py +2 -1
  72. codex/serializers/browser/mixins.py +7 -3
  73. codex/serializers/browser/mtime.py +3 -5
  74. codex/serializers/browser/page.py +5 -4
  75. codex/serializers/browser/settings.py +8 -6
  76. codex/serializers/fields/__init__.py +37 -0
  77. codex/serializers/fields/auth.py +45 -0
  78. codex/serializers/fields/browser.py +85 -0
  79. codex/serializers/fields/group.py +13 -0
  80. codex/serializers/fields/reader.py +22 -0
  81. codex/serializers/fields/sanitized.py +13 -0
  82. codex/serializers/fields/session.py +16 -0
  83. codex/serializers/fields/stats.py +36 -0
  84. codex/serializers/fields/vuetify.py +62 -0
  85. codex/serializers/models/base.py +1 -1
  86. codex/serializers/models/comic.py +2 -2
  87. codex/serializers/models/groups.py +0 -2
  88. codex/serializers/models/named.py +1 -1
  89. codex/serializers/models/pycountry.py +1 -1
  90. codex/serializers/opds/authentication.py +4 -2
  91. codex/serializers/opds/urls.py +2 -1
  92. codex/serializers/opds/v1.py +4 -3
  93. codex/serializers/opds/v2/feed.py +2 -1
  94. codex/serializers/opds/v2/links.py +23 -21
  95. codex/serializers/opds/v2/metadata.py +4 -8
  96. codex/serializers/opds/v2/progression.py +5 -3
  97. codex/serializers/opds/v2/publication.py +16 -18
  98. codex/serializers/opds/v2/unused.py +15 -8
  99. codex/serializers/reader.py +16 -14
  100. codex/serializers/redirect.py +2 -1
  101. codex/serializers/route.py +6 -4
  102. codex/serializers/settings.py +5 -3
  103. codex/serializers/versions.py +2 -1
  104. codex/settings/settings.py +4 -3
  105. codex/signals/django_signals.py +1 -1
  106. codex/startup.py +2 -2
  107. codex/static_root/assets/{VCheckbox-FaT6MGfu.f6732060f734.js → VCheckbox-CWBDr4kF.6da5bf3a4d90.js} +1 -1
  108. codex/static_root/assets/VCheckbox-CWBDr4kF.6da5bf3a4d90.js.br +0 -0
  109. codex/static_root/assets/VCheckbox-CWBDr4kF.6da5bf3a4d90.js.gz +0 -0
  110. codex/static_root/assets/{VCheckbox-FaT6MGfu.js → VCheckbox-CWBDr4kF.js} +1 -1
  111. codex/static_root/assets/VCheckbox-CWBDr4kF.js.br +0 -0
  112. codex/static_root/assets/VCheckbox-CWBDr4kF.js.gz +0 -0
  113. codex/static_root/assets/{VCheckboxBtn-CZ_P-qUM.847452d574cf.js → VCheckboxBtn-COaoh3uF.fc880a386827.js} +1 -1
  114. codex/static_root/assets/VCheckboxBtn-COaoh3uF.fc880a386827.js.br +0 -0
  115. codex/static_root/assets/VCheckboxBtn-COaoh3uF.fc880a386827.js.gz +0 -0
  116. codex/static_root/assets/{VCheckboxBtn-CZ_P-qUM.js → VCheckboxBtn-COaoh3uF.js} +1 -1
  117. codex/static_root/assets/VCheckboxBtn-COaoh3uF.js.br +0 -0
  118. codex/static_root/assets/VCheckboxBtn-COaoh3uF.js.gz +0 -0
  119. codex/static_root/assets/{VCombobox-C8QLNlSl.6f431e19a453.js → VCombobox-DkOruNH0.f30f163ee632.js} +1 -1
  120. codex/static_root/assets/VCombobox-DkOruNH0.f30f163ee632.js.br +0 -0
  121. codex/static_root/assets/VCombobox-DkOruNH0.f30f163ee632.js.gz +0 -0
  122. codex/static_root/assets/{VCombobox-C8QLNlSl.js → VCombobox-DkOruNH0.js} +1 -1
  123. codex/static_root/assets/VCombobox-DkOruNH0.js.br +0 -0
  124. codex/static_root/assets/VCombobox-DkOruNH0.js.gz +0 -0
  125. codex/static_root/assets/{VDialog-RVLeW7je.c0c7eef71eec.js → VDialog-Dr7SuC2S.b6ec7df390f4.js} +1 -1
  126. codex/static_root/assets/VDialog-Dr7SuC2S.b6ec7df390f4.js.br +0 -0
  127. codex/static_root/assets/VDialog-Dr7SuC2S.b6ec7df390f4.js.gz +0 -0
  128. codex/static_root/assets/{VDialog-RVLeW7je.js → VDialog-Dr7SuC2S.js} +1 -1
  129. codex/static_root/assets/VDialog-Dr7SuC2S.js.br +0 -0
  130. codex/static_root/assets/VDialog-Dr7SuC2S.js.gz +0 -0
  131. codex/static_root/assets/{VDivider-D1Ot4vR2.9dbee744fb3c.js → VDivider-By4u2EsM.fd5ee9cce906.js} +1 -1
  132. codex/static_root/assets/VDivider-By4u2EsM.fd5ee9cce906.js.br +0 -0
  133. codex/static_root/assets/VDivider-By4u2EsM.fd5ee9cce906.js.gz +0 -0
  134. codex/static_root/assets/{VDivider-D1Ot4vR2.js → VDivider-By4u2EsM.js} +1 -1
  135. codex/static_root/assets/VDivider-By4u2EsM.js.br +0 -0
  136. codex/static_root/assets/VDivider-By4u2EsM.js.gz +0 -0
  137. codex/static_root/assets/{VExpansionPanels-DQilGHZk.43f06d0a45e0.js → VExpansionPanels-BhO9oj0a.e99bea455c78.js} +1 -1
  138. codex/static_root/assets/VExpansionPanels-BhO9oj0a.e99bea455c78.js.br +0 -0
  139. codex/static_root/assets/VExpansionPanels-BhO9oj0a.e99bea455c78.js.gz +0 -0
  140. codex/static_root/assets/{VExpansionPanels-DQilGHZk.js → VExpansionPanels-BhO9oj0a.js} +1 -1
  141. codex/static_root/assets/VExpansionPanels-BhO9oj0a.js.br +0 -0
  142. codex/static_root/assets/VExpansionPanels-BhO9oj0a.js.gz +0 -0
  143. codex/static_root/assets/VForm-XhA6T0Lc.70c9c6fcb9e3.js +1 -0
  144. codex/static_root/assets/VForm-XhA6T0Lc.70c9c6fcb9e3.js.br +0 -0
  145. codex/static_root/assets/VForm-XhA6T0Lc.70c9c6fcb9e3.js.gz +0 -0
  146. codex/static_root/assets/VForm-XhA6T0Lc.js +1 -0
  147. codex/static_root/assets/VForm-XhA6T0Lc.js.br +0 -0
  148. codex/static_root/assets/VForm-XhA6T0Lc.js.gz +0 -0
  149. codex/static_root/assets/{VRadioGroup-DoayJpcS.fe5e0e74ffee.js → VRadioGroup-C1WCG0rO.6ebc88e4f144.js} +1 -1
  150. codex/static_root/assets/VRadioGroup-C1WCG0rO.6ebc88e4f144.js.br +3 -0
  151. codex/static_root/assets/VRadioGroup-C1WCG0rO.6ebc88e4f144.js.gz +0 -0
  152. codex/static_root/assets/{VRadioGroup-DoayJpcS.js → VRadioGroup-C1WCG0rO.js} +1 -1
  153. codex/static_root/assets/VRadioGroup-C1WCG0rO.js.br +3 -0
  154. codex/static_root/assets/VRadioGroup-C1WCG0rO.js.gz +0 -0
  155. codex/static_root/assets/VSelect-Bbt1vrBg.ec45ee26818a.js +1 -0
  156. codex/static_root/assets/VSelect-Bbt1vrBg.ec45ee26818a.js.br +0 -0
  157. codex/static_root/assets/VSelect-Bbt1vrBg.ec45ee26818a.js.gz +0 -0
  158. codex/static_root/assets/VSelect-Bbt1vrBg.js +1 -0
  159. codex/static_root/assets/VSelect-Bbt1vrBg.js.br +0 -0
  160. codex/static_root/assets/VSelect-Bbt1vrBg.js.gz +0 -0
  161. codex/static_root/assets/{VSelectionControl-TaKCeZgb.ad6c96efe57c.js → VSelectionControl-BkZZAsWo.ba6eca944e2e.js} +1 -1
  162. codex/static_root/assets/VSelectionControl-BkZZAsWo.ba6eca944e2e.js.br +0 -0
  163. codex/static_root/assets/VSelectionControl-BkZZAsWo.ba6eca944e2e.js.gz +0 -0
  164. codex/static_root/assets/{VSelectionControl-TaKCeZgb.js → VSelectionControl-BkZZAsWo.js} +1 -1
  165. codex/static_root/assets/VSelectionControl-BkZZAsWo.js.br +0 -0
  166. codex/static_root/assets/VSelectionControl-BkZZAsWo.js.gz +0 -0
  167. codex/static_root/assets/{VTable-BfcOiEpa.77ef3973bb54.js → VTable-D7P2eIc2.5e94bf2a515b.js} +1 -1
  168. codex/static_root/assets/VTable-D7P2eIc2.5e94bf2a515b.js.br +0 -0
  169. codex/static_root/assets/VTable-D7P2eIc2.5e94bf2a515b.js.gz +0 -0
  170. codex/static_root/assets/{VTable-BfcOiEpa.js → VTable-D7P2eIc2.js} +1 -1
  171. codex/static_root/assets/VTable-D7P2eIc2.js.br +0 -0
  172. codex/static_root/assets/VTable-D7P2eIc2.js.gz +0 -0
  173. codex/static_root/assets/VWindowItem-Dm2szrjK.e77444188aa3.js +1 -0
  174. codex/static_root/assets/VWindowItem-Dm2szrjK.e77444188aa3.js.br +0 -0
  175. codex/static_root/assets/VWindowItem-Dm2szrjK.e77444188aa3.js.gz +0 -0
  176. codex/static_root/assets/VWindowItem-Dm2szrjK.js +1 -0
  177. codex/static_root/assets/VWindowItem-Dm2szrjK.js.br +0 -0
  178. codex/static_root/assets/VWindowItem-Dm2szrjK.js.gz +0 -0
  179. codex/static_root/assets/{admin-80eqCqtz.d6deb9edb8cb.js → admin-B4z2nA5P.da0c92500311.js} +1 -1
  180. codex/static_root/assets/admin-B4z2nA5P.da0c92500311.js.br +0 -0
  181. codex/static_root/assets/admin-B4z2nA5P.da0c92500311.js.gz +0 -0
  182. codex/static_root/assets/{admin-80eqCqtz.js → admin-B4z2nA5P.js} +1 -1
  183. codex/static_root/assets/admin-B4z2nA5P.js.br +0 -0
  184. codex/static_root/assets/admin-B4z2nA5P.js.gz +0 -0
  185. codex/static_root/assets/admin-BhW3PNO0.e444048e548d.js +1 -0
  186. codex/static_root/assets/admin-BhW3PNO0.e444048e548d.js.br +0 -0
  187. codex/static_root/assets/admin-BhW3PNO0.e444048e548d.js.gz +0 -0
  188. codex/static_root/assets/admin-BhW3PNO0.js +1 -0
  189. codex/static_root/assets/admin-BhW3PNO0.js.br +0 -0
  190. codex/static_root/assets/admin-BhW3PNO0.js.gz +0 -0
  191. codex/static_root/assets/{admin-menu-_aAGknKO.0c08c9bd2e7d.js → admin-menu-CL7S-xqR.92b6d84c4b70.js} +1 -1
  192. codex/static_root/assets/admin-menu-CL7S-xqR.92b6d84c4b70.js.br +0 -0
  193. codex/static_root/assets/admin-menu-CL7S-xqR.92b6d84c4b70.js.gz +0 -0
  194. codex/static_root/assets/{admin-menu-_aAGknKO.js → admin-menu-CL7S-xqR.js} +1 -1
  195. codex/static_root/assets/admin-menu-CL7S-xqR.js.br +0 -0
  196. codex/static_root/assets/admin-menu-CL7S-xqR.js.gz +0 -0
  197. codex/static_root/assets/{admin-settings-button-progress-BqRFyhjf.2bb1194b21e2.js → admin-settings-button-progress-BgBgdELw.52d052e38bc1.js} +1 -1
  198. codex/static_root/assets/admin-settings-button-progress-BgBgdELw.52d052e38bc1.js.br +0 -0
  199. codex/static_root/assets/admin-settings-button-progress-BgBgdELw.52d052e38bc1.js.gz +0 -0
  200. codex/static_root/assets/{admin-settings-button-progress-BqRFyhjf.js → admin-settings-button-progress-BgBgdELw.js} +1 -1
  201. codex/static_root/assets/admin-settings-button-progress-BgBgdELw.js.br +0 -0
  202. codex/static_root/assets/admin-settings-button-progress-BgBgdELw.js.gz +0 -0
  203. codex/static_root/assets/browser-Bi5ov5k8.a4af87c2a667.js +1 -0
  204. codex/static_root/assets/browser-Bi5ov5k8.a4af87c2a667.js.br +0 -0
  205. codex/static_root/assets/browser-Bi5ov5k8.a4af87c2a667.js.gz +0 -0
  206. codex/static_root/assets/browser-Bi5ov5k8.js +1 -0
  207. codex/static_root/assets/browser-Bi5ov5k8.js.br +0 -0
  208. codex/static_root/assets/browser-Bi5ov5k8.js.gz +0 -0
  209. codex/static_root/assets/{browser-chTZ1CM4.521193ab0710.css → browser-DNzQvgkY.aea8b7d7ca40.css} +1 -1
  210. codex/static_root/assets/browser-DNzQvgkY.aea8b7d7ca40.css.br +0 -0
  211. codex/static_root/assets/browser-DNzQvgkY.aea8b7d7ca40.css.gz +0 -0
  212. codex/static_root/assets/{browser-chTZ1CM4.css → browser-DNzQvgkY.css} +1 -1
  213. codex/static_root/assets/browser-DNzQvgkY.css.br +0 -0
  214. codex/static_root/assets/browser-DNzQvgkY.css.gz +0 -0
  215. codex/static_root/assets/{change-password-dialog-1ZVP_Q2w.ae0d9e5bd42b.js → change-password-dialog-BKar2Bhb.3dbc2feb3c5a.js} +1 -1
  216. codex/static_root/assets/change-password-dialog-BKar2Bhb.3dbc2feb3c5a.js.br +0 -0
  217. codex/static_root/assets/change-password-dialog-BKar2Bhb.3dbc2feb3c5a.js.gz +0 -0
  218. codex/static_root/assets/{change-password-dialog-1ZVP_Q2w.js → change-password-dialog-BKar2Bhb.js} +1 -1
  219. codex/static_root/assets/change-password-dialog-BKar2Bhb.js.br +0 -0
  220. codex/static_root/assets/change-password-dialog-BKar2Bhb.js.gz +0 -0
  221. codex/static_root/assets/{confirm-dialog-DqCey9Iq.e315d7f8f752.js → confirm-dialog-BoBL4OoS.abef9614fea9.js} +1 -1
  222. codex/static_root/assets/confirm-dialog-BoBL4OoS.abef9614fea9.js.br +0 -0
  223. codex/static_root/assets/confirm-dialog-BoBL4OoS.abef9614fea9.js.gz +0 -0
  224. codex/static_root/assets/{confirm-dialog-DqCey9Iq.js → confirm-dialog-BoBL4OoS.js} +1 -1
  225. codex/static_root/assets/confirm-dialog-BoBL4OoS.js.br +0 -0
  226. codex/static_root/assets/confirm-dialog-BoBL4OoS.js.gz +0 -0
  227. codex/static_root/assets/{datetime-column-CBA8bYeO.17a31f189d66.js → datetime-column-BsiYRUKO.cadd764c06f4.js} +1 -1
  228. codex/static_root/assets/datetime-column-BsiYRUKO.cadd764c06f4.js.br +0 -0
  229. codex/static_root/assets/datetime-column-BsiYRUKO.cadd764c06f4.js.gz +0 -0
  230. codex/static_root/assets/{datetime-column-CBA8bYeO.js → datetime-column-BsiYRUKO.js} +1 -1
  231. codex/static_root/assets/datetime-column-BsiYRUKO.js.br +0 -0
  232. codex/static_root/assets/datetime-column-BsiYRUKO.js.gz +0 -0
  233. codex/static_root/assets/{filter-mnO3lLPo.659442401b16.js → filter-HnY0knto.07f807227dcc.js} +1 -1
  234. codex/static_root/assets/filter-HnY0knto.07f807227dcc.js.br +0 -0
  235. codex/static_root/assets/filter-HnY0knto.07f807227dcc.js.gz +0 -0
  236. codex/static_root/assets/{filter-mnO3lLPo.js → filter-HnY0knto.js} +1 -1
  237. codex/static_root/assets/filter-HnY0knto.js.br +0 -0
  238. codex/static_root/assets/filter-HnY0knto.js.gz +0 -0
  239. codex/static_root/assets/{flag-tab-Bc677pNb.1b8a2f7c0dc3.js → flag-tab-CcS5pve2.a1df5d92e222.js} +1 -1
  240. codex/static_root/assets/flag-tab-CcS5pve2.a1df5d92e222.js.br +0 -0
  241. codex/static_root/assets/flag-tab-CcS5pve2.a1df5d92e222.js.gz +0 -0
  242. codex/static_root/assets/{flag-tab-Bc677pNb.js → flag-tab-CcS5pve2.js} +1 -1
  243. codex/static_root/assets/flag-tab-CcS5pve2.js.br +0 -0
  244. codex/static_root/assets/flag-tab-CcS5pve2.js.gz +0 -0
  245. codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css +1 -0
  246. codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css.br +0 -0
  247. codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css.gz +0 -0
  248. codex/static_root/assets/flag-tab-D2MYXCHk.css +1 -0
  249. codex/static_root/assets/flag-tab-D2MYXCHk.css.br +0 -0
  250. codex/static_root/assets/flag-tab-D2MYXCHk.css.gz +0 -0
  251. codex/static_root/assets/{forwardRefs-DPRKg5wq.6f09e9d22fa6.js → forwardRefs-i80xmxX3.db393aeef392.js} +1 -1
  252. codex/static_root/assets/forwardRefs-i80xmxX3.db393aeef392.js.br +0 -0
  253. codex/static_root/assets/forwardRefs-i80xmxX3.db393aeef392.js.gz +0 -0
  254. codex/static_root/assets/{forwardRefs-DPRKg5wq.js → forwardRefs-i80xmxX3.js} +1 -1
  255. codex/static_root/assets/forwardRefs-i80xmxX3.js.br +0 -0
  256. codex/static_root/assets/forwardRefs-i80xmxX3.js.gz +0 -0
  257. codex/static_root/assets/group-tab-SY0gxmHW.f72e944c0ff1.js +1 -0
  258. codex/static_root/assets/group-tab-SY0gxmHW.f72e944c0ff1.js.br +0 -0
  259. codex/static_root/assets/group-tab-SY0gxmHW.f72e944c0ff1.js.gz +0 -0
  260. codex/static_root/assets/group-tab-SY0gxmHW.js +1 -0
  261. codex/static_root/assets/group-tab-SY0gxmHW.js.br +0 -0
  262. codex/static_root/assets/group-tab-SY0gxmHW.js.gz +0 -0
  263. codex/static_root/assets/http-error-EE8gtq5A.07e291d9d955.js +1 -0
  264. codex/static_root/assets/http-error-EE8gtq5A.07e291d9d955.js.br +0 -0
  265. codex/static_root/assets/http-error-EE8gtq5A.07e291d9d955.js.gz +0 -0
  266. codex/static_root/assets/http-error-EE8gtq5A.js +1 -0
  267. codex/static_root/assets/http-error-EE8gtq5A.js.br +0 -0
  268. codex/static_root/assets/http-error-EE8gtq5A.js.gz +0 -0
  269. codex/static_root/assets/{index-9nBCksDQ.4561d2608773.js → index-gVdawuuE.a940fadbac00.js} +1 -1
  270. codex/static_root/assets/index-gVdawuuE.a940fadbac00.js.br +0 -0
  271. codex/static_root/assets/index-gVdawuuE.a940fadbac00.js.gz +0 -0
  272. codex/static_root/assets/{index-9nBCksDQ.js → index-gVdawuuE.js} +1 -1
  273. codex/static_root/assets/index-gVdawuuE.js.br +0 -0
  274. codex/static_root/assets/index-gVdawuuE.js.gz +0 -0
  275. codex/static_root/assets/library-tab-BkDIAvyS.4b4c606b77d6.js +1 -0
  276. codex/static_root/assets/library-tab-BkDIAvyS.4b4c606b77d6.js.br +0 -0
  277. codex/static_root/assets/library-tab-BkDIAvyS.4b4c606b77d6.js.gz +0 -0
  278. codex/static_root/assets/library-tab-BkDIAvyS.js +1 -0
  279. codex/static_root/assets/library-tab-BkDIAvyS.js.br +0 -0
  280. codex/static_root/assets/library-tab-BkDIAvyS.js.gz +0 -0
  281. codex/static_root/assets/main-B5uflU6E.77f3fcd6873f.js +35 -0
  282. codex/static_root/assets/main-B5uflU6E.77f3fcd6873f.js.br +0 -0
  283. codex/static_root/assets/main-B5uflU6E.77f3fcd6873f.js.gz +0 -0
  284. codex/static_root/assets/main-B5uflU6E.js +35 -0
  285. codex/static_root/assets/main-B5uflU6E.js.br +0 -0
  286. codex/static_root/assets/main-B5uflU6E.js.gz +0 -0
  287. codex/static_root/assets/pager-full-pdf-wuQbceLs.111d9b9d4133.js +1 -0
  288. codex/static_root/assets/pager-full-pdf-wuQbceLs.111d9b9d4133.js.br +0 -0
  289. codex/static_root/assets/pager-full-pdf-wuQbceLs.111d9b9d4133.js.gz +0 -0
  290. codex/static_root/assets/pager-full-pdf-wuQbceLs.js +1 -0
  291. codex/static_root/assets/pager-full-pdf-wuQbceLs.js.br +0 -0
  292. codex/static_root/assets/pager-full-pdf-wuQbceLs.js.gz +0 -0
  293. codex/static_root/assets/{pagination-toolbar-Dx5JwWG-.ba0e8b645dfa.js → pagination-toolbar-D3JQmDiD.8513a4db85f0.js} +1 -1
  294. codex/static_root/assets/pagination-toolbar-D3JQmDiD.8513a4db85f0.js.br +0 -0
  295. codex/static_root/assets/pagination-toolbar-D3JQmDiD.8513a4db85f0.js.gz +0 -0
  296. codex/static_root/assets/{pagination-toolbar-Dx5JwWG-.js → pagination-toolbar-D3JQmDiD.js} +1 -1
  297. codex/static_root/assets/pagination-toolbar-D3JQmDiD.js.br +0 -0
  298. codex/static_root/assets/pagination-toolbar-D3JQmDiD.js.gz +0 -0
  299. codex/static_root/assets/{pdf-doc-6ZE_HmLT.10d1e16abc78.js → pdf-doc-DRBtl9_2.225a6d89e842.js} +1 -1
  300. codex/static_root/assets/pdf-doc-DRBtl9_2.225a6d89e842.js.br +0 -0
  301. codex/static_root/assets/pdf-doc-DRBtl9_2.225a6d89e842.js.gz +0 -0
  302. codex/static_root/assets/{pdf-doc-6ZE_HmLT.js → pdf-doc-DRBtl9_2.js} +1 -1
  303. codex/static_root/assets/pdf-doc-DRBtl9_2.js.br +0 -0
  304. codex/static_root/assets/pdf-doc-DRBtl9_2.js.gz +0 -0
  305. codex/static_root/assets/reader-DycvjN42.3e2b4f43235e.js +2 -0
  306. codex/static_root/assets/reader-DycvjN42.3e2b4f43235e.js.br +0 -0
  307. codex/static_root/assets/reader-DycvjN42.3e2b4f43235e.js.gz +0 -0
  308. codex/static_root/assets/reader-DycvjN42.js +2 -0
  309. codex/static_root/assets/reader-DycvjN42.js.br +0 -0
  310. codex/static_root/assets/reader-DycvjN42.js.gz +0 -0
  311. codex/static_root/assets/{relation-chips-C96hi5jm.js → relation-chips-CeHIEjvZ.04d302f4fa89.js} +1 -1
  312. codex/static_root/assets/relation-chips-CeHIEjvZ.04d302f4fa89.js.br +0 -0
  313. codex/static_root/assets/relation-chips-CeHIEjvZ.04d302f4fa89.js.gz +0 -0
  314. codex/static_root/assets/{relation-chips-C96hi5jm.9f07c9eb533a.js → relation-chips-CeHIEjvZ.js} +1 -1
  315. codex/static_root/assets/relation-chips-CeHIEjvZ.js.br +0 -0
  316. codex/static_root/assets/relation-chips-CeHIEjvZ.js.gz +0 -0
  317. codex/static_root/assets/settings-drawer-DY8o-jF3.48dfaafaa00e.js +2 -0
  318. codex/static_root/assets/settings-drawer-DY8o-jF3.48dfaafaa00e.js.br +0 -0
  319. codex/static_root/assets/settings-drawer-DY8o-jF3.48dfaafaa00e.js.gz +0 -0
  320. codex/static_root/assets/settings-drawer-DY8o-jF3.js +2 -0
  321. codex/static_root/assets/settings-drawer-DY8o-jF3.js.br +0 -0
  322. codex/static_root/assets/settings-drawer-DY8o-jF3.js.gz +0 -0
  323. codex/static_root/assets/ssrBoot-DRKt_yWP.3b5868abdd61.js +1 -0
  324. codex/static_root/assets/ssrBoot-DRKt_yWP.3b5868abdd61.js.br +0 -0
  325. codex/static_root/assets/ssrBoot-DRKt_yWP.3b5868abdd61.js.gz +0 -0
  326. codex/static_root/assets/ssrBoot-DRKt_yWP.js +1 -0
  327. codex/static_root/assets/ssrBoot-DRKt_yWP.js.br +0 -0
  328. codex/static_root/assets/ssrBoot-DRKt_yWP.js.gz +0 -0
  329. codex/static_root/assets/{stats-tab-CkT2ZGUQ.b704fa46dc88.js → stats-tab-C1XYGBKj.812896e1d09c.js} +1 -1
  330. codex/static_root/assets/stats-tab-C1XYGBKj.812896e1d09c.js.br +0 -0
  331. codex/static_root/assets/stats-tab-C1XYGBKj.812896e1d09c.js.gz +0 -0
  332. codex/static_root/assets/{stats-tab-CkT2ZGUQ.js → stats-tab-C1XYGBKj.js} +1 -1
  333. codex/static_root/assets/stats-tab-C1XYGBKj.js.br +0 -0
  334. codex/static_root/assets/stats-tab-C1XYGBKj.js.gz +0 -0
  335. codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css +1 -0
  336. codex/static_root/assets/{task-tab-DfdUY9Rc.478e74041f80.css.br → task-tab-CW4DQ3KN.81812f9208e5.css.br} +1 -1
  337. codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css.gz +0 -0
  338. codex/static_root/assets/task-tab-CW4DQ3KN.css +1 -0
  339. codex/static_root/assets/{task-tab-DfdUY9Rc.css.br → task-tab-CW4DQ3KN.css.br} +1 -1
  340. codex/static_root/assets/task-tab-CW4DQ3KN.css.gz +0 -0
  341. codex/static_root/assets/task-tab-lFRZ0NMd.6b90f40a1a9f.js +1 -0
  342. codex/static_root/assets/task-tab-lFRZ0NMd.6b90f40a1a9f.js.br +0 -0
  343. codex/static_root/assets/task-tab-lFRZ0NMd.6b90f40a1a9f.js.gz +0 -0
  344. codex/static_root/assets/task-tab-lFRZ0NMd.js +1 -0
  345. codex/static_root/assets/task-tab-lFRZ0NMd.js.br +0 -0
  346. codex/static_root/assets/task-tab-lFRZ0NMd.js.gz +0 -0
  347. codex/static_root/assets/unauthorized-Dld9cV8d.4e675fd9991c.js +1 -0
  348. codex/static_root/assets/unauthorized-Dld9cV8d.4e675fd9991c.js.br +0 -0
  349. codex/static_root/assets/unauthorized-Dld9cV8d.4e675fd9991c.js.gz +0 -0
  350. codex/static_root/assets/unauthorized-Dld9cV8d.js +1 -0
  351. codex/static_root/assets/unauthorized-Dld9cV8d.js.br +0 -0
  352. codex/static_root/assets/unauthorized-Dld9cV8d.js.gz +0 -0
  353. codex/static_root/assets/user-tab-CN9nBOMS.f88d8b1c8afe.js +1 -0
  354. codex/static_root/assets/user-tab-CN9nBOMS.f88d8b1c8afe.js.br +0 -0
  355. codex/static_root/assets/user-tab-CN9nBOMS.f88d8b1c8afe.js.gz +0 -0
  356. codex/static_root/assets/user-tab-CN9nBOMS.js +1 -0
  357. codex/static_root/assets/user-tab-CN9nBOMS.js.br +0 -0
  358. codex/static_root/assets/user-tab-CN9nBOMS.js.gz +0 -0
  359. codex/static_root/{manifest.225989a17f49.json → manifest.66d7229aa07a.json} +297 -277
  360. codex/static_root/manifest.66d7229aa07a.json.br +0 -0
  361. codex/static_root/manifest.66d7229aa07a.json.gz +0 -0
  362. codex/static_root/manifest.json +297 -277
  363. codex/static_root/manifest.json.br +0 -0
  364. codex/static_root/manifest.json.gz +0 -0
  365. codex/static_root/staticfiles.json +1 -1
  366. codex/status_controller.py +10 -13
  367. codex/urls/root.py +4 -3
  368. codex/views/admin/api_key.py +1 -4
  369. codex/views/admin/flag.py +2 -2
  370. codex/views/admin/group.py +2 -2
  371. codex/views/admin/library.py +4 -4
  372. codex/views/admin/stats.py +10 -10
  373. codex/views/admin/tasks.py +32 -13
  374. codex/views/admin/user.py +36 -10
  375. codex/views/auth.py +3 -8
  376. codex/views/bookmark.py +3 -3
  377. codex/views/browser/annotate/card.py +2 -2
  378. codex/views/browser/annotate/order.py +6 -7
  379. codex/views/browser/bookmark.py +3 -1
  380. codex/views/browser/breadcrumbs.py +6 -5
  381. codex/views/browser/browser.py +2 -2
  382. codex/views/browser/choices.py +7 -8
  383. codex/views/browser/cover.py +6 -3
  384. codex/views/browser/download.py +2 -1
  385. codex/views/browser/filters/bookmark.py +1 -1
  386. codex/views/browser/filters/field.py +1 -1
  387. codex/views/browser/filters/filter.py +6 -8
  388. codex/views/browser/filters/group.py +8 -8
  389. codex/views/browser/filters/search/field/expression.py +1 -2
  390. codex/views/browser/filters/search/field/optimize.py +1 -1
  391. codex/views/browser/filters/search/field/parse.py +2 -2
  392. codex/views/browser/filters/search/parse.py +4 -19
  393. codex/views/browser/group_mtime.py +1 -1
  394. codex/views/browser/metadata/copy_intersections.py +1 -1
  395. codex/views/browser/metadata/metadata.py +1 -1
  396. codex/views/browser/mtime.py +1 -1
  397. codex/views/browser/order_by.py +3 -5
  398. codex/views/browser/params.py +1 -1
  399. codex/views/browser/settings.py +1 -1
  400. codex/views/browser/validate.py +9 -6
  401. codex/views/const.py +0 -3
  402. codex/views/frontend.py +1 -1
  403. codex/views/mixins.py +3 -2
  404. codex/views/opds/authentication_v1.py +1 -1
  405. codex/views/opds/const.py +4 -4
  406. codex/views/opds/urls.py +1 -1
  407. codex/views/opds/util.py +4 -4
  408. codex/views/opds/v1/entry/entry.py +4 -2
  409. codex/views/opds/v1/entry/links.py +4 -5
  410. codex/views/opds/v1/facets.py +8 -4
  411. codex/views/opds/v1/feed.py +5 -5
  412. codex/views/opds/v1/links.py +11 -6
  413. codex/views/opds/v2/const.py +5 -2
  414. codex/views/opds/v2/feed.py +3 -3
  415. codex/views/opds/v2/links.py +18 -11
  416. codex/views/opds/v2/progression.py +8 -9
  417. codex/views/opds/v2/publications.py +10 -20
  418. codex/views/public.py +2 -2
  419. codex/views/reader/books.py +3 -2
  420. codex/views/reader/page.py +3 -3
  421. codex/views/reader/params.py +2 -2
  422. codex/views/reader/reader.py +6 -6
  423. codex/views/reader/settings.py +1 -1
  424. codex/views/session.py +10 -3
  425. codex/views/settings.py +2 -2
  426. codex/views/timezone.py +2 -2
  427. codex/views/util.py +10 -9
  428. codex/views/version.py +1 -1
  429. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/METADATA +3 -1
  430. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/RECORD +433 -415
  431. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/WHEEL +1 -1
  432. codex/serializers/fields.py +0 -183
  433. codex/static_root/assets/VCheckbox-FaT6MGfu.f6732060f734.js.br +0 -0
  434. codex/static_root/assets/VCheckbox-FaT6MGfu.f6732060f734.js.gz +0 -0
  435. codex/static_root/assets/VCheckbox-FaT6MGfu.js.br +0 -0
  436. codex/static_root/assets/VCheckbox-FaT6MGfu.js.gz +0 -0
  437. codex/static_root/assets/VCheckboxBtn-CZ_P-qUM.847452d574cf.js.br +0 -0
  438. codex/static_root/assets/VCheckboxBtn-CZ_P-qUM.847452d574cf.js.gz +0 -0
  439. codex/static_root/assets/VCheckboxBtn-CZ_P-qUM.js.br +0 -0
  440. codex/static_root/assets/VCheckboxBtn-CZ_P-qUM.js.gz +0 -0
  441. codex/static_root/assets/VCombobox-C8QLNlSl.6f431e19a453.js.br +0 -0
  442. codex/static_root/assets/VCombobox-C8QLNlSl.6f431e19a453.js.gz +0 -0
  443. codex/static_root/assets/VCombobox-C8QLNlSl.js.br +0 -0
  444. codex/static_root/assets/VCombobox-C8QLNlSl.js.gz +0 -0
  445. codex/static_root/assets/VDialog-RVLeW7je.c0c7eef71eec.js.br +0 -0
  446. codex/static_root/assets/VDialog-RVLeW7je.c0c7eef71eec.js.gz +0 -0
  447. codex/static_root/assets/VDialog-RVLeW7je.js.br +0 -0
  448. codex/static_root/assets/VDialog-RVLeW7je.js.gz +0 -0
  449. codex/static_root/assets/VDivider-D1Ot4vR2.9dbee744fb3c.js.br +0 -0
  450. codex/static_root/assets/VDivider-D1Ot4vR2.9dbee744fb3c.js.gz +0 -0
  451. codex/static_root/assets/VDivider-D1Ot4vR2.js.br +0 -0
  452. codex/static_root/assets/VDivider-D1Ot4vR2.js.gz +0 -0
  453. codex/static_root/assets/VExpansionPanels-DQilGHZk.43f06d0a45e0.js.br +0 -0
  454. codex/static_root/assets/VExpansionPanels-DQilGHZk.43f06d0a45e0.js.gz +0 -0
  455. codex/static_root/assets/VExpansionPanels-DQilGHZk.js.br +0 -0
  456. codex/static_root/assets/VExpansionPanels-DQilGHZk.js.gz +0 -0
  457. codex/static_root/assets/VForm-DNmY-qFJ.81f3a5ff7ec3.js +0 -1
  458. codex/static_root/assets/VForm-DNmY-qFJ.81f3a5ff7ec3.js.br +0 -0
  459. codex/static_root/assets/VForm-DNmY-qFJ.81f3a5ff7ec3.js.gz +0 -0
  460. codex/static_root/assets/VForm-DNmY-qFJ.js +0 -1
  461. codex/static_root/assets/VForm-DNmY-qFJ.js.br +0 -0
  462. codex/static_root/assets/VForm-DNmY-qFJ.js.gz +0 -0
  463. codex/static_root/assets/VRadioGroup-DoayJpcS.fe5e0e74ffee.js.br +0 -0
  464. codex/static_root/assets/VRadioGroup-DoayJpcS.fe5e0e74ffee.js.gz +0 -0
  465. codex/static_root/assets/VRadioGroup-DoayJpcS.js.br +0 -0
  466. codex/static_root/assets/VRadioGroup-DoayJpcS.js.gz +0 -0
  467. codex/static_root/assets/VSelect-BSLmHX_P.9ab865ec0fad.js +0 -1
  468. codex/static_root/assets/VSelect-BSLmHX_P.9ab865ec0fad.js.br +0 -0
  469. codex/static_root/assets/VSelect-BSLmHX_P.9ab865ec0fad.js.gz +0 -0
  470. codex/static_root/assets/VSelect-BSLmHX_P.js +0 -1
  471. codex/static_root/assets/VSelect-BSLmHX_P.js.br +0 -0
  472. codex/static_root/assets/VSelect-BSLmHX_P.js.gz +0 -0
  473. codex/static_root/assets/VSelectionControl-TaKCeZgb.ad6c96efe57c.js.br +0 -0
  474. codex/static_root/assets/VSelectionControl-TaKCeZgb.ad6c96efe57c.js.gz +0 -0
  475. codex/static_root/assets/VSelectionControl-TaKCeZgb.js.br +0 -0
  476. codex/static_root/assets/VSelectionControl-TaKCeZgb.js.gz +0 -0
  477. codex/static_root/assets/VTable-BfcOiEpa.77ef3973bb54.js.br +0 -0
  478. codex/static_root/assets/VTable-BfcOiEpa.77ef3973bb54.js.gz +0 -0
  479. codex/static_root/assets/VTable-BfcOiEpa.js.br +0 -0
  480. codex/static_root/assets/VTable-BfcOiEpa.js.gz +0 -0
  481. codex/static_root/assets/VWindowItem-D8lWcbQY.e4c75ad78718.js +0 -1
  482. codex/static_root/assets/VWindowItem-D8lWcbQY.e4c75ad78718.js.br +0 -0
  483. codex/static_root/assets/VWindowItem-D8lWcbQY.e4c75ad78718.js.gz +0 -0
  484. codex/static_root/assets/VWindowItem-D8lWcbQY.js +0 -1
  485. codex/static_root/assets/VWindowItem-D8lWcbQY.js.br +0 -0
  486. codex/static_root/assets/VWindowItem-D8lWcbQY.js.gz +0 -0
  487. codex/static_root/assets/admin-80eqCqtz.d6deb9edb8cb.js.br +0 -0
  488. codex/static_root/assets/admin-80eqCqtz.d6deb9edb8cb.js.gz +0 -0
  489. codex/static_root/assets/admin-80eqCqtz.js.br +0 -0
  490. codex/static_root/assets/admin-80eqCqtz.js.gz +0 -0
  491. codex/static_root/assets/admin-CBLHOrM9.8c3c2268bc96.js +0 -1
  492. codex/static_root/assets/admin-CBLHOrM9.8c3c2268bc96.js.br +0 -0
  493. codex/static_root/assets/admin-CBLHOrM9.8c3c2268bc96.js.gz +0 -0
  494. codex/static_root/assets/admin-CBLHOrM9.js +0 -1
  495. codex/static_root/assets/admin-CBLHOrM9.js.br +0 -0
  496. codex/static_root/assets/admin-CBLHOrM9.js.gz +0 -0
  497. codex/static_root/assets/admin-menu-_aAGknKO.0c08c9bd2e7d.js.br +0 -0
  498. codex/static_root/assets/admin-menu-_aAGknKO.0c08c9bd2e7d.js.gz +0 -0
  499. codex/static_root/assets/admin-menu-_aAGknKO.js.br +0 -0
  500. codex/static_root/assets/admin-menu-_aAGknKO.js.gz +0 -0
  501. codex/static_root/assets/admin-settings-button-progress-BqRFyhjf.2bb1194b21e2.js.br +0 -0
  502. codex/static_root/assets/admin-settings-button-progress-BqRFyhjf.2bb1194b21e2.js.gz +0 -0
  503. codex/static_root/assets/admin-settings-button-progress-BqRFyhjf.js.br +0 -0
  504. codex/static_root/assets/admin-settings-button-progress-BqRFyhjf.js.gz +0 -0
  505. codex/static_root/assets/browser-DAprXYuP.8bb92965dd9d.js +0 -1
  506. codex/static_root/assets/browser-DAprXYuP.8bb92965dd9d.js.br +0 -0
  507. codex/static_root/assets/browser-DAprXYuP.8bb92965dd9d.js.gz +0 -0
  508. codex/static_root/assets/browser-DAprXYuP.js +0 -1
  509. codex/static_root/assets/browser-DAprXYuP.js.br +0 -0
  510. codex/static_root/assets/browser-DAprXYuP.js.gz +0 -0
  511. codex/static_root/assets/browser-chTZ1CM4.521193ab0710.css.br +0 -0
  512. codex/static_root/assets/browser-chTZ1CM4.521193ab0710.css.gz +0 -0
  513. codex/static_root/assets/browser-chTZ1CM4.css.br +0 -0
  514. codex/static_root/assets/browser-chTZ1CM4.css.gz +0 -0
  515. codex/static_root/assets/change-password-dialog-1ZVP_Q2w.ae0d9e5bd42b.js.br +0 -0
  516. codex/static_root/assets/change-password-dialog-1ZVP_Q2w.ae0d9e5bd42b.js.gz +0 -0
  517. codex/static_root/assets/change-password-dialog-1ZVP_Q2w.js.br +0 -0
  518. codex/static_root/assets/change-password-dialog-1ZVP_Q2w.js.gz +0 -0
  519. codex/static_root/assets/confirm-dialog-DqCey9Iq.e315d7f8f752.js.br +0 -0
  520. codex/static_root/assets/confirm-dialog-DqCey9Iq.e315d7f8f752.js.gz +0 -0
  521. codex/static_root/assets/confirm-dialog-DqCey9Iq.js.br +0 -0
  522. codex/static_root/assets/confirm-dialog-DqCey9Iq.js.gz +0 -0
  523. codex/static_root/assets/datetime-column-CBA8bYeO.17a31f189d66.js.br +0 -0
  524. codex/static_root/assets/datetime-column-CBA8bYeO.17a31f189d66.js.gz +0 -0
  525. codex/static_root/assets/datetime-column-CBA8bYeO.js.br +0 -0
  526. codex/static_root/assets/datetime-column-CBA8bYeO.js.gz +0 -0
  527. codex/static_root/assets/filter-mnO3lLPo.659442401b16.js.br +0 -0
  528. codex/static_root/assets/filter-mnO3lLPo.659442401b16.js.gz +0 -0
  529. codex/static_root/assets/filter-mnO3lLPo.js.br +0 -0
  530. codex/static_root/assets/filter-mnO3lLPo.js.gz +0 -0
  531. codex/static_root/assets/flag-tab-Bc677pNb.1b8a2f7c0dc3.js.br +0 -0
  532. codex/static_root/assets/flag-tab-Bc677pNb.1b8a2f7c0dc3.js.gz +0 -0
  533. codex/static_root/assets/flag-tab-Bc677pNb.js.br +0 -0
  534. codex/static_root/assets/flag-tab-Bc677pNb.js.gz +0 -0
  535. codex/static_root/assets/flag-tab-glFvEgEl.be8eed14384e.css +0 -1
  536. codex/static_root/assets/flag-tab-glFvEgEl.be8eed14384e.css.br +0 -0
  537. codex/static_root/assets/flag-tab-glFvEgEl.be8eed14384e.css.gz +0 -0
  538. codex/static_root/assets/flag-tab-glFvEgEl.css +0 -1
  539. codex/static_root/assets/flag-tab-glFvEgEl.css.br +0 -0
  540. codex/static_root/assets/flag-tab-glFvEgEl.css.gz +0 -0
  541. codex/static_root/assets/forwardRefs-DPRKg5wq.6f09e9d22fa6.js.br +0 -0
  542. codex/static_root/assets/forwardRefs-DPRKg5wq.6f09e9d22fa6.js.gz +0 -0
  543. codex/static_root/assets/forwardRefs-DPRKg5wq.js.br +0 -0
  544. codex/static_root/assets/forwardRefs-DPRKg5wq.js.gz +0 -0
  545. codex/static_root/assets/group-tab-BVlBrMwo.1127b51be6e7.js +0 -1
  546. codex/static_root/assets/group-tab-BVlBrMwo.1127b51be6e7.js.br +0 -0
  547. codex/static_root/assets/group-tab-BVlBrMwo.1127b51be6e7.js.gz +0 -0
  548. codex/static_root/assets/group-tab-BVlBrMwo.js +0 -1
  549. codex/static_root/assets/group-tab-BVlBrMwo.js.br +0 -0
  550. codex/static_root/assets/group-tab-BVlBrMwo.js.gz +0 -0
  551. codex/static_root/assets/http-error-C9-_aEBF.d29b164e80de.js +0 -1
  552. codex/static_root/assets/http-error-C9-_aEBF.d29b164e80de.js.br +0 -0
  553. codex/static_root/assets/http-error-C9-_aEBF.d29b164e80de.js.gz +0 -0
  554. codex/static_root/assets/http-error-C9-_aEBF.js +0 -1
  555. codex/static_root/assets/http-error-C9-_aEBF.js.br +0 -0
  556. codex/static_root/assets/http-error-C9-_aEBF.js.gz +0 -0
  557. codex/static_root/assets/index-9nBCksDQ.4561d2608773.js.br +0 -0
  558. codex/static_root/assets/index-9nBCksDQ.4561d2608773.js.gz +0 -0
  559. codex/static_root/assets/index-9nBCksDQ.js.br +0 -0
  560. codex/static_root/assets/index-9nBCksDQ.js.gz +0 -0
  561. codex/static_root/assets/library-tab-BMe3dKzy.22b6e123ecfb.js +0 -1
  562. codex/static_root/assets/library-tab-BMe3dKzy.22b6e123ecfb.js.br +0 -0
  563. codex/static_root/assets/library-tab-BMe3dKzy.22b6e123ecfb.js.gz +0 -0
  564. codex/static_root/assets/library-tab-BMe3dKzy.js +0 -1
  565. codex/static_root/assets/library-tab-BMe3dKzy.js.br +0 -0
  566. codex/static_root/assets/library-tab-BMe3dKzy.js.gz +0 -0
  567. codex/static_root/assets/main-BbNUiWEb.565b616eb122.js +0 -35
  568. codex/static_root/assets/main-BbNUiWEb.565b616eb122.js.br +0 -0
  569. codex/static_root/assets/main-BbNUiWEb.565b616eb122.js.gz +0 -0
  570. codex/static_root/assets/main-BbNUiWEb.js +0 -35
  571. codex/static_root/assets/main-BbNUiWEb.js.br +0 -0
  572. codex/static_root/assets/main-BbNUiWEb.js.gz +0 -0
  573. codex/static_root/assets/pager-full-pdf-JwAUlsNI.6d4ec47c14f7.js +0 -1
  574. codex/static_root/assets/pager-full-pdf-JwAUlsNI.6d4ec47c14f7.js.br +0 -0
  575. codex/static_root/assets/pager-full-pdf-JwAUlsNI.6d4ec47c14f7.js.gz +0 -0
  576. codex/static_root/assets/pager-full-pdf-JwAUlsNI.js +0 -1
  577. codex/static_root/assets/pager-full-pdf-JwAUlsNI.js.br +0 -0
  578. codex/static_root/assets/pager-full-pdf-JwAUlsNI.js.gz +0 -0
  579. codex/static_root/assets/pagination-toolbar-Dx5JwWG-.ba0e8b645dfa.js.br +0 -0
  580. codex/static_root/assets/pagination-toolbar-Dx5JwWG-.ba0e8b645dfa.js.gz +0 -0
  581. codex/static_root/assets/pagination-toolbar-Dx5JwWG-.js.br +0 -0
  582. codex/static_root/assets/pagination-toolbar-Dx5JwWG-.js.gz +0 -0
  583. codex/static_root/assets/pdf-doc-6ZE_HmLT.10d1e16abc78.js.br +0 -0
  584. codex/static_root/assets/pdf-doc-6ZE_HmLT.10d1e16abc78.js.gz +0 -0
  585. codex/static_root/assets/pdf-doc-6ZE_HmLT.js.br +0 -0
  586. codex/static_root/assets/pdf-doc-6ZE_HmLT.js.gz +0 -0
  587. codex/static_root/assets/reader-DdPKDuh5.0c55cef1e98b.js +0 -2
  588. codex/static_root/assets/reader-DdPKDuh5.0c55cef1e98b.js.br +0 -0
  589. codex/static_root/assets/reader-DdPKDuh5.0c55cef1e98b.js.gz +0 -0
  590. codex/static_root/assets/reader-DdPKDuh5.js +0 -2
  591. codex/static_root/assets/reader-DdPKDuh5.js.br +0 -0
  592. codex/static_root/assets/reader-DdPKDuh5.js.gz +0 -0
  593. codex/static_root/assets/relation-chips-C96hi5jm.9f07c9eb533a.js.br +0 -0
  594. codex/static_root/assets/relation-chips-C96hi5jm.9f07c9eb533a.js.gz +0 -0
  595. codex/static_root/assets/relation-chips-C96hi5jm.js.br +0 -0
  596. codex/static_root/assets/relation-chips-C96hi5jm.js.gz +0 -0
  597. codex/static_root/assets/settings-drawer-CqbT1rid.5639fa00b301.js +0 -2
  598. codex/static_root/assets/settings-drawer-CqbT1rid.5639fa00b301.js.br +0 -0
  599. codex/static_root/assets/settings-drawer-CqbT1rid.5639fa00b301.js.gz +0 -0
  600. codex/static_root/assets/settings-drawer-CqbT1rid.js +0 -2
  601. codex/static_root/assets/settings-drawer-CqbT1rid.js.br +0 -0
  602. codex/static_root/assets/settings-drawer-CqbT1rid.js.gz +0 -0
  603. codex/static_root/assets/stats-tab-CkT2ZGUQ.b704fa46dc88.js.br +0 -0
  604. codex/static_root/assets/stats-tab-CkT2ZGUQ.b704fa46dc88.js.gz +0 -0
  605. codex/static_root/assets/stats-tab-CkT2ZGUQ.js.br +0 -0
  606. codex/static_root/assets/stats-tab-CkT2ZGUQ.js.gz +0 -0
  607. codex/static_root/assets/task-tab-DfdUY9Rc.478e74041f80.css +0 -1
  608. codex/static_root/assets/task-tab-DfdUY9Rc.478e74041f80.css.gz +0 -0
  609. codex/static_root/assets/task-tab-DfdUY9Rc.css +0 -1
  610. codex/static_root/assets/task-tab-DfdUY9Rc.css.gz +0 -0
  611. codex/static_root/assets/task-tab-a-DcU3Tj.8c2f7bf3c4c9.js +0 -1
  612. codex/static_root/assets/task-tab-a-DcU3Tj.8c2f7bf3c4c9.js.br +0 -0
  613. codex/static_root/assets/task-tab-a-DcU3Tj.8c2f7bf3c4c9.js.gz +0 -0
  614. codex/static_root/assets/task-tab-a-DcU3Tj.js +0 -1
  615. codex/static_root/assets/task-tab-a-DcU3Tj.js.br +0 -0
  616. codex/static_root/assets/task-tab-a-DcU3Tj.js.gz +0 -0
  617. codex/static_root/assets/unauthorized-BOl5YpL3.f3c4b52718d5.js +0 -1
  618. codex/static_root/assets/unauthorized-BOl5YpL3.f3c4b52718d5.js.br +0 -0
  619. codex/static_root/assets/unauthorized-BOl5YpL3.f3c4b52718d5.js.gz +0 -0
  620. codex/static_root/assets/unauthorized-BOl5YpL3.js +0 -1
  621. codex/static_root/assets/unauthorized-BOl5YpL3.js.br +0 -0
  622. codex/static_root/assets/unauthorized-BOl5YpL3.js.gz +0 -0
  623. codex/static_root/assets/user-tab-BBDZvD8G.aa4263a68b22.js +0 -1
  624. codex/static_root/assets/user-tab-BBDZvD8G.aa4263a68b22.js.br +0 -0
  625. codex/static_root/assets/user-tab-BBDZvD8G.aa4263a68b22.js.gz +0 -0
  626. codex/static_root/assets/user-tab-BBDZvD8G.js +0 -1
  627. codex/static_root/assets/user-tab-BBDZvD8G.js.br +0 -0
  628. codex/static_root/assets/user-tab-BBDZvD8G.js.gz +0 -0
  629. codex/static_root/manifest.225989a17f49.json.br +0 -0
  630. codex/static_root/manifest.225989a17f49.json.gz +0 -0
  631. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/LICENSE +0 -0
  632. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1 @@
1
+ import{_ as i,E as c,am as s,aG as l,k as e,l as u,n as _,a as o,w as d}from"./main-B5uflU6E.js";import{P as g,S as k}from"./reader-DycvjN42.js";import P from"./pdf-doc-DRBtl9_2.js";import"./forwardRefs-i80xmxX3.js";import"./settings-drawer-DY8o-jF3.js";import"./unauthorized-Dld9cV8d.js";import"./VDialog-Dr7SuC2S.js";import"./change-password-dialog-BKar2Bhb.js";import"./VForm-XhA6T0Lc.js";import"./VSelectionControl-BkZZAsWo.js";import"./admin-B4z2nA5P.js";import"./ssrBoot-DRKt_yWP.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDivider-By4u2EsM.js";import"./VWindowItem-Dm2szrjK.js";import"./VSelect-Bbt1vrBg.js";import"./VCheckboxBtn-COaoh3uF.js";import"./pagination-toolbar-D3JQmDiD.js";import"./confirm-dialog-BoBL4OoS.js";import"./VExpansionPanels-BhO9oj0a.js";import"./VRadioGroup-C1WCG0rO.js";import"./VCheckbox-CWBDr4kF.js";import"./index-gVdawuuE.js";const f={name:"PagerFullPDF",components:{PageChangeLink:g,PDFDoc:P,ScaleForScroll:k},props:{book:{type:Object,required:!0}},emits:["load","error","unauthorized"],computed:{...c(s,{page:r=>r.page||0}),src(){return l(this.book)}}};function F(r,S,a,D,h,p){const t=e("PageChangeLink"),n=e("PDFDoc"),m=e("ScaleForScroll");return u(),_("span",null,[o(t,{direction:"prev"}),o(t,{direction:"next"}),o(m,null,{default:d(()=>[o(n,{book:a.book,page:r.page,src:p.src},null,8,["book","page","src"])]),_:1})])}const K=i(f,[["render",F]]);export{K as default};
@@ -0,0 +1 @@
1
+ import{_ as i,E as c,am as s,aG as l,k as e,l as u,n as _,a as o,w as d}from"./main-B5uflU6E.js";import{P as g,S as k}from"./reader-DycvjN42.js";import P from"./pdf-doc-DRBtl9_2.js";import"./forwardRefs-i80xmxX3.js";import"./settings-drawer-DY8o-jF3.js";import"./unauthorized-Dld9cV8d.js";import"./VDialog-Dr7SuC2S.js";import"./change-password-dialog-BKar2Bhb.js";import"./VForm-XhA6T0Lc.js";import"./VSelectionControl-BkZZAsWo.js";import"./admin-B4z2nA5P.js";import"./ssrBoot-DRKt_yWP.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDivider-By4u2EsM.js";import"./VWindowItem-Dm2szrjK.js";import"./VSelect-Bbt1vrBg.js";import"./VCheckboxBtn-COaoh3uF.js";import"./pagination-toolbar-D3JQmDiD.js";import"./confirm-dialog-BoBL4OoS.js";import"./VExpansionPanels-BhO9oj0a.js";import"./VRadioGroup-C1WCG0rO.js";import"./VCheckbox-CWBDr4kF.js";import"./index-gVdawuuE.js";const f={name:"PagerFullPDF",components:{PageChangeLink:g,PDFDoc:P,ScaleForScroll:k},props:{book:{type:Object,required:!0}},emits:["load","error","unauthorized"],computed:{...c(s,{page:r=>r.page||0}),src(){return l(this.book)}}};function F(r,S,a,D,h,p){const t=e("PageChangeLink"),n=e("PDFDoc"),m=e("ScaleForScroll");return u(),_("span",null,[o(t,{direction:"prev"}),o(t,{direction:"next"}),o(m,null,{default:d(()=>[o(n,{book:a.book,page:r.page,src:p.src},null,8,["book","page","src"])]),_:1})])}const K=i(f,[["render",F]]);export{K as default};
@@ -1 +1 @@
1
- import{p as le,J as ye,g as ce,d as Ze,t as D,u as me,a as r,aX as Ve,_ as A,l as d,v as y,V as ke,y as U,w as V,a5 as Se,m as K,C as we,L as Z,aY as We,n as b,x as ae,H as R,z as I,ax as Oe,aZ as Xe,a_ as Je,ag as pe,a$ as Qe,aA as et,k as G,s as $,b0 as tt,Z as Ge,E as ue,A as be,q as h,F as Q,j as at,b1 as st,b2 as Be,b3 as lt,b4 as rt,b5 as it,D as nt,ac as ot,ad as ut,b6 as dt,af as ct,ab as mt,X as vt,c as f,b7 as Ne,aR as _e,aT as Ie,r as ge,b8 as ht,aV as ft,b9 as Ae,i as je,e as J,S as Me,aj as pt,aM as bt,ba as gt,b as yt}from"./main-BbNUiWEb.js";import{w as kt,k as ve,V as de,n as St,i as wt,x as _t,R as Ct,y as Tt,u as Vt,j as Bt,e as Re}from"./forwardRefs-DPRKg5wq.js";import{a as Nt,c as It,d as Mt,C as Rt,V as Lt}from"./VDialog-RVLeW7je.js";import{c as Pt,d as Ft,e as Dt}from"./VSelect-BSLmHX_P.js";import{C as Et}from"./change-password-dialog-1ZVP_Q2w.js";import{C as Ot}from"./confirm-dialog-DqCey9Iq.js";import{P as Gt,a as At}from"./unauthorized-BOl5YpL3.js";import{f as jt,m as zt,g as xt,u as Ut,h as Le,i as $t}from"./VSelectionControl-TaKCeZgb.js";const qt=le({...ye(),...kt({variant:"text"})},"VToolbarItems"),Bs=ce()({name:"VToolbarItems",props:qt(),setup(e,t){let{slots:a}=t;return Ze({VBtn:{color:D(e,"color"),height:"inherit",variant:D(e,"variant")}}),me(()=>{var i;return r("div",{class:["v-toolbar-items",e.class],style:e.style},[(i=a.default)==null?void 0:i.call(a)])}),{}}}),Pe=new Set(["",Ve,Ve.toString(),void 0]),Ht=function(e){let t;return Pe.has(e)?t=e:e instanceof Object?Pe.has(e.pk)?t=void 0:t={value:e.pk,title:e.name}:t={value:e,title:e.toString()},e!=null&&e.url&&(t.url=e.url),t},Yt=function(e,t){return e.title<t.title?-1:e.title>t.title?1:0},Kt=function(e,t){return Number.parseFloat(e.title)-Number.parseFloat(t.title)},Zt=function(e,t,a=!1){var l;const i=e||[],n=t&&t.toLowerCase();let s=[];for(const v of i){const c=Ht(v);c!=null&&(!n||(l=c==null?void 0:c.title)!=null&&l.toLowerCase().includes(n))&&s.push(c)}const o=a?Kt:Yt;return s.sort(o)},Wt={name:"ToolbarSelect",props:{selectLabel:{type:String,default:""},maxSelectLen:{type:Number,default:0}},computed:{style(){if(this.maxSelectLen){const e=this.$vuetify.display.xs?"max-width":"width",t=this.maxSelectLen*.7+"em";return`${e}: ${t}`}return""}}};function Xt(e,t,a,i,n,s){return d(),y(Pt,K(e.$attrs,{label:a.selectLabel,"aria-label":a.selectLabel,class:"toolbarSelect",density:"compact","full-width":"","menu-props":{maxHeight:void 0},"hide-details":"auto",style:s.style,variant:"plain"}),ke({item:V(({item:o,props:l})=>[r(Nt,K(l,{density:"compact",variant:"plain",title:o.title,value:o.value}),null,16,["title","value"])]),_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1040,["label","aria-label","style"])}const Ns=A(Wt,[["render",Xt],["__scopeId","data-v-e88da460"]]),Is=It("v-spacer","div","VSpacer"),Jt={name:"BookCover",props:{group:{type:String,required:!0},pks:{type:Array,required:!0},childCount:{type:Number,default:1},finished:{type:Boolean},mtime:{type:Number,default:Date.now()}},data(){return{showPlaceholder:!1}},computed:{...we(Z,["coverSettings"]),coverSrc(){return We({group:this.group,pks:this.pks},this.coverSettings,this.mtime)},multiPkClasses(){const e=this.pks.length,t={};return e>=4?t.stack4=!0:e>1&&(t[`stack${e}`]=!0),t}},mounted:function(){this.delayPlaceholder()},methods:{delayPlaceholder:function(){setTimeout(()=>{this.showPlaceholder=!0},2e3)}}},Qt={class:"bookCover"},ea={key:1,class:"childCount"};function ta(e,t,a,i,n,s){return d(),b("div",Qt,[r(Mt,{src:s.coverSrc,class:ae(["coverImg",s.multiPkClasses])},null,8,["src","class"]),a.finished!==!0?(d(),b("div",{key:0,class:ae({unreadFlag:!0,mixedreadFlag:a.finished===null})},null,2)):R("",!0),a.group!=="c"?(d(),b("span",ea,I(a.childCount),1)):R("",!0)])}const aa=A(Jt,[["render",ta],["__scopeId","data-v-39e3a9f8"]]),sa=10,la={name:"DownloadButton",components:{ConfirmDialog:Ot,CodexListItem:Rt},props:{button:{type:Boolean,default:!1},group:{type:String,default:"c"},pks:{type:Array,required:!0},children:{type:Number,required:!0},names:{type:Array,required:!0},ts:{type:Number,default:void 0}},data(){return{mdiDownload:Oe}},computed:{...we(Z,["filterOnlySettings"]),show(){return this.pks&&this.pks.length>0&&!this.pks.includes(0)},isOneComic(){return this.group==="c"&&this.pks.length===1},downloadURL(){let e="";if(this.isOneComic){const t=this.pks[0];e=Xe({pk:t},this.downloadFn,this.ts)}else{const t=this.group,a=this.pks,i=this.filterOnlySettings;e=Je({group:t,pks:a},this.downloadFn,i,this.ts)}return e},formattedChildren(){return pe.format(this.children)},downloadFn(){const e=this.names.filter(t=>t).join(" ");if(this.isOneComic)return e;{let t=Qe[this.group];return t!=="Series"&&(t=t.slice(0,-1)),`${t} - ${e} Comics.zip`}},title(){let e="Download";return this.isOneComic?e+=" Book":e+=` ${this.formattedChildren} Books`,e},confirm(){return this.children>sa},confirmText(){return`Download ${this.formattedChildren} books`}},methods:{download(){const e=this.downloadURL,t=this.downloadFn;if(this.isOneComic)et(e,t);else{const a=document.createElement("a");a.download=this.downloadFn,a.href=this.downloadURL,a.click(),a.remove()}}}};function ra(e,t,a,i,n,s){const o=G("CodexListItem"),l=G("ConfirmDialog");return s.show&&!s.confirm&&a.button?(d(),y(de,{key:0,onClick:s.download},{default:V(()=>[r(ve,null,{default:V(()=>[$(I(n.mdiDownload),1)]),_:1}),$(" "+I(s.title),1)]),_:1},8,["onClick"])):s.show&&!s.confirm?(d(),y(o,{key:1,"prepend-icon":n.mdiDownload,title:s.title,onClick:s.download},null,8,["prepend-icon","title","onClick"])):s.show?(d(),y(l,{key:2,button:a.button,"prepend-icon":n.mdiDownload,"button-text":s.title,"title-text":s.title,text:"May take a while","confirm-text":"Download",onConfirm:s.download},null,8,["button","prepend-icon","button-text","title-text","onConfirm"])):R("",!0)}const ia=A(la,[["render",ra],["__scopeId","data-v-11785682"]]),na=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],oa=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],ua=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],da=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Fe=(e,t,a)=>{let i=e;return typeof t=="string"||Array.isArray(t)?i=e.toLocaleString(t,a):(t===!0||a!==void 0)&&(i=e.toLocaleString(void 0,a)),i};function ca(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?da:ua:t.binary?oa:na,i=t.space?" ":"";if(t.signed&&e===0)return` 0${i}${a[0]}`;const n=e<0,s=n?"-":t.signed?"+":"";n&&(e=-e);let o;if(t.minimumFractionDigits!==void 0&&(o={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(o={maximumFractionDigits:t.maximumFractionDigits,...o}),e<1){const B=Fe(e,t.locale,o);return s+B+i+a[0]}const l=Math.min(Math.floor(t.binary?Math.log(e)/Math.log(1024):Math.log10(e)/3),a.length-1);e/=(t.binary?1024:1e3)**l,o||(e=e.toPrecision(3));const v=Fe(Number(e),t.locale,o),c=a[l];return s+v+i+c}const ma={name:"MetadataTags",props:{label:{type:String,required:!0},values:{type:Array,default(){return[]}},filter:{type:String,required:!1,default:void 0}},data(){return{mdiFilter:tt,mdiOpenInNew:Ge}},computed:{...ue(Z,{filterValues(e){const t=this.filter||this.label.toLowerCase();return e.settings.filters[t]},topGroup:e=>e.settings.topGroup}),model(){return Zt(this.values)},chipClass(e){return{browseChip:this.filter&&e}}},methods:{...be(Z,["setSettings"]),chipColor(e){return this.filterValues&&this.filterValues.includes(e)?this.$vuetify.theme.current.colors["primary-darken-1"]:""},onClick(e){if(!this.filter||!e)return;const t=["f","s"].includes(this.topGroup)?this.topGroup:"r",a=t==="s"&&this.filter==="storyArcs";if(!a){const o={filters:{[this.filter]:[e]}};this.setSettings(o)}const s={name:"browser",params:{group:t,pk:a?e:0,page:1}};this.$router.push(s)}}},va={key:0,class:"tags"},ha={class:"chipGroupLabel"},fa=["href"];function pa(e,t,a,i,n,s){return s.model&&s.model.length>0?(d(),b("div",va,[h("div",ha,I(a.label),1),r(Dt,{column:!0,multiple:"",value:s.model},{default:V(()=>[(d(!0),b(Q,null,U(s.model,o=>(d(),y(Ft,{key:`${a.label}/${o.value}`,color:s.chipColor(o.value),value:o.value,onClick:l=>s.onClick(o.value)},{default:V(()=>[o.url?(d(),b("a",{key:0,href:o.url,target:"_blank"},[$(I(o.title),1),r(ve,null,{default:V(()=>[$(I(n.mdiOpenInNew),1)]),_:1})],8,fa)):(d(),b("span",{key:1,class:ae(s.chipClass)},I(o.title),3))]),_:2},1032,["color","value","onClick"]))),128))]),_:1},8,["value"])])):R("",!0)}const ze=A(ma,[["render",pa],["__scopeId","data-v-75fd687b"]]),ba={name:"MetadataContributorsTable",components:{MetadataTags:ze},props:{value:{type:Array,default:void 0}},computed:{contributorsDict(){const e={};if(!this.value)return e;for(const{role:i,person:n}of this.value){const s=at(i.name)+"s";e[s]||(e[s]=[]),e[s].push(n)}const t=Object.keys(e).sort((i,n)=>i.localeCompare(n)),a={};for(const i of t)a[i]=e[i].sort((n,s)=>n.name.localeCompare(s.name));return a}}},ga={key:0};function ya(e,t,a,i,n,s){const o=G("MetadataTags");return Object.keys(s.contributorsDict).length>0?(d(),b("div",ga,[t[0]||(t[0]=h("h3",null,"Contributors",-1)),(d(!0),b(Q,null,U(Object.entries(s.contributorsDict),([l,v])=>(d(),y(o,{key:l,values:v,label:l,filter:"contributors"},null,8,["values","label"]))),128))])):R("",!0)}const ka=A(ba,[["render",ya]]),De="(Empty)",Sa={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:Ge}},computed:{...ue(Z,{browserShow:e=>e.settings.show,browserTopGroup:e=>e.settings.topGroup,folderViewEnabled:e=>e.page.adminFlags.folderView}),computedValue(){return this.value&&this.value.name!==void 0?this.value.name:this.value},lastSlashIndex(){return this.computedValue.lastIndexOf("/")+1},displayValue(){let e;return this.group&&this.computedValue===""?e=De:this.group==="f"&&this.computedValue?e=this.computedValue.substring(0,this.lastSlashIndex):e=this.computedValue,e},empty(){return this.displayValue===De},_browserGroupHref(){const e=this.group,t=this.$router.currentRoute.value.params;if(!e||t.group===e||e==="f"&&!this.folderViewEnabled||!["a","f"].includes(e)&&!this.browserShow[e])return;const a=this.value.ids?this.value.ids:[this.value.pk];if(!a||!a.length)return;const n={topGroup:this.getTopGroup(e)};return st({group:e,pks:a,query:n})},_linkHref(){return this.link===!0?this.displayValue:this.link?this.link:!1},href(){return this._browserGroupHref?this._browserGroupHref:this._linkHref},target(){return this.link?"_blank":""},title(){return this._browserGroupHref?`Browse to ${this.label}`:this.label},baseName(){return this.group==="f"?this.computedValue.substring(this.lastSlashIndex):""},highlight(){var e;return((e=this.obj)==null?void 0:e.group)===this.group}},methods:{getTopGroup(e){let t;if(this.browserTopGroup===e||["a","f"].includes(e))t=e;else{const a=Be.indexOf(e);for(const i of Be.slice(a))if(i!=="r"&&this.browserShow[i]){t=i;break}}return t}}},wa={class:"textLabel"},_a=["href","title","target"],Ca={key:1,class:"textContent"},Ta={key:2};function Va(e,t,a,i,n,s){return s.displayValue?(d(),b("div",{key:0,class:ae(["text",{highlight:s.highlight}])},[h("div",wa,I(a.label),1),h("div",{class:ae(["textValue",{empty:s.empty}])},[s.href?(d(),b("a",{key:0,href:s.href,title:s.title,target:s.target},[$(I(s.displayValue)+" ",1),a.link?(d(),y(ve,{key:0,size:"small"},{default:V(()=>[$(I(n.mdiOpenInNew),1)]),_:1})):R("",!0)],8,_a)):(d(),b("div",Ca,I(s.displayValue),1)),s.baseName?(d(),b("span",Ta,I(s.baseName),1)):R("",!0)],2)],2)):R("",!0)}const Ba=A(Sa,[["render",Va],["__scopeId","data-v-e07a86c1"]]),xe=new Set("rtl","btt");Object.freeze(xe);const Na=({ids:e,page:t,readingDirection:a,pageCount:i},n)=>{if(e.length<1||n&&!i)return"";const s=e[0];if(t)t=Number(t);else if(xe.has(a)){const o=Number(i)-1;t=Math.max(o,0)}else t=0;return{name:"reader",params:{pk:s,page:t}}},Ee=lt("metadata",{state:()=>({md:void 0}),actions:{async loadMetadata({group:e,pks:t}){await rt.getMetadata({group:e,pks:t},Z().metadataSettings).then(a=>{const i={...a.data};return i.loaded=!0,this.md=i,!0}).catch(a=>{console.error(a),this.clearMetadata()})},clearMetadata(){this.md=void 0}}}),Ia=1160,Ma=.05,Ra=250,La={name:"MetadataButton",components:{BookCover:aa,CloseButton:Et,DownloadButton:ia,MetadataContributorsTable:ka,MetadataTags:ze,MetadataText:Ba,PlaceholderLoading:Gt},props:{group:{type:String,required:!0},book:{type:Object,required:!0},children:{type:Number,default:1},toolbar:{type:Boolean,default:!1}},data(){return{mdiDownload:Oe,mdiTagOutline:it,dialog:!1,progress:0}},computed:{...we(nt,["isUserAdmin"]),...ue(Z,{twentyFourHourTime:e=>{var t;return(t=e.settings)==null?void 0:t.twentyFourHourTime},readingDirectionTitles:e=>e.choices.static.readingDirection,identifierTypes:e=>e.choices.static.identifierType,importMetadata:e=>{var t,a;return(a=(t=e.page)==null?void 0:t.adminFlags)==null?void 0:a.importMetadata},q:e=>e.settings.q}),...ue(Ee,{md:e=>e.md}),showContainer(){var e;return((e=this.md)==null?void 0:e.loaded)||!1},buttonVariant(){return this.toolbar?"plain":"text"},downloadGroup(){return this.md.group},downloadPks(){return this.md.ids},downloadNames(){const e=this.md;return e?e.fileName?[e.fileName]:[this.firstNameFromList(e.publisherList),this.firstNameFromList(e.imprintList),this.firstNameFromList(e.seriesList),this.firstNameFromList(e.volumeList),this.md.name]:["Unknown.cbz"]},isReadButtonShown(){return this.group==="c"&&this.$route.name!="reader"},isReadButtonEnabled(){return!!this.readerRoute},readButtonIcon(){return this.isReadButtonEnabled?ot:ut},readerRoute(){var e;return(e=this.md)!=null&&e.ids?Na(this.md,this.importMetadata):{}},formattedIssue(){if(!this.md)return"Unknown";if(!((this.md.issueNumber===null||this.md.issueNumber===void 0)&&!this.md.issueSuffix))return dt(this.md)},readingDirectionText(){return this.md?this.readingDirectionTitles[this.md.readingDirection]:"Unknown"},pages(){let e="";if(!this.md)return e;if(this.md.page){const a=pe.format(this.md.page);e+=`Read ${a} of `}const t=pe.format(this.md.pageCount);return e+=`${t} pages`,this.md.progress>0&&(e+=` (${Math.round(this.md.progress)}%)`),e},size(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.size)>0?ca(this.md.size):0},fileType(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.fileType)||"Unknown"},titledIdentifiers(){var t;const e=[];if(!((t=this==null?void 0:this.md)!=null&&t.identifiers))return e;for(const a of this.md.identifiers){const i=a.name.split(":"),n=i[0],s=i[1],o=this.identifierTypeTitle(n);let l="";o&&o!=="None"&&(l+=o+":"),l+=s,e.push({...a,name:l})}return e},multiGroup(){var e;return(e=this.md)!=null&&e.ids?this.md.ids.length>1:!1}},watch:{dialog(e){e?this.dialogOpened():this.clearMetadata()}},methods:{...be(Ee,["clearMetadata","loadMetadata"]),...be(Z,["identifierTypeTitle"]),dialogOpened(){const e=this.book.ids?this.book.ids:[this.book.pk],t={group:this.group,pks:e};this.loadMetadata(t),this.startProgress()},startProgress(){this.startTime=Date.now(),this.estimatedMS=Math.max(Ma,this.children/Ia)*1e3,this.updateProgress()},updateProgress(){const e=Date.now()-this.startTime;this.progress=e/this.estimatedMS*100,!(this.progress>=100||this.md)&&setTimeout(()=>{this.updateProgress()},Ra)},formatDateTime(e){return ct(e,this.twentyFourHourTime)},firstNameFromList(e){let t="";if(e){for(const a of Object.values(e))if(a.name){t=a.name;break}}return t}}},Pa={id:"metadataHeader"},Fa={id:"metadataBookCoverWrapper"},Da={class:"inlineRow"},Ea={class:"inlineRow"},Oa={class:"inlineRow"},Ga={key:1,class:"inlineRow"},Aa={id:"metadataBody"},ja={class:"mdSection"},za={class:"quintRow"},xa={class:"mdSection"},Ua={class:"quarterRow"},$a={class:"lastSmallRow"},qa={class:"halfRow mdSection"},Ha={class:"mdSection"},Ya={class:"mdSection"},Ka={class:"mdSection"},Za={class:"mdSection"},Wa={class:"mdSection"},Xa={class:"mdSection inlineRow"},Ja={class:"inlineRow"},Qa={id:"footerLinks"},es={key:1,id:"placeholderContainer"};function ts(e,t,a,i,n,s){const o=G("CloseButton"),l=G("MetadataText"),v=G("BookCover"),c=G("MetadataTags"),B=G("MetadataContributorsTable"),w=G("DownloadButton"),N=G("PlaceholderLoading");return d(),y(Lt,{modelValue:n.dialog,"onUpdate:modelValue":t[3]||(t[3]=m=>n.dialog=m),fullscreen:"",transition:"dialog-bottom-transition"},{activator:V(({props:m})=>[r(de,K({"aria-label":"tags",class:"tagButton cardControlButton",variant:s.buttonVariant,icon:n.mdiTagOutline,title:"Tags"},m,{onClick:t[0]||(t[0]=mt(()=>{},["prevent"]))}),null,16,["variant","icon"])]),default:V(()=>[r(o,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[1]||(t[1]=m=>n.dialog=!1)}),s.showContainer?(d(),b("div",{key:0,id:"metadataContainer",onKeyup:t[2]||(t[2]=vt(m=>n.dialog=!1,["esc"]))},[h("header",Pa,[e.q?(d(),y(l,{key:0,id:"search",value:e.q,label:"Search Query",highlight:!0},null,8,["value"])):R("",!0),h("div",Fa,[r(v,{id:"bookCover",group:a.group,pks:e.md.ids,"child-count":e.md.childCount,finished:e.md.finished,mtime:e.md.mtime},null,8,["group","pks","child-count","finished","mtime"]),r(St,{class:"bookCoverProgress","model-value":e.md.progress,rounded:"","background-color":"inherit",height:"2","aria-label":"% read"},null,8,["model-value"])]),h("div",Da,[(d(!0),b(Q,null,U(e.md.publisherList,m=>(d(),y(l,{id:"publisher",key:m.ids,value:m,group:"p",label:"Publisher",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),(d(!0),b(Q,null,U(e.md.imprintList,m=>(d(),y(l,{id:"imprint",key:m.ids,value:m,group:"i",label:"Imprint",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),h("div",Ea,[(d(!0),b(Q,null,U(e.md.seriesList,m=>(d(),y(l,{id:"series",key:m.ids,value:m,label:"Series",group:"s",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),h("div",Oa,[(d(!0),b(Q,null,U(e.md.volumeList,m=>(d(),y(l,{id:"volume",key:m.ids,value:m,label:"Volume",group:"v",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),r(l,{value:e.md.seriesVolumeCount,label:"Volume Count"},null,8,["value"]),r(l,{id:"issue",value:s.formattedIssue,label:"Issue",group:"c",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),r(l,{value:e.md.volumeIssueCount,label:"Issue Count"},null,8,["value"]),r(l,{value:e.md.name,label:"Title"},null,8,["value"])]),e.md.year||e.md.month||e.md.day?(d(),b("div",Ga,[r(l,{value:e.md.year,label:"Year",class:"datePicker",type:"number"},null,8,["value"]),r(l,{value:e.md.month,label:"Month",class:"datePicker"},null,8,["value"]),r(l,{value:e.md.day,label:"Day",class:"datePicker"},null,8,["value"])])):R("",!0)]),h("div",Aa,[h("section",ja,[h("div",za,[r(l,{value:s.pages,label:"Pages"},null,8,["value"]),r(l,{label:"Finished",value:(!!e.md.finished).toString()},null,8,["value"]),r(l,{label:"Reading Direction",value:s.readingDirectionText},null,8,["value"]),r(l,{value:(!!e.md.monochrome).toString(),label:"Monochrome"},null,8,["value"]),r(l,{value:e.md.original_format,label:"Original Format"},null,8,["value"])])]),h("section",xa,[h("div",Ua,[e.md.createdAt?(d(),y(l,{key:0,value:s.formatDateTime(e.md.createdAt),label:"Created at",class:"mtime"},null,8,["value"])):R("",!0),e.md.updatedAt?(d(),y(l,{key:1,value:s.formatDateTime(e.md.updatedAt),label:"Updated at",class:"mtime"},null,8,["value"])):R("",!0),r(l,{value:s.size,label:"Size"},null,8,["value"]),r(l,{value:s.fileType,label:"File Type"},null,8,["value"])]),h("div",$a,[r(l,{group:"f",value:{pk:e.md.parentFolderId,name:e.md.path},label:"Path"},null,8,["value"])])]),h("section",qa,[r(l,{value:e.md.country,label:"Country"},null,8,["value"]),r(l,{value:e.md.language,label:"Language"},null,8,["value"])]),h("section",Ha,[r(c,{values:s.titledIdentifiers,label:"Identifiers"},null,8,["values"])]),h("section",Ya,[r(l,{value:e.md.summary,label:"Summary"},null,8,["value"]),r(l,{value:e.md.review,label:"Review"},null,8,["value"])]),h("section",Ka,[r(l,{value:e.md.communityRating,label:"Community Rating"},null,8,["value"]),r(l,{value:e.md.criticalRating,label:"Critical Rating"},null,8,["value"]),r(l,{value:e.md.ageRating,label:"Age Rating"},null,8,["value"])]),h("section",Za,[r(c,{values:e.md.genres,label:"Genres",filter:"genres"},null,8,["values"]),r(c,{values:e.md.characters,label:"Characters",filter:"characters"},null,8,["values"]),r(c,{values:e.md.teams,label:"Teams",filter:"teams"},null,8,["values"]),r(c,{values:e.md.locations,label:"Locations",filter:"locations"},null,8,["values"]),r(c,{values:e.md.seriesGroups,label:"Series Groups",filter:"seriesGroups"},null,8,["values"]),r(c,{values:e.md.stories,label:"Stories",filter:"stories"},null,8,["values"]),r(c,{values:e.md.storyArcNumbers,label:"Story Arcs",filter:"storyArcs"},null,8,["values"]),r(c,{values:e.md.tags,label:"Tags",filter:"tags"},null,8,["values"])]),h("section",Wa,[r(B,{value:e.md.contributors},null,8,["value"])]),h("section",Xa,[r(l,{value:e.md.notes,label:"Notes"},null,8,["value"])]),h("section",Ja,[r(l,{value:e.md.tagger,label:"Tagger"},null,8,["value"]),r(l,{value:e.md.scanInfo,label:"Scan"},null,8,["value"])])]),h("footer",Qa,[r(w,{id:"downloadButton",button:!0,group:s.downloadGroup,pks:s.downloadPks,children:a.children,names:s.downloadNames,ts:e.md.mtime},null,8,["group","pks","children","names","ts"]),s.isReadButtonShown?(d(),y(de,{key:0,to:s.readerRoute,title:"Read Comic",disabled:!s.isReadButtonEnabled},{default:V(()=>[r(ve,null,{default:V(()=>[$(I(s.readButtonIcon),1)]),_:1}),t[4]||(t[4]=$(" Read "))]),_:1},8,["to","disabled"])):R("",!0)])],32)):(d(),b("div",es,[t[5]||(t[5]=h("div",{id:"placeholderTitle"},"Tags Loading",-1)),r(N,{"model-value":n.progress,indeterminate:n.progress>=100,class:"placeholder"},null,8,["model-value","indeterminate"])]))]),_:1},8,["modelValue"])}const Ms=A(La,[["render",ts],["__scopeId","data-v-1bd26a0f"]]),as={name:"PaginationNavButton",props:{narrow:{type:Boolean,default:!0}},computed:{classes(){return{narrowButton:this.narrow}}}};function ss(e,t,a,i,n,s){return d(),y(de,{variant:"plain",density:"compact",class:ae(["paginationNavButton",s.classes]),size:"medium"},ke({_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1032,["class"])}const Rs=A(as,[["render",ss],["__scopeId","data-v-0450dab6"]]),Ce=Symbol.for("vuetify:v-slider");function ls(e,t,a){const i=a==="vertical",n=t.getBoundingClientRect(),s="touches"in e?e.touches[0]:e;return i?s.clientY-(n.top+n.height/2):s.clientX-(n.left+n.width/2)}function rs(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 is=le({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,...wt(),..._t({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),ns=e=>{const t=f(()=>parseFloat(e.min)),a=f(()=>parseFloat(e.max)),i=f(()=>+e.step>0?parseFloat(e.step):0),n=f(()=>Math.max(Ne(i.value),Ne(t.value)));function s(o){if(o=parseFloat(o),i.value<=0)return o;const l=Ae(o,t.value,a.value),v=t.value%i.value,c=Math.round((l-v)/i.value)*i.value+v;return parseFloat(Math.min(c,a.value).toFixed(n.value))}return{min:t,max:a,step:i,decimals:n,roundValue:s}},os=e=>{let{props:t,steps:a,onSliderStart:i,onSliderMove:n,onSliderEnd:s,getActiveThumb:o}=e;const{isRtl:l}=_e(),v=D(t,"reverse"),c=f(()=>t.direction==="vertical"),B=f(()=>c.value!==v.value),{min:w,max:N,step:m,decimals:q,roundValue:j}=a,W=f(()=>parseInt(t.thumbSize,10)),H=f(()=>parseInt(t.tickSize,10)),z=f(()=>parseInt(t.trackSize,10)),E=f(()=>(N.value-w.value)/m.value),X=D(t,"disabled"),O=f(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),g=f(()=>t.error||t.disabled?void 0:t.trackColor??t.color),L=f(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),_=Ie(!1),C=Ie(0),P=ge(),F=ge();function p(u){var Te;const S=t.direction==="vertical",Ue=S?"top":"left",$e=S?"height":"width",qe=S?"clientY":"clientX",{[Ue]:He,[$e]:Ye}=(Te=P.value)==null?void 0:Te.$el.getBoundingClientRect(),Ke=rs(u,qe);let fe=Math.min(Math.max((Ke-He-C.value)/Ye,0),1)||0;return(S?B.value:B.value!==l.value)&&(fe=1-fe),j(w.value+fe*(N.value-w.value))}const x=u=>{s({value:p(u)}),_.value=!1,C.value=0},Y=u=>{F.value=o(u),F.value&&(F.value.focus(),_.value=!0,F.value.contains(u.target)?C.value=ls(u,F.value,t.direction):(C.value=0,n({value:p(u)})),i({value:p(u)}))},M={passive:!0,capture:!0};function ee(u){n({value:p(u)})}function re(u){u.stopPropagation(),u.preventDefault(),x(u),window.removeEventListener("mousemove",ee,M),window.removeEventListener("mouseup",re)}function ie(u){var S;x(u),window.removeEventListener("touchmove",ee,M),(S=u.target)==null||S.removeEventListener("touchend",ie)}function he(u){var S;Y(u),window.addEventListener("touchmove",ee,M),(S=u.target)==null||S.addEventListener("touchend",ie,{passive:!1})}function T(u){u.preventDefault(),Y(u),window.addEventListener("mousemove",ee,M),window.addEventListener("mouseup",re,{passive:!1})}const k=u=>{const S=(u-w.value)/(N.value-w.value)*100;return Ae(isNaN(S)?0:S,0,100)},te=D(t,"showTicks"),se=f(()=>te.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(u=>({value:u,position:k(u),label:u.toString()})):Object.keys(t.ticks).map(u=>({value:parseFloat(u),position:k(parseFloat(u)),label:t.ticks[u]})):E.value!==1/0?ht(E.value+1).map(u=>{const S=w.value+u*m.value;return{value:S,position:k(S)}}):[]:[]),ne=f(()=>se.value.some(u=>{let{label:S}=u;return!!S})),oe={activeThumbRef:F,color:D(t,"color"),decimals:q,disabled:X,direction:D(t,"direction"),elevation:D(t,"elevation"),hasLabels:ne,isReversed:v,indexFromEnd:B,min:w,max:N,mousePressed:_,numTicks:E,onSliderMousedown:T,onSliderTouchstart:he,parsedTicks:se,parseMouseMove:p,position:k,readonly:D(t,"readonly"),rounded:D(t,"rounded"),roundValue:j,showTicks:te,startOffset:C,step:m,thumbSize:W,thumbColor:O,thumbLabel:D(t,"thumbLabel"),ticks:D(t,"ticks"),tickSize:H,trackColor:g,trackContainerRef:P,trackFillColor:L,trackSize:z,vertical:c};return ft(Ce,oe),oe},us=le({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},name:String,...ye()},"VSliderThumb"),ds=ce()({name:"VSliderThumb",directives:{Ripple:Ct},props:us(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=je(Ce),{isRtl:s,rtlClasses:o}=_e();if(!n)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:l,step:v,disabled:c,thumbSize:B,thumbLabel:w,direction:N,isReversed:m,vertical:q,readonly:j,elevation:W,mousePressed:H,decimals:z,indexFromEnd:E}=n,X=f(()=>c.value?void 0:W.value),{elevationClasses:O}=Tt(X),{textColorClasses:g,textColorStyles:L}=Vt(l),{pageup:_,pagedown:C,end:P,home:F,left:p,right:x,down:Y,up:M}=gt,ee=[_,C,P,F,p,x,Y,M],re=f(()=>v.value?[1,2,3]:[1,5,10]);function ie(T,k){if(!ee.includes(T.key))return;T.preventDefault();const te=v.value||.1,se=(e.max-e.min)/te;if([p,x,Y,M].includes(T.key)){const oe=(q.value?[s.value?p:x,m.value?Y:M]:E.value!==s.value?[p,M]:[x,M]).includes(T.key)?1:-1,u=T.shiftKey?2:T.ctrlKey?1:0;k=k+oe*te*re.value[u]}else if(T.key===F)k=e.min;else if(T.key===P)k=e.max;else{const ne=T.key===C?1:-1;k=k-ne*te*(se>100?se/10:10)}return Math.max(e.min,Math.min(e.max,k))}function he(T){const k=ie(T,e.modelValue);k!=null&&i("update:modelValue",k)}return me(()=>{const T=J(E.value?100-e.position:e.position,"%");return r("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&H.value},e.class,o.value],style:[{"--v-slider-thumb-position":T,"--v-slider-thumb-size":J(B.value)},e.style],role:"slider",tabindex:c.value?-1:0,"aria-label":e.name,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.modelValue,"aria-readonly":!!j.value,"aria-orientation":N.value,onKeydown:j.value?void 0:he},[r("div",{class:["v-slider-thumb__surface",g.value,O.value],style:{...L.value}},null),Me(r("div",{class:["v-slider-thumb__ripple",g.value],style:L.value},null),[[pt("ripple"),e.ripple,null,{circle:!0,center:!0}]]),r(jt,{origin:"bottom center"},{default:()=>{var k;return[Me(r("div",{class:"v-slider-thumb__label-container"},[r("div",{class:["v-slider-thumb__label"]},[r("div",null,[((k=a["thumb-label"])==null?void 0:k.call(a,{modelValue:e.modelValue}))??e.modelValue.toFixed(v.value?z.value:1)])])]),[[bt,w.value&&e.focused||w.value==="always"]])]}})])}),{}}}),cs=le({start:{type:Number,required:!0},stop:{type:Number,required:!0},...ye()},"VSliderTrack"),ms=ce()({name:"VSliderTrack",props:cs(),emits:{},setup(e,t){let{slots:a}=t;const i=je(Ce);if(!i)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:n,parsedTicks:s,rounded:o,showTicks:l,tickSize:v,trackColor:c,trackFillColor:B,trackSize:w,vertical:N,min:m,max:q,indexFromEnd:j}=i,{roundedClasses:W}=Bt(o),{backgroundColorClasses:H,backgroundColorStyles:z}=Re(B),{backgroundColorClasses:E,backgroundColorStyles:X}=Re(c),O=f(()=>`inset-${N.value?"block":"inline"}-${j.value?"end":"start"}`),g=f(()=>N.value?"height":"width"),L=f(()=>({[O.value]:"0%",[g.value]:"100%"})),_=f(()=>e.stop-e.start),C=f(()=>({[O.value]:J(e.start,"%"),[g.value]:J(_.value,"%")})),P=f(()=>l.value?(N.value?s.value.slice().reverse():s.value).map((p,x)=>{var M;const Y=p.value!==m.value&&p.value!==q.value?J(p.position,"%"):void 0;return r("div",{key:p.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":p.position>=e.start&&p.position<=e.stop,"v-slider-track__tick--first":p.value===m.value,"v-slider-track__tick--last":p.value===q.value}],style:{[O.value]:Y}},[(p.label||a["tick-label"])&&r("div",{class:"v-slider-track__tick-label"},[((M=a["tick-label"])==null?void 0:M.call(a,{tick:p,index:x}))??p.label])])}):[]);return me(()=>r("div",{class:["v-slider-track",W.value,e.class],style:[{"--v-slider-track-size":J(w.value),"--v-slider-tick-size":J(v.value)},e.style]},[r("div",{class:["v-slider-track__background",E.value,{"v-slider-track__background--opacity":!!n.value||!B.value}],style:{...L.value,...X.value}},null),r("div",{class:["v-slider-track__fill",H.value],style:{...C.value,...z.value}},null),l.value&&r("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":l.value==="always"}]},[P.value])])),{}}}),vs=le({...zt(),...is(),...xt(),modelValue:{type:[Number,String],default:0}},"VSlider"),hs=ce()({name:"VSlider",props:vs(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=ge(),{rtlClasses:s}=_e(),o=ns(e),l=yt(e,"modelValue",void 0,g=>o.roundValue(g??o.min.value)),{min:v,max:c,mousePressed:B,roundValue:w,onSliderMousedown:N,onSliderTouchstart:m,trackContainerRef:q,position:j,hasLabels:W,readonly:H}=os({props:e,steps:o,onSliderStart:()=>{i("start",l.value)},onSliderEnd:g=>{let{value:L}=g;const _=w(L);l.value=_,i("end",_)},onSliderMove:g=>{let{value:L}=g;return l.value=w(L)},getActiveThumb:()=>{var g;return(g=n.value)==null?void 0:g.$el}}),{isFocused:z,focus:E,blur:X}=Ut(e),O=f(()=>j(l.value));return me(()=>{const g=Le.filterProps(e),L=!!(e.label||a.label||a.prepend);return r(Le,K({class:["v-slider",{"v-slider--has-labels":!!a["tick-label"]||W.value,"v-slider--focused":z.value,"v-slider--pressed":B.value,"v-slider--disabled":e.disabled},s.value,e.class],style:e.style},g,{focused:z.value}),{...a,prepend:L?_=>{var C,P;return r(Q,null,[((C=a.label)==null?void 0:C.call(a,_))??(e.label?r($t,{id:_.id.value,class:"v-slider__label",text:e.label},null):void 0),(P=a.prepend)==null?void 0:P.call(a,_)])}:void 0,default:_=>{let{id:C,messagesId:P}=_;return r("div",{class:"v-slider__container",onMousedown:H.value?void 0:N,onTouchstartPassive:H.value?void 0:m},[r("input",{id:C.value,name:e.name||C.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:l.value},null),r(ms,{ref:q,start:0,stop:O.value},{"tick-label":a["tick-label"]}),r(ds,{ref:n,"aria-describedby":P.value,focused:z.value,min:v.value,max:c.value,modelValue:l.value,"onUpdate:modelValue":F=>l.value=F,position:O.value,elevation:e.elevation,onFocus:E,onBlur:X,ripple:e.ripple,name:e.name},{"thumb-label":a["thumb-label"]})])}})}),{}}}),fs={name:"PaginationSlider",props:{min:{type:Number,default:0}}};function ps(e,t,a,i,n,s){return d(),y(hs,K({"thumb-size":"36",class:"paginationSlider",density:"compact","hide-details":"auto",min:a.min,rounded:!0,"show-ticks":"always",step:1,"thumb-label":"always"},e.$attrs),{"tick-label":V(({index:o})=>[$(I(o+a.min),1)]),_:1},16,["min"])}const Ls=A(fs,[["render",ps],["__scopeId","data-v-01b67afd"]]),bs={name:"PaginationToolbar"};function gs(e,t,a,i,n,s){return d(),y(At,{class:"paginationToolbar codexToolbar",density:"compact",transform:"center bottom"},ke({_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1024)}const Ps=A(bs,[["render",gs],["__scopeId","data-v-cfa8cce0"]]);export{aa as B,ia as D,Ms as M,Pe as N,Rs as P,Ns as T,Bs as V,Is as a,Ls as b,Ps as c,Na as g,ca as p,Zt as t};
1
+ import{p as le,J as ye,g as ce,d as Ze,t as D,u as me,a as r,aX as Ve,_ as A,l as d,v as y,V as ke,y as U,w as V,a5 as Se,m as K,C as we,L as Z,aY as We,n as b,x as ae,H as R,z as I,ax as Oe,aZ as Xe,a_ as Je,ag as pe,a$ as Qe,aA as et,k as G,s as $,b0 as tt,Z as Ge,E as ue,A as be,q as h,F as Q,j as at,b1 as st,b2 as Be,b3 as lt,b4 as rt,b5 as it,D as nt,ac as ot,ad as ut,b6 as dt,af as ct,ab as mt,X as vt,c as f,b7 as Ne,aR as _e,aT as Ie,r as ge,b8 as ht,aV as ft,b9 as Ae,i as je,e as J,S as Me,aj as pt,aM as bt,ba as gt,b as yt}from"./main-B5uflU6E.js";import{w as kt,k as ve,V as de,n as St,i as wt,x as _t,R as Ct,y as Tt,u as Vt,j as Bt,e as Re}from"./forwardRefs-i80xmxX3.js";import{a as Nt,c as It,d as Mt,C as Rt,V as Lt}from"./VDialog-Dr7SuC2S.js";import{c as Pt,d as Ft,e as Dt}from"./VSelect-Bbt1vrBg.js";import{C as Et}from"./change-password-dialog-BKar2Bhb.js";import{C as Ot}from"./confirm-dialog-BoBL4OoS.js";import{P as Gt,a as At}from"./unauthorized-Dld9cV8d.js";import{f as jt,m as zt,g as xt,u as Ut,h as Le,i as $t}from"./VSelectionControl-BkZZAsWo.js";const qt=le({...ye(),...kt({variant:"text"})},"VToolbarItems"),Bs=ce()({name:"VToolbarItems",props:qt(),setup(e,t){let{slots:a}=t;return Ze({VBtn:{color:D(e,"color"),height:"inherit",variant:D(e,"variant")}}),me(()=>{var i;return r("div",{class:["v-toolbar-items",e.class],style:e.style},[(i=a.default)==null?void 0:i.call(a)])}),{}}}),Pe=new Set(["",Ve,Ve.toString(),void 0]),Ht=function(e){let t;return Pe.has(e)?t=e:e instanceof Object?Pe.has(e.pk)?t=void 0:t={value:e.pk,title:e.name}:t={value:e,title:e.toString()},e!=null&&e.url&&(t.url=e.url),t},Yt=function(e,t){return e.title<t.title?-1:e.title>t.title?1:0},Kt=function(e,t){return Number.parseFloat(e.title)-Number.parseFloat(t.title)},Zt=function(e,t,a=!1){var l;const i=e||[],n=t&&t.toLowerCase();let s=[];for(const v of i){const c=Ht(v);c!=null&&(!n||(l=c==null?void 0:c.title)!=null&&l.toLowerCase().includes(n))&&s.push(c)}const o=a?Kt:Yt;return s.sort(o)},Wt={name:"ToolbarSelect",props:{selectLabel:{type:String,default:""},maxSelectLen:{type:Number,default:0}},computed:{style(){if(this.maxSelectLen){const e=this.$vuetify.display.xs?"max-width":"width",t=this.maxSelectLen*.7+"em";return`${e}: ${t}`}return""}}};function Xt(e,t,a,i,n,s){return d(),y(Pt,K(e.$attrs,{label:a.selectLabel,"aria-label":a.selectLabel,class:"toolbarSelect",density:"compact","full-width":"","menu-props":{maxHeight:void 0},"hide-details":"auto",style:s.style,variant:"plain"}),ke({item:V(({item:o,props:l})=>[r(Nt,K(l,{density:"compact",variant:"plain",title:o.title,value:o.value}),null,16,["title","value"])]),_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1040,["label","aria-label","style"])}const Ns=A(Wt,[["render",Xt],["__scopeId","data-v-e88da460"]]),Is=It("v-spacer","div","VSpacer"),Jt={name:"BookCover",props:{group:{type:String,required:!0},pks:{type:Array,required:!0},childCount:{type:Number,default:1},finished:{type:Boolean},mtime:{type:Number,default:Date.now()}},data(){return{showPlaceholder:!1}},computed:{...we(Z,["coverSettings"]),coverSrc(){return We({group:this.group,pks:this.pks},this.coverSettings,this.mtime)},multiPkClasses(){const e=this.pks.length,t={};return e>=4?t.stack4=!0:e>1&&(t[`stack${e}`]=!0),t}},mounted:function(){this.delayPlaceholder()},methods:{delayPlaceholder:function(){setTimeout(()=>{this.showPlaceholder=!0},2e3)}}},Qt={class:"bookCover"},ea={key:1,class:"childCount"};function ta(e,t,a,i,n,s){return d(),b("div",Qt,[r(Mt,{src:s.coverSrc,class:ae(["coverImg",s.multiPkClasses])},null,8,["src","class"]),a.finished!==!0?(d(),b("div",{key:0,class:ae({unreadFlag:!0,mixedreadFlag:a.finished===null})},null,2)):R("",!0),a.group!=="c"?(d(),b("span",ea,I(a.childCount),1)):R("",!0)])}const aa=A(Jt,[["render",ta],["__scopeId","data-v-39e3a9f8"]]),sa=10,la={name:"DownloadButton",components:{ConfirmDialog:Ot,CodexListItem:Rt},props:{button:{type:Boolean,default:!1},group:{type:String,default:"c"},pks:{type:Array,required:!0},children:{type:Number,required:!0},names:{type:Array,required:!0},ts:{type:Number,default:void 0}},data(){return{mdiDownload:Oe}},computed:{...we(Z,["filterOnlySettings"]),show(){return this.pks&&this.pks.length>0&&!this.pks.includes(0)},isOneComic(){return this.group==="c"&&this.pks.length===1},downloadURL(){let e="";if(this.isOneComic){const t=this.pks[0];e=Xe({pk:t},this.downloadFn,this.ts)}else{const t=this.group,a=this.pks,i=this.filterOnlySettings;e=Je({group:t,pks:a},this.downloadFn,i,this.ts)}return e},formattedChildren(){return pe.format(this.children)},downloadFn(){const e=this.names.filter(t=>t).join(" ");if(this.isOneComic)return e;{let t=Qe[this.group];return t!=="Series"&&(t=t.slice(0,-1)),`${t} - ${e} Comics.zip`}},title(){let e="Download";return this.isOneComic?e+=" Book":e+=` ${this.formattedChildren} Books`,e},confirm(){return this.children>sa},confirmText(){return`Download ${this.formattedChildren} books`}},methods:{download(){const e=this.downloadURL,t=this.downloadFn;if(this.isOneComic)et(e,t);else{const a=document.createElement("a");a.download=this.downloadFn,a.href=this.downloadURL,a.click(),a.remove()}}}};function ra(e,t,a,i,n,s){const o=G("CodexListItem"),l=G("ConfirmDialog");return s.show&&!s.confirm&&a.button?(d(),y(de,{key:0,onClick:s.download},{default:V(()=>[r(ve,null,{default:V(()=>[$(I(n.mdiDownload),1)]),_:1}),$(" "+I(s.title),1)]),_:1},8,["onClick"])):s.show&&!s.confirm?(d(),y(o,{key:1,"prepend-icon":n.mdiDownload,title:s.title,onClick:s.download},null,8,["prepend-icon","title","onClick"])):s.show?(d(),y(l,{key:2,button:a.button,"prepend-icon":n.mdiDownload,"button-text":s.title,"title-text":s.title,text:"May take a while","confirm-text":"Download",onConfirm:s.download},null,8,["button","prepend-icon","button-text","title-text","onConfirm"])):R("",!0)}const ia=A(la,[["render",ra],["__scopeId","data-v-11785682"]]),na=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],oa=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],ua=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],da=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Fe=(e,t,a)=>{let i=e;return typeof t=="string"||Array.isArray(t)?i=e.toLocaleString(t,a):(t===!0||a!==void 0)&&(i=e.toLocaleString(void 0,a)),i};function ca(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?da:ua:t.binary?oa:na,i=t.space?" ":"";if(t.signed&&e===0)return` 0${i}${a[0]}`;const n=e<0,s=n?"-":t.signed?"+":"";n&&(e=-e);let o;if(t.minimumFractionDigits!==void 0&&(o={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(o={maximumFractionDigits:t.maximumFractionDigits,...o}),e<1){const B=Fe(e,t.locale,o);return s+B+i+a[0]}const l=Math.min(Math.floor(t.binary?Math.log(e)/Math.log(1024):Math.log10(e)/3),a.length-1);e/=(t.binary?1024:1e3)**l,o||(e=e.toPrecision(3));const v=Fe(Number(e),t.locale,o),c=a[l];return s+v+i+c}const ma={name:"MetadataTags",props:{label:{type:String,required:!0},values:{type:Array,default(){return[]}},filter:{type:String,required:!1,default:void 0}},data(){return{mdiFilter:tt,mdiOpenInNew:Ge}},computed:{...ue(Z,{filterValues(e){const t=this.filter||this.label.toLowerCase();return e.settings.filters[t]},topGroup:e=>e.settings.topGroup}),model(){return Zt(this.values)},chipClass(e){return{browseChip:this.filter&&e}}},methods:{...be(Z,["setSettings"]),chipColor(e){return this.filterValues&&this.filterValues.includes(e)?this.$vuetify.theme.current.colors["primary-darken-1"]:""},onClick(e){if(!this.filter||!e)return;const t=["f","s"].includes(this.topGroup)?this.topGroup:"r",a=t==="s"&&this.filter==="storyArcs";if(!a){const o={filters:{[this.filter]:[e]}};this.setSettings(o)}const s={name:"browser",params:{group:t,pk:a?e:0,page:1}};this.$router.push(s)}}},va={key:0,class:"tags"},ha={class:"chipGroupLabel"},fa=["href"];function pa(e,t,a,i,n,s){return s.model&&s.model.length>0?(d(),b("div",va,[h("div",ha,I(a.label),1),r(Dt,{column:!0,multiple:"",value:s.model},{default:V(()=>[(d(!0),b(Q,null,U(s.model,o=>(d(),y(Ft,{key:`${a.label}/${o.value}`,color:s.chipColor(o.value),value:o.value,onClick:l=>s.onClick(o.value)},{default:V(()=>[o.url?(d(),b("a",{key:0,href:o.url,target:"_blank"},[$(I(o.title),1),r(ve,null,{default:V(()=>[$(I(n.mdiOpenInNew),1)]),_:1})],8,fa)):(d(),b("span",{key:1,class:ae(s.chipClass)},I(o.title),3))]),_:2},1032,["color","value","onClick"]))),128))]),_:1},8,["value"])])):R("",!0)}const ze=A(ma,[["render",pa],["__scopeId","data-v-75fd687b"]]),ba={name:"MetadataContributorsTable",components:{MetadataTags:ze},props:{value:{type:Array,default:void 0}},computed:{contributorsDict(){const e={};if(!this.value)return e;for(const{role:i,person:n}of this.value){const s=at(i.name)+"s";e[s]||(e[s]=[]),e[s].push(n)}const t=Object.keys(e).sort((i,n)=>i.localeCompare(n)),a={};for(const i of t)a[i]=e[i].sort((n,s)=>n.name.localeCompare(s.name));return a}}},ga={key:0};function ya(e,t,a,i,n,s){const o=G("MetadataTags");return Object.keys(s.contributorsDict).length>0?(d(),b("div",ga,[t[0]||(t[0]=h("h3",null,"Contributors",-1)),(d(!0),b(Q,null,U(Object.entries(s.contributorsDict),([l,v])=>(d(),y(o,{key:l,values:v,label:l,filter:"contributors"},null,8,["values","label"]))),128))])):R("",!0)}const ka=A(ba,[["render",ya]]),De="(Empty)",Sa={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:Ge}},computed:{...ue(Z,{browserShow:e=>e.settings.show,browserTopGroup:e=>e.settings.topGroup,folderViewEnabled:e=>e.page.adminFlags.folderView}),computedValue(){return this.value&&this.value.name!==void 0?this.value.name:this.value},lastSlashIndex(){return this.computedValue.lastIndexOf("/")+1},displayValue(){let e;return this.group&&this.computedValue===""?e=De:this.group==="f"&&this.computedValue?e=this.computedValue.substring(0,this.lastSlashIndex):e=this.computedValue,e},empty(){return this.displayValue===De},_browserGroupHref(){const e=this.group,t=this.$router.currentRoute.value.params;if(!e||t.group===e||e==="f"&&!this.folderViewEnabled||!["a","f"].includes(e)&&!this.browserShow[e])return;const a=this.value.ids?this.value.ids:[this.value.pk];if(!a||!a.length)return;const n={topGroup:this.getTopGroup(e)};return st({group:e,pks:a,query:n})},_linkHref(){return this.link===!0?this.displayValue:this.link?this.link:!1},href(){return this._browserGroupHref?this._browserGroupHref:this._linkHref},target(){return this.link?"_blank":""},title(){return this._browserGroupHref?`Browse to ${this.label}`:this.label},baseName(){return this.group==="f"?this.computedValue.substring(this.lastSlashIndex):""},highlight(){var e;return((e=this.obj)==null?void 0:e.group)===this.group}},methods:{getTopGroup(e){let t;if(this.browserTopGroup===e||["a","f"].includes(e))t=e;else{const a=Be.indexOf(e);for(const i of Be.slice(a))if(i!=="r"&&this.browserShow[i]){t=i;break}}return t}}},wa={class:"textLabel"},_a=["href","title","target"],Ca={key:1,class:"textContent"},Ta={key:2};function Va(e,t,a,i,n,s){return s.displayValue?(d(),b("div",{key:0,class:ae(["text",{highlight:s.highlight}])},[h("div",wa,I(a.label),1),h("div",{class:ae(["textValue",{empty:s.empty}])},[s.href?(d(),b("a",{key:0,href:s.href,title:s.title,target:s.target},[$(I(s.displayValue)+" ",1),a.link?(d(),y(ve,{key:0,size:"small"},{default:V(()=>[$(I(n.mdiOpenInNew),1)]),_:1})):R("",!0)],8,_a)):(d(),b("div",Ca,I(s.displayValue),1)),s.baseName?(d(),b("span",Ta,I(s.baseName),1)):R("",!0)],2)],2)):R("",!0)}const Ba=A(Sa,[["render",Va],["__scopeId","data-v-e07a86c1"]]),xe=new Set("rtl","btt");Object.freeze(xe);const Na=({ids:e,page:t,readingDirection:a,pageCount:i},n)=>{if(e.length<1||n&&!i)return"";const s=e[0];if(t)t=Number(t);else if(xe.has(a)){const o=Number(i)-1;t=Math.max(o,0)}else t=0;return{name:"reader",params:{pk:s,page:t}}},Ee=lt("metadata",{state:()=>({md:void 0}),actions:{async loadMetadata({group:e,pks:t}){await rt.getMetadata({group:e,pks:t},Z().metadataSettings).then(a=>{const i={...a.data};return i.loaded=!0,this.md=i,!0}).catch(a=>{console.error(a),this.clearMetadata()})},clearMetadata(){this.md=void 0}}}),Ia=1160,Ma=.05,Ra=250,La={name:"MetadataButton",components:{BookCover:aa,CloseButton:Et,DownloadButton:ia,MetadataContributorsTable:ka,MetadataTags:ze,MetadataText:Ba,PlaceholderLoading:Gt},props:{group:{type:String,required:!0},book:{type:Object,required:!0},children:{type:Number,default:1},toolbar:{type:Boolean,default:!1}},data(){return{mdiDownload:Oe,mdiTagOutline:it,dialog:!1,progress:0}},computed:{...we(nt,["isUserAdmin"]),...ue(Z,{twentyFourHourTime:e=>{var t;return(t=e.settings)==null?void 0:t.twentyFourHourTime},readingDirectionTitles:e=>e.choices.static.readingDirection,identifierTypes:e=>e.choices.static.identifierType,importMetadata:e=>{var t,a;return(a=(t=e.page)==null?void 0:t.adminFlags)==null?void 0:a.importMetadata},q:e=>e.settings.q}),...ue(Ee,{md:e=>e.md}),showContainer(){var e;return((e=this.md)==null?void 0:e.loaded)||!1},buttonVariant(){return this.toolbar?"plain":"text"},downloadGroup(){return this.md.group},downloadPks(){return this.md.ids},downloadNames(){const e=this.md;return e?e.fileName?[e.fileName]:[this.firstNameFromList(e.publisherList),this.firstNameFromList(e.imprintList),this.firstNameFromList(e.seriesList),this.firstNameFromList(e.volumeList),this.md.name]:["Unknown.cbz"]},isReadButtonShown(){return this.group==="c"&&this.$route.name!="reader"},isReadButtonEnabled(){return!!this.readerRoute},readButtonIcon(){return this.isReadButtonEnabled?ot:ut},readerRoute(){var e;return(e=this.md)!=null&&e.ids?Na(this.md,this.importMetadata):{}},formattedIssue(){if(!this.md)return"Unknown";if(!((this.md.issueNumber===null||this.md.issueNumber===void 0)&&!this.md.issueSuffix))return dt(this.md)},readingDirectionText(){return this.md?this.readingDirectionTitles[this.md.readingDirection]:"Unknown"},pages(){let e="";if(!this.md)return e;if(this.md.page){const a=pe.format(this.md.page);e+=`Read ${a} of `}const t=pe.format(this.md.pageCount);return e+=`${t} pages`,this.md.progress>0&&(e+=` (${Math.round(this.md.progress)}%)`),e},size(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.size)>0?ca(this.md.size):0},fileType(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.fileType)||"Unknown"},titledIdentifiers(){var t;const e=[];if(!((t=this==null?void 0:this.md)!=null&&t.identifiers))return e;for(const a of this.md.identifiers){const i=a.name.split(":"),n=i[0],s=i[1],o=this.identifierTypeTitle(n);let l="";o&&o!=="None"&&(l+=o+":"),l+=s,e.push({...a,name:l})}return e},multiGroup(){var e;return(e=this.md)!=null&&e.ids?this.md.ids.length>1:!1}},watch:{dialog(e){e?this.dialogOpened():this.clearMetadata()}},methods:{...be(Ee,["clearMetadata","loadMetadata"]),...be(Z,["identifierTypeTitle"]),dialogOpened(){const e=this.book.ids?this.book.ids:[this.book.pk],t={group:this.group,pks:e};this.loadMetadata(t),this.startProgress()},startProgress(){this.startTime=Date.now(),this.estimatedMS=Math.max(Ma,this.children/Ia)*1e3,this.updateProgress()},updateProgress(){const e=Date.now()-this.startTime;this.progress=e/this.estimatedMS*100,!(this.progress>=100||this.md)&&setTimeout(()=>{this.updateProgress()},Ra)},formatDateTime(e){return ct(e,this.twentyFourHourTime)},firstNameFromList(e){let t="";if(e){for(const a of Object.values(e))if(a.name){t=a.name;break}}return t}}},Pa={id:"metadataHeader"},Fa={id:"metadataBookCoverWrapper"},Da={class:"inlineRow"},Ea={class:"inlineRow"},Oa={class:"inlineRow"},Ga={key:1,class:"inlineRow"},Aa={id:"metadataBody"},ja={class:"mdSection"},za={class:"quintRow"},xa={class:"mdSection"},Ua={class:"quarterRow"},$a={class:"lastSmallRow"},qa={class:"halfRow mdSection"},Ha={class:"mdSection"},Ya={class:"mdSection"},Ka={class:"mdSection"},Za={class:"mdSection"},Wa={class:"mdSection"},Xa={class:"mdSection inlineRow"},Ja={class:"inlineRow"},Qa={id:"footerLinks"},es={key:1,id:"placeholderContainer"};function ts(e,t,a,i,n,s){const o=G("CloseButton"),l=G("MetadataText"),v=G("BookCover"),c=G("MetadataTags"),B=G("MetadataContributorsTable"),w=G("DownloadButton"),N=G("PlaceholderLoading");return d(),y(Lt,{modelValue:n.dialog,"onUpdate:modelValue":t[3]||(t[3]=m=>n.dialog=m),fullscreen:"",transition:"dialog-bottom-transition"},{activator:V(({props:m})=>[r(de,K({"aria-label":"tags",class:"tagButton cardControlButton",variant:s.buttonVariant,icon:n.mdiTagOutline,title:"Tags"},m,{onClick:t[0]||(t[0]=mt(()=>{},["prevent"]))}),null,16,["variant","icon"])]),default:V(()=>[r(o,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[1]||(t[1]=m=>n.dialog=!1)}),s.showContainer?(d(),b("div",{key:0,id:"metadataContainer",onKeyup:t[2]||(t[2]=vt(m=>n.dialog=!1,["esc"]))},[h("header",Pa,[e.q?(d(),y(l,{key:0,id:"search",value:e.q,label:"Search Query",highlight:!0},null,8,["value"])):R("",!0),h("div",Fa,[r(v,{id:"bookCover",group:a.group,pks:e.md.ids,"child-count":e.md.childCount,finished:e.md.finished,mtime:e.md.mtime},null,8,["group","pks","child-count","finished","mtime"]),r(St,{class:"bookCoverProgress","model-value":e.md.progress,rounded:"","background-color":"inherit",height:"2","aria-label":"% read"},null,8,["model-value"])]),h("div",Da,[(d(!0),b(Q,null,U(e.md.publisherList,m=>(d(),y(l,{id:"publisher",key:m.ids,value:m,group:"p",label:"Publisher",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),(d(!0),b(Q,null,U(e.md.imprintList,m=>(d(),y(l,{id:"imprint",key:m.ids,value:m,group:"i",label:"Imprint",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),h("div",Ea,[(d(!0),b(Q,null,U(e.md.seriesList,m=>(d(),y(l,{id:"series",key:m.ids,value:m,label:"Series",group:"s",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),h("div",Oa,[(d(!0),b(Q,null,U(e.md.volumeList,m=>(d(),y(l,{id:"volume",key:m.ids,value:m,label:"Volume",group:"v",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),r(l,{value:e.md.seriesVolumeCount,label:"Volume Count"},null,8,["value"]),r(l,{id:"issue",value:s.formattedIssue,label:"Issue",group:"c",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),r(l,{value:e.md.volumeIssueCount,label:"Issue Count"},null,8,["value"]),r(l,{value:e.md.name,label:"Title"},null,8,["value"])]),e.md.year||e.md.month||e.md.day?(d(),b("div",Ga,[r(l,{value:e.md.year,label:"Year",class:"datePicker",type:"number"},null,8,["value"]),r(l,{value:e.md.month,label:"Month",class:"datePicker"},null,8,["value"]),r(l,{value:e.md.day,label:"Day",class:"datePicker"},null,8,["value"])])):R("",!0)]),h("div",Aa,[h("section",ja,[h("div",za,[r(l,{value:s.pages,label:"Pages"},null,8,["value"]),r(l,{label:"Finished",value:(!!e.md.finished).toString()},null,8,["value"]),r(l,{label:"Reading Direction",value:s.readingDirectionText},null,8,["value"]),r(l,{value:(!!e.md.monochrome).toString(),label:"Monochrome"},null,8,["value"]),r(l,{value:e.md.original_format,label:"Original Format"},null,8,["value"])])]),h("section",xa,[h("div",Ua,[e.md.createdAt?(d(),y(l,{key:0,value:s.formatDateTime(e.md.createdAt),label:"Created at",class:"mtime"},null,8,["value"])):R("",!0),e.md.updatedAt?(d(),y(l,{key:1,value:s.formatDateTime(e.md.updatedAt),label:"Updated at",class:"mtime"},null,8,["value"])):R("",!0),r(l,{value:s.size,label:"Size"},null,8,["value"]),r(l,{value:s.fileType,label:"File Type"},null,8,["value"])]),h("div",$a,[r(l,{group:"f",value:{pk:e.md.parentFolderId,name:e.md.path},label:"Path"},null,8,["value"])])]),h("section",qa,[r(l,{value:e.md.country,label:"Country"},null,8,["value"]),r(l,{value:e.md.language,label:"Language"},null,8,["value"])]),h("section",Ha,[r(c,{values:s.titledIdentifiers,label:"Identifiers"},null,8,["values"])]),h("section",Ya,[r(l,{value:e.md.summary,label:"Summary"},null,8,["value"]),r(l,{value:e.md.review,label:"Review"},null,8,["value"])]),h("section",Ka,[r(l,{value:e.md.communityRating,label:"Community Rating"},null,8,["value"]),r(l,{value:e.md.criticalRating,label:"Critical Rating"},null,8,["value"]),r(l,{value:e.md.ageRating,label:"Age Rating"},null,8,["value"])]),h("section",Za,[r(c,{values:e.md.genres,label:"Genres",filter:"genres"},null,8,["values"]),r(c,{values:e.md.characters,label:"Characters",filter:"characters"},null,8,["values"]),r(c,{values:e.md.teams,label:"Teams",filter:"teams"},null,8,["values"]),r(c,{values:e.md.locations,label:"Locations",filter:"locations"},null,8,["values"]),r(c,{values:e.md.seriesGroups,label:"Series Groups",filter:"seriesGroups"},null,8,["values"]),r(c,{values:e.md.stories,label:"Stories",filter:"stories"},null,8,["values"]),r(c,{values:e.md.storyArcNumbers,label:"Story Arcs",filter:"storyArcs"},null,8,["values"]),r(c,{values:e.md.tags,label:"Tags",filter:"tags"},null,8,["values"])]),h("section",Wa,[r(B,{value:e.md.contributors},null,8,["value"])]),h("section",Xa,[r(l,{value:e.md.notes,label:"Notes"},null,8,["value"])]),h("section",Ja,[r(l,{value:e.md.tagger,label:"Tagger"},null,8,["value"]),r(l,{value:e.md.scanInfo,label:"Scan"},null,8,["value"])])]),h("footer",Qa,[r(w,{id:"downloadButton",button:!0,group:s.downloadGroup,pks:s.downloadPks,children:a.children,names:s.downloadNames,ts:e.md.mtime},null,8,["group","pks","children","names","ts"]),s.isReadButtonShown?(d(),y(de,{key:0,to:s.readerRoute,title:"Read Comic",disabled:!s.isReadButtonEnabled},{default:V(()=>[r(ve,null,{default:V(()=>[$(I(s.readButtonIcon),1)]),_:1}),t[4]||(t[4]=$(" Read "))]),_:1},8,["to","disabled"])):R("",!0)])],32)):(d(),b("div",es,[t[5]||(t[5]=h("div",{id:"placeholderTitle"},"Tags Loading",-1)),r(N,{"model-value":n.progress,indeterminate:n.progress>=100,class:"placeholder"},null,8,["model-value","indeterminate"])]))]),_:1},8,["modelValue"])}const Ms=A(La,[["render",ts],["__scopeId","data-v-1bd26a0f"]]),as={name:"PaginationNavButton",props:{narrow:{type:Boolean,default:!0}},computed:{classes(){return{narrowButton:this.narrow}}}};function ss(e,t,a,i,n,s){return d(),y(de,{variant:"plain",density:"compact",class:ae(["paginationNavButton",s.classes]),size:"medium"},ke({_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1032,["class"])}const Rs=A(as,[["render",ss],["__scopeId","data-v-0450dab6"]]),Ce=Symbol.for("vuetify:v-slider");function ls(e,t,a){const i=a==="vertical",n=t.getBoundingClientRect(),s="touches"in e?e.touches[0]:e;return i?s.clientY-(n.top+n.height/2):s.clientX-(n.left+n.width/2)}function rs(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 is=le({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,...wt(),..._t({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),ns=e=>{const t=f(()=>parseFloat(e.min)),a=f(()=>parseFloat(e.max)),i=f(()=>+e.step>0?parseFloat(e.step):0),n=f(()=>Math.max(Ne(i.value),Ne(t.value)));function s(o){if(o=parseFloat(o),i.value<=0)return o;const l=Ae(o,t.value,a.value),v=t.value%i.value,c=Math.round((l-v)/i.value)*i.value+v;return parseFloat(Math.min(c,a.value).toFixed(n.value))}return{min:t,max:a,step:i,decimals:n,roundValue:s}},os=e=>{let{props:t,steps:a,onSliderStart:i,onSliderMove:n,onSliderEnd:s,getActiveThumb:o}=e;const{isRtl:l}=_e(),v=D(t,"reverse"),c=f(()=>t.direction==="vertical"),B=f(()=>c.value!==v.value),{min:w,max:N,step:m,decimals:q,roundValue:j}=a,W=f(()=>parseInt(t.thumbSize,10)),H=f(()=>parseInt(t.tickSize,10)),z=f(()=>parseInt(t.trackSize,10)),E=f(()=>(N.value-w.value)/m.value),X=D(t,"disabled"),O=f(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),g=f(()=>t.error||t.disabled?void 0:t.trackColor??t.color),L=f(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),_=Ie(!1),C=Ie(0),P=ge(),F=ge();function p(u){var Te;const S=t.direction==="vertical",Ue=S?"top":"left",$e=S?"height":"width",qe=S?"clientY":"clientX",{[Ue]:He,[$e]:Ye}=(Te=P.value)==null?void 0:Te.$el.getBoundingClientRect(),Ke=rs(u,qe);let fe=Math.min(Math.max((Ke-He-C.value)/Ye,0),1)||0;return(S?B.value:B.value!==l.value)&&(fe=1-fe),j(w.value+fe*(N.value-w.value))}const x=u=>{s({value:p(u)}),_.value=!1,C.value=0},Y=u=>{F.value=o(u),F.value&&(F.value.focus(),_.value=!0,F.value.contains(u.target)?C.value=ls(u,F.value,t.direction):(C.value=0,n({value:p(u)})),i({value:p(u)}))},M={passive:!0,capture:!0};function ee(u){n({value:p(u)})}function re(u){u.stopPropagation(),u.preventDefault(),x(u),window.removeEventListener("mousemove",ee,M),window.removeEventListener("mouseup",re)}function ie(u){var S;x(u),window.removeEventListener("touchmove",ee,M),(S=u.target)==null||S.removeEventListener("touchend",ie)}function he(u){var S;Y(u),window.addEventListener("touchmove",ee,M),(S=u.target)==null||S.addEventListener("touchend",ie,{passive:!1})}function T(u){u.preventDefault(),Y(u),window.addEventListener("mousemove",ee,M),window.addEventListener("mouseup",re,{passive:!1})}const k=u=>{const S=(u-w.value)/(N.value-w.value)*100;return Ae(isNaN(S)?0:S,0,100)},te=D(t,"showTicks"),se=f(()=>te.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(u=>({value:u,position:k(u),label:u.toString()})):Object.keys(t.ticks).map(u=>({value:parseFloat(u),position:k(parseFloat(u)),label:t.ticks[u]})):E.value!==1/0?ht(E.value+1).map(u=>{const S=w.value+u*m.value;return{value:S,position:k(S)}}):[]:[]),ne=f(()=>se.value.some(u=>{let{label:S}=u;return!!S})),oe={activeThumbRef:F,color:D(t,"color"),decimals:q,disabled:X,direction:D(t,"direction"),elevation:D(t,"elevation"),hasLabels:ne,isReversed:v,indexFromEnd:B,min:w,max:N,mousePressed:_,numTicks:E,onSliderMousedown:T,onSliderTouchstart:he,parsedTicks:se,parseMouseMove:p,position:k,readonly:D(t,"readonly"),rounded:D(t,"rounded"),roundValue:j,showTicks:te,startOffset:C,step:m,thumbSize:W,thumbColor:O,thumbLabel:D(t,"thumbLabel"),ticks:D(t,"ticks"),tickSize:H,trackColor:g,trackContainerRef:P,trackFillColor:L,trackSize:z,vertical:c};return ft(Ce,oe),oe},us=le({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},name:String,...ye()},"VSliderThumb"),ds=ce()({name:"VSliderThumb",directives:{Ripple:Ct},props:us(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=je(Ce),{isRtl:s,rtlClasses:o}=_e();if(!n)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:l,step:v,disabled:c,thumbSize:B,thumbLabel:w,direction:N,isReversed:m,vertical:q,readonly:j,elevation:W,mousePressed:H,decimals:z,indexFromEnd:E}=n,X=f(()=>c.value?void 0:W.value),{elevationClasses:O}=Tt(X),{textColorClasses:g,textColorStyles:L}=Vt(l),{pageup:_,pagedown:C,end:P,home:F,left:p,right:x,down:Y,up:M}=gt,ee=[_,C,P,F,p,x,Y,M],re=f(()=>v.value?[1,2,3]:[1,5,10]);function ie(T,k){if(!ee.includes(T.key))return;T.preventDefault();const te=v.value||.1,se=(e.max-e.min)/te;if([p,x,Y,M].includes(T.key)){const oe=(q.value?[s.value?p:x,m.value?Y:M]:E.value!==s.value?[p,M]:[x,M]).includes(T.key)?1:-1,u=T.shiftKey?2:T.ctrlKey?1:0;k=k+oe*te*re.value[u]}else if(T.key===F)k=e.min;else if(T.key===P)k=e.max;else{const ne=T.key===C?1:-1;k=k-ne*te*(se>100?se/10:10)}return Math.max(e.min,Math.min(e.max,k))}function he(T){const k=ie(T,e.modelValue);k!=null&&i("update:modelValue",k)}return me(()=>{const T=J(E.value?100-e.position:e.position,"%");return r("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&H.value},e.class,o.value],style:[{"--v-slider-thumb-position":T,"--v-slider-thumb-size":J(B.value)},e.style],role:"slider",tabindex:c.value?-1:0,"aria-label":e.name,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.modelValue,"aria-readonly":!!j.value,"aria-orientation":N.value,onKeydown:j.value?void 0:he},[r("div",{class:["v-slider-thumb__surface",g.value,O.value],style:{...L.value}},null),Me(r("div",{class:["v-slider-thumb__ripple",g.value],style:L.value},null),[[pt("ripple"),e.ripple,null,{circle:!0,center:!0}]]),r(jt,{origin:"bottom center"},{default:()=>{var k;return[Me(r("div",{class:"v-slider-thumb__label-container"},[r("div",{class:["v-slider-thumb__label"]},[r("div",null,[((k=a["thumb-label"])==null?void 0:k.call(a,{modelValue:e.modelValue}))??e.modelValue.toFixed(v.value?z.value:1)])])]),[[bt,w.value&&e.focused||w.value==="always"]])]}})])}),{}}}),cs=le({start:{type:Number,required:!0},stop:{type:Number,required:!0},...ye()},"VSliderTrack"),ms=ce()({name:"VSliderTrack",props:cs(),emits:{},setup(e,t){let{slots:a}=t;const i=je(Ce);if(!i)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:n,parsedTicks:s,rounded:o,showTicks:l,tickSize:v,trackColor:c,trackFillColor:B,trackSize:w,vertical:N,min:m,max:q,indexFromEnd:j}=i,{roundedClasses:W}=Bt(o),{backgroundColorClasses:H,backgroundColorStyles:z}=Re(B),{backgroundColorClasses:E,backgroundColorStyles:X}=Re(c),O=f(()=>`inset-${N.value?"block":"inline"}-${j.value?"end":"start"}`),g=f(()=>N.value?"height":"width"),L=f(()=>({[O.value]:"0%",[g.value]:"100%"})),_=f(()=>e.stop-e.start),C=f(()=>({[O.value]:J(e.start,"%"),[g.value]:J(_.value,"%")})),P=f(()=>l.value?(N.value?s.value.slice().reverse():s.value).map((p,x)=>{var M;const Y=p.value!==m.value&&p.value!==q.value?J(p.position,"%"):void 0;return r("div",{key:p.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":p.position>=e.start&&p.position<=e.stop,"v-slider-track__tick--first":p.value===m.value,"v-slider-track__tick--last":p.value===q.value}],style:{[O.value]:Y}},[(p.label||a["tick-label"])&&r("div",{class:"v-slider-track__tick-label"},[((M=a["tick-label"])==null?void 0:M.call(a,{tick:p,index:x}))??p.label])])}):[]);return me(()=>r("div",{class:["v-slider-track",W.value,e.class],style:[{"--v-slider-track-size":J(w.value),"--v-slider-tick-size":J(v.value)},e.style]},[r("div",{class:["v-slider-track__background",E.value,{"v-slider-track__background--opacity":!!n.value||!B.value}],style:{...L.value,...X.value}},null),r("div",{class:["v-slider-track__fill",H.value],style:{...C.value,...z.value}},null),l.value&&r("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":l.value==="always"}]},[P.value])])),{}}}),vs=le({...zt(),...is(),...xt(),modelValue:{type:[Number,String],default:0}},"VSlider"),hs=ce()({name:"VSlider",props:vs(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=ge(),{rtlClasses:s}=_e(),o=ns(e),l=yt(e,"modelValue",void 0,g=>o.roundValue(g??o.min.value)),{min:v,max:c,mousePressed:B,roundValue:w,onSliderMousedown:N,onSliderTouchstart:m,trackContainerRef:q,position:j,hasLabels:W,readonly:H}=os({props:e,steps:o,onSliderStart:()=>{i("start",l.value)},onSliderEnd:g=>{let{value:L}=g;const _=w(L);l.value=_,i("end",_)},onSliderMove:g=>{let{value:L}=g;return l.value=w(L)},getActiveThumb:()=>{var g;return(g=n.value)==null?void 0:g.$el}}),{isFocused:z,focus:E,blur:X}=Ut(e),O=f(()=>j(l.value));return me(()=>{const g=Le.filterProps(e),L=!!(e.label||a.label||a.prepend);return r(Le,K({class:["v-slider",{"v-slider--has-labels":!!a["tick-label"]||W.value,"v-slider--focused":z.value,"v-slider--pressed":B.value,"v-slider--disabled":e.disabled},s.value,e.class],style:e.style},g,{focused:z.value}),{...a,prepend:L?_=>{var C,P;return r(Q,null,[((C=a.label)==null?void 0:C.call(a,_))??(e.label?r($t,{id:_.id.value,class:"v-slider__label",text:e.label},null):void 0),(P=a.prepend)==null?void 0:P.call(a,_)])}:void 0,default:_=>{let{id:C,messagesId:P}=_;return r("div",{class:"v-slider__container",onMousedown:H.value?void 0:N,onTouchstartPassive:H.value?void 0:m},[r("input",{id:C.value,name:e.name||C.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:l.value},null),r(ms,{ref:q,start:0,stop:O.value},{"tick-label":a["tick-label"]}),r(ds,{ref:n,"aria-describedby":P.value,focused:z.value,min:v.value,max:c.value,modelValue:l.value,"onUpdate:modelValue":F=>l.value=F,position:O.value,elevation:e.elevation,onFocus:E,onBlur:X,ripple:e.ripple,name:e.name},{"thumb-label":a["thumb-label"]})])}})}),{}}}),fs={name:"PaginationSlider",props:{min:{type:Number,default:0}}};function ps(e,t,a,i,n,s){return d(),y(hs,K({"thumb-size":"36",class:"paginationSlider",density:"compact","hide-details":"auto",min:a.min,rounded:!0,"show-ticks":"always",step:1,"thumb-label":"always"},e.$attrs),{"tick-label":V(({index:o})=>[$(I(o+a.min),1)]),_:1},16,["min"])}const Ls=A(fs,[["render",ps],["__scopeId","data-v-01b67afd"]]),bs={name:"PaginationToolbar"};function gs(e,t,a,i,n,s){return d(),y(At,{class:"paginationToolbar codexToolbar",density:"compact",transform:"center bottom"},ke({_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1024)}const Ps=A(bs,[["render",gs],["__scopeId","data-v-cfa8cce0"]]);export{aa as B,ia as D,Ms as M,Pe as N,Rs as P,Ns as T,Bs as V,Is as a,Ls as b,Ps as c,Na as g,ca as p,Zt as t};
@@ -1 +1 @@
1
- import{p as le,J as ye,g as ce,d as Ze,t as D,u as me,a as r,aX as Ve,_ as A,l as d,v as y,V as ke,y as U,w as V,a5 as Se,m as K,C as we,L as Z,aY as We,n as b,x as ae,H as R,z as I,ax as Oe,aZ as Xe,a_ as Je,ag as pe,a$ as Qe,aA as et,k as G,s as $,b0 as tt,Z as Ge,E as ue,A as be,q as h,F as Q,j as at,b1 as st,b2 as Be,b3 as lt,b4 as rt,b5 as it,D as nt,ac as ot,ad as ut,b6 as dt,af as ct,ab as mt,X as vt,c as f,b7 as Ne,aR as _e,aT as Ie,r as ge,b8 as ht,aV as ft,b9 as Ae,i as je,e as J,S as Me,aj as pt,aM as bt,ba as gt,b as yt}from"./main-BbNUiWEb.js";import{w as kt,k as ve,V as de,n as St,i as wt,x as _t,R as Ct,y as Tt,u as Vt,j as Bt,e as Re}from"./forwardRefs-DPRKg5wq.js";import{a as Nt,c as It,d as Mt,C as Rt,V as Lt}from"./VDialog-RVLeW7je.js";import{c as Pt,d as Ft,e as Dt}from"./VSelect-BSLmHX_P.js";import{C as Et}from"./change-password-dialog-1ZVP_Q2w.js";import{C as Ot}from"./confirm-dialog-DqCey9Iq.js";import{P as Gt,a as At}from"./unauthorized-BOl5YpL3.js";import{f as jt,m as zt,g as xt,u as Ut,h as Le,i as $t}from"./VSelectionControl-TaKCeZgb.js";const qt=le({...ye(),...kt({variant:"text"})},"VToolbarItems"),Bs=ce()({name:"VToolbarItems",props:qt(),setup(e,t){let{slots:a}=t;return Ze({VBtn:{color:D(e,"color"),height:"inherit",variant:D(e,"variant")}}),me(()=>{var i;return r("div",{class:["v-toolbar-items",e.class],style:e.style},[(i=a.default)==null?void 0:i.call(a)])}),{}}}),Pe=new Set(["",Ve,Ve.toString(),void 0]),Ht=function(e){let t;return Pe.has(e)?t=e:e instanceof Object?Pe.has(e.pk)?t=void 0:t={value:e.pk,title:e.name}:t={value:e,title:e.toString()},e!=null&&e.url&&(t.url=e.url),t},Yt=function(e,t){return e.title<t.title?-1:e.title>t.title?1:0},Kt=function(e,t){return Number.parseFloat(e.title)-Number.parseFloat(t.title)},Zt=function(e,t,a=!1){var l;const i=e||[],n=t&&t.toLowerCase();let s=[];for(const v of i){const c=Ht(v);c!=null&&(!n||(l=c==null?void 0:c.title)!=null&&l.toLowerCase().includes(n))&&s.push(c)}const o=a?Kt:Yt;return s.sort(o)},Wt={name:"ToolbarSelect",props:{selectLabel:{type:String,default:""},maxSelectLen:{type:Number,default:0}},computed:{style(){if(this.maxSelectLen){const e=this.$vuetify.display.xs?"max-width":"width",t=this.maxSelectLen*.7+"em";return`${e}: ${t}`}return""}}};function Xt(e,t,a,i,n,s){return d(),y(Pt,K(e.$attrs,{label:a.selectLabel,"aria-label":a.selectLabel,class:"toolbarSelect",density:"compact","full-width":"","menu-props":{maxHeight:void 0},"hide-details":"auto",style:s.style,variant:"plain"}),ke({item:V(({item:o,props:l})=>[r(Nt,K(l,{density:"compact",variant:"plain",title:o.title,value:o.value}),null,16,["title","value"])]),_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1040,["label","aria-label","style"])}const Ns=A(Wt,[["render",Xt],["__scopeId","data-v-e88da460"]]),Is=It("v-spacer","div","VSpacer"),Jt={name:"BookCover",props:{group:{type:String,required:!0},pks:{type:Array,required:!0},childCount:{type:Number,default:1},finished:{type:Boolean},mtime:{type:Number,default:Date.now()}},data(){return{showPlaceholder:!1}},computed:{...we(Z,["coverSettings"]),coverSrc(){return We({group:this.group,pks:this.pks},this.coverSettings,this.mtime)},multiPkClasses(){const e=this.pks.length,t={};return e>=4?t.stack4=!0:e>1&&(t[`stack${e}`]=!0),t}},mounted:function(){this.delayPlaceholder()},methods:{delayPlaceholder:function(){setTimeout(()=>{this.showPlaceholder=!0},2e3)}}},Qt={class:"bookCover"},ea={key:1,class:"childCount"};function ta(e,t,a,i,n,s){return d(),b("div",Qt,[r(Mt,{src:s.coverSrc,class:ae(["coverImg",s.multiPkClasses])},null,8,["src","class"]),a.finished!==!0?(d(),b("div",{key:0,class:ae({unreadFlag:!0,mixedreadFlag:a.finished===null})},null,2)):R("",!0),a.group!=="c"?(d(),b("span",ea,I(a.childCount),1)):R("",!0)])}const aa=A(Jt,[["render",ta],["__scopeId","data-v-39e3a9f8"]]),sa=10,la={name:"DownloadButton",components:{ConfirmDialog:Ot,CodexListItem:Rt},props:{button:{type:Boolean,default:!1},group:{type:String,default:"c"},pks:{type:Array,required:!0},children:{type:Number,required:!0},names:{type:Array,required:!0},ts:{type:Number,default:void 0}},data(){return{mdiDownload:Oe}},computed:{...we(Z,["filterOnlySettings"]),show(){return this.pks&&this.pks.length>0&&!this.pks.includes(0)},isOneComic(){return this.group==="c"&&this.pks.length===1},downloadURL(){let e="";if(this.isOneComic){const t=this.pks[0];e=Xe({pk:t},this.downloadFn,this.ts)}else{const t=this.group,a=this.pks,i=this.filterOnlySettings;e=Je({group:t,pks:a},this.downloadFn,i,this.ts)}return e},formattedChildren(){return pe.format(this.children)},downloadFn(){const e=this.names.filter(t=>t).join(" ");if(this.isOneComic)return e;{let t=Qe[this.group];return t!=="Series"&&(t=t.slice(0,-1)),`${t} - ${e} Comics.zip`}},title(){let e="Download";return this.isOneComic?e+=" Book":e+=` ${this.formattedChildren} Books`,e},confirm(){return this.children>sa},confirmText(){return`Download ${this.formattedChildren} books`}},methods:{download(){const e=this.downloadURL,t=this.downloadFn;if(this.isOneComic)et(e,t);else{const a=document.createElement("a");a.download=this.downloadFn,a.href=this.downloadURL,a.click(),a.remove()}}}};function ra(e,t,a,i,n,s){const o=G("CodexListItem"),l=G("ConfirmDialog");return s.show&&!s.confirm&&a.button?(d(),y(de,{key:0,onClick:s.download},{default:V(()=>[r(ve,null,{default:V(()=>[$(I(n.mdiDownload),1)]),_:1}),$(" "+I(s.title),1)]),_:1},8,["onClick"])):s.show&&!s.confirm?(d(),y(o,{key:1,"prepend-icon":n.mdiDownload,title:s.title,onClick:s.download},null,8,["prepend-icon","title","onClick"])):s.show?(d(),y(l,{key:2,button:a.button,"prepend-icon":n.mdiDownload,"button-text":s.title,"title-text":s.title,text:"May take a while","confirm-text":"Download",onConfirm:s.download},null,8,["button","prepend-icon","button-text","title-text","onConfirm"])):R("",!0)}const ia=A(la,[["render",ra],["__scopeId","data-v-11785682"]]),na=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],oa=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],ua=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],da=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Fe=(e,t,a)=>{let i=e;return typeof t=="string"||Array.isArray(t)?i=e.toLocaleString(t,a):(t===!0||a!==void 0)&&(i=e.toLocaleString(void 0,a)),i};function ca(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?da:ua:t.binary?oa:na,i=t.space?" ":"";if(t.signed&&e===0)return` 0${i}${a[0]}`;const n=e<0,s=n?"-":t.signed?"+":"";n&&(e=-e);let o;if(t.minimumFractionDigits!==void 0&&(o={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(o={maximumFractionDigits:t.maximumFractionDigits,...o}),e<1){const B=Fe(e,t.locale,o);return s+B+i+a[0]}const l=Math.min(Math.floor(t.binary?Math.log(e)/Math.log(1024):Math.log10(e)/3),a.length-1);e/=(t.binary?1024:1e3)**l,o||(e=e.toPrecision(3));const v=Fe(Number(e),t.locale,o),c=a[l];return s+v+i+c}const ma={name:"MetadataTags",props:{label:{type:String,required:!0},values:{type:Array,default(){return[]}},filter:{type:String,required:!1,default:void 0}},data(){return{mdiFilter:tt,mdiOpenInNew:Ge}},computed:{...ue(Z,{filterValues(e){const t=this.filter||this.label.toLowerCase();return e.settings.filters[t]},topGroup:e=>e.settings.topGroup}),model(){return Zt(this.values)},chipClass(e){return{browseChip:this.filter&&e}}},methods:{...be(Z,["setSettings"]),chipColor(e){return this.filterValues&&this.filterValues.includes(e)?this.$vuetify.theme.current.colors["primary-darken-1"]:""},onClick(e){if(!this.filter||!e)return;const t=["f","s"].includes(this.topGroup)?this.topGroup:"r",a=t==="s"&&this.filter==="storyArcs";if(!a){const o={filters:{[this.filter]:[e]}};this.setSettings(o)}const s={name:"browser",params:{group:t,pk:a?e:0,page:1}};this.$router.push(s)}}},va={key:0,class:"tags"},ha={class:"chipGroupLabel"},fa=["href"];function pa(e,t,a,i,n,s){return s.model&&s.model.length>0?(d(),b("div",va,[h("div",ha,I(a.label),1),r(Dt,{column:!0,multiple:"",value:s.model},{default:V(()=>[(d(!0),b(Q,null,U(s.model,o=>(d(),y(Ft,{key:`${a.label}/${o.value}`,color:s.chipColor(o.value),value:o.value,onClick:l=>s.onClick(o.value)},{default:V(()=>[o.url?(d(),b("a",{key:0,href:o.url,target:"_blank"},[$(I(o.title),1),r(ve,null,{default:V(()=>[$(I(n.mdiOpenInNew),1)]),_:1})],8,fa)):(d(),b("span",{key:1,class:ae(s.chipClass)},I(o.title),3))]),_:2},1032,["color","value","onClick"]))),128))]),_:1},8,["value"])])):R("",!0)}const ze=A(ma,[["render",pa],["__scopeId","data-v-75fd687b"]]),ba={name:"MetadataContributorsTable",components:{MetadataTags:ze},props:{value:{type:Array,default:void 0}},computed:{contributorsDict(){const e={};if(!this.value)return e;for(const{role:i,person:n}of this.value){const s=at(i.name)+"s";e[s]||(e[s]=[]),e[s].push(n)}const t=Object.keys(e).sort((i,n)=>i.localeCompare(n)),a={};for(const i of t)a[i]=e[i].sort((n,s)=>n.name.localeCompare(s.name));return a}}},ga={key:0};function ya(e,t,a,i,n,s){const o=G("MetadataTags");return Object.keys(s.contributorsDict).length>0?(d(),b("div",ga,[t[0]||(t[0]=h("h3",null,"Contributors",-1)),(d(!0),b(Q,null,U(Object.entries(s.contributorsDict),([l,v])=>(d(),y(o,{key:l,values:v,label:l,filter:"contributors"},null,8,["values","label"]))),128))])):R("",!0)}const ka=A(ba,[["render",ya]]),De="(Empty)",Sa={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:Ge}},computed:{...ue(Z,{browserShow:e=>e.settings.show,browserTopGroup:e=>e.settings.topGroup,folderViewEnabled:e=>e.page.adminFlags.folderView}),computedValue(){return this.value&&this.value.name!==void 0?this.value.name:this.value},lastSlashIndex(){return this.computedValue.lastIndexOf("/")+1},displayValue(){let e;return this.group&&this.computedValue===""?e=De:this.group==="f"&&this.computedValue?e=this.computedValue.substring(0,this.lastSlashIndex):e=this.computedValue,e},empty(){return this.displayValue===De},_browserGroupHref(){const e=this.group,t=this.$router.currentRoute.value.params;if(!e||t.group===e||e==="f"&&!this.folderViewEnabled||!["a","f"].includes(e)&&!this.browserShow[e])return;const a=this.value.ids?this.value.ids:[this.value.pk];if(!a||!a.length)return;const n={topGroup:this.getTopGroup(e)};return st({group:e,pks:a,query:n})},_linkHref(){return this.link===!0?this.displayValue:this.link?this.link:!1},href(){return this._browserGroupHref?this._browserGroupHref:this._linkHref},target(){return this.link?"_blank":""},title(){return this._browserGroupHref?`Browse to ${this.label}`:this.label},baseName(){return this.group==="f"?this.computedValue.substring(this.lastSlashIndex):""},highlight(){var e;return((e=this.obj)==null?void 0:e.group)===this.group}},methods:{getTopGroup(e){let t;if(this.browserTopGroup===e||["a","f"].includes(e))t=e;else{const a=Be.indexOf(e);for(const i of Be.slice(a))if(i!=="r"&&this.browserShow[i]){t=i;break}}return t}}},wa={class:"textLabel"},_a=["href","title","target"],Ca={key:1,class:"textContent"},Ta={key:2};function Va(e,t,a,i,n,s){return s.displayValue?(d(),b("div",{key:0,class:ae(["text",{highlight:s.highlight}])},[h("div",wa,I(a.label),1),h("div",{class:ae(["textValue",{empty:s.empty}])},[s.href?(d(),b("a",{key:0,href:s.href,title:s.title,target:s.target},[$(I(s.displayValue)+" ",1),a.link?(d(),y(ve,{key:0,size:"small"},{default:V(()=>[$(I(n.mdiOpenInNew),1)]),_:1})):R("",!0)],8,_a)):(d(),b("div",Ca,I(s.displayValue),1)),s.baseName?(d(),b("span",Ta,I(s.baseName),1)):R("",!0)],2)],2)):R("",!0)}const Ba=A(Sa,[["render",Va],["__scopeId","data-v-e07a86c1"]]),xe=new Set("rtl","btt");Object.freeze(xe);const Na=({ids:e,page:t,readingDirection:a,pageCount:i},n)=>{if(e.length<1||n&&!i)return"";const s=e[0];if(t)t=Number(t);else if(xe.has(a)){const o=Number(i)-1;t=Math.max(o,0)}else t=0;return{name:"reader",params:{pk:s,page:t}}},Ee=lt("metadata",{state:()=>({md:void 0}),actions:{async loadMetadata({group:e,pks:t}){await rt.getMetadata({group:e,pks:t},Z().metadataSettings).then(a=>{const i={...a.data};return i.loaded=!0,this.md=i,!0}).catch(a=>{console.error(a),this.clearMetadata()})},clearMetadata(){this.md=void 0}}}),Ia=1160,Ma=.05,Ra=250,La={name:"MetadataButton",components:{BookCover:aa,CloseButton:Et,DownloadButton:ia,MetadataContributorsTable:ka,MetadataTags:ze,MetadataText:Ba,PlaceholderLoading:Gt},props:{group:{type:String,required:!0},book:{type:Object,required:!0},children:{type:Number,default:1},toolbar:{type:Boolean,default:!1}},data(){return{mdiDownload:Oe,mdiTagOutline:it,dialog:!1,progress:0}},computed:{...we(nt,["isUserAdmin"]),...ue(Z,{twentyFourHourTime:e=>{var t;return(t=e.settings)==null?void 0:t.twentyFourHourTime},readingDirectionTitles:e=>e.choices.static.readingDirection,identifierTypes:e=>e.choices.static.identifierType,importMetadata:e=>{var t,a;return(a=(t=e.page)==null?void 0:t.adminFlags)==null?void 0:a.importMetadata},q:e=>e.settings.q}),...ue(Ee,{md:e=>e.md}),showContainer(){var e;return((e=this.md)==null?void 0:e.loaded)||!1},buttonVariant(){return this.toolbar?"plain":"text"},downloadGroup(){return this.md.group},downloadPks(){return this.md.ids},downloadNames(){const e=this.md;return e?e.fileName?[e.fileName]:[this.firstNameFromList(e.publisherList),this.firstNameFromList(e.imprintList),this.firstNameFromList(e.seriesList),this.firstNameFromList(e.volumeList),this.md.name]:["Unknown.cbz"]},isReadButtonShown(){return this.group==="c"&&this.$route.name!="reader"},isReadButtonEnabled(){return!!this.readerRoute},readButtonIcon(){return this.isReadButtonEnabled?ot:ut},readerRoute(){var e;return(e=this.md)!=null&&e.ids?Na(this.md,this.importMetadata):{}},formattedIssue(){if(!this.md)return"Unknown";if(!((this.md.issueNumber===null||this.md.issueNumber===void 0)&&!this.md.issueSuffix))return dt(this.md)},readingDirectionText(){return this.md?this.readingDirectionTitles[this.md.readingDirection]:"Unknown"},pages(){let e="";if(!this.md)return e;if(this.md.page){const a=pe.format(this.md.page);e+=`Read ${a} of `}const t=pe.format(this.md.pageCount);return e+=`${t} pages`,this.md.progress>0&&(e+=` (${Math.round(this.md.progress)}%)`),e},size(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.size)>0?ca(this.md.size):0},fileType(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.fileType)||"Unknown"},titledIdentifiers(){var t;const e=[];if(!((t=this==null?void 0:this.md)!=null&&t.identifiers))return e;for(const a of this.md.identifiers){const i=a.name.split(":"),n=i[0],s=i[1],o=this.identifierTypeTitle(n);let l="";o&&o!=="None"&&(l+=o+":"),l+=s,e.push({...a,name:l})}return e},multiGroup(){var e;return(e=this.md)!=null&&e.ids?this.md.ids.length>1:!1}},watch:{dialog(e){e?this.dialogOpened():this.clearMetadata()}},methods:{...be(Ee,["clearMetadata","loadMetadata"]),...be(Z,["identifierTypeTitle"]),dialogOpened(){const e=this.book.ids?this.book.ids:[this.book.pk],t={group:this.group,pks:e};this.loadMetadata(t),this.startProgress()},startProgress(){this.startTime=Date.now(),this.estimatedMS=Math.max(Ma,this.children/Ia)*1e3,this.updateProgress()},updateProgress(){const e=Date.now()-this.startTime;this.progress=e/this.estimatedMS*100,!(this.progress>=100||this.md)&&setTimeout(()=>{this.updateProgress()},Ra)},formatDateTime(e){return ct(e,this.twentyFourHourTime)},firstNameFromList(e){let t="";if(e){for(const a of Object.values(e))if(a.name){t=a.name;break}}return t}}},Pa={id:"metadataHeader"},Fa={id:"metadataBookCoverWrapper"},Da={class:"inlineRow"},Ea={class:"inlineRow"},Oa={class:"inlineRow"},Ga={key:1,class:"inlineRow"},Aa={id:"metadataBody"},ja={class:"mdSection"},za={class:"quintRow"},xa={class:"mdSection"},Ua={class:"quarterRow"},$a={class:"lastSmallRow"},qa={class:"halfRow mdSection"},Ha={class:"mdSection"},Ya={class:"mdSection"},Ka={class:"mdSection"},Za={class:"mdSection"},Wa={class:"mdSection"},Xa={class:"mdSection inlineRow"},Ja={class:"inlineRow"},Qa={id:"footerLinks"},es={key:1,id:"placeholderContainer"};function ts(e,t,a,i,n,s){const o=G("CloseButton"),l=G("MetadataText"),v=G("BookCover"),c=G("MetadataTags"),B=G("MetadataContributorsTable"),w=G("DownloadButton"),N=G("PlaceholderLoading");return d(),y(Lt,{modelValue:n.dialog,"onUpdate:modelValue":t[3]||(t[3]=m=>n.dialog=m),fullscreen:"",transition:"dialog-bottom-transition"},{activator:V(({props:m})=>[r(de,K({"aria-label":"tags",class:"tagButton cardControlButton",variant:s.buttonVariant,icon:n.mdiTagOutline,title:"Tags"},m,{onClick:t[0]||(t[0]=mt(()=>{},["prevent"]))}),null,16,["variant","icon"])]),default:V(()=>[r(o,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[1]||(t[1]=m=>n.dialog=!1)}),s.showContainer?(d(),b("div",{key:0,id:"metadataContainer",onKeyup:t[2]||(t[2]=vt(m=>n.dialog=!1,["esc"]))},[h("header",Pa,[e.q?(d(),y(l,{key:0,id:"search",value:e.q,label:"Search Query",highlight:!0},null,8,["value"])):R("",!0),h("div",Fa,[r(v,{id:"bookCover",group:a.group,pks:e.md.ids,"child-count":e.md.childCount,finished:e.md.finished,mtime:e.md.mtime},null,8,["group","pks","child-count","finished","mtime"]),r(St,{class:"bookCoverProgress","model-value":e.md.progress,rounded:"","background-color":"inherit",height:"2","aria-label":"% read"},null,8,["model-value"])]),h("div",Da,[(d(!0),b(Q,null,U(e.md.publisherList,m=>(d(),y(l,{id:"publisher",key:m.ids,value:m,group:"p",label:"Publisher",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),(d(!0),b(Q,null,U(e.md.imprintList,m=>(d(),y(l,{id:"imprint",key:m.ids,value:m,group:"i",label:"Imprint",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),h("div",Ea,[(d(!0),b(Q,null,U(e.md.seriesList,m=>(d(),y(l,{id:"series",key:m.ids,value:m,label:"Series",group:"s",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),h("div",Oa,[(d(!0),b(Q,null,U(e.md.volumeList,m=>(d(),y(l,{id:"volume",key:m.ids,value:m,label:"Volume",group:"v",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),r(l,{value:e.md.seriesVolumeCount,label:"Volume Count"},null,8,["value"]),r(l,{id:"issue",value:s.formattedIssue,label:"Issue",group:"c",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),r(l,{value:e.md.volumeIssueCount,label:"Issue Count"},null,8,["value"]),r(l,{value:e.md.name,label:"Title"},null,8,["value"])]),e.md.year||e.md.month||e.md.day?(d(),b("div",Ga,[r(l,{value:e.md.year,label:"Year",class:"datePicker",type:"number"},null,8,["value"]),r(l,{value:e.md.month,label:"Month",class:"datePicker"},null,8,["value"]),r(l,{value:e.md.day,label:"Day",class:"datePicker"},null,8,["value"])])):R("",!0)]),h("div",Aa,[h("section",ja,[h("div",za,[r(l,{value:s.pages,label:"Pages"},null,8,["value"]),r(l,{label:"Finished",value:(!!e.md.finished).toString()},null,8,["value"]),r(l,{label:"Reading Direction",value:s.readingDirectionText},null,8,["value"]),r(l,{value:(!!e.md.monochrome).toString(),label:"Monochrome"},null,8,["value"]),r(l,{value:e.md.original_format,label:"Original Format"},null,8,["value"])])]),h("section",xa,[h("div",Ua,[e.md.createdAt?(d(),y(l,{key:0,value:s.formatDateTime(e.md.createdAt),label:"Created at",class:"mtime"},null,8,["value"])):R("",!0),e.md.updatedAt?(d(),y(l,{key:1,value:s.formatDateTime(e.md.updatedAt),label:"Updated at",class:"mtime"},null,8,["value"])):R("",!0),r(l,{value:s.size,label:"Size"},null,8,["value"]),r(l,{value:s.fileType,label:"File Type"},null,8,["value"])]),h("div",$a,[r(l,{group:"f",value:{pk:e.md.parentFolderId,name:e.md.path},label:"Path"},null,8,["value"])])]),h("section",qa,[r(l,{value:e.md.country,label:"Country"},null,8,["value"]),r(l,{value:e.md.language,label:"Language"},null,8,["value"])]),h("section",Ha,[r(c,{values:s.titledIdentifiers,label:"Identifiers"},null,8,["values"])]),h("section",Ya,[r(l,{value:e.md.summary,label:"Summary"},null,8,["value"]),r(l,{value:e.md.review,label:"Review"},null,8,["value"])]),h("section",Ka,[r(l,{value:e.md.communityRating,label:"Community Rating"},null,8,["value"]),r(l,{value:e.md.criticalRating,label:"Critical Rating"},null,8,["value"]),r(l,{value:e.md.ageRating,label:"Age Rating"},null,8,["value"])]),h("section",Za,[r(c,{values:e.md.genres,label:"Genres",filter:"genres"},null,8,["values"]),r(c,{values:e.md.characters,label:"Characters",filter:"characters"},null,8,["values"]),r(c,{values:e.md.teams,label:"Teams",filter:"teams"},null,8,["values"]),r(c,{values:e.md.locations,label:"Locations",filter:"locations"},null,8,["values"]),r(c,{values:e.md.seriesGroups,label:"Series Groups",filter:"seriesGroups"},null,8,["values"]),r(c,{values:e.md.stories,label:"Stories",filter:"stories"},null,8,["values"]),r(c,{values:e.md.storyArcNumbers,label:"Story Arcs",filter:"storyArcs"},null,8,["values"]),r(c,{values:e.md.tags,label:"Tags",filter:"tags"},null,8,["values"])]),h("section",Wa,[r(B,{value:e.md.contributors},null,8,["value"])]),h("section",Xa,[r(l,{value:e.md.notes,label:"Notes"},null,8,["value"])]),h("section",Ja,[r(l,{value:e.md.tagger,label:"Tagger"},null,8,["value"]),r(l,{value:e.md.scanInfo,label:"Scan"},null,8,["value"])])]),h("footer",Qa,[r(w,{id:"downloadButton",button:!0,group:s.downloadGroup,pks:s.downloadPks,children:a.children,names:s.downloadNames,ts:e.md.mtime},null,8,["group","pks","children","names","ts"]),s.isReadButtonShown?(d(),y(de,{key:0,to:s.readerRoute,title:"Read Comic",disabled:!s.isReadButtonEnabled},{default:V(()=>[r(ve,null,{default:V(()=>[$(I(s.readButtonIcon),1)]),_:1}),t[4]||(t[4]=$(" Read "))]),_:1},8,["to","disabled"])):R("",!0)])],32)):(d(),b("div",es,[t[5]||(t[5]=h("div",{id:"placeholderTitle"},"Tags Loading",-1)),r(N,{"model-value":n.progress,indeterminate:n.progress>=100,class:"placeholder"},null,8,["model-value","indeterminate"])]))]),_:1},8,["modelValue"])}const Ms=A(La,[["render",ts],["__scopeId","data-v-1bd26a0f"]]),as={name:"PaginationNavButton",props:{narrow:{type:Boolean,default:!0}},computed:{classes(){return{narrowButton:this.narrow}}}};function ss(e,t,a,i,n,s){return d(),y(de,{variant:"plain",density:"compact",class:ae(["paginationNavButton",s.classes]),size:"medium"},ke({_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1032,["class"])}const Rs=A(as,[["render",ss],["__scopeId","data-v-0450dab6"]]),Ce=Symbol.for("vuetify:v-slider");function ls(e,t,a){const i=a==="vertical",n=t.getBoundingClientRect(),s="touches"in e?e.touches[0]:e;return i?s.clientY-(n.top+n.height/2):s.clientX-(n.left+n.width/2)}function rs(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 is=le({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,...wt(),..._t({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),ns=e=>{const t=f(()=>parseFloat(e.min)),a=f(()=>parseFloat(e.max)),i=f(()=>+e.step>0?parseFloat(e.step):0),n=f(()=>Math.max(Ne(i.value),Ne(t.value)));function s(o){if(o=parseFloat(o),i.value<=0)return o;const l=Ae(o,t.value,a.value),v=t.value%i.value,c=Math.round((l-v)/i.value)*i.value+v;return parseFloat(Math.min(c,a.value).toFixed(n.value))}return{min:t,max:a,step:i,decimals:n,roundValue:s}},os=e=>{let{props:t,steps:a,onSliderStart:i,onSliderMove:n,onSliderEnd:s,getActiveThumb:o}=e;const{isRtl:l}=_e(),v=D(t,"reverse"),c=f(()=>t.direction==="vertical"),B=f(()=>c.value!==v.value),{min:w,max:N,step:m,decimals:q,roundValue:j}=a,W=f(()=>parseInt(t.thumbSize,10)),H=f(()=>parseInt(t.tickSize,10)),z=f(()=>parseInt(t.trackSize,10)),E=f(()=>(N.value-w.value)/m.value),X=D(t,"disabled"),O=f(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),g=f(()=>t.error||t.disabled?void 0:t.trackColor??t.color),L=f(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),_=Ie(!1),C=Ie(0),P=ge(),F=ge();function p(u){var Te;const S=t.direction==="vertical",Ue=S?"top":"left",$e=S?"height":"width",qe=S?"clientY":"clientX",{[Ue]:He,[$e]:Ye}=(Te=P.value)==null?void 0:Te.$el.getBoundingClientRect(),Ke=rs(u,qe);let fe=Math.min(Math.max((Ke-He-C.value)/Ye,0),1)||0;return(S?B.value:B.value!==l.value)&&(fe=1-fe),j(w.value+fe*(N.value-w.value))}const x=u=>{s({value:p(u)}),_.value=!1,C.value=0},Y=u=>{F.value=o(u),F.value&&(F.value.focus(),_.value=!0,F.value.contains(u.target)?C.value=ls(u,F.value,t.direction):(C.value=0,n({value:p(u)})),i({value:p(u)}))},M={passive:!0,capture:!0};function ee(u){n({value:p(u)})}function re(u){u.stopPropagation(),u.preventDefault(),x(u),window.removeEventListener("mousemove",ee,M),window.removeEventListener("mouseup",re)}function ie(u){var S;x(u),window.removeEventListener("touchmove",ee,M),(S=u.target)==null||S.removeEventListener("touchend",ie)}function he(u){var S;Y(u),window.addEventListener("touchmove",ee,M),(S=u.target)==null||S.addEventListener("touchend",ie,{passive:!1})}function T(u){u.preventDefault(),Y(u),window.addEventListener("mousemove",ee,M),window.addEventListener("mouseup",re,{passive:!1})}const k=u=>{const S=(u-w.value)/(N.value-w.value)*100;return Ae(isNaN(S)?0:S,0,100)},te=D(t,"showTicks"),se=f(()=>te.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(u=>({value:u,position:k(u),label:u.toString()})):Object.keys(t.ticks).map(u=>({value:parseFloat(u),position:k(parseFloat(u)),label:t.ticks[u]})):E.value!==1/0?ht(E.value+1).map(u=>{const S=w.value+u*m.value;return{value:S,position:k(S)}}):[]:[]),ne=f(()=>se.value.some(u=>{let{label:S}=u;return!!S})),oe={activeThumbRef:F,color:D(t,"color"),decimals:q,disabled:X,direction:D(t,"direction"),elevation:D(t,"elevation"),hasLabels:ne,isReversed:v,indexFromEnd:B,min:w,max:N,mousePressed:_,numTicks:E,onSliderMousedown:T,onSliderTouchstart:he,parsedTicks:se,parseMouseMove:p,position:k,readonly:D(t,"readonly"),rounded:D(t,"rounded"),roundValue:j,showTicks:te,startOffset:C,step:m,thumbSize:W,thumbColor:O,thumbLabel:D(t,"thumbLabel"),ticks:D(t,"ticks"),tickSize:H,trackColor:g,trackContainerRef:P,trackFillColor:L,trackSize:z,vertical:c};return ft(Ce,oe),oe},us=le({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},name:String,...ye()},"VSliderThumb"),ds=ce()({name:"VSliderThumb",directives:{Ripple:Ct},props:us(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=je(Ce),{isRtl:s,rtlClasses:o}=_e();if(!n)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:l,step:v,disabled:c,thumbSize:B,thumbLabel:w,direction:N,isReversed:m,vertical:q,readonly:j,elevation:W,mousePressed:H,decimals:z,indexFromEnd:E}=n,X=f(()=>c.value?void 0:W.value),{elevationClasses:O}=Tt(X),{textColorClasses:g,textColorStyles:L}=Vt(l),{pageup:_,pagedown:C,end:P,home:F,left:p,right:x,down:Y,up:M}=gt,ee=[_,C,P,F,p,x,Y,M],re=f(()=>v.value?[1,2,3]:[1,5,10]);function ie(T,k){if(!ee.includes(T.key))return;T.preventDefault();const te=v.value||.1,se=(e.max-e.min)/te;if([p,x,Y,M].includes(T.key)){const oe=(q.value?[s.value?p:x,m.value?Y:M]:E.value!==s.value?[p,M]:[x,M]).includes(T.key)?1:-1,u=T.shiftKey?2:T.ctrlKey?1:0;k=k+oe*te*re.value[u]}else if(T.key===F)k=e.min;else if(T.key===P)k=e.max;else{const ne=T.key===C?1:-1;k=k-ne*te*(se>100?se/10:10)}return Math.max(e.min,Math.min(e.max,k))}function he(T){const k=ie(T,e.modelValue);k!=null&&i("update:modelValue",k)}return me(()=>{const T=J(E.value?100-e.position:e.position,"%");return r("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&H.value},e.class,o.value],style:[{"--v-slider-thumb-position":T,"--v-slider-thumb-size":J(B.value)},e.style],role:"slider",tabindex:c.value?-1:0,"aria-label":e.name,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.modelValue,"aria-readonly":!!j.value,"aria-orientation":N.value,onKeydown:j.value?void 0:he},[r("div",{class:["v-slider-thumb__surface",g.value,O.value],style:{...L.value}},null),Me(r("div",{class:["v-slider-thumb__ripple",g.value],style:L.value},null),[[pt("ripple"),e.ripple,null,{circle:!0,center:!0}]]),r(jt,{origin:"bottom center"},{default:()=>{var k;return[Me(r("div",{class:"v-slider-thumb__label-container"},[r("div",{class:["v-slider-thumb__label"]},[r("div",null,[((k=a["thumb-label"])==null?void 0:k.call(a,{modelValue:e.modelValue}))??e.modelValue.toFixed(v.value?z.value:1)])])]),[[bt,w.value&&e.focused||w.value==="always"]])]}})])}),{}}}),cs=le({start:{type:Number,required:!0},stop:{type:Number,required:!0},...ye()},"VSliderTrack"),ms=ce()({name:"VSliderTrack",props:cs(),emits:{},setup(e,t){let{slots:a}=t;const i=je(Ce);if(!i)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:n,parsedTicks:s,rounded:o,showTicks:l,tickSize:v,trackColor:c,trackFillColor:B,trackSize:w,vertical:N,min:m,max:q,indexFromEnd:j}=i,{roundedClasses:W}=Bt(o),{backgroundColorClasses:H,backgroundColorStyles:z}=Re(B),{backgroundColorClasses:E,backgroundColorStyles:X}=Re(c),O=f(()=>`inset-${N.value?"block":"inline"}-${j.value?"end":"start"}`),g=f(()=>N.value?"height":"width"),L=f(()=>({[O.value]:"0%",[g.value]:"100%"})),_=f(()=>e.stop-e.start),C=f(()=>({[O.value]:J(e.start,"%"),[g.value]:J(_.value,"%")})),P=f(()=>l.value?(N.value?s.value.slice().reverse():s.value).map((p,x)=>{var M;const Y=p.value!==m.value&&p.value!==q.value?J(p.position,"%"):void 0;return r("div",{key:p.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":p.position>=e.start&&p.position<=e.stop,"v-slider-track__tick--first":p.value===m.value,"v-slider-track__tick--last":p.value===q.value}],style:{[O.value]:Y}},[(p.label||a["tick-label"])&&r("div",{class:"v-slider-track__tick-label"},[((M=a["tick-label"])==null?void 0:M.call(a,{tick:p,index:x}))??p.label])])}):[]);return me(()=>r("div",{class:["v-slider-track",W.value,e.class],style:[{"--v-slider-track-size":J(w.value),"--v-slider-tick-size":J(v.value)},e.style]},[r("div",{class:["v-slider-track__background",E.value,{"v-slider-track__background--opacity":!!n.value||!B.value}],style:{...L.value,...X.value}},null),r("div",{class:["v-slider-track__fill",H.value],style:{...C.value,...z.value}},null),l.value&&r("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":l.value==="always"}]},[P.value])])),{}}}),vs=le({...zt(),...is(),...xt(),modelValue:{type:[Number,String],default:0}},"VSlider"),hs=ce()({name:"VSlider",props:vs(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=ge(),{rtlClasses:s}=_e(),o=ns(e),l=yt(e,"modelValue",void 0,g=>o.roundValue(g??o.min.value)),{min:v,max:c,mousePressed:B,roundValue:w,onSliderMousedown:N,onSliderTouchstart:m,trackContainerRef:q,position:j,hasLabels:W,readonly:H}=os({props:e,steps:o,onSliderStart:()=>{i("start",l.value)},onSliderEnd:g=>{let{value:L}=g;const _=w(L);l.value=_,i("end",_)},onSliderMove:g=>{let{value:L}=g;return l.value=w(L)},getActiveThumb:()=>{var g;return(g=n.value)==null?void 0:g.$el}}),{isFocused:z,focus:E,blur:X}=Ut(e),O=f(()=>j(l.value));return me(()=>{const g=Le.filterProps(e),L=!!(e.label||a.label||a.prepend);return r(Le,K({class:["v-slider",{"v-slider--has-labels":!!a["tick-label"]||W.value,"v-slider--focused":z.value,"v-slider--pressed":B.value,"v-slider--disabled":e.disabled},s.value,e.class],style:e.style},g,{focused:z.value}),{...a,prepend:L?_=>{var C,P;return r(Q,null,[((C=a.label)==null?void 0:C.call(a,_))??(e.label?r($t,{id:_.id.value,class:"v-slider__label",text:e.label},null):void 0),(P=a.prepend)==null?void 0:P.call(a,_)])}:void 0,default:_=>{let{id:C,messagesId:P}=_;return r("div",{class:"v-slider__container",onMousedown:H.value?void 0:N,onTouchstartPassive:H.value?void 0:m},[r("input",{id:C.value,name:e.name||C.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:l.value},null),r(ms,{ref:q,start:0,stop:O.value},{"tick-label":a["tick-label"]}),r(ds,{ref:n,"aria-describedby":P.value,focused:z.value,min:v.value,max:c.value,modelValue:l.value,"onUpdate:modelValue":F=>l.value=F,position:O.value,elevation:e.elevation,onFocus:E,onBlur:X,ripple:e.ripple,name:e.name},{"thumb-label":a["thumb-label"]})])}})}),{}}}),fs={name:"PaginationSlider",props:{min:{type:Number,default:0}}};function ps(e,t,a,i,n,s){return d(),y(hs,K({"thumb-size":"36",class:"paginationSlider",density:"compact","hide-details":"auto",min:a.min,rounded:!0,"show-ticks":"always",step:1,"thumb-label":"always"},e.$attrs),{"tick-label":V(({index:o})=>[$(I(o+a.min),1)]),_:1},16,["min"])}const Ls=A(fs,[["render",ps],["__scopeId","data-v-01b67afd"]]),bs={name:"PaginationToolbar"};function gs(e,t,a,i,n,s){return d(),y(At,{class:"paginationToolbar codexToolbar",density:"compact",transform:"center bottom"},ke({_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1024)}const Ps=A(bs,[["render",gs],["__scopeId","data-v-cfa8cce0"]]);export{aa as B,ia as D,Ms as M,Pe as N,Rs as P,Ns as T,Bs as V,Is as a,Ls as b,Ps as c,Na as g,ca as p,Zt as t};
1
+ import{p as le,J as ye,g as ce,d as Ze,t as D,u as me,a as r,aX as Ve,_ as A,l as d,v as y,V as ke,y as U,w as V,a5 as Se,m as K,C as we,L as Z,aY as We,n as b,x as ae,H as R,z as I,ax as Oe,aZ as Xe,a_ as Je,ag as pe,a$ as Qe,aA as et,k as G,s as $,b0 as tt,Z as Ge,E as ue,A as be,q as h,F as Q,j as at,b1 as st,b2 as Be,b3 as lt,b4 as rt,b5 as it,D as nt,ac as ot,ad as ut,b6 as dt,af as ct,ab as mt,X as vt,c as f,b7 as Ne,aR as _e,aT as Ie,r as ge,b8 as ht,aV as ft,b9 as Ae,i as je,e as J,S as Me,aj as pt,aM as bt,ba as gt,b as yt}from"./main-B5uflU6E.js";import{w as kt,k as ve,V as de,n as St,i as wt,x as _t,R as Ct,y as Tt,u as Vt,j as Bt,e as Re}from"./forwardRefs-i80xmxX3.js";import{a as Nt,c as It,d as Mt,C as Rt,V as Lt}from"./VDialog-Dr7SuC2S.js";import{c as Pt,d as Ft,e as Dt}from"./VSelect-Bbt1vrBg.js";import{C as Et}from"./change-password-dialog-BKar2Bhb.js";import{C as Ot}from"./confirm-dialog-BoBL4OoS.js";import{P as Gt,a as At}from"./unauthorized-Dld9cV8d.js";import{f as jt,m as zt,g as xt,u as Ut,h as Le,i as $t}from"./VSelectionControl-BkZZAsWo.js";const qt=le({...ye(),...kt({variant:"text"})},"VToolbarItems"),Bs=ce()({name:"VToolbarItems",props:qt(),setup(e,t){let{slots:a}=t;return Ze({VBtn:{color:D(e,"color"),height:"inherit",variant:D(e,"variant")}}),me(()=>{var i;return r("div",{class:["v-toolbar-items",e.class],style:e.style},[(i=a.default)==null?void 0:i.call(a)])}),{}}}),Pe=new Set(["",Ve,Ve.toString(),void 0]),Ht=function(e){let t;return Pe.has(e)?t=e:e instanceof Object?Pe.has(e.pk)?t=void 0:t={value:e.pk,title:e.name}:t={value:e,title:e.toString()},e!=null&&e.url&&(t.url=e.url),t},Yt=function(e,t){return e.title<t.title?-1:e.title>t.title?1:0},Kt=function(e,t){return Number.parseFloat(e.title)-Number.parseFloat(t.title)},Zt=function(e,t,a=!1){var l;const i=e||[],n=t&&t.toLowerCase();let s=[];for(const v of i){const c=Ht(v);c!=null&&(!n||(l=c==null?void 0:c.title)!=null&&l.toLowerCase().includes(n))&&s.push(c)}const o=a?Kt:Yt;return s.sort(o)},Wt={name:"ToolbarSelect",props:{selectLabel:{type:String,default:""},maxSelectLen:{type:Number,default:0}},computed:{style(){if(this.maxSelectLen){const e=this.$vuetify.display.xs?"max-width":"width",t=this.maxSelectLen*.7+"em";return`${e}: ${t}`}return""}}};function Xt(e,t,a,i,n,s){return d(),y(Pt,K(e.$attrs,{label:a.selectLabel,"aria-label":a.selectLabel,class:"toolbarSelect",density:"compact","full-width":"","menu-props":{maxHeight:void 0},"hide-details":"auto",style:s.style,variant:"plain"}),ke({item:V(({item:o,props:l})=>[r(Nt,K(l,{density:"compact",variant:"plain",title:o.title,value:o.value}),null,16,["title","value"])]),_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1040,["label","aria-label","style"])}const Ns=A(Wt,[["render",Xt],["__scopeId","data-v-e88da460"]]),Is=It("v-spacer","div","VSpacer"),Jt={name:"BookCover",props:{group:{type:String,required:!0},pks:{type:Array,required:!0},childCount:{type:Number,default:1},finished:{type:Boolean},mtime:{type:Number,default:Date.now()}},data(){return{showPlaceholder:!1}},computed:{...we(Z,["coverSettings"]),coverSrc(){return We({group:this.group,pks:this.pks},this.coverSettings,this.mtime)},multiPkClasses(){const e=this.pks.length,t={};return e>=4?t.stack4=!0:e>1&&(t[`stack${e}`]=!0),t}},mounted:function(){this.delayPlaceholder()},methods:{delayPlaceholder:function(){setTimeout(()=>{this.showPlaceholder=!0},2e3)}}},Qt={class:"bookCover"},ea={key:1,class:"childCount"};function ta(e,t,a,i,n,s){return d(),b("div",Qt,[r(Mt,{src:s.coverSrc,class:ae(["coverImg",s.multiPkClasses])},null,8,["src","class"]),a.finished!==!0?(d(),b("div",{key:0,class:ae({unreadFlag:!0,mixedreadFlag:a.finished===null})},null,2)):R("",!0),a.group!=="c"?(d(),b("span",ea,I(a.childCount),1)):R("",!0)])}const aa=A(Jt,[["render",ta],["__scopeId","data-v-39e3a9f8"]]),sa=10,la={name:"DownloadButton",components:{ConfirmDialog:Ot,CodexListItem:Rt},props:{button:{type:Boolean,default:!1},group:{type:String,default:"c"},pks:{type:Array,required:!0},children:{type:Number,required:!0},names:{type:Array,required:!0},ts:{type:Number,default:void 0}},data(){return{mdiDownload:Oe}},computed:{...we(Z,["filterOnlySettings"]),show(){return this.pks&&this.pks.length>0&&!this.pks.includes(0)},isOneComic(){return this.group==="c"&&this.pks.length===1},downloadURL(){let e="";if(this.isOneComic){const t=this.pks[0];e=Xe({pk:t},this.downloadFn,this.ts)}else{const t=this.group,a=this.pks,i=this.filterOnlySettings;e=Je({group:t,pks:a},this.downloadFn,i,this.ts)}return e},formattedChildren(){return pe.format(this.children)},downloadFn(){const e=this.names.filter(t=>t).join(" ");if(this.isOneComic)return e;{let t=Qe[this.group];return t!=="Series"&&(t=t.slice(0,-1)),`${t} - ${e} Comics.zip`}},title(){let e="Download";return this.isOneComic?e+=" Book":e+=` ${this.formattedChildren} Books`,e},confirm(){return this.children>sa},confirmText(){return`Download ${this.formattedChildren} books`}},methods:{download(){const e=this.downloadURL,t=this.downloadFn;if(this.isOneComic)et(e,t);else{const a=document.createElement("a");a.download=this.downloadFn,a.href=this.downloadURL,a.click(),a.remove()}}}};function ra(e,t,a,i,n,s){const o=G("CodexListItem"),l=G("ConfirmDialog");return s.show&&!s.confirm&&a.button?(d(),y(de,{key:0,onClick:s.download},{default:V(()=>[r(ve,null,{default:V(()=>[$(I(n.mdiDownload),1)]),_:1}),$(" "+I(s.title),1)]),_:1},8,["onClick"])):s.show&&!s.confirm?(d(),y(o,{key:1,"prepend-icon":n.mdiDownload,title:s.title,onClick:s.download},null,8,["prepend-icon","title","onClick"])):s.show?(d(),y(l,{key:2,button:a.button,"prepend-icon":n.mdiDownload,"button-text":s.title,"title-text":s.title,text:"May take a while","confirm-text":"Download",onConfirm:s.download},null,8,["button","prepend-icon","button-text","title-text","onConfirm"])):R("",!0)}const ia=A(la,[["render",ra],["__scopeId","data-v-11785682"]]),na=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],oa=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],ua=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],da=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Fe=(e,t,a)=>{let i=e;return typeof t=="string"||Array.isArray(t)?i=e.toLocaleString(t,a):(t===!0||a!==void 0)&&(i=e.toLocaleString(void 0,a)),i};function ca(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?da:ua:t.binary?oa:na,i=t.space?" ":"";if(t.signed&&e===0)return` 0${i}${a[0]}`;const n=e<0,s=n?"-":t.signed?"+":"";n&&(e=-e);let o;if(t.minimumFractionDigits!==void 0&&(o={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(o={maximumFractionDigits:t.maximumFractionDigits,...o}),e<1){const B=Fe(e,t.locale,o);return s+B+i+a[0]}const l=Math.min(Math.floor(t.binary?Math.log(e)/Math.log(1024):Math.log10(e)/3),a.length-1);e/=(t.binary?1024:1e3)**l,o||(e=e.toPrecision(3));const v=Fe(Number(e),t.locale,o),c=a[l];return s+v+i+c}const ma={name:"MetadataTags",props:{label:{type:String,required:!0},values:{type:Array,default(){return[]}},filter:{type:String,required:!1,default:void 0}},data(){return{mdiFilter:tt,mdiOpenInNew:Ge}},computed:{...ue(Z,{filterValues(e){const t=this.filter||this.label.toLowerCase();return e.settings.filters[t]},topGroup:e=>e.settings.topGroup}),model(){return Zt(this.values)},chipClass(e){return{browseChip:this.filter&&e}}},methods:{...be(Z,["setSettings"]),chipColor(e){return this.filterValues&&this.filterValues.includes(e)?this.$vuetify.theme.current.colors["primary-darken-1"]:""},onClick(e){if(!this.filter||!e)return;const t=["f","s"].includes(this.topGroup)?this.topGroup:"r",a=t==="s"&&this.filter==="storyArcs";if(!a){const o={filters:{[this.filter]:[e]}};this.setSettings(o)}const s={name:"browser",params:{group:t,pk:a?e:0,page:1}};this.$router.push(s)}}},va={key:0,class:"tags"},ha={class:"chipGroupLabel"},fa=["href"];function pa(e,t,a,i,n,s){return s.model&&s.model.length>0?(d(),b("div",va,[h("div",ha,I(a.label),1),r(Dt,{column:!0,multiple:"",value:s.model},{default:V(()=>[(d(!0),b(Q,null,U(s.model,o=>(d(),y(Ft,{key:`${a.label}/${o.value}`,color:s.chipColor(o.value),value:o.value,onClick:l=>s.onClick(o.value)},{default:V(()=>[o.url?(d(),b("a",{key:0,href:o.url,target:"_blank"},[$(I(o.title),1),r(ve,null,{default:V(()=>[$(I(n.mdiOpenInNew),1)]),_:1})],8,fa)):(d(),b("span",{key:1,class:ae(s.chipClass)},I(o.title),3))]),_:2},1032,["color","value","onClick"]))),128))]),_:1},8,["value"])])):R("",!0)}const ze=A(ma,[["render",pa],["__scopeId","data-v-75fd687b"]]),ba={name:"MetadataContributorsTable",components:{MetadataTags:ze},props:{value:{type:Array,default:void 0}},computed:{contributorsDict(){const e={};if(!this.value)return e;for(const{role:i,person:n}of this.value){const s=at(i.name)+"s";e[s]||(e[s]=[]),e[s].push(n)}const t=Object.keys(e).sort((i,n)=>i.localeCompare(n)),a={};for(const i of t)a[i]=e[i].sort((n,s)=>n.name.localeCompare(s.name));return a}}},ga={key:0};function ya(e,t,a,i,n,s){const o=G("MetadataTags");return Object.keys(s.contributorsDict).length>0?(d(),b("div",ga,[t[0]||(t[0]=h("h3",null,"Contributors",-1)),(d(!0),b(Q,null,U(Object.entries(s.contributorsDict),([l,v])=>(d(),y(o,{key:l,values:v,label:l,filter:"contributors"},null,8,["values","label"]))),128))])):R("",!0)}const ka=A(ba,[["render",ya]]),De="(Empty)",Sa={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:Ge}},computed:{...ue(Z,{browserShow:e=>e.settings.show,browserTopGroup:e=>e.settings.topGroup,folderViewEnabled:e=>e.page.adminFlags.folderView}),computedValue(){return this.value&&this.value.name!==void 0?this.value.name:this.value},lastSlashIndex(){return this.computedValue.lastIndexOf("/")+1},displayValue(){let e;return this.group&&this.computedValue===""?e=De:this.group==="f"&&this.computedValue?e=this.computedValue.substring(0,this.lastSlashIndex):e=this.computedValue,e},empty(){return this.displayValue===De},_browserGroupHref(){const e=this.group,t=this.$router.currentRoute.value.params;if(!e||t.group===e||e==="f"&&!this.folderViewEnabled||!["a","f"].includes(e)&&!this.browserShow[e])return;const a=this.value.ids?this.value.ids:[this.value.pk];if(!a||!a.length)return;const n={topGroup:this.getTopGroup(e)};return st({group:e,pks:a,query:n})},_linkHref(){return this.link===!0?this.displayValue:this.link?this.link:!1},href(){return this._browserGroupHref?this._browserGroupHref:this._linkHref},target(){return this.link?"_blank":""},title(){return this._browserGroupHref?`Browse to ${this.label}`:this.label},baseName(){return this.group==="f"?this.computedValue.substring(this.lastSlashIndex):""},highlight(){var e;return((e=this.obj)==null?void 0:e.group)===this.group}},methods:{getTopGroup(e){let t;if(this.browserTopGroup===e||["a","f"].includes(e))t=e;else{const a=Be.indexOf(e);for(const i of Be.slice(a))if(i!=="r"&&this.browserShow[i]){t=i;break}}return t}}},wa={class:"textLabel"},_a=["href","title","target"],Ca={key:1,class:"textContent"},Ta={key:2};function Va(e,t,a,i,n,s){return s.displayValue?(d(),b("div",{key:0,class:ae(["text",{highlight:s.highlight}])},[h("div",wa,I(a.label),1),h("div",{class:ae(["textValue",{empty:s.empty}])},[s.href?(d(),b("a",{key:0,href:s.href,title:s.title,target:s.target},[$(I(s.displayValue)+" ",1),a.link?(d(),y(ve,{key:0,size:"small"},{default:V(()=>[$(I(n.mdiOpenInNew),1)]),_:1})):R("",!0)],8,_a)):(d(),b("div",Ca,I(s.displayValue),1)),s.baseName?(d(),b("span",Ta,I(s.baseName),1)):R("",!0)],2)],2)):R("",!0)}const Ba=A(Sa,[["render",Va],["__scopeId","data-v-e07a86c1"]]),xe=new Set("rtl","btt");Object.freeze(xe);const Na=({ids:e,page:t,readingDirection:a,pageCount:i},n)=>{if(e.length<1||n&&!i)return"";const s=e[0];if(t)t=Number(t);else if(xe.has(a)){const o=Number(i)-1;t=Math.max(o,0)}else t=0;return{name:"reader",params:{pk:s,page:t}}},Ee=lt("metadata",{state:()=>({md:void 0}),actions:{async loadMetadata({group:e,pks:t}){await rt.getMetadata({group:e,pks:t},Z().metadataSettings).then(a=>{const i={...a.data};return i.loaded=!0,this.md=i,!0}).catch(a=>{console.error(a),this.clearMetadata()})},clearMetadata(){this.md=void 0}}}),Ia=1160,Ma=.05,Ra=250,La={name:"MetadataButton",components:{BookCover:aa,CloseButton:Et,DownloadButton:ia,MetadataContributorsTable:ka,MetadataTags:ze,MetadataText:Ba,PlaceholderLoading:Gt},props:{group:{type:String,required:!0},book:{type:Object,required:!0},children:{type:Number,default:1},toolbar:{type:Boolean,default:!1}},data(){return{mdiDownload:Oe,mdiTagOutline:it,dialog:!1,progress:0}},computed:{...we(nt,["isUserAdmin"]),...ue(Z,{twentyFourHourTime:e=>{var t;return(t=e.settings)==null?void 0:t.twentyFourHourTime},readingDirectionTitles:e=>e.choices.static.readingDirection,identifierTypes:e=>e.choices.static.identifierType,importMetadata:e=>{var t,a;return(a=(t=e.page)==null?void 0:t.adminFlags)==null?void 0:a.importMetadata},q:e=>e.settings.q}),...ue(Ee,{md:e=>e.md}),showContainer(){var e;return((e=this.md)==null?void 0:e.loaded)||!1},buttonVariant(){return this.toolbar?"plain":"text"},downloadGroup(){return this.md.group},downloadPks(){return this.md.ids},downloadNames(){const e=this.md;return e?e.fileName?[e.fileName]:[this.firstNameFromList(e.publisherList),this.firstNameFromList(e.imprintList),this.firstNameFromList(e.seriesList),this.firstNameFromList(e.volumeList),this.md.name]:["Unknown.cbz"]},isReadButtonShown(){return this.group==="c"&&this.$route.name!="reader"},isReadButtonEnabled(){return!!this.readerRoute},readButtonIcon(){return this.isReadButtonEnabled?ot:ut},readerRoute(){var e;return(e=this.md)!=null&&e.ids?Na(this.md,this.importMetadata):{}},formattedIssue(){if(!this.md)return"Unknown";if(!((this.md.issueNumber===null||this.md.issueNumber===void 0)&&!this.md.issueSuffix))return dt(this.md)},readingDirectionText(){return this.md?this.readingDirectionTitles[this.md.readingDirection]:"Unknown"},pages(){let e="";if(!this.md)return e;if(this.md.page){const a=pe.format(this.md.page);e+=`Read ${a} of `}const t=pe.format(this.md.pageCount);return e+=`${t} pages`,this.md.progress>0&&(e+=` (${Math.round(this.md.progress)}%)`),e},size(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.size)>0?ca(this.md.size):0},fileType(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.fileType)||"Unknown"},titledIdentifiers(){var t;const e=[];if(!((t=this==null?void 0:this.md)!=null&&t.identifiers))return e;for(const a of this.md.identifiers){const i=a.name.split(":"),n=i[0],s=i[1],o=this.identifierTypeTitle(n);let l="";o&&o!=="None"&&(l+=o+":"),l+=s,e.push({...a,name:l})}return e},multiGroup(){var e;return(e=this.md)!=null&&e.ids?this.md.ids.length>1:!1}},watch:{dialog(e){e?this.dialogOpened():this.clearMetadata()}},methods:{...be(Ee,["clearMetadata","loadMetadata"]),...be(Z,["identifierTypeTitle"]),dialogOpened(){const e=this.book.ids?this.book.ids:[this.book.pk],t={group:this.group,pks:e};this.loadMetadata(t),this.startProgress()},startProgress(){this.startTime=Date.now(),this.estimatedMS=Math.max(Ma,this.children/Ia)*1e3,this.updateProgress()},updateProgress(){const e=Date.now()-this.startTime;this.progress=e/this.estimatedMS*100,!(this.progress>=100||this.md)&&setTimeout(()=>{this.updateProgress()},Ra)},formatDateTime(e){return ct(e,this.twentyFourHourTime)},firstNameFromList(e){let t="";if(e){for(const a of Object.values(e))if(a.name){t=a.name;break}}return t}}},Pa={id:"metadataHeader"},Fa={id:"metadataBookCoverWrapper"},Da={class:"inlineRow"},Ea={class:"inlineRow"},Oa={class:"inlineRow"},Ga={key:1,class:"inlineRow"},Aa={id:"metadataBody"},ja={class:"mdSection"},za={class:"quintRow"},xa={class:"mdSection"},Ua={class:"quarterRow"},$a={class:"lastSmallRow"},qa={class:"halfRow mdSection"},Ha={class:"mdSection"},Ya={class:"mdSection"},Ka={class:"mdSection"},Za={class:"mdSection"},Wa={class:"mdSection"},Xa={class:"mdSection inlineRow"},Ja={class:"inlineRow"},Qa={id:"footerLinks"},es={key:1,id:"placeholderContainer"};function ts(e,t,a,i,n,s){const o=G("CloseButton"),l=G("MetadataText"),v=G("BookCover"),c=G("MetadataTags"),B=G("MetadataContributorsTable"),w=G("DownloadButton"),N=G("PlaceholderLoading");return d(),y(Lt,{modelValue:n.dialog,"onUpdate:modelValue":t[3]||(t[3]=m=>n.dialog=m),fullscreen:"",transition:"dialog-bottom-transition"},{activator:V(({props:m})=>[r(de,K({"aria-label":"tags",class:"tagButton cardControlButton",variant:s.buttonVariant,icon:n.mdiTagOutline,title:"Tags"},m,{onClick:t[0]||(t[0]=mt(()=>{},["prevent"]))}),null,16,["variant","icon"])]),default:V(()=>[r(o,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[1]||(t[1]=m=>n.dialog=!1)}),s.showContainer?(d(),b("div",{key:0,id:"metadataContainer",onKeyup:t[2]||(t[2]=vt(m=>n.dialog=!1,["esc"]))},[h("header",Pa,[e.q?(d(),y(l,{key:0,id:"search",value:e.q,label:"Search Query",highlight:!0},null,8,["value"])):R("",!0),h("div",Fa,[r(v,{id:"bookCover",group:a.group,pks:e.md.ids,"child-count":e.md.childCount,finished:e.md.finished,mtime:e.md.mtime},null,8,["group","pks","child-count","finished","mtime"]),r(St,{class:"bookCoverProgress","model-value":e.md.progress,rounded:"","background-color":"inherit",height:"2","aria-label":"% read"},null,8,["model-value"])]),h("div",Da,[(d(!0),b(Q,null,U(e.md.publisherList,m=>(d(),y(l,{id:"publisher",key:m.ids,value:m,group:"p",label:"Publisher",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),(d(!0),b(Q,null,U(e.md.imprintList,m=>(d(),y(l,{id:"imprint",key:m.ids,value:m,group:"i",label:"Imprint",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),h("div",Ea,[(d(!0),b(Q,null,U(e.md.seriesList,m=>(d(),y(l,{id:"series",key:m.ids,value:m,label:"Series",group:"s",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),h("div",Oa,[(d(!0),b(Q,null,U(e.md.volumeList,m=>(d(),y(l,{id:"volume",key:m.ids,value:m,label:"Volume",group:"v",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),r(l,{value:e.md.seriesVolumeCount,label:"Volume Count"},null,8,["value"]),r(l,{id:"issue",value:s.formattedIssue,label:"Issue",group:"c",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),r(l,{value:e.md.volumeIssueCount,label:"Issue Count"},null,8,["value"]),r(l,{value:e.md.name,label:"Title"},null,8,["value"])]),e.md.year||e.md.month||e.md.day?(d(),b("div",Ga,[r(l,{value:e.md.year,label:"Year",class:"datePicker",type:"number"},null,8,["value"]),r(l,{value:e.md.month,label:"Month",class:"datePicker"},null,8,["value"]),r(l,{value:e.md.day,label:"Day",class:"datePicker"},null,8,["value"])])):R("",!0)]),h("div",Aa,[h("section",ja,[h("div",za,[r(l,{value:s.pages,label:"Pages"},null,8,["value"]),r(l,{label:"Finished",value:(!!e.md.finished).toString()},null,8,["value"]),r(l,{label:"Reading Direction",value:s.readingDirectionText},null,8,["value"]),r(l,{value:(!!e.md.monochrome).toString(),label:"Monochrome"},null,8,["value"]),r(l,{value:e.md.original_format,label:"Original Format"},null,8,["value"])])]),h("section",xa,[h("div",Ua,[e.md.createdAt?(d(),y(l,{key:0,value:s.formatDateTime(e.md.createdAt),label:"Created at",class:"mtime"},null,8,["value"])):R("",!0),e.md.updatedAt?(d(),y(l,{key:1,value:s.formatDateTime(e.md.updatedAt),label:"Updated at",class:"mtime"},null,8,["value"])):R("",!0),r(l,{value:s.size,label:"Size"},null,8,["value"]),r(l,{value:s.fileType,label:"File Type"},null,8,["value"])]),h("div",$a,[r(l,{group:"f",value:{pk:e.md.parentFolderId,name:e.md.path},label:"Path"},null,8,["value"])])]),h("section",qa,[r(l,{value:e.md.country,label:"Country"},null,8,["value"]),r(l,{value:e.md.language,label:"Language"},null,8,["value"])]),h("section",Ha,[r(c,{values:s.titledIdentifiers,label:"Identifiers"},null,8,["values"])]),h("section",Ya,[r(l,{value:e.md.summary,label:"Summary"},null,8,["value"]),r(l,{value:e.md.review,label:"Review"},null,8,["value"])]),h("section",Ka,[r(l,{value:e.md.communityRating,label:"Community Rating"},null,8,["value"]),r(l,{value:e.md.criticalRating,label:"Critical Rating"},null,8,["value"]),r(l,{value:e.md.ageRating,label:"Age Rating"},null,8,["value"])]),h("section",Za,[r(c,{values:e.md.genres,label:"Genres",filter:"genres"},null,8,["values"]),r(c,{values:e.md.characters,label:"Characters",filter:"characters"},null,8,["values"]),r(c,{values:e.md.teams,label:"Teams",filter:"teams"},null,8,["values"]),r(c,{values:e.md.locations,label:"Locations",filter:"locations"},null,8,["values"]),r(c,{values:e.md.seriesGroups,label:"Series Groups",filter:"seriesGroups"},null,8,["values"]),r(c,{values:e.md.stories,label:"Stories",filter:"stories"},null,8,["values"]),r(c,{values:e.md.storyArcNumbers,label:"Story Arcs",filter:"storyArcs"},null,8,["values"]),r(c,{values:e.md.tags,label:"Tags",filter:"tags"},null,8,["values"])]),h("section",Wa,[r(B,{value:e.md.contributors},null,8,["value"])]),h("section",Xa,[r(l,{value:e.md.notes,label:"Notes"},null,8,["value"])]),h("section",Ja,[r(l,{value:e.md.tagger,label:"Tagger"},null,8,["value"]),r(l,{value:e.md.scanInfo,label:"Scan"},null,8,["value"])])]),h("footer",Qa,[r(w,{id:"downloadButton",button:!0,group:s.downloadGroup,pks:s.downloadPks,children:a.children,names:s.downloadNames,ts:e.md.mtime},null,8,["group","pks","children","names","ts"]),s.isReadButtonShown?(d(),y(de,{key:0,to:s.readerRoute,title:"Read Comic",disabled:!s.isReadButtonEnabled},{default:V(()=>[r(ve,null,{default:V(()=>[$(I(s.readButtonIcon),1)]),_:1}),t[4]||(t[4]=$(" Read "))]),_:1},8,["to","disabled"])):R("",!0)])],32)):(d(),b("div",es,[t[5]||(t[5]=h("div",{id:"placeholderTitle"},"Tags Loading",-1)),r(N,{"model-value":n.progress,indeterminate:n.progress>=100,class:"placeholder"},null,8,["model-value","indeterminate"])]))]),_:1},8,["modelValue"])}const Ms=A(La,[["render",ts],["__scopeId","data-v-1bd26a0f"]]),as={name:"PaginationNavButton",props:{narrow:{type:Boolean,default:!0}},computed:{classes(){return{narrowButton:this.narrow}}}};function ss(e,t,a,i,n,s){return d(),y(de,{variant:"plain",density:"compact",class:ae(["paginationNavButton",s.classes]),size:"medium"},ke({_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1032,["class"])}const Rs=A(as,[["render",ss],["__scopeId","data-v-0450dab6"]]),Ce=Symbol.for("vuetify:v-slider");function ls(e,t,a){const i=a==="vertical",n=t.getBoundingClientRect(),s="touches"in e?e.touches[0]:e;return i?s.clientY-(n.top+n.height/2):s.clientX-(n.left+n.width/2)}function rs(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 is=le({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,...wt(),..._t({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),ns=e=>{const t=f(()=>parseFloat(e.min)),a=f(()=>parseFloat(e.max)),i=f(()=>+e.step>0?parseFloat(e.step):0),n=f(()=>Math.max(Ne(i.value),Ne(t.value)));function s(o){if(o=parseFloat(o),i.value<=0)return o;const l=Ae(o,t.value,a.value),v=t.value%i.value,c=Math.round((l-v)/i.value)*i.value+v;return parseFloat(Math.min(c,a.value).toFixed(n.value))}return{min:t,max:a,step:i,decimals:n,roundValue:s}},os=e=>{let{props:t,steps:a,onSliderStart:i,onSliderMove:n,onSliderEnd:s,getActiveThumb:o}=e;const{isRtl:l}=_e(),v=D(t,"reverse"),c=f(()=>t.direction==="vertical"),B=f(()=>c.value!==v.value),{min:w,max:N,step:m,decimals:q,roundValue:j}=a,W=f(()=>parseInt(t.thumbSize,10)),H=f(()=>parseInt(t.tickSize,10)),z=f(()=>parseInt(t.trackSize,10)),E=f(()=>(N.value-w.value)/m.value),X=D(t,"disabled"),O=f(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),g=f(()=>t.error||t.disabled?void 0:t.trackColor??t.color),L=f(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),_=Ie(!1),C=Ie(0),P=ge(),F=ge();function p(u){var Te;const S=t.direction==="vertical",Ue=S?"top":"left",$e=S?"height":"width",qe=S?"clientY":"clientX",{[Ue]:He,[$e]:Ye}=(Te=P.value)==null?void 0:Te.$el.getBoundingClientRect(),Ke=rs(u,qe);let fe=Math.min(Math.max((Ke-He-C.value)/Ye,0),1)||0;return(S?B.value:B.value!==l.value)&&(fe=1-fe),j(w.value+fe*(N.value-w.value))}const x=u=>{s({value:p(u)}),_.value=!1,C.value=0},Y=u=>{F.value=o(u),F.value&&(F.value.focus(),_.value=!0,F.value.contains(u.target)?C.value=ls(u,F.value,t.direction):(C.value=0,n({value:p(u)})),i({value:p(u)}))},M={passive:!0,capture:!0};function ee(u){n({value:p(u)})}function re(u){u.stopPropagation(),u.preventDefault(),x(u),window.removeEventListener("mousemove",ee,M),window.removeEventListener("mouseup",re)}function ie(u){var S;x(u),window.removeEventListener("touchmove",ee,M),(S=u.target)==null||S.removeEventListener("touchend",ie)}function he(u){var S;Y(u),window.addEventListener("touchmove",ee,M),(S=u.target)==null||S.addEventListener("touchend",ie,{passive:!1})}function T(u){u.preventDefault(),Y(u),window.addEventListener("mousemove",ee,M),window.addEventListener("mouseup",re,{passive:!1})}const k=u=>{const S=(u-w.value)/(N.value-w.value)*100;return Ae(isNaN(S)?0:S,0,100)},te=D(t,"showTicks"),se=f(()=>te.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(u=>({value:u,position:k(u),label:u.toString()})):Object.keys(t.ticks).map(u=>({value:parseFloat(u),position:k(parseFloat(u)),label:t.ticks[u]})):E.value!==1/0?ht(E.value+1).map(u=>{const S=w.value+u*m.value;return{value:S,position:k(S)}}):[]:[]),ne=f(()=>se.value.some(u=>{let{label:S}=u;return!!S})),oe={activeThumbRef:F,color:D(t,"color"),decimals:q,disabled:X,direction:D(t,"direction"),elevation:D(t,"elevation"),hasLabels:ne,isReversed:v,indexFromEnd:B,min:w,max:N,mousePressed:_,numTicks:E,onSliderMousedown:T,onSliderTouchstart:he,parsedTicks:se,parseMouseMove:p,position:k,readonly:D(t,"readonly"),rounded:D(t,"rounded"),roundValue:j,showTicks:te,startOffset:C,step:m,thumbSize:W,thumbColor:O,thumbLabel:D(t,"thumbLabel"),ticks:D(t,"ticks"),tickSize:H,trackColor:g,trackContainerRef:P,trackFillColor:L,trackSize:z,vertical:c};return ft(Ce,oe),oe},us=le({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},name:String,...ye()},"VSliderThumb"),ds=ce()({name:"VSliderThumb",directives:{Ripple:Ct},props:us(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=je(Ce),{isRtl:s,rtlClasses:o}=_e();if(!n)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:l,step:v,disabled:c,thumbSize:B,thumbLabel:w,direction:N,isReversed:m,vertical:q,readonly:j,elevation:W,mousePressed:H,decimals:z,indexFromEnd:E}=n,X=f(()=>c.value?void 0:W.value),{elevationClasses:O}=Tt(X),{textColorClasses:g,textColorStyles:L}=Vt(l),{pageup:_,pagedown:C,end:P,home:F,left:p,right:x,down:Y,up:M}=gt,ee=[_,C,P,F,p,x,Y,M],re=f(()=>v.value?[1,2,3]:[1,5,10]);function ie(T,k){if(!ee.includes(T.key))return;T.preventDefault();const te=v.value||.1,se=(e.max-e.min)/te;if([p,x,Y,M].includes(T.key)){const oe=(q.value?[s.value?p:x,m.value?Y:M]:E.value!==s.value?[p,M]:[x,M]).includes(T.key)?1:-1,u=T.shiftKey?2:T.ctrlKey?1:0;k=k+oe*te*re.value[u]}else if(T.key===F)k=e.min;else if(T.key===P)k=e.max;else{const ne=T.key===C?1:-1;k=k-ne*te*(se>100?se/10:10)}return Math.max(e.min,Math.min(e.max,k))}function he(T){const k=ie(T,e.modelValue);k!=null&&i("update:modelValue",k)}return me(()=>{const T=J(E.value?100-e.position:e.position,"%");return r("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&H.value},e.class,o.value],style:[{"--v-slider-thumb-position":T,"--v-slider-thumb-size":J(B.value)},e.style],role:"slider",tabindex:c.value?-1:0,"aria-label":e.name,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.modelValue,"aria-readonly":!!j.value,"aria-orientation":N.value,onKeydown:j.value?void 0:he},[r("div",{class:["v-slider-thumb__surface",g.value,O.value],style:{...L.value}},null),Me(r("div",{class:["v-slider-thumb__ripple",g.value],style:L.value},null),[[pt("ripple"),e.ripple,null,{circle:!0,center:!0}]]),r(jt,{origin:"bottom center"},{default:()=>{var k;return[Me(r("div",{class:"v-slider-thumb__label-container"},[r("div",{class:["v-slider-thumb__label"]},[r("div",null,[((k=a["thumb-label"])==null?void 0:k.call(a,{modelValue:e.modelValue}))??e.modelValue.toFixed(v.value?z.value:1)])])]),[[bt,w.value&&e.focused||w.value==="always"]])]}})])}),{}}}),cs=le({start:{type:Number,required:!0},stop:{type:Number,required:!0},...ye()},"VSliderTrack"),ms=ce()({name:"VSliderTrack",props:cs(),emits:{},setup(e,t){let{slots:a}=t;const i=je(Ce);if(!i)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:n,parsedTicks:s,rounded:o,showTicks:l,tickSize:v,trackColor:c,trackFillColor:B,trackSize:w,vertical:N,min:m,max:q,indexFromEnd:j}=i,{roundedClasses:W}=Bt(o),{backgroundColorClasses:H,backgroundColorStyles:z}=Re(B),{backgroundColorClasses:E,backgroundColorStyles:X}=Re(c),O=f(()=>`inset-${N.value?"block":"inline"}-${j.value?"end":"start"}`),g=f(()=>N.value?"height":"width"),L=f(()=>({[O.value]:"0%",[g.value]:"100%"})),_=f(()=>e.stop-e.start),C=f(()=>({[O.value]:J(e.start,"%"),[g.value]:J(_.value,"%")})),P=f(()=>l.value?(N.value?s.value.slice().reverse():s.value).map((p,x)=>{var M;const Y=p.value!==m.value&&p.value!==q.value?J(p.position,"%"):void 0;return r("div",{key:p.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":p.position>=e.start&&p.position<=e.stop,"v-slider-track__tick--first":p.value===m.value,"v-slider-track__tick--last":p.value===q.value}],style:{[O.value]:Y}},[(p.label||a["tick-label"])&&r("div",{class:"v-slider-track__tick-label"},[((M=a["tick-label"])==null?void 0:M.call(a,{tick:p,index:x}))??p.label])])}):[]);return me(()=>r("div",{class:["v-slider-track",W.value,e.class],style:[{"--v-slider-track-size":J(w.value),"--v-slider-tick-size":J(v.value)},e.style]},[r("div",{class:["v-slider-track__background",E.value,{"v-slider-track__background--opacity":!!n.value||!B.value}],style:{...L.value,...X.value}},null),r("div",{class:["v-slider-track__fill",H.value],style:{...C.value,...z.value}},null),l.value&&r("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":l.value==="always"}]},[P.value])])),{}}}),vs=le({...zt(),...is(),...xt(),modelValue:{type:[Number,String],default:0}},"VSlider"),hs=ce()({name:"VSlider",props:vs(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=ge(),{rtlClasses:s}=_e(),o=ns(e),l=yt(e,"modelValue",void 0,g=>o.roundValue(g??o.min.value)),{min:v,max:c,mousePressed:B,roundValue:w,onSliderMousedown:N,onSliderTouchstart:m,trackContainerRef:q,position:j,hasLabels:W,readonly:H}=os({props:e,steps:o,onSliderStart:()=>{i("start",l.value)},onSliderEnd:g=>{let{value:L}=g;const _=w(L);l.value=_,i("end",_)},onSliderMove:g=>{let{value:L}=g;return l.value=w(L)},getActiveThumb:()=>{var g;return(g=n.value)==null?void 0:g.$el}}),{isFocused:z,focus:E,blur:X}=Ut(e),O=f(()=>j(l.value));return me(()=>{const g=Le.filterProps(e),L=!!(e.label||a.label||a.prepend);return r(Le,K({class:["v-slider",{"v-slider--has-labels":!!a["tick-label"]||W.value,"v-slider--focused":z.value,"v-slider--pressed":B.value,"v-slider--disabled":e.disabled},s.value,e.class],style:e.style},g,{focused:z.value}),{...a,prepend:L?_=>{var C,P;return r(Q,null,[((C=a.label)==null?void 0:C.call(a,_))??(e.label?r($t,{id:_.id.value,class:"v-slider__label",text:e.label},null):void 0),(P=a.prepend)==null?void 0:P.call(a,_)])}:void 0,default:_=>{let{id:C,messagesId:P}=_;return r("div",{class:"v-slider__container",onMousedown:H.value?void 0:N,onTouchstartPassive:H.value?void 0:m},[r("input",{id:C.value,name:e.name||C.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:l.value},null),r(ms,{ref:q,start:0,stop:O.value},{"tick-label":a["tick-label"]}),r(ds,{ref:n,"aria-describedby":P.value,focused:z.value,min:v.value,max:c.value,modelValue:l.value,"onUpdate:modelValue":F=>l.value=F,position:O.value,elevation:e.elevation,onFocus:E,onBlur:X,ripple:e.ripple,name:e.name},{"thumb-label":a["thumb-label"]})])}})}),{}}}),fs={name:"PaginationSlider",props:{min:{type:Number,default:0}}};function ps(e,t,a,i,n,s){return d(),y(hs,K({"thumb-size":"36",class:"paginationSlider",density:"compact","hide-details":"auto",min:a.min,rounded:!0,"show-ticks":"always",step:1,"thumb-label":"always"},e.$attrs),{"tick-label":V(({index:o})=>[$(I(o+a.min),1)]),_:1},16,["min"])}const Ls=A(fs,[["render",ps],["__scopeId","data-v-01b67afd"]]),bs={name:"PaginationToolbar"};function gs(e,t,a,i,n,s){return d(),y(At,{class:"paginationToolbar codexToolbar",density:"compact",transform:"center bottom"},ke({_:2},[U(e.$slots,(o,l)=>({name:l,fn:V(v=>[Se(e.$slots,l,K({props:o},v),void 0,!0)])}))]),1024)}const Ps=A(bs,[["render",gs],["__scopeId","data-v-cfa8cce0"]]);export{aa as B,ia as D,Ms as M,Pe as N,Rs as P,Ns as T,Bs as V,Is as a,Ls as b,Ps as c,Na as g,ca as p,Zt as t};