codex 1.5.7rc1__py3-none-any.whl → 1.5.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of codex might be problematic. Click here for more details.
- codex/librarian/importer/aggregate_metadata.py +12 -7
- codex/librarian/importer/importerd.py +36 -3
- codex/librarian/importer/tasks.py +8 -0
- codex/models/comic.py +9 -0
- codex/search/backend.py +21 -18
- codex/search/indexes.py +9 -4
- codex/serializers/browser/page.py +1 -0
- codex/static_root/assets/{VCheckbox-DXUwafcN.5d4577e0b16d.js → VCheckbox-CAnsONJ8.1d8ba3df8d9f.js} +1 -1
- codex/static_root/assets/VCheckbox-CAnsONJ8.1d8ba3df8d9f.js.br +0 -0
- codex/static_root/assets/VCheckbox-CAnsONJ8.1d8ba3df8d9f.js.gz +0 -0
- codex/static_root/assets/{VCheckbox-DXUwafcN.js → VCheckbox-CAnsONJ8.js} +1 -1
- codex/static_root/assets/VCheckbox-CAnsONJ8.js.br +0 -0
- codex/static_root/assets/VCheckbox-CAnsONJ8.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-DtrZ6IUL.4f8f7be34af8.js → VCheckboxBtn-DQTVBkac.93f2be0971d2.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-DQTVBkac.93f2be0971d2.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-DQTVBkac.93f2be0971d2.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-DtrZ6IUL.js → VCheckboxBtn-DQTVBkac.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-DQTVBkac.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-DQTVBkac.js.gz +0 -0
- codex/static_root/assets/{VCombobox-p6JaNJiS.08de72bf3f1d.js → VCombobox-xgzcfu8j.85e27125105c.js} +1 -1
- codex/static_root/assets/VCombobox-xgzcfu8j.85e27125105c.js.br +0 -0
- codex/static_root/assets/VCombobox-xgzcfu8j.85e27125105c.js.gz +0 -0
- codex/static_root/assets/{VCombobox-p6JaNJiS.js → VCombobox-xgzcfu8j.js} +1 -1
- codex/static_root/assets/VCombobox-xgzcfu8j.js.br +0 -0
- codex/static_root/assets/VCombobox-xgzcfu8j.js.gz +0 -0
- codex/static_root/assets/{VDataTableVirtual-Bak8sUxr.0f131a181de8.js → VDataTableVirtual-ohR-xfIW.54047fbf2e77.js} +1 -1
- codex/static_root/assets/VDataTableVirtual-ohR-xfIW.54047fbf2e77.js.br +0 -0
- codex/static_root/assets/VDataTableVirtual-ohR-xfIW.54047fbf2e77.js.gz +0 -0
- codex/static_root/assets/{VDataTableVirtual-Bak8sUxr.js → VDataTableVirtual-ohR-xfIW.js} +1 -1
- codex/static_root/assets/VDataTableVirtual-ohR-xfIW.js.br +0 -0
- codex/static_root/assets/VDataTableVirtual-ohR-xfIW.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanel-BrGvn58l.4330794fe673.js → VExpansionPanel-D77IHp4B.fe0052639210.js} +1 -1
- codex/static_root/assets/VExpansionPanel-D77IHp4B.fe0052639210.js.br +0 -0
- codex/static_root/assets/VExpansionPanel-D77IHp4B.fe0052639210.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanel-BrGvn58l.js → VExpansionPanel-D77IHp4B.js} +1 -1
- codex/static_root/assets/VExpansionPanel-D77IHp4B.js.br +0 -0
- codex/static_root/assets/VExpansionPanel-D77IHp4B.js.gz +0 -0
- codex/static_root/assets/{VMain-CuWbokFS.25c97b3ec973.js → VMain-BcP4P6kJ.26ba71b71a30.js} +1 -1
- codex/static_root/assets/VMain-BcP4P6kJ.26ba71b71a30.js.br +0 -0
- codex/static_root/assets/VMain-BcP4P6kJ.26ba71b71a30.js.gz +0 -0
- codex/static_root/assets/{VMain-CuWbokFS.js → VMain-BcP4P6kJ.js} +1 -1
- codex/static_root/assets/VMain-BcP4P6kJ.js.br +0 -0
- codex/static_root/assets/VMain-BcP4P6kJ.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-DYMjLsVk.c4d81d70bec4.js → VRadioGroup-DQQmB99C.8e62ca305d42.js} +1 -1
- codex/static_root/assets/VRadioGroup-DQQmB99C.8e62ca305d42.js.br +5 -0
- codex/static_root/assets/VRadioGroup-DQQmB99C.8e62ca305d42.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-DYMjLsVk.js → VRadioGroup-DQQmB99C.js} +1 -1
- codex/static_root/assets/VRadioGroup-DQQmB99C.js.br +5 -0
- codex/static_root/assets/VRadioGroup-DQQmB99C.js.gz +0 -0
- codex/static_root/assets/{VSelect-CgOC_YIA.js → VSelect-YSL0tIop.c23c0657cf17.js} +1 -1
- codex/static_root/assets/VSelect-YSL0tIop.c23c0657cf17.js.br +0 -0
- codex/static_root/assets/VSelect-YSL0tIop.c23c0657cf17.js.gz +0 -0
- codex/static_root/assets/{VSelect-CgOC_YIA.3d63f40c8ea4.js → VSelect-YSL0tIop.js} +1 -1
- codex/static_root/assets/VSelect-YSL0tIop.js.br +0 -0
- codex/static_root/assets/VSelect-YSL0tIop.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-CD7bn0s_.0aa74aad8b61.js → VSelectionControl-D0ha1VYk.60bd3aeb20e1.js} +1 -1
- codex/static_root/assets/VSelectionControl-D0ha1VYk.60bd3aeb20e1.js.br +0 -0
- codex/static_root/assets/VSelectionControl-D0ha1VYk.60bd3aeb20e1.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-CD7bn0s_.js → VSelectionControl-D0ha1VYk.js} +1 -1
- codex/static_root/assets/VSelectionControl-D0ha1VYk.js.br +0 -0
- codex/static_root/assets/VSelectionControl-D0ha1VYk.js.gz +0 -0
- codex/static_root/assets/{VSlideGroup-Bssf4EBT.fc0918385f7e.js → VSlideGroup-BW6pFVGY.13cecf1a7794.js} +1 -1
- codex/static_root/assets/VSlideGroup-BW6pFVGY.13cecf1a7794.js.br +0 -0
- codex/static_root/assets/VSlideGroup-BW6pFVGY.13cecf1a7794.js.gz +0 -0
- codex/static_root/assets/{VSlideGroup-Bssf4EBT.js → VSlideGroup-BW6pFVGY.js} +1 -1
- codex/static_root/assets/VSlideGroup-BW6pFVGY.js.br +0 -0
- codex/static_root/assets/VSlideGroup-BW6pFVGY.js.gz +0 -0
- codex/static_root/assets/{VTable-DqraBe83.1f53f4e0e79f.js → VTable-CXI0Xaio.06b95b33adaf.js} +1 -1
- codex/static_root/assets/VTable-CXI0Xaio.06b95b33adaf.js.br +0 -0
- codex/static_root/assets/VTable-CXI0Xaio.06b95b33adaf.js.gz +0 -0
- codex/static_root/assets/{VTable-DqraBe83.js → VTable-CXI0Xaio.js} +1 -1
- codex/static_root/assets/VTable-CXI0Xaio.js.br +0 -0
- codex/static_root/assets/VTable-CXI0Xaio.js.gz +0 -0
- codex/static_root/assets/{VToolbar-kI3X77C7.js → VToolbar-CnoJq5Ck.5b3dcfbf1c77.js} +2 -2
- codex/static_root/assets/VToolbar-CnoJq5Ck.5b3dcfbf1c77.js.br +0 -0
- codex/static_root/assets/VToolbar-CnoJq5Ck.5b3dcfbf1c77.js.gz +0 -0
- codex/static_root/assets/{VToolbar-kI3X77C7.54fc7a9541e0.js → VToolbar-CnoJq5Ck.js} +2 -2
- codex/static_root/assets/VToolbar-CnoJq5Ck.js.br +0 -0
- codex/static_root/assets/VToolbar-CnoJq5Ck.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-DiY3uz1L.569d029cc939.js → VWindowItem-Cq-qPd5h.291287bcb566.js} +1 -1
- codex/static_root/assets/VWindowItem-Cq-qPd5h.291287bcb566.js.br +0 -0
- codex/static_root/assets/VWindowItem-Cq-qPd5h.291287bcb566.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-DiY3uz1L.js → VWindowItem-Cq-qPd5h.js} +1 -1
- codex/static_root/assets/VWindowItem-Cq-qPd5h.js.br +0 -0
- codex/static_root/assets/VWindowItem-Cq-qPd5h.js.gz +0 -0
- codex/static_root/assets/{admin-BW3Yp8Zu.bdbca238dcd4.js → admin-3sFieyVL.7a879e617e60.js} +1 -1
- codex/static_root/assets/admin-3sFieyVL.7a879e617e60.js.br +0 -0
- codex/static_root/assets/admin-3sFieyVL.7a879e617e60.js.gz +0 -0
- codex/static_root/assets/{admin-BW3Yp8Zu.js → admin-3sFieyVL.js} +1 -1
- codex/static_root/assets/admin-3sFieyVL.js.br +0 -0
- codex/static_root/assets/admin-3sFieyVL.js.gz +0 -0
- codex/static_root/assets/{admin-drawer-panel-CJ7EZ2DP.b6a369b30b07.js → admin-drawer-panel-C5XtSLXl.f1df22cd1144.js} +2 -2
- codex/static_root/assets/admin-drawer-panel-C5XtSLXl.f1df22cd1144.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-C5XtSLXl.f1df22cd1144.js.gz +0 -0
- codex/static_root/assets/{admin-drawer-panel-CJ7EZ2DP.js → admin-drawer-panel-C5XtSLXl.js} +2 -2
- codex/static_root/assets/admin-drawer-panel-C5XtSLXl.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-C5XtSLXl.js.gz +0 -0
- codex/static_root/assets/{browser-C8SJwVGz.0f7daf93b064.css → browser-2i0QA4La.587673ac534c.css} +1 -1
- codex/static_root/assets/browser-2i0QA4La.587673ac534c.css.br +0 -0
- codex/static_root/assets/browser-2i0QA4La.587673ac534c.css.gz +0 -0
- codex/static_root/assets/{browser-C8SJwVGz.css → browser-2i0QA4La.css} +1 -1
- codex/static_root/assets/browser-2i0QA4La.css.br +0 -0
- codex/static_root/assets/browser-2i0QA4La.css.gz +0 -0
- codex/static_root/assets/browser-I1ZoWm1m.76347934dab3.js +1 -0
- codex/static_root/assets/browser-I1ZoWm1m.76347934dab3.js.br +0 -0
- codex/static_root/assets/browser-I1ZoWm1m.76347934dab3.js.gz +0 -0
- codex/static_root/assets/browser-I1ZoWm1m.js +1 -0
- codex/static_root/assets/browser-I1ZoWm1m.js.br +0 -0
- codex/static_root/assets/browser-I1ZoWm1m.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DvdVuJbx.ea31df1541a2.js → change-password-dialog-BkX8NP9F.6eec04396e20.js} +1 -1
- codex/static_root/assets/change-password-dialog-BkX8NP9F.6eec04396e20.js.br +0 -0
- codex/static_root/assets/change-password-dialog-BkX8NP9F.6eec04396e20.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DvdVuJbx.js → change-password-dialog-BkX8NP9F.js} +1 -1
- codex/static_root/assets/change-password-dialog-BkX8NP9F.js.br +0 -0
- codex/static_root/assets/change-password-dialog-BkX8NP9F.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-oqU_wtjV.38d99c746057.js → confirm-dialog-CKiPNGTr.b80ae71d7170.js} +1 -1
- codex/static_root/assets/confirm-dialog-CKiPNGTr.b80ae71d7170.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CKiPNGTr.b80ae71d7170.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-oqU_wtjV.js → confirm-dialog-CKiPNGTr.js} +1 -1
- codex/static_root/assets/confirm-dialog-CKiPNGTr.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CKiPNGTr.js.gz +0 -0
- codex/static_root/assets/{confirm-footer-R7VhDN1M.js → confirm-footer-CP02GqhM.8ba00213022b.js} +1 -1
- codex/static_root/assets/confirm-footer-CP02GqhM.8ba00213022b.js.br +0 -0
- codex/static_root/assets/confirm-footer-CP02GqhM.8ba00213022b.js.gz +0 -0
- codex/static_root/assets/{confirm-footer-R7VhDN1M.67adfe281d35.js → confirm-footer-CP02GqhM.js} +1 -1
- codex/static_root/assets/confirm-footer-CP02GqhM.js.br +0 -0
- codex/static_root/assets/confirm-footer-CP02GqhM.js.gz +0 -0
- codex/static_root/assets/{datetime-column-CN_zeeDb.1cf9fd3f22d2.js → datetime-column-BnilMk5Y.96201e187340.js} +1 -1
- codex/static_root/assets/datetime-column-BnilMk5Y.96201e187340.js.br +0 -0
- codex/static_root/assets/datetime-column-BnilMk5Y.96201e187340.js.gz +0 -0
- codex/static_root/assets/{datetime-column-CN_zeeDb.js → datetime-column-BnilMk5Y.js} +1 -1
- codex/static_root/assets/datetime-column-BnilMk5Y.js.br +0 -0
- codex/static_root/assets/datetime-column-BnilMk5Y.js.gz +0 -0
- codex/static_root/assets/{filter-DhorJRK4.f9bf91b3928c.js → filter-Dp8VoLoJ.7dcf871c2c5d.js} +1 -1
- codex/static_root/assets/filter-Dp8VoLoJ.7dcf871c2c5d.js.br +0 -0
- codex/static_root/assets/filter-Dp8VoLoJ.7dcf871c2c5d.js.gz +0 -0
- codex/static_root/assets/{filter-DhorJRK4.js → filter-Dp8VoLoJ.js} +1 -1
- codex/static_root/assets/filter-Dp8VoLoJ.js.br +0 -0
- codex/static_root/assets/filter-Dp8VoLoJ.js.gz +0 -0
- codex/static_root/assets/flag-tab-BpATs2Vh.2ba1294488a2.js +1 -0
- codex/static_root/assets/flag-tab-BpATs2Vh.2ba1294488a2.js.br +0 -0
- codex/static_root/assets/flag-tab-BpATs2Vh.2ba1294488a2.js.gz +0 -0
- codex/static_root/assets/flag-tab-BpATs2Vh.js +1 -0
- codex/static_root/assets/flag-tab-BpATs2Vh.js.br +0 -0
- codex/static_root/assets/flag-tab-BpATs2Vh.js.gz +0 -0
- codex/static_root/assets/flag-tab-DUXtbpA2.8d52c0d4f9e2.css +1 -0
- codex/static_root/assets/flag-tab-DUXtbpA2.8d52c0d4f9e2.css.br +1 -0
- codex/static_root/assets/flag-tab-DUXtbpA2.8d52c0d4f9e2.css.gz +0 -0
- codex/static_root/assets/flag-tab-DUXtbpA2.css +1 -0
- codex/static_root/assets/flag-tab-DUXtbpA2.css.br +1 -0
- codex/static_root/assets/flag-tab-DUXtbpA2.css.gz +0 -0
- codex/static_root/assets/{group-tab-_H9JlSpl.6c9b686b8f94.js → group-tab-BMv-gfGN.08bf0e591bdd.js} +1 -1
- codex/static_root/assets/group-tab-BMv-gfGN.08bf0e591bdd.js.br +0 -0
- codex/static_root/assets/group-tab-BMv-gfGN.08bf0e591bdd.js.gz +0 -0
- codex/static_root/assets/{group-tab-_H9JlSpl.js → group-tab-BMv-gfGN.js} +1 -1
- codex/static_root/assets/group-tab-BMv-gfGN.js.br +0 -0
- codex/static_root/assets/group-tab-BMv-gfGN.js.gz +0 -0
- codex/static_root/assets/{http-error-CV1CbTnY.fed9281e2348.js → http-error-Cb6Mqj4J.064dffeb574f.js} +1 -1
- codex/static_root/assets/http-error-Cb6Mqj4J.064dffeb574f.js.br +0 -0
- codex/static_root/assets/http-error-Cb6Mqj4J.064dffeb574f.js.gz +0 -0
- codex/static_root/assets/{http-error-CV1CbTnY.js → http-error-Cb6Mqj4J.js} +1 -1
- codex/static_root/assets/http-error-Cb6Mqj4J.js.br +0 -0
- codex/static_root/assets/http-error-Cb6Mqj4J.js.gz +0 -0
- codex/static_root/assets/{library-tab-D6k-bjIz.cbd8944c48f1.js → library-tab-CqPR7agm.db811498ed9a.js} +1 -1
- codex/static_root/assets/library-tab-CqPR7agm.db811498ed9a.js.br +0 -0
- codex/static_root/assets/library-tab-CqPR7agm.db811498ed9a.js.gz +0 -0
- codex/static_root/assets/{library-tab-D6k-bjIz.js → library-tab-CqPR7agm.js} +1 -1
- codex/static_root/assets/library-tab-CqPR7agm.js.br +0 -0
- codex/static_root/assets/library-tab-CqPR7agm.js.gz +0 -0
- codex/static_root/assets/{main-C8c_Yy_E.js → main-D1r3hZ0f.d05c749b9988.js} +4 -4
- codex/static_root/assets/main-D1r3hZ0f.d05c749b9988.js.br +0 -0
- codex/static_root/assets/main-D1r3hZ0f.d05c749b9988.js.gz +0 -0
- codex/static_root/assets/{main-C8c_Yy_E.16ff3f5c3880.js → main-D1r3hZ0f.js} +4 -4
- codex/static_root/assets/main-D1r3hZ0f.js.br +0 -0
- codex/static_root/assets/main-D1r3hZ0f.js.gz +0 -0
- codex/static_root/assets/metadata-dialog-B8UtDnAu.f3947fec119f.js +1 -0
- codex/static_root/assets/metadata-dialog-B8UtDnAu.f3947fec119f.js.br +0 -0
- codex/static_root/assets/metadata-dialog-B8UtDnAu.f3947fec119f.js.gz +0 -0
- codex/static_root/assets/metadata-dialog-B8UtDnAu.js +1 -0
- codex/static_root/assets/metadata-dialog-B8UtDnAu.js.br +0 -0
- codex/static_root/assets/metadata-dialog-B8UtDnAu.js.gz +0 -0
- codex/static_root/assets/{metadata-dialog-uikP6x2m.84a7b6c4b6b9.css → metadata-dialog-BGJasBRy.0553851658b5.css} +1 -1
- codex/static_root/assets/metadata-dialog-BGJasBRy.0553851658b5.css.br +0 -0
- codex/static_root/assets/metadata-dialog-BGJasBRy.0553851658b5.css.gz +0 -0
- codex/static_root/assets/{metadata-dialog-uikP6x2m.css → metadata-dialog-BGJasBRy.css} +1 -1
- codex/static_root/assets/metadata-dialog-BGJasBRy.css.br +0 -0
- codex/static_root/assets/metadata-dialog-BGJasBRy.css.gz +0 -0
- codex/static_root/assets/{pdf-doc-DOq4qvUr.89d991424d2f.js → pdf-doc-DWjSqsgP.12c6022d08b7.js} +1 -1
- codex/static_root/assets/pdf-doc-DWjSqsgP.12c6022d08b7.js.br +0 -0
- codex/static_root/assets/pdf-doc-DWjSqsgP.12c6022d08b7.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-DOq4qvUr.js → pdf-doc-DWjSqsgP.js} +1 -1
- codex/static_root/assets/pdf-doc-DWjSqsgP.js.br +0 -0
- codex/static_root/assets/pdf-doc-DWjSqsgP.js.gz +0 -0
- codex/static_root/assets/reader-DsBRqChH.ae8ffff757c7.js +7 -0
- codex/static_root/assets/reader-DsBRqChH.ae8ffff757c7.js.br +0 -0
- codex/static_root/assets/reader-DsBRqChH.ae8ffff757c7.js.gz +0 -0
- codex/static_root/assets/reader-DsBRqChH.js +7 -0
- codex/static_root/assets/reader-DsBRqChH.js.br +0 -0
- codex/static_root/assets/reader-DsBRqChH.js.gz +0 -0
- codex/static_root/assets/{stats-tab-VaVi9-_s.186447352c39.js → stats-tab-BFuWdQ3i.625b51e3ee5b.js} +1 -1
- codex/static_root/assets/stats-tab-BFuWdQ3i.625b51e3ee5b.js.br +0 -0
- codex/static_root/assets/stats-tab-BFuWdQ3i.625b51e3ee5b.js.gz +0 -0
- codex/static_root/assets/{stats-tab-VaVi9-_s.js → stats-tab-BFuWdQ3i.js} +1 -1
- codex/static_root/assets/stats-tab-BFuWdQ3i.js.br +0 -0
- codex/static_root/assets/stats-tab-BFuWdQ3i.js.gz +0 -0
- codex/static_root/assets/{task-tab-C0L1rPrr.249d29a1eb6b.js → task-tab-DrTBYMCB.ac4473d3a137.js} +1 -1
- codex/static_root/assets/task-tab-DrTBYMCB.ac4473d3a137.js.br +0 -0
- codex/static_root/assets/task-tab-DrTBYMCB.ac4473d3a137.js.gz +0 -0
- codex/static_root/assets/{task-tab-C0L1rPrr.js → task-tab-DrTBYMCB.js} +1 -1
- codex/static_root/assets/task-tab-DrTBYMCB.js.br +0 -0
- codex/static_root/assets/task-tab-DrTBYMCB.js.gz +0 -0
- codex/static_root/assets/{user-tab-Cj-rHVvF.cbb1700e110d.js → user-tab-CYzh_eX6.a2470464a951.js} +1 -1
- codex/static_root/assets/user-tab-CYzh_eX6.a2470464a951.js.br +0 -0
- codex/static_root/assets/user-tab-CYzh_eX6.a2470464a951.js.gz +0 -0
- codex/static_root/assets/{user-tab-Cj-rHVvF.js → user-tab-CYzh_eX6.js} +1 -1
- codex/static_root/assets/user-tab-CYzh_eX6.js.br +0 -0
- codex/static_root/assets/user-tab-CYzh_eX6.js.gz +0 -0
- codex/static_root/js/{choices-admin.3a2cdebdbfba.json → choices-admin.bb730e4f26ac.json} +1 -1
- codex/static_root/js/choices-admin.bb730e4f26ac.json.br +0 -0
- codex/static_root/js/{choices-admin.3a2cdebdbfba.json.gz → choices-admin.bb730e4f26ac.json.gz} +0 -0
- codex/static_root/js/choices-admin.json +1 -1
- codex/static_root/js/choices-admin.json.br +0 -0
- codex/static_root/js/choices-admin.json.gz +0 -0
- codex/static_root/{manifest.4609de9a4d51.json → manifest.07a0961655a3.json} +209 -209
- codex/static_root/manifest.07a0961655a3.json.br +0 -0
- codex/static_root/manifest.07a0961655a3.json.gz +0 -0
- codex/static_root/manifest.json +209 -209
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/templates/search/indexes/codex/comic_text.txt +1 -1
- codex/views/browser/base.py +4 -1
- codex/views/browser/browser.py +19 -14
- codex/views/browser/choices.py +2 -0
- codex/views/browser/filters/search.py +3 -1
- codex/views/browser/metadata.py +12 -6
- codex/views/reader/reader.py +53 -5
- {codex-1.5.7rc1.dist-info → codex-1.5.8.dist-info}/METADATA +1 -1
- {codex-1.5.7rc1.dist-info → codex-1.5.8.dist-info}/RECORD +242 -242
- codex/static_root/assets/VCheckbox-DXUwafcN.5d4577e0b16d.js.br +0 -0
- codex/static_root/assets/VCheckbox-DXUwafcN.5d4577e0b16d.js.gz +0 -0
- codex/static_root/assets/VCheckbox-DXUwafcN.js.br +0 -0
- codex/static_root/assets/VCheckbox-DXUwafcN.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-DtrZ6IUL.4f8f7be34af8.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-DtrZ6IUL.4f8f7be34af8.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-DtrZ6IUL.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-DtrZ6IUL.js.gz +0 -0
- codex/static_root/assets/VCombobox-p6JaNJiS.08de72bf3f1d.js.br +0 -0
- codex/static_root/assets/VCombobox-p6JaNJiS.08de72bf3f1d.js.gz +0 -0
- codex/static_root/assets/VCombobox-p6JaNJiS.js.br +0 -0
- codex/static_root/assets/VCombobox-p6JaNJiS.js.gz +0 -0
- codex/static_root/assets/VDataTableVirtual-Bak8sUxr.0f131a181de8.js.br +0 -0
- codex/static_root/assets/VDataTableVirtual-Bak8sUxr.0f131a181de8.js.gz +0 -0
- codex/static_root/assets/VDataTableVirtual-Bak8sUxr.js.br +0 -0
- codex/static_root/assets/VDataTableVirtual-Bak8sUxr.js.gz +0 -0
- codex/static_root/assets/VExpansionPanel-BrGvn58l.4330794fe673.js.br +0 -0
- codex/static_root/assets/VExpansionPanel-BrGvn58l.4330794fe673.js.gz +0 -0
- codex/static_root/assets/VExpansionPanel-BrGvn58l.js.br +0 -0
- codex/static_root/assets/VExpansionPanel-BrGvn58l.js.gz +0 -0
- codex/static_root/assets/VMain-CuWbokFS.25c97b3ec973.js.br +0 -0
- codex/static_root/assets/VMain-CuWbokFS.25c97b3ec973.js.gz +0 -0
- codex/static_root/assets/VMain-CuWbokFS.js.br +0 -0
- codex/static_root/assets/VMain-CuWbokFS.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DYMjLsVk.c4d81d70bec4.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DYMjLsVk.c4d81d70bec4.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DYMjLsVk.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DYMjLsVk.js.gz +0 -0
- codex/static_root/assets/VSelect-CgOC_YIA.3d63f40c8ea4.js.br +0 -0
- codex/static_root/assets/VSelect-CgOC_YIA.3d63f40c8ea4.js.gz +0 -0
- codex/static_root/assets/VSelect-CgOC_YIA.js.br +0 -0
- codex/static_root/assets/VSelect-CgOC_YIA.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-CD7bn0s_.0aa74aad8b61.js.br +0 -0
- codex/static_root/assets/VSelectionControl-CD7bn0s_.0aa74aad8b61.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-CD7bn0s_.js.br +0 -0
- codex/static_root/assets/VSelectionControl-CD7bn0s_.js.gz +0 -0
- codex/static_root/assets/VSlideGroup-Bssf4EBT.fc0918385f7e.js.br +0 -0
- codex/static_root/assets/VSlideGroup-Bssf4EBT.fc0918385f7e.js.gz +0 -0
- codex/static_root/assets/VSlideGroup-Bssf4EBT.js.br +0 -0
- codex/static_root/assets/VSlideGroup-Bssf4EBT.js.gz +0 -0
- codex/static_root/assets/VTable-DqraBe83.1f53f4e0e79f.js.br +0 -0
- codex/static_root/assets/VTable-DqraBe83.1f53f4e0e79f.js.gz +0 -0
- codex/static_root/assets/VTable-DqraBe83.js.br +0 -0
- codex/static_root/assets/VTable-DqraBe83.js.gz +0 -0
- codex/static_root/assets/VToolbar-kI3X77C7.54fc7a9541e0.js.br +0 -0
- codex/static_root/assets/VToolbar-kI3X77C7.54fc7a9541e0.js.gz +0 -0
- codex/static_root/assets/VToolbar-kI3X77C7.js.br +0 -0
- codex/static_root/assets/VToolbar-kI3X77C7.js.gz +0 -0
- codex/static_root/assets/VWindowItem-DiY3uz1L.569d029cc939.js.br +0 -0
- codex/static_root/assets/VWindowItem-DiY3uz1L.569d029cc939.js.gz +0 -0
- codex/static_root/assets/VWindowItem-DiY3uz1L.js.br +0 -0
- codex/static_root/assets/VWindowItem-DiY3uz1L.js.gz +0 -0
- codex/static_root/assets/admin-BW3Yp8Zu.bdbca238dcd4.js.br +0 -0
- codex/static_root/assets/admin-BW3Yp8Zu.bdbca238dcd4.js.gz +0 -0
- codex/static_root/assets/admin-BW3Yp8Zu.js.br +0 -0
- codex/static_root/assets/admin-BW3Yp8Zu.js.gz +0 -0
- codex/static_root/assets/admin-drawer-panel-CJ7EZ2DP.b6a369b30b07.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-CJ7EZ2DP.b6a369b30b07.js.gz +0 -0
- codex/static_root/assets/admin-drawer-panel-CJ7EZ2DP.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-CJ7EZ2DP.js.gz +0 -0
- codex/static_root/assets/browser-BQuqhnNc.df377a24a88a.js +0 -1
- codex/static_root/assets/browser-BQuqhnNc.df377a24a88a.js.br +0 -0
- codex/static_root/assets/browser-BQuqhnNc.df377a24a88a.js.gz +0 -0
- codex/static_root/assets/browser-BQuqhnNc.js +0 -1
- codex/static_root/assets/browser-BQuqhnNc.js.br +0 -0
- codex/static_root/assets/browser-BQuqhnNc.js.gz +0 -0
- codex/static_root/assets/browser-C8SJwVGz.0f7daf93b064.css.br +0 -0
- codex/static_root/assets/browser-C8SJwVGz.0f7daf93b064.css.gz +0 -0
- codex/static_root/assets/browser-C8SJwVGz.css.br +0 -0
- codex/static_root/assets/browser-C8SJwVGz.css.gz +0 -0
- codex/static_root/assets/change-password-dialog-DvdVuJbx.ea31df1541a2.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DvdVuJbx.ea31df1541a2.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DvdVuJbx.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DvdVuJbx.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-oqU_wtjV.38d99c746057.js.br +0 -0
- codex/static_root/assets/confirm-dialog-oqU_wtjV.38d99c746057.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-oqU_wtjV.js.br +0 -0
- codex/static_root/assets/confirm-dialog-oqU_wtjV.js.gz +0 -0
- codex/static_root/assets/confirm-footer-R7VhDN1M.67adfe281d35.js.br +0 -0
- codex/static_root/assets/confirm-footer-R7VhDN1M.67adfe281d35.js.gz +0 -0
- codex/static_root/assets/confirm-footer-R7VhDN1M.js.br +0 -0
- codex/static_root/assets/confirm-footer-R7VhDN1M.js.gz +0 -0
- codex/static_root/assets/datetime-column-CN_zeeDb.1cf9fd3f22d2.js.br +0 -0
- codex/static_root/assets/datetime-column-CN_zeeDb.1cf9fd3f22d2.js.gz +0 -0
- codex/static_root/assets/datetime-column-CN_zeeDb.js.br +0 -0
- codex/static_root/assets/datetime-column-CN_zeeDb.js.gz +0 -0
- codex/static_root/assets/filter-DhorJRK4.f9bf91b3928c.js.br +0 -0
- codex/static_root/assets/filter-DhorJRK4.f9bf91b3928c.js.gz +0 -0
- codex/static_root/assets/filter-DhorJRK4.js.br +0 -0
- codex/static_root/assets/filter-DhorJRK4.js.gz +0 -0
- codex/static_root/assets/flag-tab-BTiZcgOa.81b4fefa02e1.css +0 -1
- codex/static_root/assets/flag-tab-BTiZcgOa.81b4fefa02e1.css.br +0 -1
- codex/static_root/assets/flag-tab-BTiZcgOa.81b4fefa02e1.css.gz +0 -0
- codex/static_root/assets/flag-tab-BTiZcgOa.css +0 -1
- codex/static_root/assets/flag-tab-BTiZcgOa.css.br +0 -1
- codex/static_root/assets/flag-tab-BTiZcgOa.css.gz +0 -0
- codex/static_root/assets/flag-tab-C-ZU-QYU.c190eb30e5d5.js +0 -1
- codex/static_root/assets/flag-tab-C-ZU-QYU.c190eb30e5d5.js.br +0 -0
- codex/static_root/assets/flag-tab-C-ZU-QYU.c190eb30e5d5.js.gz +0 -0
- codex/static_root/assets/flag-tab-C-ZU-QYU.js +0 -1
- codex/static_root/assets/flag-tab-C-ZU-QYU.js.br +0 -0
- codex/static_root/assets/flag-tab-C-ZU-QYU.js.gz +0 -0
- codex/static_root/assets/group-tab-_H9JlSpl.6c9b686b8f94.js.br +0 -0
- codex/static_root/assets/group-tab-_H9JlSpl.6c9b686b8f94.js.gz +0 -0
- codex/static_root/assets/group-tab-_H9JlSpl.js.br +0 -0
- codex/static_root/assets/group-tab-_H9JlSpl.js.gz +0 -0
- codex/static_root/assets/http-error-CV1CbTnY.fed9281e2348.js.br +0 -0
- codex/static_root/assets/http-error-CV1CbTnY.fed9281e2348.js.gz +0 -0
- codex/static_root/assets/http-error-CV1CbTnY.js.br +0 -0
- codex/static_root/assets/http-error-CV1CbTnY.js.gz +0 -0
- codex/static_root/assets/library-tab-D6k-bjIz.cbd8944c48f1.js.br +0 -0
- codex/static_root/assets/library-tab-D6k-bjIz.cbd8944c48f1.js.gz +0 -0
- codex/static_root/assets/library-tab-D6k-bjIz.js.br +0 -0
- codex/static_root/assets/library-tab-D6k-bjIz.js.gz +0 -0
- codex/static_root/assets/main-C8c_Yy_E.16ff3f5c3880.js.br +0 -0
- codex/static_root/assets/main-C8c_Yy_E.16ff3f5c3880.js.gz +0 -0
- codex/static_root/assets/main-C8c_Yy_E.js.br +0 -0
- codex/static_root/assets/main-C8c_Yy_E.js.gz +0 -0
- codex/static_root/assets/metadata-dialog-B9q6Xpe7.103141664cd0.js +0 -1
- codex/static_root/assets/metadata-dialog-B9q6Xpe7.103141664cd0.js.br +0 -0
- codex/static_root/assets/metadata-dialog-B9q6Xpe7.103141664cd0.js.gz +0 -0
- codex/static_root/assets/metadata-dialog-B9q6Xpe7.js +0 -1
- codex/static_root/assets/metadata-dialog-B9q6Xpe7.js.br +0 -0
- codex/static_root/assets/metadata-dialog-B9q6Xpe7.js.gz +0 -0
- codex/static_root/assets/metadata-dialog-uikP6x2m.84a7b6c4b6b9.css.br +0 -0
- codex/static_root/assets/metadata-dialog-uikP6x2m.84a7b6c4b6b9.css.gz +0 -0
- codex/static_root/assets/metadata-dialog-uikP6x2m.css.br +0 -0
- codex/static_root/assets/metadata-dialog-uikP6x2m.css.gz +0 -0
- codex/static_root/assets/pdf-doc-DOq4qvUr.89d991424d2f.js.br +0 -0
- codex/static_root/assets/pdf-doc-DOq4qvUr.89d991424d2f.js.gz +0 -0
- codex/static_root/assets/pdf-doc-DOq4qvUr.js.br +0 -0
- codex/static_root/assets/pdf-doc-DOq4qvUr.js.gz +0 -0
- codex/static_root/assets/reader-BWdhR39E.8f8a692077dc.js +0 -7
- codex/static_root/assets/reader-BWdhR39E.8f8a692077dc.js.br +0 -0
- codex/static_root/assets/reader-BWdhR39E.8f8a692077dc.js.gz +0 -0
- codex/static_root/assets/reader-BWdhR39E.js +0 -7
- codex/static_root/assets/reader-BWdhR39E.js.br +0 -0
- codex/static_root/assets/reader-BWdhR39E.js.gz +0 -0
- codex/static_root/assets/stats-tab-VaVi9-_s.186447352c39.js.br +0 -0
- codex/static_root/assets/stats-tab-VaVi9-_s.186447352c39.js.gz +0 -0
- codex/static_root/assets/stats-tab-VaVi9-_s.js.br +0 -0
- codex/static_root/assets/stats-tab-VaVi9-_s.js.gz +0 -0
- codex/static_root/assets/task-tab-C0L1rPrr.249d29a1eb6b.js.br +0 -0
- codex/static_root/assets/task-tab-C0L1rPrr.249d29a1eb6b.js.gz +0 -0
- codex/static_root/assets/task-tab-C0L1rPrr.js.br +0 -0
- codex/static_root/assets/task-tab-C0L1rPrr.js.gz +0 -0
- codex/static_root/assets/user-tab-Cj-rHVvF.cbb1700e110d.js.br +0 -0
- codex/static_root/assets/user-tab-Cj-rHVvF.cbb1700e110d.js.gz +0 -0
- codex/static_root/assets/user-tab-Cj-rHVvF.js.br +0 -0
- codex/static_root/assets/user-tab-Cj-rHVvF.js.gz +0 -0
- codex/static_root/js/choices-admin.3a2cdebdbfba.json.br +0 -0
- codex/static_root/manifest.4609de9a4d51.json.br +0 -0
- codex/static_root/manifest.4609de9a4d51.json.gz +0 -0
- {codex-1.5.7rc1.dist-info → codex-1.5.8.dist-info}/LICENSE +0 -0
- {codex-1.5.7rc1.dist-info → codex-1.5.8.dist-info}/WHEEL +0 -0
- {codex-1.5.7rc1.dist-info → codex-1.5.8.dist-info}/entry_points.txt +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
function __vite__mapDeps(indexes) {
|
|
2
|
+
if (!__vite__mapDeps.viteFileDeps) {
|
|
3
|
+
__vite__mapDeps.viteFileDeps = ["assets/pdf-doc-DWjSqsgP.js","assets/admin-drawer-panel-C5XtSLXl.js","assets/admin-drawer-panel-DEYM8FWr.css","assets/main-D1r3hZ0f.js","assets/main-CacfwsKA.css","assets/VToolbar-CnoJq5Ck.js","assets/index-DUjeNg4x.js","assets/confirm-footer-CP02GqhM.js","assets/confirm-footer-VFepxcJs.css","assets/change-password-dialog-BkX8NP9F.js","assets/VSlideGroup-BW6pFVGY.js","assets/VSelectionControl-D0ha1VYk.js","assets/VSelectionControl-BFq--28I.css","assets/VSlideGroup-rAVUcz72.css","assets/change-password-dialog-BRmvkNir.css","assets/VToolbar-BfNszTMd.css","assets/pdf-doc-CMzaSV_K.css"]
|
|
4
|
+
}
|
|
5
|
+
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
|
|
6
|
+
}
|
|
7
|
+
import{u as c,c as U,d as Ve,S as Oe,V as xe,a as Ee,e as Ae,h as Ne,i as Fe,_ as re}from"./VToolbar-CnoJq5Ck.js";import{_ as A,a as ne,b as ie,P as Ue,c as le,V as K}from"./metadata-dialog-B8UtDnAu.js";import{ax as w,M as P,N as f,_ as m,R as u,O as g,P as i,aa as h,ae as _,L as n,ad as v,aB as S,bj as ze,bf as Me,be as B,ay as b,aK as We,b7 as O,bk as ce,Q as y,ab as D,bl as qe,bm as He,aD as r,am as W,aC as H,bn as ue,aA as de,az as x,al as R,a9 as G,bc as Ge,bo as Ke,bp as je,bq as Ye,br as Xe,ag as E,bs as Ze,k as T,ak as q,bt as Qe,bu as Je,af as j,a$ as et,bv as tt,bw as ot,bx as at,by as st,bz as rt,bA as nt,aH as it,aI as lt,aT as Y,m as X,bB as ct,bh as Z,bC as ut}from"./admin-drawer-panel-C5XtSLXl.js";import{_ as dt,a as he,u as ht,C as pt}from"./main-D1r3hZ0f.js";import{V as pe,a as ge}from"./VWindowItem-Cq-qPd5h.js";import{b as gt,V as mt}from"./VSelect-YSL0tIop.js";import{V as $,a as z}from"./VRadioGroup-DQQmB99C.js";import{V as M}from"./VCheckbox-CAnsONJ8.js";import{V as kt,a as _t,b as bt,c as ft}from"./VExpansionPanel-D77IHp4B.js";import{V as Pt}from"./VMain-BcP4P6kJ.js";import"./index-DUjeNg4x.js";import"./confirm-footer-CP02GqhM.js";import"./change-password-dialog-BkX8NP9F.js";import"./VSlideGroup-BW6pFVGY.js";import"./VSelectionControl-D0ha1VYk.js";import"./to-case-kUm8NPpW.js";import"./VCheckboxBtn-DQTVBkac.js";const vt={name:"ReaderNavButton",components:{PaginationNavButton:A},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...w(c,["isVertical"]),...P(c,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}}}),title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...f(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function wt(e,t,a,d,l,o){const s=A;return u(),g(s,{key:e.isVertical,disabled:o.disabled,title:o.title,to:e.toRoute,onClick:o.onClick},{default:i(()=>[h(_(a.value),1)]),_:1},8,["disabled","title","to","onClick"])}const me=m(vt,[["render",wt]]),St={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:A},props:{direction:{type:String,required:!0}},computed:{...w(c,["isBTT"]),...P(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},disabled(){return!this.toRoute}},methods:{...f(c,["bookChangeIcon"])}};function Ct(e,t,a,d,l,o){const s=A;return u(),g(s,{icon:"",variant:"plain",disabled:o.disabled,title:o.title,to:e.toRoute},{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.icon),1)]),_:1})]),_:1},8,["disabled","title","to"])}const ke=m(St,[["render",Ct]]),L="prev",V="next",yt={name:"ReaderNavToolbar",components:{PaginationSlider:ne,ReaderNavButton:me,PaginationToolbar:ie,ReaderBookChangeNavButton:ke},computed:{...w(c,["activeSettings","isReadInReverse","isVertical"]),...P(c,{storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...f(c,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyListener(e){switch(e.stopPropagation(),e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(V):e.shiftKey&&window.scrollY===0&&this.routeToDirection(L);break;case"j":case"ArrowRight":this.routeToDirection(V);break;case"k":case"ArrowLeft":this.routeToDirection(L);break;case",":this.routeToDirectionOne(L);break;case".":this.routeToDirectionOne(V);break;case"n":this.routeToBook(V);break;case"p":this.routeToBook(L);break}}}};function Rt(e,t,a,d,l,o){const s=ke,p=me,k=ne,I=ie;return e.maxPage?(u(),g(I,{key:0},{default:i(()=>[n(s,{direction:o.bookPrev},null,8,["direction"]),n(p,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),g(k,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=F=>o.onSliderUpdate(F))},null,8,["model-value","max","step","track-color","reverse"])),n(p,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext},null,8,["direction"])]),_:1})):S("",!0)}const _e=m(yt,[["render",Rt]]),Bt=.5,Tt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ze}},computed:{...P(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=U},style(){return{cursor:this.scale==U?"zoom-in":"all-scroll"}}},methods:{...f(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Bt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:U})}}};function Dt(e,t,a,d,l,o){const s=Me("drag-scroller");return B((u(),b("div",{class:"scaleForScroll",style:ce(o.style),onDblclick:t[0]||(t[0]=(...p)=>o.onDoubleClick&&o.onDoubleClick(...p))},[We(e.$slots,"default",{},void 0,!0),o.showReset?(u(),g(v,{key:0,class:"resetIcon",onClick:O(o.scaleReset,["stop"])},{default:i(()=>[h(_(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const N=m(Tt,[["render",Dt],["__scopeId","data-v-b24267c0"]]),It={name:"LoadingPage",components:{Placeholder:Ue},props:{twoPages:{type:Boolean,required:!0}}};function $t(e,t,a,d,l,o){const s=y("Placeholder");return u(),b("div",{class:D(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Lt=m(It,[["render",$t],["__scopeId","data-v-04027168"]]),Q="unauthorized",Vt={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===Q?"Protected page":"Failed to load page"},icon(){return this.type===Q?qe:He}}},Ot={class:"pageErrorContainer"},xt={class:"pageErrorText"};function Et(e,t,a,d,l,o){return u(),b("div",{class:D(["pageError",{twoPages:a.twoPages}])},[r("div",Ot,[r("div",xt,_(o.text),1),n(v,{class:"pageErrorIcon"},{default:i(()=>[h(_(o.icon),1)]),_:1})])],2)}const At=m(Vt,[["render",Et],["__scopeId","data-v-cea0843d"]]),Nt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...f(c,["fitToClass"])}},Ft=["src"];function Ut(e,t,a,d,l,o){return u(),b("img",W({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Ft)}const J=m(Nt,[["render",Ut],["__scopeId","data-v-559e2ecc"]]),ee=H(ue(()=>dt(()=>import("./pdf-doc-DWjSqsgP.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])))),zt=333,Mt={name:"BookPage",components:{ErrorPage:At,LoadingPage:Lt,PDFDoc:ee,ImgPage:J},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...w(c,["isVertical"]),...P(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return Ve(e)},component(){return this.book.fileType==="PDF"?ee:J},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},zt)},methods:{...f(c,["getSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1}}},Wt=["id","data-page"];function qt(e,t,a,d,l,o){const s=y("ErrorPage"),p=y("LoadingPage");return u(),b("div",{id:`page${a.page}`,"data-page":a.page,class:"page",style:ce(o.style)},[l.error?(u(),g(s,{key:0,"two-pages":o.settings.twoPages,type:l.error},null,8,["two-pages","type"])):l.showProgress&&!l.loaded?(u(),g(p,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(u(),g(de(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Wt)}const be=m(Mt,[["render",qt],["__scopeId","data-v-87996fa1"]]),Ht={name:"HorizontalPages",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...w(c,["isCoverPage","isReadInReverse"]),showSecondPage(){return this.getSettings(this.book).twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{...f(c,["getSettings"])}};function Gt(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,{class:"noWrap"},{default:i(()=>[o.showPageOne?(u(),g(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(u(),g(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const fe=m(Ht,[["render",Gt],["__scopeId","data-v-9a560964"]]),Kt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...w(c,["isVertical","isFirstPage","isLastPage"]),...P(c,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){let e="pageChange";return e+=this.isVertical?"Row":"Column",e},directionClass(){let e=this.direction;return this.isVertical&&(e+="Vertical"),e},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function jt(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(s,{key:0,to:o.route,"aria-label":o.label,class:D({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Pe=m(Kt,[["render",jt],["__scopeId","data-v-9ade7d96"]]),Yt=48,Xt=48,Zt={name:"PagerHorizontal",components:{HorizontalPages:fe,PageChangeLink:Pe},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...w(c,["isReadInReverse"]),...P(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),twoPages(){return this.getSettings(this.book).twoPages},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...f(c,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Yt,0),t=Math.min(this.activePage+Xt,this.book.maxPage),a=he.range(e,t+1);this.pages=a}}};function Qt(e,t,a,d,l,o){const s=Pe,p=fe;return u(),g(ge,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(l.pages,k=>(u(),g(pe,{key:`c/${a.book.pk}/${k}`,class:"windowItem",disabled:"",eager:k>=e.storePage-1&&k<=e.storePage+2,"model-value":k,transition:!0},{default:i(()=>[n(p,{book:a.book,page:k},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const te=m(Zt,[["render",Qt],["__scopeId","data-v-e04bbc00"]]);function ve(e,t){const{self:a=!1}=t.modifiers??{},d=t.value,l=typeof d=="object"&&d.options||{passive:!0},o=typeof d=="function"||"handleEvent"in d?d:d.handler,s=a?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,l),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:l,target:a?void 0:s})}function we(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:d,target:l=e}=e._onScroll[t.instance.$.uid];l.removeEventListener("scroll",a,d),delete e._onScroll[t.instance.$.uid]}function Jt(e,t){t.value!==t.oldValue&&(we(e,t),ve(e,t))}const eo={mounted:ve,unmounted:we,updated:Jt},to=12,oe=250,oo={name:"PagerVertical",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(c,{storePage:e=>e.page}),...G(c,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=((a=this.book)==null?void 0:a.maxPage)+1,t=he.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,to)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},oe)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...f(c,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const d=+t[0].target.dataset.page;this.setActivePage(d,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},oe)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},ao=["data-page"];function so(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,null,{default:i(()=>[B((u(),g(gt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:i(({item:k})=>[n(s,{book:a.book,page:k,class:"verticalPage"},null,8,["book","page"]),B(r("div",{class:"pageTracker","data-page":k},null,8,ao),[[Ge,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[eo,o.onScroll,"#verticalScroll"]])]),_:1})}const ae=m(oo,[["render",so],["__scopeId","data-v-0836627c"]]),se=H(ue(()=>"@/components/reader/pager/pager-full-pdf.vue")),ro={name:"PagerSelector",components:{PagerHorizontal:te,PagerPDF:se,PagerVertical:ae},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...w(c,["isVertical","cacheBook"]),...P(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?se:this.isVertical?ae:te}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.book.pk===this.storePk&&this.setActivePage(+this.$route.params.page,!0)},methods:{...f(c,["getSettings","setActivePage","prefetchBook"])}};function no(e,t,a,d,l,o){return u(),g(de(o.component),{book:a.book},null,8,["book"])}const Se=m(ro,[["render",no]]),io={name:"BookChangeActivator",props:{direction:{type:String,required:!0}},computed:{computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)},show(){return this.bookChangeShow(this.computedDirection)}},methods:{...f(c,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function lo(e,t,a,d,l,o){return o.show?(u(),b("div",{key:0,class:D(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=O(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0)}const Ce=m(io,[["render",lo],["__scopeId","data-v-2b81f2ae"]]),co={name:"BooksWindow",components:{BookChangeActivator:Ce,Pager:Se},emits:["click"],computed:{...w(c,["isBTT"]),...P(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...f(c,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function uo(e,t,a,d,l,o){const s=Ce,p=Se;return u(),g(ge,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:o.click},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(e.books,k=>(u(),g(pe,{key:`c/${k.pk}`,class:"windowItem",disabled:"",eager:o.eager(k.pk),value:k.pk,transition:!0},{default:i(()=>[n(p,{book:k,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ye=m(co,[["render",uo],["__scopeId","data-v-2a90783e"]]),ho={a:je,f:Ye,s:Xe},po={a:"Story Arc",f:"Folder",s:"Series"},go={name:"ReaderArcSelect",computed:{...P(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pk===t.pk)return t.name;return"Unknown"},arcKey:e=>`${e.arc.group}:${e.arc.pk}`,arcItems:e=>{const t=[];for(const a of e.arcs){const d={value:`${a.group}:${a.pk}`,title:a.name,group:a.group};t.push(d)}return t},arcPosition:function(e){const t=e.arc;return t&&t.index&&t.count?`${t.index}/${t.count}`:""}}),arc:{get(){return this.arcKey},set(e){const t=this.$route.params;if(!t)return;const[a,d]=e.split(":"),l={...t,arcGroup:a,arcPk:d};this.loadBooks(l)}}},methods:{...f(c,["loadBooks"]),arcIcon(e){return ho[e]},arcLabel(e){return po[e]},checkIcon(e){return e===this.arc?Ke:""}}},mo={key:2,id:"arcPosition"};function ko(e,t,a,d,l,o){return u(),b(R,null,[e.arcItems.length>1?(u(),g(mt,{key:0,modelValue:o.arc,"onUpdate:modelValue":t[0]||(t[0]=s=>o.arc=s),class:"arcSelect",density:"compact","hide-details":"auto",label:"Order",variant:"plain",items:e.arcItems},{item:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain","prepend-icon":o.arcIcon(s.raw.group),subtitle:o.arcLabel(s.raw.group),"append-icon":o.checkIcon(p.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain"}),{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.arcIcon(s.raw.group)),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","items"])):(u(),g(v,{key:1,id:"onlyArc",title:e.arcName},{default:i(()=>[h(_(o.arcIcon(e.arcGroup)),1)]),_:1},8,["title"])),e.arcPosition?(u(),b("span",mo,_(e.arcPosition),1)):S("",!0)],64)}const Re=m(go,[["render",ko],["__scopeId","data-v-90090a3c"]]),_o={name:"ReaderTitleToolbar",components:{MetadataDialog:le,ReaderArcSelect:Re,SettingsDrawerButton:Oe},data(){return{mdiClose:Ze,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...w(c,["activeTitle"]),...P(c,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}}}),...P(ht,{lastRoute:e=>e.page.routes.last}),...G(T,["isSettingsDrawerOpen"]),closeBookRoute:function(){var t;const e={name:"browser",params:this.lastRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||pt.browser.route,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...f(T,["setTimestamp"]),...f(c,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){switch(e.stopPropagation(),e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.openMetadata();break}}}},bo={key:0};function fo(e,t,a,d,l,o){const s=Re,p=le,k=y("SettingsDrawerButton");return u(),g(Ee,{id:"readerTopToolbar",class:"codexToolbar",density:"compact"},{default:i(()=>[n(K,null,{default:i(()=>[n(q,{id:"closeBook",ref:"closeBook",to:o.closeBookRoute,size:"large",onClick:o.onCloseBook},{default:i(()=>[e.$vuetify.display.smAndDown?(u(),g(v,{key:1,title:"Close Book"},{default:i(()=>[h(_(l.mdiClose),1)]),_:1})):(u(),b("span",bo,"close book"))]),_:1},8,["to","onClick"])]),_:1}),n(xe,{id:"toolbarTitle",class:"codexToolbarTitle"},{default:i(()=>[h(_(e.activeTitle),1)]),_:1}),n(K,null,{default:i(()=>[n(s),n(q,{id:"tagButton",onClick:O(o.openMetadata,["stop"])},{default:i(()=>[n(p,{ref:"metadataDialog",group:"c",book:e.currentBook},null,8,["book"])]),_:1},8,["onClick"]),n(k,{id:"settingsButton",onClick:t[0]||(t[0]=O(I=>e.isSettingsDrawerOpen=!0,["stop"]))})]),_:1})]),_:1})}const Be=m(_o,[["render",fo],["__scopeId","data-v-5d12ffc0"]]),Po={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...w(c,["isBTT"]),...P(c,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function vo(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(Ae,{key:0,class:"bookChangeDrawer","disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:i(()=>[n(s,{class:D({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},{default:i(()=>[n(v,{class:"bookChangeIcon"},{default:i(()=>[h(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value"])):S("",!0)}const Te=m(Po,[["render",vo],["__scopeId","data-v-457facfc"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Qe,mdiFileImage:Je}},computed:{...w(c,["activeTitle","routeParams"]),...P(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Ne(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Fe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...f(T,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},So={id:"downloadPanel"};function Co(e,t,a,d,l,o){return u(),b("div",So,[n(E,{onClick:o.downloadPage},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiFileImage),1)]),_:1}),h("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),n(E,{onClick:o.downloadBook},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiDownload),1)]),_:1}),h("Download Book ")]),_:1})]),_:1},8,["onClick"])])}const De=m(wo,[["render",Co],["__scopeId","data-v-079b7d8d"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const yo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:et}},computed:{...w(c,["isVertical","isPDF","cacheBook"]),...P(c,{choices:e=>e.choices,selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const d of Ie){const l=(a=e.books)==null?void 0:a.current.settings[d];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t;return tt((t=e.books)==null?void 0:t.current)}}),...G(c,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...f(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){e.stopPropagation();let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},Ro={id:"readerSettings"},Bo=["href"];function To(e,t,a,d,l,o){return u(),b("div",Ro,[n(z,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),density:"compact",label:"Scope","hide-details":"auto"},{default:i(()=>[n($,{label:"Only this comic",value:!1}),n($,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.fitToChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.readingDirectionChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),e.isPDF?(u(),b("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[n(v,null,{default:i(()=>[h(_(l.mdiOpenInNew),1)]),_:1}),h("Read PDF in Browser ")],8,Bo)):S("",!0),l.isGlobalScope?(u(),g(M,{key:1,"model-value":e.selectedSettings.readRtlInReverse,class:"readRtlInReverse",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"])):S("",!0),l.isGlobalScope?S("",!0):(u(),g(q,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:i(()=>[h(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])}const $e=m(yo,[["render",To],["__scopeId","data-v-953d00f1"]]),Do={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:ot,mdiMenuRight:at,mdiKeyboardOutline:st,mdiKeyboardSpace:rt,mdiAppleKeyboardShift:nt}},computed:{...w(T,["isMobile"])}},C=e=>(it("data-v-a8b4ac47"),e=e(),lt(),e),Io=C(()=>r("h4",null,"Navigation",-1)),$o={class:"highlight-table"},Lo=C(()=>r("td",null,"Previous page",-1)),Vo=C(()=>r("td",null,"Next page",-1)),Oo=C(()=>r("tr",null,[r("td",null,","),r("td",null,[h("Next "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),xo=C(()=>r("tr",null,[r("td",null,"."),r("td",null,[h("Previous "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),Eo=C(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),Ao=C(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),No=C(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),Fo=C(()=>r("h4",null,"Fit Page To",-1)),Uo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),zo=C(()=>r("h4",null,"Other",-1)),Mo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Wo(e,t,a,d,l,o){return e.isMobile?S("",!0):(u(),g(ft,{key:0},{default:i(()=>[n(kt,{id:"readerKeyboardShortcuts"},{default:i(()=>[n(_t,{id:"shortcutsTitle"},{default:i(()=>[n(v,{id:"keyboardIcon"},{default:i(()=>[h(_(l.mdiKeyboardOutline),1)]),_:1}),h("Keyboard Shortcuts ")]),_:1}),n(bt,null,{default:i(()=>[Io,r("table",$o,[r("tbody",null,[r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuLeft),1)]),_:1}),h(", j, "),r("div",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiAppleKeyboardShift),1)]),_:1}),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})])]),Lo]),r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuRight),1)]),_:1}),h(", k, "),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})]),Vo]),Oo,xo,Eo,Ao,No])]),Fo,Uo,zo,Mo]),_:1})]),_:1})]),_:1}))}const qo=m(Do,[["render",Wo],["__scopeId","data-v-a8b4ac47"]]),Ho={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:De,ReaderKeyboardShortcutsPanel:qo,ReaderSettingsPanel:$e}};function Go(e,t,a,d,l,o){const s=$e,p=y("ReaderKeyboardShortcutsPanel"),k=De;return u(),b(R,null,[n(s),n(Y),n(p),n(Y),n(k)],64)}const Ko=m(Ho,[["render",Go]]),jo={name:"MainReader",components:{BookChangeDrawer:Te,BooksWindow:ye,ReaderNavToolbar:_e,ReaderTitleToolbar:Be,SettingsDrawer:re},data(){return{showToolbars:!1,ReaderSettingsSuperPanel:H(Ko)}},computed:{...w(X,["isCodexViewable"]),...P(X,{user:e=>e.user})},watch:{user(){this.loadReaderSettings()},isCodexViewable(){this.loadReaderSettings()}},created(){T().isSettingsDrawerOpen=!1},beforeMount(){c().$reset,this.loadReaderSettings()},methods:{...f(c,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Yo={key:0,id:"readerContainer"},Xo={key:1,id:"announcement"};function Zo(e,t,a,d,l,o){const s=Te,p=Be,k=ye,I=_e,F=y("router-link"),Le=re;return u(),b(R,null,[n(Pt,{id:"readerWrapper"},{default:i(()=>[n(s,{direction:"prev"}),e.isCodexViewable?(u(),b("div",Yo,[n(ct,null,{default:i(()=>[B(n(p,null,null,512),[[Z,l.showToolbars]])]),_:1}),n(k,{onClick:o.toggleToolbars},null,8,["onClick"]),n(ut,null,{default:i(()=>[B(n(I,null,null,512),[[Z,l.showToolbars]])]),_:1})])):(u(),b("div",Xo,[r("h1",null,[n(F,{to:{name:"home"}},{default:i(()=>[h(" Log in ")]),_:1}),h(" to read comics ")])]))]),_:1}),n(s,{direction:"next"}),n(Le,{title:"Reader Settings",panel:l.ReaderSettingsSuperPanel,temporary:""},null,8,["panel"])],64)}const ma=m(jo,[["render",Zo],["__scopeId","data-v-fd949081"]]);export{ma as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
function __vite__mapDeps(indexes) {
|
|
2
|
+
if (!__vite__mapDeps.viteFileDeps) {
|
|
3
|
+
__vite__mapDeps.viteFileDeps = ["assets/pdf-doc-DWjSqsgP.js","assets/admin-drawer-panel-C5XtSLXl.js","assets/admin-drawer-panel-DEYM8FWr.css","assets/main-D1r3hZ0f.js","assets/main-CacfwsKA.css","assets/VToolbar-CnoJq5Ck.js","assets/index-DUjeNg4x.js","assets/confirm-footer-CP02GqhM.js","assets/confirm-footer-VFepxcJs.css","assets/change-password-dialog-BkX8NP9F.js","assets/VSlideGroup-BW6pFVGY.js","assets/VSelectionControl-D0ha1VYk.js","assets/VSelectionControl-BFq--28I.css","assets/VSlideGroup-rAVUcz72.css","assets/change-password-dialog-BRmvkNir.css","assets/VToolbar-BfNszTMd.css","assets/pdf-doc-CMzaSV_K.css"]
|
|
4
|
+
}
|
|
5
|
+
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
|
|
6
|
+
}
|
|
7
|
+
import{u as c,c as U,d as Ve,S as Oe,V as xe,a as Ee,e as Ae,h as Ne,i as Fe,_ as re}from"./VToolbar-CnoJq5Ck.js";import{_ as A,a as ne,b as ie,P as Ue,c as le,V as K}from"./metadata-dialog-B8UtDnAu.js";import{ax as w,M as P,N as f,_ as m,R as u,O as g,P as i,aa as h,ae as _,L as n,ad as v,aB as S,bj as ze,bf as Me,be as B,ay as b,aK as We,b7 as O,bk as ce,Q as y,ab as D,bl as qe,bm as He,aD as r,am as W,aC as H,bn as ue,aA as de,az as x,al as R,a9 as G,bc as Ge,bo as Ke,bp as je,bq as Ye,br as Xe,ag as E,bs as Ze,k as T,ak as q,bt as Qe,bu as Je,af as j,a$ as et,bv as tt,bw as ot,bx as at,by as st,bz as rt,bA as nt,aH as it,aI as lt,aT as Y,m as X,bB as ct,bh as Z,bC as ut}from"./admin-drawer-panel-C5XtSLXl.js";import{_ as dt,a as he,u as ht,C as pt}from"./main-D1r3hZ0f.js";import{V as pe,a as ge}from"./VWindowItem-Cq-qPd5h.js";import{b as gt,V as mt}from"./VSelect-YSL0tIop.js";import{V as $,a as z}from"./VRadioGroup-DQQmB99C.js";import{V as M}from"./VCheckbox-CAnsONJ8.js";import{V as kt,a as _t,b as bt,c as ft}from"./VExpansionPanel-D77IHp4B.js";import{V as Pt}from"./VMain-BcP4P6kJ.js";import"./index-DUjeNg4x.js";import"./confirm-footer-CP02GqhM.js";import"./change-password-dialog-BkX8NP9F.js";import"./VSlideGroup-BW6pFVGY.js";import"./VSelectionControl-D0ha1VYk.js";import"./to-case-kUm8NPpW.js";import"./VCheckboxBtn-DQTVBkac.js";const vt={name:"ReaderNavButton",components:{PaginationNavButton:A},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...w(c,["isVertical"]),...P(c,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}}}),title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...f(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function wt(e,t,a,d,l,o){const s=A;return u(),g(s,{key:e.isVertical,disabled:o.disabled,title:o.title,to:e.toRoute,onClick:o.onClick},{default:i(()=>[h(_(a.value),1)]),_:1},8,["disabled","title","to","onClick"])}const me=m(vt,[["render",wt]]),St={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:A},props:{direction:{type:String,required:!0}},computed:{...w(c,["isBTT"]),...P(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:{...t}}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},disabled(){return!this.toRoute}},methods:{...f(c,["bookChangeIcon"])}};function Ct(e,t,a,d,l,o){const s=A;return u(),g(s,{icon:"",variant:"plain",disabled:o.disabled,title:o.title,to:e.toRoute},{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.icon),1)]),_:1})]),_:1},8,["disabled","title","to"])}const ke=m(St,[["render",Ct]]),L="prev",V="next",yt={name:"ReaderNavToolbar",components:{PaginationSlider:ne,ReaderNavButton:me,PaginationToolbar:ie,ReaderBookChangeNavButton:ke},computed:{...w(c,["activeSettings","isReadInReverse","isVertical"]),...P(c,{storePage:e=>e.page,key(e){var t,a;return`${(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyListener)},methods:{...f(c,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyListener(e){switch(e.stopPropagation(),e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(V):e.shiftKey&&window.scrollY===0&&this.routeToDirection(L);break;case"j":case"ArrowRight":this.routeToDirection(V);break;case"k":case"ArrowLeft":this.routeToDirection(L);break;case",":this.routeToDirectionOne(L);break;case".":this.routeToDirectionOne(V);break;case"n":this.routeToBook(V);break;case"p":this.routeToBook(L);break}}}};function Rt(e,t,a,d,l,o){const s=ke,p=me,k=ne,I=ie;return e.maxPage?(u(),g(I,{key:0},{default:i(()=>[n(s,{direction:o.bookPrev},null,8,["direction"]),n(p,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),g(k,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=F=>o.onSliderUpdate(F))},null,8,["model-value","max","step","track-color","reverse"])),n(p,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),n(s,{direction:o.bookNext},null,8,["direction"])]),_:1})):S("",!0)}const _e=m(yt,[["render",Rt]]),Bt=.5,Tt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ze}},computed:{...P(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=U},style(){return{cursor:this.scale==U?"zoom-in":"all-scroll"}}},methods:{...f(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Bt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:U})}}};function Dt(e,t,a,d,l,o){const s=Me("drag-scroller");return B((u(),b("div",{class:"scaleForScroll",style:ce(o.style),onDblclick:t[0]||(t[0]=(...p)=>o.onDoubleClick&&o.onDoubleClick(...p))},[We(e.$slots,"default",{},void 0,!0),o.showReset?(u(),g(v,{key:0,class:"resetIcon",onClick:O(o.scaleReset,["stop"])},{default:i(()=>[h(_(l.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const N=m(Tt,[["render",Dt],["__scopeId","data-v-b24267c0"]]),It={name:"LoadingPage",components:{Placeholder:Ue},props:{twoPages:{type:Boolean,required:!0}}};function $t(e,t,a,d,l,o){const s=y("Placeholder");return u(),b("div",{class:D(["pageLoading",{twoPages:a.twoPages}])},[n(s,{class:"pagePlaceholder"})],2)}const Lt=m(It,[["render",$t],["__scopeId","data-v-04027168"]]),Q="unauthorized",Vt={name:"ErrorPage",props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},computed:{text(){return this.type===Q?"Protected page":"Failed to load page"},icon(){return this.type===Q?qe:He}}},Ot={class:"pageErrorContainer"},xt={class:"pageErrorText"};function Et(e,t,a,d,l,o){return u(),b("div",{class:D(["pageError",{twoPages:a.twoPages}])},[r("div",Ot,[r("div",xt,_(o.text),1),n(v,{class:"pageErrorIcon"},{default:i(()=>[h(_(o.icon),1)]),_:1})])],2)}const At=m(Vt,[["render",Et],["__scopeId","data-v-cea0843d"]]),Nt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...P(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},classes(){return this.fitToClass(this.book)}},methods:{...f(c,["fitToClass"])}},Ft=["src"];function Ut(e,t,a,d,l,o){return u(),b("img",W({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,Ft)}const J=m(Nt,[["render",Ut],["__scopeId","data-v-559e2ecc"]]),ee=H(ue(()=>dt(()=>import("./pdf-doc-DWjSqsgP.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])))),zt=333,Mt={name:"BookPage",components:{ErrorPage:At,LoadingPage:Lt,PDFDoc:ee,ImgPage:J},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:!1}},computed:{...w(c,["isVertical"]),...P(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e={pk:this.book.pk,page:this.page,mtime:this.book.mtime};return Ve(e)},component(){return this.book.fileType==="PDF"?ee:J},settings(){return this.getSettings(this.book)}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},zt)},methods:{...f(c,["getSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1}}},Wt=["id","data-page"];function qt(e,t,a,d,l,o){const s=y("ErrorPage"),p=y("LoadingPage");return u(),b("div",{id:`page${a.page}`,"data-page":a.page,class:"page",style:ce(o.style)},[l.error?(u(),g(s,{key:0,"two-pages":o.settings.twoPages,type:l.error},null,8,["two-pages","type"])):l.showProgress&&!l.loaded?(u(),g(p,{key:1,"two-pages":o.settings.twoPages},null,8,["two-pages"])):(u(),g(de(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Wt)}const be=m(Mt,[["render",qt],["__scopeId","data-v-87996fa1"]]),Ht={name:"HorizontalPages",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{...w(c,["isCoverPage","isReadInReverse"]),showSecondPage(){return this.getSettings(this.book).twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{...f(c,["getSettings"])}};function Gt(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,{class:"noWrap"},{default:i(()=>[o.showPageOne?(u(),g(s,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(u(),g(s,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const fe=m(Ht,[["render",Gt],["__scopeId","data-v-9a560964"]]),Kt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...w(c,["isVertical","isFirstPage","isLastPage"]),...P(c,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){let e="pageChange";return e+=this.isVertical?"Row":"Column",e},directionClass(){let e=this.direction;return this.isVertical&&(e+="Vertical"),e},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function jt(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(s,{key:0,to:o.route,"aria-label":o.label,class:D({[o.pageChangeClass]:!0,[o.directionClass]:!0}),onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Pe=m(Kt,[["render",jt],["__scopeId","data-v-9ade7d96"]]),Yt=48,Xt=48,Zt={name:"PagerHorizontal",components:{HorizontalPages:fe,PageChangeLink:Pe},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...w(c,["isReadInReverse"]),...P(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),twoPages(){return this.getSettings(this.book).twoPages},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...f(c,["getSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Yt,0),t=Math.min(this.activePage+Xt,this.book.maxPage),a=he.range(e,t+1);this.pages=a}}};function Qt(e,t,a,d,l,o){const s=Pe,p=fe;return u(),g(ge,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:e.isReadInReverse},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(l.pages,k=>(u(),g(pe,{key:`c/${a.book.pk}/${k}`,class:"windowItem",disabled:"",eager:k>=e.storePage-1&&k<=e.storePage+2,"model-value":k,transition:!0},{default:i(()=>[n(p,{book:a.book,page:k},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const te=m(Zt,[["render",Qt],["__scopeId","data-v-e04bbc00"]]);function ve(e,t){const{self:a=!1}=t.modifiers??{},d=t.value,l=typeof d=="object"&&d.options||{passive:!0},o=typeof d=="function"||"handleEvent"in d?d:d.handler,s=a?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,l),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:l,target:a?void 0:s})}function we(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:d,target:l=e}=e._onScroll[t.instance.$.uid];l.removeEventListener("scroll",a,d),delete e._onScroll[t.instance.$.uid]}function Jt(e,t){t.value!==t.oldValue&&(we(e,t),ve(e,t))}const eo={mounted:ve,unmounted:we,updated:Jt},to=12,oe=250,oo={name:"PagerVertical",components:{BookPage:be,ScaleForScroll:N},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1}},computed:{...P(c,{storePage:e=>e.page}),...G(c,["reactWithScroll"]),settings(){return this.getSettings(this.book)},readInReverse(){return this.settings.readInReverse},items(){var a;const e=((a=this.book)==null?void 0:a.maxPage)+1,t=he.range(0,e);return this.readInReverse&&t.reverse(),t},visibleItems(){var e;return Math.min(((e=this.book)==null?void 0:e.maxPage)??0,to)}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},oe)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...f(c,["setActivePage","setBookChangeFlag","getSettings"]),onIntersect(e,t){if(e&&this.intersectorOn){const d=+t[0].target.dataset.page;this.setActivePage(d,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},oe)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},ao=["data-page"];function so(e,t,a,d,l,o){const s=y("BookPage"),p=N;return u(),g(p,null,{default:i(()=>[B((u(),g(gt,{id:"verticalScroll",key:o.readInReverse,ref:"verticalScroll",items:o.items,height:l.innerHeight,width:l.innerWidth},{default:i(({item:k})=>[n(s,{book:a.book,page:k,class:"verticalPage"},null,8,["book","page"]),B(r("div",{class:"pageTracker","data-page":k},null,8,ao),[[Ge,{handler:o.onIntersect,options:{threshold:[.75]}},void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[eo,o.onScroll,"#verticalScroll"]])]),_:1})}const ae=m(oo,[["render",so],["__scopeId","data-v-0836627c"]]),se=H(ue(()=>"@/components/reader/pager/pager-full-pdf.vue")),ro={name:"PagerSelector",components:{PagerHorizontal:te,PagerPDF:se,PagerVertical:ae},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...w(c,["isVertical","cacheBook"]),...P(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),readFullPdf(){return this.book.fileType=="PDF"&&this.cacheBook},component(){return this.readFullPdf?se:this.isVertical?ae:te}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.book.pk===this.storePk&&this.setActivePage(+this.$route.params.page,!0)},methods:{...f(c,["getSettings","setActivePage","prefetchBook"])}};function no(e,t,a,d,l,o){return u(),g(de(o.component),{book:a.book},null,8,["book"])}const Se=m(ro,[["render",no]]),io={name:"BookChangeActivator",props:{direction:{type:String,required:!0}},computed:{computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)},show(){return this.bookChangeShow(this.computedDirection)}},methods:{...f(c,["setBookChangeFlag","normalizeDirection","bookChangeLocation","bookChangeCursorClass","bookChangeShow"])}};function lo(e,t,a,d,l,o){return o.show?(u(),b("div",{key:0,class:D(["bookChangeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=O(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0)}const Ce=m(io,[["render",lo],["__scopeId","data-v-2b81f2ae"]]),co={name:"BooksWindow",components:{BookChangeActivator:Ce,Pager:Se},emits:["click"],computed:{...w(c,["isBTT"]),...P(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books})},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks(e.params)}},beforeMount(){this.setBookChangeFlag(),this.loadBooks(this.$route.params)},methods:{...f(c,["setBookChangeFlag","loadBooks"]),click(){this.setBookChangeFlag(),this.$emit("click")},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function uo(e,t,a,d,l,o){const s=Ce,p=Se;return u(),g(ge,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:o.click},{prev:i(()=>[n(s,{direction:"prev"})]),next:i(()=>[n(s,{direction:"next"})]),default:i(()=>[(u(!0),b(R,null,x(e.books,k=>(u(),g(pe,{key:`c/${k.pk}`,class:"windowItem",disabled:"",eager:o.eager(k.pk),value:k.pk,transition:!0},{default:i(()=>[n(p,{book:k,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ye=m(co,[["render",uo],["__scopeId","data-v-2a90783e"]]),ho={a:je,f:Ye,s:Xe},po={a:"Story Arc",f:"Folder",s:"Series"},go={name:"ReaderArcSelect",computed:{...P(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pk===t.pk)return t.name;return"Unknown"},arcKey:e=>`${e.arc.group}:${e.arc.pk}`,arcItems:e=>{const t=[];for(const a of e.arcs){const d={value:`${a.group}:${a.pk}`,title:a.name,group:a.group};t.push(d)}return t},arcPosition:function(e){const t=e.arc;return t&&t.index&&t.count?`${t.index}/${t.count}`:""}}),arc:{get(){return this.arcKey},set(e){const t=this.$route.params;if(!t)return;const[a,d]=e.split(":"),l={...t,arcGroup:a,arcPk:d};this.loadBooks(l)}}},methods:{...f(c,["loadBooks"]),arcIcon(e){return ho[e]},arcLabel(e){return po[e]},checkIcon(e){return e===this.arc?Ke:""}}},mo={key:2,id:"arcPosition"};function ko(e,t,a,d,l,o){return u(),b(R,null,[e.arcItems.length>1?(u(),g(mt,{key:0,modelValue:o.arc,"onUpdate:modelValue":t[0]||(t[0]=s=>o.arc=s),class:"arcSelect",density:"compact","hide-details":"auto",label:"Order",variant:"plain",items:e.arcItems},{item:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain","prepend-icon":o.arcIcon(s.raw.group),subtitle:o.arcLabel(s.raw.group),"append-icon":o.checkIcon(p.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:i(({item:s,props:p})=>[n(E,W(p,{density:"compact",variant:"plain"}),{default:i(()=>[n(v,null,{default:i(()=>[h(_(o.arcIcon(s.raw.group)),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","items"])):(u(),g(v,{key:1,id:"onlyArc",title:e.arcName},{default:i(()=>[h(_(o.arcIcon(e.arcGroup)),1)]),_:1},8,["title"])),e.arcPosition?(u(),b("span",mo,_(e.arcPosition),1)):S("",!0)],64)}const Re=m(go,[["render",ko],["__scopeId","data-v-90090a3c"]]),_o={name:"ReaderTitleToolbar",components:{MetadataDialog:le,ReaderArcSelect:Re,SettingsDrawerButton:Oe},data(){return{mdiClose:Ze,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...w(c,["activeTitle"]),...P(c,{currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}}}),...P(ht,{lastRoute:e=>e.page.routes.last}),...G(T,["isSettingsDrawerOpen"]),closeBookRoute:function(){var t;const e={name:"browser",params:this.lastRoute};return e.params?e.hash=`#card-${(t=this.currentBook)==null?void 0:t.pk}`:e.params=window.CODEX.LAST_ROUTE||pt.browser.route,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...f(T,["setTimestamp"]),...f(c,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){switch(e.stopPropagation(),e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.openMetadata();break}}}},bo={key:0};function fo(e,t,a,d,l,o){const s=Re,p=le,k=y("SettingsDrawerButton");return u(),g(Ee,{id:"readerTopToolbar",class:"codexToolbar",density:"compact"},{default:i(()=>[n(K,null,{default:i(()=>[n(q,{id:"closeBook",ref:"closeBook",to:o.closeBookRoute,size:"large",onClick:o.onCloseBook},{default:i(()=>[e.$vuetify.display.smAndDown?(u(),g(v,{key:1,title:"Close Book"},{default:i(()=>[h(_(l.mdiClose),1)]),_:1})):(u(),b("span",bo,"close book"))]),_:1},8,["to","onClick"])]),_:1}),n(xe,{id:"toolbarTitle",class:"codexToolbarTitle"},{default:i(()=>[h(_(e.activeTitle),1)]),_:1}),n(K,null,{default:i(()=>[n(s),n(q,{id:"tagButton",onClick:O(o.openMetadata,["stop"])},{default:i(()=>[n(p,{ref:"metadataDialog",group:"c",book:e.currentBook},null,8,["book"])]),_:1},8,["onClick"]),n(k,{id:"settingsButton",onClick:t[0]||(t[0]=O(I=>e.isSettingsDrawerOpen=!0,["stop"]))})]),_:1})]),_:1})}const Be=m(_o,[["render",fo],["__scopeId","data-v-5d12ffc0"]]),Po={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...w(c,["isBTT"]),...P(c,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...f(c,["getSettings","linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function vo(e,t,a,d,l,o){const s=y("router-link");return o.show?(u(),g(Ae,{key:0,class:"bookChangeDrawer","disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:i(()=>[n(s,{class:D({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=p=>p.stopImmediatePropagation())},{default:i(()=>[n(v,{class:"bookChangeIcon"},{default:i(()=>[h(_(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value"])):S("",!0)}const Te=m(Po,[["render",vo],["__scopeId","data-v-457facfc"]]),wo={name:"DownloadPanel",data(){return{mdiDownload:Qe,mdiFileImage:Je}},computed:{...w(c,["activeTitle","routeParams"]),...P(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Ne(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Fe({pk:e,page:this.storePage,mtime:t})},pageName(){return`${this.activeTitle} - page ${this.storePage}.jpg`}},methods:{...f(T,["downloadIOSPWAFix"]),downloadPage(){this.downloadIOSPWAFix(this.pageSrc,this.pageName)},downloadBook(){this.downloadIOSPWAFix(this.downloadURL,this.filename)}}},So={id:"downloadPanel"};function Co(e,t,a,d,l,o){return u(),b("div",So,[n(E,{onClick:o.downloadPage},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiFileImage),1)]),_:1}),h("Download Page "+_(e.storePage),1)]),_:1})]),_:1},8,["onClick"]),n(E,{onClick:o.downloadBook},{default:i(()=>[n(j,null,{default:i(()=>[n(v,null,{default:i(()=>[h(_(l.mdiDownload),1)]),_:1}),h("Download Book ")]),_:1})]),_:1},8,["onClick"])])}const De=m(wo,[["render",Co],["__scopeId","data-v-079b7d8d"]]),Ie=["fitTo","readingDirection","twoPages"];Object.freeze(Ie);const yo={name:"ReaderSettingsPanel",data(){return{isGlobalScope:!1,mdiOpenInNew:et}},computed:{...w(c,["isVertical","isPDF","cacheBook"]),...P(c,{choices:e=>e.choices,selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const d of Ie){const l=(a=e.books)==null?void 0:a.current.settings[d];if(!e.choices.nullValues.has(l))return!1}return!0},bookInBrowserURL(e){var t;return tt((t=e.books)==null?void 0:t.current)}}),...G(c,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...f(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){e.stopPropagation();let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},Ro={id:"readerSettings"},Bo=["href"];function To(e,t,a,d,l,o){return u(),b("div",Ro,[n(z,{modelValue:l.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>l.isGlobalScope=s),density:"compact",label:"Scope","hide-details":"auto"},{default:i(()=>[n($,{label:"Only this comic",value:!1}),n($,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.fitToChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),n(z,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:i(()=>[(u(!0),b(R,null,x(o.readingDirectionChoices,s=>(u(),g($,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n(M,{"model-value":e.cacheBook,class:"cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),e.isPDF?(u(),b("a",{key:0,id:"readPDFInBrowser",href:e.bookInBrowserURL,target:"_blank"},[n(v,null,{default:i(()=>[h(_(l.mdiOpenInNew),1)]),_:1}),h("Read PDF in Browser ")],8,Bo)):S("",!0),l.isGlobalScope?(u(),g(M,{key:1,"model-value":e.selectedSettings.readRtlInReverse,class:"readRtlInReverse",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"])):S("",!0),l.isGlobalScope?S("",!0):(u(),g(q,{key:2,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,title:"Use the default settings for all comics for this comic",onClick:e.clearSettingsLocal},{default:i(()=>[h(" Clear Comic Settings ")]),_:1},8,["disabled","onClick"]))])}const $e=m(yo,[["render",To],["__scopeId","data-v-953d00f1"]]),Do={name:"KeyboardShortcutsPanel",data(){return{mdiMenuLeft:ot,mdiMenuRight:at,mdiKeyboardOutline:st,mdiKeyboardSpace:rt,mdiAppleKeyboardShift:nt}},computed:{...w(T,["isMobile"])}},C=e=>(it("data-v-a8b4ac47"),e=e(),lt(),e),Io=C(()=>r("h4",null,"Navigation",-1)),$o={class:"highlight-table"},Lo=C(()=>r("td",null,"Previous page",-1)),Vo=C(()=>r("td",null,"Next page",-1)),Oo=C(()=>r("tr",null,[r("td",null,","),r("td",null,[h("Next "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),xo=C(()=>r("tr",null,[r("td",null,"."),r("td",null,[h("Previous "),r("em",null,"only"),h(" one page in two page mode.")])],-1)),Eo=C(()=>r("tr",null,[r("td",null,"p"),r("td",null,"Previous Book")],-1)),Ao=C(()=>r("tr",null,[r("td",null,"n"),r("td",null,"Next Book")],-1)),No=C(()=>r("tr",null,[r("td",null,"esc"),r("td",null,"Close book")],-1)),Fo=C(()=>r("h4",null,"Fit Page To",-1)),Uo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"s"),r("td",null,"screen")]),r("tr",null,[r("td",null,"h"),r("td",null,"screen height")]),r("tr",null,[r("td",null,"w"),r("td",null,"screen width")]),r("tr",null,[r("td",null,"o"),r("td",null,"Show page at original size")]),r("tr",null,[r("td",null,"2"),r("td",null,"Toggle two page view")]),r("tr",null,[r("td",null,"r"),r("td",null,"Read Right to Left")]),r("tr",null,[r("td",null,"l"),r("td",null,"Read Left to Right")]),r("tr",null,[r("td",null,"t"),r("td",null,"Read Top to Bottom")]),r("tr",null,[r("td",null,"b"),r("td",null,"Read in Bottom to Top")])])],-1)),zo=C(()=>r("h4",null,"Other",-1)),Mo=C(()=>r("table",{class:"highlight-table"},[r("tbody",null,[r("tr",null,[r("td",null,"m"),r("td",null,"Show comic's metadata")]),r("tr",null,[r("td",null,"double click"),r("td",null,"Zoom page")])])],-1));function Wo(e,t,a,d,l,o){return e.isMobile?S("",!0):(u(),g(ft,{key:0},{default:i(()=>[n(kt,{id:"readerKeyboardShortcuts"},{default:i(()=>[n(_t,{id:"shortcutsTitle"},{default:i(()=>[n(v,{id:"keyboardIcon"},{default:i(()=>[h(_(l.mdiKeyboardOutline),1)]),_:1}),h("Keyboard Shortcuts ")]),_:1}),n(bt,null,{default:i(()=>[Io,r("table",$o,[r("tbody",null,[r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuLeft),1)]),_:1}),h(", j, "),r("div",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiAppleKeyboardShift),1)]),_:1}),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})])]),Lo]),r("tr",null,[r("td",null,[n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiMenuRight),1)]),_:1}),h(", k, "),n(v,{class:"keyIcon",density:"compact"},{default:i(()=>[h(_(l.mdiKeyboardSpace),1)]),_:1})]),Vo]),Oo,xo,Eo,Ao,No])]),Fo,Uo,zo,Mo]),_:1})]),_:1})]),_:1}))}const qo=m(Do,[["render",Wo],["__scopeId","data-v-a8b4ac47"]]),Ho={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:De,ReaderKeyboardShortcutsPanel:qo,ReaderSettingsPanel:$e}};function Go(e,t,a,d,l,o){const s=$e,p=y("ReaderKeyboardShortcutsPanel"),k=De;return u(),b(R,null,[n(s),n(Y),n(p),n(Y),n(k)],64)}const Ko=m(Ho,[["render",Go]]),jo={name:"MainReader",components:{BookChangeDrawer:Te,BooksWindow:ye,ReaderNavToolbar:_e,ReaderTitleToolbar:Be,SettingsDrawer:re},data(){return{showToolbars:!1,ReaderSettingsSuperPanel:H(Ko)}},computed:{...w(X,["isCodexViewable"]),...P(X,{user:e=>e.user})},watch:{user(){this.loadReaderSettings()},isCodexViewable(){this.loadReaderSettings()}},created(){T().isSettingsDrawerOpen=!1},beforeMount(){c().$reset,this.loadReaderSettings()},methods:{...f(c,["loadReaderSettings"]),toggleToolbars(){this.showToolbars=!this.showToolbars}}},Yo={key:0,id:"readerContainer"},Xo={key:1,id:"announcement"};function Zo(e,t,a,d,l,o){const s=Te,p=Be,k=ye,I=_e,F=y("router-link"),Le=re;return u(),b(R,null,[n(Pt,{id:"readerWrapper"},{default:i(()=>[n(s,{direction:"prev"}),e.isCodexViewable?(u(),b("div",Yo,[n(ct,null,{default:i(()=>[B(n(p,null,null,512),[[Z,l.showToolbars]])]),_:1}),n(k,{onClick:o.toggleToolbars},null,8,["onClick"]),n(ut,null,{default:i(()=>[B(n(I,null,null,512),[[Z,l.showToolbars]])]),_:1})])):(u(),b("div",Xo,[r("h1",null,[n(F,{to:{name:"home"}},{default:i(()=>[h(" Log in ")]),_:1}),h(" to read comics ")])]))]),_:1}),n(s,{direction:"next"}),n(Le,{title:"Reader Settings",panel:l.ReaderSettingsSuperPanel,temporary:""},null,8,["panel"])],64)}const ma=m(jo,[["render",Zo],["__scopeId","data-v-fd949081"]]);export{ma as default};
|
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{stats-tab-VaVi9-_s.186447352c39.js → stats-tab-BFuWdQ3i.625b51e3ee5b.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as b}from"./confirm-dialog-
|
|
1
|
+
import{_ as b}from"./confirm-dialog-CKiPNGTr.js";import{_ as g,M as m,k as I,t as y,c0 as k,c1 as A,N as B,b4 as P,ay as a,aD as t,L as i,P as u,aB as r,R as d,ae as l,al as w,az as S,aa as _,ad as K,c2 as v,be as R,bh as D,aH as V,aI as N}from"./admin-drawer-panel-C5XtSLXl.js";import{c as E}from"./index-DUjeNg4x.js";import{c as L}from"./to-case-kUm8NPpW.js";import{V as c}from"./VTable-CXI0Xaio.js";import"./confirm-footer-CP02GqhM.js";import"./main-D1r3hZ0f.js";const M="Copy API Key to clipboard",p=" ",O={name:"AdminTasksTab",components:{ConfirmDialog:b},data(){return{showTooltip:{show:!1},apiSchemaURL:window.CODEX.API_V3_PATH}},computed:{...m(I,{}),...m(y,{stats:s=>s.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return M?this.clipBoardEnabled:void 0},clipBoardIcon(){return this.showTooltip?k:A}},created(){this.loadStats()},methods:{...B(y,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},nf(s){return P.format(s)},onClickAPIKey(){this.clipBoardEnabled&&E(this.stats.config.apiKey,this.showTooltip)},metadataTitle(s){let o=s.replace(/Count$/,"");return o=L(o),o=o.replace(/^Contributor\s/,p),o=o.replace(/^Identifier\s/,p),o=o.replace(/^Story\sArc\s/,p),o}}},e=s=>(V("data-v-dbe3be76"),s=s(),N(),s),U={key:0,id:"stats"},F={class:"statBlock"},z=e(()=>t("h3",null,"Platform",-1)),H=e(()=>t("td",null,"Docker",-1)),j=e(()=>t("td",null,"Machine",-1)),G=e(()=>t("td",null,"System",-1)),X=e(()=>t("td",null,"Python",-1)),Z=e(()=>t("td",null,"Codex",-1)),q={class:"statBlock"},J=e(()=>t("h3",null,"Config",-1)),Q=e(()=>t("td",null,"Libraries",-1)),W=e(()=>t("td",null,"Anonymous Users",-1)),Y=e(()=>t("td",null,"Registered Users",-1)),x=e(()=>t("td",null,"Groups",-1)),$={class:"statBlock"},tt=e(()=>t("h3",null,"Groups",-1)),st=e(()=>t("td",null,"Folders",-1)),et=e(()=>t("td",null,"Publishers",-1)),lt=e(()=>t("td",null,"Imprints",-1)),nt=e(()=>t("td",null,"Series",-1)),ot=e(()=>t("td",null,"Volumes",-1)),at=e(()=>t("td",null,"Issues",-1)),dt={key:0},it=e(()=>t("td",{class:"indent"},"CBZ",-1)),rt={key:1},ut=e(()=>t("td",{class:"indent"},"CBR",-1)),ct={key:2},ht=e(()=>t("td",{class:"indent"},"CBX",-1)),_t={key:3},pt=e(()=>t("td",{class:"indent"},"CBT",-1)),ft={key:4},mt=e(()=>t("td",{class:"indent"},"PDF",-1)),yt={key:5},bt=e(()=>t("td",{class:"indent"},"Unknown",-1)),Ct={class:"statBlock"},Tt=e(()=>t("h3",null,"Metadata",-1)),gt=["innerHTML"],It={class:"statBlock"},kt=e(()=>t("h3",null,"API",-1)),At=e(()=>t("td",null,"Schema Documentation:",-1)),Bt={id:"schemaDocValue"},Pt=["href"],wt=["title"],St={key:0},Kt={class:"copied"},vt={id:"apiKey"},Rt={colspan:"2"};function Dt(s,o,Vt,Nt,f,n){const C=b;return s.stats?(d(),a("div",U,[t("div",F,[z,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[H,t("td",null,l(s.stats.platform.docker),1)]),t("tr",null,[j,t("td",null,l(s.stats.platform.machine),1)]),t("tr",null,[G,t("td",null,l(s.stats.platform.system)+" "+l(s.stats.platform.systemRelease),1)]),t("tr",null,[X,t("td",null,l(s.stats.platform.python),1)]),t("tr",null,[Z,t("td",null,l(s.stats.platform.codex),1)])])]),_:1})]),t("div",q,[J,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[Q,t("td",null,l(n.nf(s.stats.config.librariesCount)),1)]),t("tr",null,[W,t("td",null,l(n.nf(s.stats.config.sessionsAnonCount)),1)]),t("tr",null,[Y,t("td",null,l(n.nf(s.stats.config.usersCount)),1)]),t("tr",null,[x,t("td",null,l(n.nf(s.stats.config.groupsCount)),1)])])]),_:1})]),t("div",$,[tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[st,t("td",null,l(n.nf(s.stats.groups.foldersCount)),1)]),t("tr",null,[et,t("td",null,l(n.nf(s.stats.groups.publishersCount)),1)]),t("tr",null,[lt,t("td",null,l(n.nf(s.stats.groups.imprintsCount)),1)]),t("tr",null,[nt,t("td",null,l(n.nf(s.stats.groups.seriesCount)),1)]),t("tr",null,[ot,t("td",null,l(n.nf(s.stats.groups.volumesCount)),1)]),t("tr",null,[at,t("td",null,l(n.nf(s.stats.groups.issuesCount)),1)]),s.stats.fileTypes.cbzCount?(d(),a("tr",dt,[it,t("td",null,l(n.nf(s.stats.fileTypes.cbzCount)),1)])):r("",!0),s.stats.fileTypes.cbrCount?(d(),a("tr",rt,[ut,t("td",null,l(n.nf(s.stats.fileTypes.cbrCount)),1)])):r("",!0),s.stats.fileTypes.cbxCount?(d(),a("tr",ct,[ht,t("td",null,l(n.nf(s.stats.fileTypes.cbxCount)),1)])):r("",!0),s.stats.fileTypes.cbtCount?(d(),a("tr",_t,[pt,t("td",null,l(n.nf(s.stats.fileTypes.cbtCount)),1)])):r("",!0),s.stats.fileTypes.pdfCount?(d(),a("tr",ft,[mt,t("td",null,l(n.nf(s.stats.fileTypes.pdfCount)),1)])):r("",!0),s.stats.fileTypes.unknownCount?(d(),a("tr",yt,[bt,t("td",null,l(n.nf(s.stats.fileTypes.unknownCount)),1)])):r("",!0)])]),_:1})]),t("div",Ct,[Tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[(d(!0),a(w,null,S(Object.entries(s.stats.metadata),([h,T])=>(d(),a("tr",{key:h},[t("td",{innerHTML:n.metadataTitle(h)},null,8,gt),t("td",null,l(n.nf(T)),1)]))),128))])]),_:1})]),t("div",It,[kt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[At,t("td",Bt,[_(" The only endpoint accessible with API Key access is "),t("a",{href:`${f.apiSchemaURL}#/api/api_v3_admin_stats_retrieve`,target:"_blank"},"/admin/stats",8,Pt)])]),t("tr",{id:"apiKeyRow",title:n.apiTooltip,onClick:o[0]||(o[0]=(...h)=>n.onClickAPIKey&&n.onClickAPIKey(...h))},[t("td",null,[_(" API Key "),n.clipBoardEnabled?(d(),a("span",St,[i(K,{class:"clipBoardIcon",size:"small"},{default:u(()=>[_(l(n.clipBoardIcon),1)]),_:1}),i(v,null,{default:u(()=>[R(t("span",Kt,"Copied",512),[[D,f.showTooltip.show]])]),_:1})])):r("",!0)]),t("td",vt,l(s.stats.config.apiKey),1)],8,wt),t("tr",null,[t("td",Rt,[i(C,{"button-text":"Regenerate API Key","title-text":"Regenerate","object-name":"API Key","confirm-text":"Regenerate",onConfirm:n.regenAPIKey},null,8,["onConfirm"])])])])]),_:1})])])):r("",!0)}const Ht=g(O,[["render",Dt],["__scopeId","data-v-dbe3be76"]]);export{Ht as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as b}from"./confirm-dialog-
|
|
1
|
+
import{_ as b}from"./confirm-dialog-CKiPNGTr.js";import{_ as g,M as m,k as I,t as y,c0 as k,c1 as A,N as B,b4 as P,ay as a,aD as t,L as i,P as u,aB as r,R as d,ae as l,al as w,az as S,aa as _,ad as K,c2 as v,be as R,bh as D,aH as V,aI as N}from"./admin-drawer-panel-C5XtSLXl.js";import{c as E}from"./index-DUjeNg4x.js";import{c as L}from"./to-case-kUm8NPpW.js";import{V as c}from"./VTable-CXI0Xaio.js";import"./confirm-footer-CP02GqhM.js";import"./main-D1r3hZ0f.js";const M="Copy API Key to clipboard",p=" ",O={name:"AdminTasksTab",components:{ConfirmDialog:b},data(){return{showTooltip:{show:!1},apiSchemaURL:window.CODEX.API_V3_PATH}},computed:{...m(I,{}),...m(y,{stats:s=>s.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return M?this.clipBoardEnabled:void 0},clipBoardIcon(){return this.showTooltip?k:A}},created(){this.loadStats()},methods:{...B(y,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},nf(s){return P.format(s)},onClickAPIKey(){this.clipBoardEnabled&&E(this.stats.config.apiKey,this.showTooltip)},metadataTitle(s){let o=s.replace(/Count$/,"");return o=L(o),o=o.replace(/^Contributor\s/,p),o=o.replace(/^Identifier\s/,p),o=o.replace(/^Story\sArc\s/,p),o}}},e=s=>(V("data-v-dbe3be76"),s=s(),N(),s),U={key:0,id:"stats"},F={class:"statBlock"},z=e(()=>t("h3",null,"Platform",-1)),H=e(()=>t("td",null,"Docker",-1)),j=e(()=>t("td",null,"Machine",-1)),G=e(()=>t("td",null,"System",-1)),X=e(()=>t("td",null,"Python",-1)),Z=e(()=>t("td",null,"Codex",-1)),q={class:"statBlock"},J=e(()=>t("h3",null,"Config",-1)),Q=e(()=>t("td",null,"Libraries",-1)),W=e(()=>t("td",null,"Anonymous Users",-1)),Y=e(()=>t("td",null,"Registered Users",-1)),x=e(()=>t("td",null,"Groups",-1)),$={class:"statBlock"},tt=e(()=>t("h3",null,"Groups",-1)),st=e(()=>t("td",null,"Folders",-1)),et=e(()=>t("td",null,"Publishers",-1)),lt=e(()=>t("td",null,"Imprints",-1)),nt=e(()=>t("td",null,"Series",-1)),ot=e(()=>t("td",null,"Volumes",-1)),at=e(()=>t("td",null,"Issues",-1)),dt={key:0},it=e(()=>t("td",{class:"indent"},"CBZ",-1)),rt={key:1},ut=e(()=>t("td",{class:"indent"},"CBR",-1)),ct={key:2},ht=e(()=>t("td",{class:"indent"},"CBX",-1)),_t={key:3},pt=e(()=>t("td",{class:"indent"},"CBT",-1)),ft={key:4},mt=e(()=>t("td",{class:"indent"},"PDF",-1)),yt={key:5},bt=e(()=>t("td",{class:"indent"},"Unknown",-1)),Ct={class:"statBlock"},Tt=e(()=>t("h3",null,"Metadata",-1)),gt=["innerHTML"],It={class:"statBlock"},kt=e(()=>t("h3",null,"API",-1)),At=e(()=>t("td",null,"Schema Documentation:",-1)),Bt={id:"schemaDocValue"},Pt=["href"],wt=["title"],St={key:0},Kt={class:"copied"},vt={id:"apiKey"},Rt={colspan:"2"};function Dt(s,o,Vt,Nt,f,n){const C=b;return s.stats?(d(),a("div",U,[t("div",F,[z,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[H,t("td",null,l(s.stats.platform.docker),1)]),t("tr",null,[j,t("td",null,l(s.stats.platform.machine),1)]),t("tr",null,[G,t("td",null,l(s.stats.platform.system)+" "+l(s.stats.platform.systemRelease),1)]),t("tr",null,[X,t("td",null,l(s.stats.platform.python),1)]),t("tr",null,[Z,t("td",null,l(s.stats.platform.codex),1)])])]),_:1})]),t("div",q,[J,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[Q,t("td",null,l(n.nf(s.stats.config.librariesCount)),1)]),t("tr",null,[W,t("td",null,l(n.nf(s.stats.config.sessionsAnonCount)),1)]),t("tr",null,[Y,t("td",null,l(n.nf(s.stats.config.usersCount)),1)]),t("tr",null,[x,t("td",null,l(n.nf(s.stats.config.groupsCount)),1)])])]),_:1})]),t("div",$,[tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[st,t("td",null,l(n.nf(s.stats.groups.foldersCount)),1)]),t("tr",null,[et,t("td",null,l(n.nf(s.stats.groups.publishersCount)),1)]),t("tr",null,[lt,t("td",null,l(n.nf(s.stats.groups.imprintsCount)),1)]),t("tr",null,[nt,t("td",null,l(n.nf(s.stats.groups.seriesCount)),1)]),t("tr",null,[ot,t("td",null,l(n.nf(s.stats.groups.volumesCount)),1)]),t("tr",null,[at,t("td",null,l(n.nf(s.stats.groups.issuesCount)),1)]),s.stats.fileTypes.cbzCount?(d(),a("tr",dt,[it,t("td",null,l(n.nf(s.stats.fileTypes.cbzCount)),1)])):r("",!0),s.stats.fileTypes.cbrCount?(d(),a("tr",rt,[ut,t("td",null,l(n.nf(s.stats.fileTypes.cbrCount)),1)])):r("",!0),s.stats.fileTypes.cbxCount?(d(),a("tr",ct,[ht,t("td",null,l(n.nf(s.stats.fileTypes.cbxCount)),1)])):r("",!0),s.stats.fileTypes.cbtCount?(d(),a("tr",_t,[pt,t("td",null,l(n.nf(s.stats.fileTypes.cbtCount)),1)])):r("",!0),s.stats.fileTypes.pdfCount?(d(),a("tr",ft,[mt,t("td",null,l(n.nf(s.stats.fileTypes.pdfCount)),1)])):r("",!0),s.stats.fileTypes.unknownCount?(d(),a("tr",yt,[bt,t("td",null,l(n.nf(s.stats.fileTypes.unknownCount)),1)])):r("",!0)])]),_:1})]),t("div",Ct,[Tt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[(d(!0),a(w,null,S(Object.entries(s.stats.metadata),([h,T])=>(d(),a("tr",{key:h},[t("td",{innerHTML:n.metadataTitle(h)},null,8,gt),t("td",null,l(n.nf(T)),1)]))),128))])]),_:1})]),t("div",It,[kt,i(c,{class:"highlight-table"},{default:u(()=>[t("tbody",null,[t("tr",null,[At,t("td",Bt,[_(" The only endpoint accessible with API Key access is "),t("a",{href:`${f.apiSchemaURL}#/api/api_v3_admin_stats_retrieve`,target:"_blank"},"/admin/stats",8,Pt)])]),t("tr",{id:"apiKeyRow",title:n.apiTooltip,onClick:o[0]||(o[0]=(...h)=>n.onClickAPIKey&&n.onClickAPIKey(...h))},[t("td",null,[_(" API Key "),n.clipBoardEnabled?(d(),a("span",St,[i(K,{class:"clipBoardIcon",size:"small"},{default:u(()=>[_(l(n.clipBoardIcon),1)]),_:1}),i(v,null,{default:u(()=>[R(t("span",Kt,"Copied",512),[[D,f.showTooltip.show]])]),_:1})])):r("",!0)]),t("td",vt,l(s.stats.config.apiKey),1)],8,wt),t("tr",null,[t("td",Rt,[i(C,{"button-text":"Regenerate API Key","title-text":"Regenerate","object-name":"API Key","confirm-text":"Regenerate",onConfirm:n.regenAPIKey},null,8,["onConfirm"])])])])]),_:1})])])):r("",!0)}const Ht=g(O,[["render",Dt],["__scopeId","data-v-dbe3be76"]]);export{Ht as default};
|
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{task-tab-C0L1rPrr.249d29a1eb6b.js → task-tab-DrTBYMCB.ac4473d3a137.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as d}from"./confirm-dialog-
|
|
1
|
+
import{_ as d}from"./confirm-dialog-CKiPNGTr.js";import{_ as m,d8 as p,M as _,k as h,N as v,t as b,ay as t,aD as n,ae as r,al as c,az as l,R as e,ab as y,O as i,P as C,aa as S,ak as T,aH as B,aI as x}from"./admin-drawer-panel-C5XtSLXl.js";import"./confirm-footer-CP02GqhM.js";import"./main-D1r3hZ0f.js";const D={name:"AdminTasksTab",components:{ConfirmDialog:d},data(){return{tasks:p}},computed:{..._(h,{formSuccess:s=>s.form.success,formErrors:s=>s.form.errors})},methods:{...v(b,["librarianTask"])}},E=s=>(B("data-v-e6ffa3c6"),s=s(),x(),s),I={id:"tasks"},$=E(()=>n("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),g={key:0,id:"success"},N={key:1,id:"error"},w={key:2,id:"noRecentTask"},A={class:"taskBox"},L={class:"taskDesc"};function V(s,j,z,R,u,F){const k=d;return e(),t("div",I,[n("div",null,[$,n("span",null,[s.formSuccess?(e(),t("span",g,r(s.formSuccess),1)):s.formErrors&&s.formErrors.length>0?(e(),t("span",N,[(e(!0),t(c,null,l(s.formErrors,o=>(e(),t("span",{key:o},r(o),1))),128))])):(e(),t("span",w,"No recent task"))])]),(e(!0),t(c,null,l(u.tasks,o=>(e(),t("div",{key:o.title,"fixed-header":"",class:"taskGroup"},[n("h3",null,r(o.title),1),(e(!0),t(c,null,l(o.tasks,a=>(e(),t("div",{key:a.value,class:y(["trow",{selected:!1}])},[n("div",A,[a.confirm?(e(),i(k,{key:0,"button-text":a.title,"title-text":a.title,"object-name":a.confirm,"confirm-text":"Confirm",onConfirm:f=>s.librarianTask(a.value,a.title)},null,8,["button-text","title-text","object-name","onConfirm"])):(e(),i(T,{key:1,block:"",onClick:f=>s.librarianTask(a.value,a.title)},{default:C(()=>[S(r(a.title),1)]),_:2},1032,["onClick"])),n("div",L,r(a.desc),1)])]))),128))]))),128))])}const P=m(D,[["render",V],["__scopeId","data-v-e6ffa3c6"]]);export{P as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as d}from"./confirm-dialog-
|
|
1
|
+
import{_ as d}from"./confirm-dialog-CKiPNGTr.js";import{_ as m,d8 as p,M as _,k as h,N as v,t as b,ay as t,aD as n,ae as r,al as c,az as l,R as e,ab as y,O as i,P as C,aa as S,ak as T,aH as B,aI as x}from"./admin-drawer-panel-C5XtSLXl.js";import"./confirm-footer-CP02GqhM.js";import"./main-D1r3hZ0f.js";const D={name:"AdminTasksTab",components:{ConfirmDialog:d},data(){return{tasks:p}},computed:{..._(h,{formSuccess:s=>s.form.success,formErrors:s=>s.form.errors})},methods:{...v(b,["librarianTask"])}},E=s=>(B("data-v-e6ffa3c6"),s=s(),x(),s),I={id:"tasks"},$=E(()=>n("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),g={key:0,id:"success"},N={key:1,id:"error"},w={key:2,id:"noRecentTask"},A={class:"taskBox"},L={class:"taskDesc"};function V(s,j,z,R,u,F){const k=d;return e(),t("div",I,[n("div",null,[$,n("span",null,[s.formSuccess?(e(),t("span",g,r(s.formSuccess),1)):s.formErrors&&s.formErrors.length>0?(e(),t("span",N,[(e(!0),t(c,null,l(s.formErrors,o=>(e(),t("span",{key:o},r(o),1))),128))])):(e(),t("span",w,"No recent task"))])]),(e(!0),t(c,null,l(u.tasks,o=>(e(),t("div",{key:o.title,"fixed-header":"",class:"taskGroup"},[n("h3",null,r(o.title),1),(e(!0),t(c,null,l(o.tasks,a=>(e(),t("div",{key:a.value,class:y(["trow",{selected:!1}])},[n("div",A,[a.confirm?(e(),i(k,{key:0,"button-text":a.title,"title-text":a.title,"object-name":a.confirm,"confirm-text":"Confirm",onConfirm:f=>s.librarianTask(a.value,a.title)},null,8,["button-text","title-text","object-name","onConfirm"])):(e(),i(T,{key:1,block:"",onClick:f=>s.librarianTask(a.value,a.title)},{default:C(()=>[S(r(a.title),1)]),_:2},1032,["onClick"])),n("div",L,r(a.desc),1)])]))),128))]))),128))])}const P=m(D,[["render",V],["__scopeId","data-v-e6ffa3c6"]]);export{P as default};
|
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{user-tab-Cj-rHVvF.cbb1700e110d.js → user-tab-CYzh_eX6.a2470464a951.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as k}from"./change-password-dialog-
|
|
1
|
+
import{_ as k}from"./change-password-dialog-BkX8NP9F.js";import{A as j,a as x,b as I,_,V as N}from"./VDataTableVirtual-ohR-xfIW.js";import{M as f,t as d,N as y,_ as v,Q as u,R as p,ay as b,L as a,aX as A,aB as D,aC as B,m as L,aD as n,P as l,O,aa as i}from"./admin-drawer-panel-C5XtSLXl.js";import{D as z}from"./datetime-column-BnilMk5Y.js";import{a as C}from"./main-D1r3hZ0f.js";import{a as c}from"./VSlideGroup-BW6pFVGY.js";import{V as U}from"./VCheckbox-CAnsONJ8.js";import{V}from"./VCheckboxBtn-DQTVBkac.js";import"./confirm-footer-CP02GqhM.js";import"./confirm-dialog-CKiPNGTr.js";import"./VSelect-YSL0tIop.js";import"./VSelectionControl-D0ha1VYk.js";import"./VTable-CXI0Xaio.js";import"./filter-Dp8VoLoJ.js";const R=["username","isStaff","isActive","groups"];Object.freeze(R);const g={username:"",password:"",passwordConfirm:"",isStaff:!1,isActive:!0,groups:[]};Object.freeze(g);const J={name:"AdminUserCreateUpdateInputs",components:{AdminRelationPicker:j},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{username:[e=>!!e||"Username is required",e=>!!e&&!this.usernames.has(e.trim())||"Username already used"],password:[e=>!!e||"Password is required"],passwordConfirm:[e=>e===this.row.password||"Passwords must match"]},row:C.cloneDeep(this.oldRow||g)}},computed:{...f(d,{groups:e=>e.groups,users:e=>e.users}),usernames(){return this.nameSet(this.users,"username",this.oldRow,!0)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=C.cloneDeep(e)},deep:!0}},methods:{...y(d,["nameSet"])},UPDATE_KEYS:R,EMPTY_ROW:g},K={key:0};function M(e,o,h,S,s,T){const m=u("AdminRelationPicker");return p(),b("div",null,[a(c,{modelValue:s.row.username,"onUpdate:modelValue":o[0]||(o[0]=r=>s.row.username=r),autocomplete:"username",label:"Username",rules:s.rules.username,clearable:"",autofocus:"",onKeydown:o[1]||(o[1]=A(r=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),h.oldRow?D("",!0):(p(),b("div",K,[a(c,{ref:"password",modelValue:s.row.password,"onUpdate:modelValue":o[2]||(o[2]=r=>s.row.password=r),autocomplete:"new-password",label:"Password",rules:s.rules.password,clearable:"",type:"password",onKeydown:o[3]||(o[3]=A(r=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules"]),a(c,{ref:"passwordConfirm",modelValue:s.row.passwordConfirm,"onUpdate:modelValue":o[4]||(o[4]=r=>s.row.passwordConfirm=r),autocomplete:"new-password",label:"Confirm Password",rules:s.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"])])),a(U,{modelValue:s.row.isStaff,"onUpdate:modelValue":o[5]||(o[5]=r=>s.row.isStaff=r),label:"Is Staff"},null,8,["modelValue"]),a(U,{modelValue:s.row.isActive,"onUpdate:modelValue":o[6]||(o[6]=r=>s.row.isActive=r),label:"Is Active"},null,8,["modelValue"]),a(m,{modelValue:s.row.groups,"onUpdate:modelValue":o[7]||(o[7]=r=>s.row.groups=r),label:"Groups",objs:e.groups,"title-key":"name","group-type":""},null,8,["modelValue","objs"])])}const Y=v(J,[["render",M]]),G={name:"AdminUsersTab",components:{AdminDeleteRowDialog:x,ChangePasswordDialog:k,AdminCreateUpdateDialog:I,DateTimeColumn:z,RelationChips:_},data(){return{AdminUserCreateUpdateInputs:B(Y),headers:[{title:"Username",key:"username",align:"start"},{title:"Staff",key:"isStaff"},{title:"Active",key:"isActive"},{title:"Groups",key:"groups"},{title:"Last Active",key:"lastActive"},{title:"Last Login",key:"lastLogin"},{title:"Joined",key:"dateJoined"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...f(d,{users:e=>e.users,groups:e=>e.groups}),...f(L,{me:e=>e.user})},mounted(){this.loadTables(["Group","User"])},methods:{...y(d,["loadTables"])}},q={class:"tabHeader"},X=n("td",{class:"adminNoData",colspan:"100%"},[i(" No Users. "),n("div",null,[i(" This is an error. There should always be at least one Staff user."),n("br"),i(" You should not be able to see this page"),n("br"),i(" You should restart Codex with the CODEX_RESET_ADMIN=1 variable set."),n("br"),i(" See the "),n("a",{href:"https://github.com/ajslater/codex#reset-the-admin-password",target:"_blank"}," README ")])],-1);function F(e,o,h,S,s,T){const m=u("AdminCreateUpdateDialog"),r=_,w=u("DateTimeColumn"),P=k,E=u("AdminDeleteRowDialog");return p(),b("div",null,[n("header",q,[a(m,{table:"User",inputs:s.AdminUserCreateUpdateInputs,"max-width":"20em"},null,8,["inputs"])]),a(N,{"fixed-header":"","item-value":"pk","item-title":"username",headers:s.headers,items:e.users,class:"adminTable"},{"no-data":l(()=>[X]),"item.isStaff":l(({item:t})=>[a(V,{"model-value":t.isStaff,disabled:""},null,8,["model-value"])]),"item.isActive":l(({item:t})=>[a(V,{"model-value":t.isActive,disabled:""},null,8,["model-value"])]),"item.groups":l(({item:t})=>[a(r,{pks:t.groups,objs:e.groups,"title-key":"name","group-type":""},null,8,["pks","objs"])]),"item.lastActive":l(({item:t})=>[a(w,{dttm:t.lastActive},null,8,["dttm"])]),"item.lastLogin":l(({item:t})=>[a(w,{dttm:t.lastLogin},null,8,["dttm"])]),"item.dateJoined":l(({item:t})=>[a(w,{dttm:t.dateJoined},null,8,["dttm"])]),"item.actions":l(({item:t})=>[a(m,{table:"User",inputs:s.AdminUserCreateUpdateInputs,"old-row":t,"max-width":"20em",size:"small",density:"compact"},null,8,["inputs","old-row"]),a(P,{user:t,"is-admin-mode":!0,size:"small",density:"compact"},null,8,["user"]),e.me.id!==t.pk?(p(),O(E,{key:0,table:"User",pk:t.pk,name:t.username,size:"small",density:"compact"},null,8,["pk","name"])):D("",!0)]),_:2},1032,["headers","items"])])}const me=v(G,[["render",F]]);export{me as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as k}from"./change-password-dialog-
|
|
1
|
+
import{_ as k}from"./change-password-dialog-BkX8NP9F.js";import{A as j,a as x,b as I,_,V as N}from"./VDataTableVirtual-ohR-xfIW.js";import{M as f,t as d,N as y,_ as v,Q as u,R as p,ay as b,L as a,aX as A,aB as D,aC as B,m as L,aD as n,P as l,O,aa as i}from"./admin-drawer-panel-C5XtSLXl.js";import{D as z}from"./datetime-column-BnilMk5Y.js";import{a as C}from"./main-D1r3hZ0f.js";import{a as c}from"./VSlideGroup-BW6pFVGY.js";import{V as U}from"./VCheckbox-CAnsONJ8.js";import{V}from"./VCheckboxBtn-DQTVBkac.js";import"./confirm-footer-CP02GqhM.js";import"./confirm-dialog-CKiPNGTr.js";import"./VSelect-YSL0tIop.js";import"./VSelectionControl-D0ha1VYk.js";import"./VTable-CXI0Xaio.js";import"./filter-Dp8VoLoJ.js";const R=["username","isStaff","isActive","groups"];Object.freeze(R);const g={username:"",password:"",passwordConfirm:"",isStaff:!1,isActive:!0,groups:[]};Object.freeze(g);const J={name:"AdminUserCreateUpdateInputs",components:{AdminRelationPicker:j},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{username:[e=>!!e||"Username is required",e=>!!e&&!this.usernames.has(e.trim())||"Username already used"],password:[e=>!!e||"Password is required"],passwordConfirm:[e=>e===this.row.password||"Passwords must match"]},row:C.cloneDeep(this.oldRow||g)}},computed:{...f(d,{groups:e=>e.groups,users:e=>e.users}),usernames(){return this.nameSet(this.users,"username",this.oldRow,!0)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=C.cloneDeep(e)},deep:!0}},methods:{...y(d,["nameSet"])},UPDATE_KEYS:R,EMPTY_ROW:g},K={key:0};function M(e,o,h,S,s,T){const m=u("AdminRelationPicker");return p(),b("div",null,[a(c,{modelValue:s.row.username,"onUpdate:modelValue":o[0]||(o[0]=r=>s.row.username=r),autocomplete:"username",label:"Username",rules:s.rules.username,clearable:"",autofocus:"",onKeydown:o[1]||(o[1]=A(r=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),h.oldRow?D("",!0):(p(),b("div",K,[a(c,{ref:"password",modelValue:s.row.password,"onUpdate:modelValue":o[2]||(o[2]=r=>s.row.password=r),autocomplete:"new-password",label:"Password",rules:s.rules.password,clearable:"",type:"password",onKeydown:o[3]||(o[3]=A(r=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules"]),a(c,{ref:"passwordConfirm",modelValue:s.row.passwordConfirm,"onUpdate:modelValue":o[4]||(o[4]=r=>s.row.passwordConfirm=r),autocomplete:"new-password",label:"Confirm Password",rules:s.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"])])),a(U,{modelValue:s.row.isStaff,"onUpdate:modelValue":o[5]||(o[5]=r=>s.row.isStaff=r),label:"Is Staff"},null,8,["modelValue"]),a(U,{modelValue:s.row.isActive,"onUpdate:modelValue":o[6]||(o[6]=r=>s.row.isActive=r),label:"Is Active"},null,8,["modelValue"]),a(m,{modelValue:s.row.groups,"onUpdate:modelValue":o[7]||(o[7]=r=>s.row.groups=r),label:"Groups",objs:e.groups,"title-key":"name","group-type":""},null,8,["modelValue","objs"])])}const Y=v(J,[["render",M]]),G={name:"AdminUsersTab",components:{AdminDeleteRowDialog:x,ChangePasswordDialog:k,AdminCreateUpdateDialog:I,DateTimeColumn:z,RelationChips:_},data(){return{AdminUserCreateUpdateInputs:B(Y),headers:[{title:"Username",key:"username",align:"start"},{title:"Staff",key:"isStaff"},{title:"Active",key:"isActive"},{title:"Groups",key:"groups"},{title:"Last Active",key:"lastActive"},{title:"Last Login",key:"lastLogin"},{title:"Joined",key:"dateJoined"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...f(d,{users:e=>e.users,groups:e=>e.groups}),...f(L,{me:e=>e.user})},mounted(){this.loadTables(["Group","User"])},methods:{...y(d,["loadTables"])}},q={class:"tabHeader"},X=n("td",{class:"adminNoData",colspan:"100%"},[i(" No Users. "),n("div",null,[i(" This is an error. There should always be at least one Staff user."),n("br"),i(" You should not be able to see this page"),n("br"),i(" You should restart Codex with the CODEX_RESET_ADMIN=1 variable set."),n("br"),i(" See the "),n("a",{href:"https://github.com/ajslater/codex#reset-the-admin-password",target:"_blank"}," README ")])],-1);function F(e,o,h,S,s,T){const m=u("AdminCreateUpdateDialog"),r=_,w=u("DateTimeColumn"),P=k,E=u("AdminDeleteRowDialog");return p(),b("div",null,[n("header",q,[a(m,{table:"User",inputs:s.AdminUserCreateUpdateInputs,"max-width":"20em"},null,8,["inputs"])]),a(N,{"fixed-header":"","item-value":"pk","item-title":"username",headers:s.headers,items:e.users,class:"adminTable"},{"no-data":l(()=>[X]),"item.isStaff":l(({item:t})=>[a(V,{"model-value":t.isStaff,disabled:""},null,8,["model-value"])]),"item.isActive":l(({item:t})=>[a(V,{"model-value":t.isActive,disabled:""},null,8,["model-value"])]),"item.groups":l(({item:t})=>[a(r,{pks:t.groups,objs:e.groups,"title-key":"name","group-type":""},null,8,["pks","objs"])]),"item.lastActive":l(({item:t})=>[a(w,{dttm:t.lastActive},null,8,["dttm"])]),"item.lastLogin":l(({item:t})=>[a(w,{dttm:t.lastLogin},null,8,["dttm"])]),"item.dateJoined":l(({item:t})=>[a(w,{dttm:t.dateJoined},null,8,["dttm"])]),"item.actions":l(({item:t})=>[a(m,{table:"User",inputs:s.AdminUserCreateUpdateInputs,"old-row":t,"max-width":"20em",size:"small",density:"compact"},null,8,["inputs","old-row"]),a(P,{user:t,"is-admin-mode":!0,size:"small",density:"compact"},null,8,["user"]),e.me.id!==t.pk?(p(),O(E,{key:0,table:"User",pk:t.pk,name:t.username,size:"small",density:"compact"},null,8,["pk","name"])):D("",!0)]),_:2},1032,["headers","items"])])}const me=v(G,[["render",F]]);export{me as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"statusTitles":{"CCC":"Create Covers","CCD":"Remove Covers","CFO":"Find Orphan Covers","IDM":"Move Folders","IFM":"Move Books","ITR":"Read Book Tags","ITQ":"Discover Missing Tags","ITC":"Create Missing Tags","IDU":"Modify Folders","IFU":"Modify Books","IFC":"Create Books","IMQ":"Prepare Tags for Linking","IMC":"Link Books to Tags","IDD":"Remove Folders","IFD":"Remove Books","IFI":"Record Failed Imports","JTD":"Cleanup Stale Tags","JCU":"Update Codex Software","JCR":"Restart Codex","JCS":"Stop Codex","JDO":"Optimize Database","JDB":"Backup Database","JSD":"Cleanup Expired Sessions","SIX":"Search Index Clear","SIU":"Search Index Update","SID":"Search Index Remove Stale Records","SIM":"Search Index Optimize","WPO":"Poll Library"},"tasks":[{"title":"Libraries","tasks":[{"value":"poll","title":"Poll All Libraries","desc":"Update Libraries if changes detected"},{"value":"poll_force","title":"Force Update All Libraries","desc":"Forcibly update all comics in all libraries","confirm":"This can take a long time"},{"value":"force_update_all_failed_imports","title":"Update All Failed Imports","desc":"Forcibly update all failed imports in all libraries","confirm":"This can take a long time"}]},{"title":"Covers","tasks":[{"value":"purge_comic_covers","title":"Remove Comic Covers","desc":"from every library","confirm":"Are you sure?"},{"value":"create_all_comic_covers","title":"Create All Comic Covers","desc":"Pre-generate covers for every comic in every library","confirm":"Are you sure?"}]},{"title":"Search Index","tasks":[{"value":"search_index_update","title":"Update Search Index","desc":"with recently changed comics"},{"value":"search_index_rebuild","title":"Rebuild Search Index","desc":"Delete and rebuild the search index from scratch","confirm":"This can take a long time"},{"value":"search_index_remove_stale","title":"Remove Stale Index Entries","desc":"Remove search index entries that are no longer in the library."},{"value":"search_index_merge_small","title":"Merge Small Search Index Segments","desc":"Improves search lookup times. Runs nightly if the Optimize Admin Flag is off."},{"value":"search_index_optimize","title":"Merge Search Index Into One Segment","desc":"Reduces disk space and improves search lookup times. Runs nightly if the Optimize Admin Flag is on.","confirm":"This can take a long time."},{"value":"search_index_abort","title":"Abort Search Indexing","desc":"Aborts search index update and remove tasks."},{"value":"search_index_clear","title":"Clear Search Index","desc":"of all entries"}]},{"title":"Database","tasks":[{"value":"db_vacuum","title":"Optimize & Compact Database","desc":"Run the sqlite3 optimize & vacuum and pragmas. Runs nightly"},{"value":"db_backup","title":"Backup Database","desc":"Runs nightly"},{"value":"db_search_sync","title":"Sync Search Index to DB","desc":"Check to see if this database matches the current search index. If there is a mismatch, rebuild the search index. Runs on startup."},{"value":"watchdog_sync","title":"Sync Watchdog with DB","desc":"Ensure the Watchdog file watcher is enabled per database preferences for each library"}]},{"title":"Codex Software","tasks":[{"value":"codex_update","title":"Update Codex","desc":"If Codex updates to a new version, it will restart","confirm":"Are you sure?"},{"value":"codex_restart","title":"Restart Codex Server","desc":"Immediately","confirm":"Are you sure?"},{"value":"codex_shutdown","title":"Shutdown Codex Server","desc":"Immediately","confirm":"Are you sure?"}]},{"title":"Notify","tasks":[{"value":"notify_library_changed","title":"Notify Library Changed ","desc":"Signal all clients that the libraries have changed and the browser should fetch new data."},{"value":"notify_librarian_status","title":"Notify Librarian Status","desc":"Signal Admin clients to fetch librarian status."}]},{"title":"Cleanup","tasks":[{"value":"cleanup_fks","title":"Remove Orphan Tags","desc":"After deleting comics, unused linked objects remain in case new comics use them. Runs nightly."},{"value":"cleanup_sessions","title":"Cleanup Sessions","desc":"Remove corrupt and expired sessions. Runs nightly."},{"value":"cleanup_covers","title":"Remove Orphan Covers","desc":"from comics that no longer exist. Runs nightly."},{"value":"librarian_clear_status","title":"Clear Librarian Statuses","desc":"Mark all Librarian tasks finished."},{"value":"janitor_nightly","title":"Run Nightly Maintenance","desc":"Runs several tasks above that also run nightly.","confirm":"Launches several tasks that run nightly anyway."}]}],"adminFlags":{"FV":"Folder View","RG":"Registration","NU":"Non Users","AU":"Auto Update","SO":"Search Index Full Optimization","IM":"Import Metadata"}}
|
|
1
|
+
{"statusTitles":{"CCC":"Create Covers","CCD":"Remove Covers","CFO":"Find Orphan Covers","IDM":"Move Folders","IFM":"Move Books","ITR":"Read Book Tags","ITQ":"Discover Missing Tags","ITC":"Create Missing Tags","IDU":"Modify Folders","IFU":"Modify Books","IFC":"Create Books","IMQ":"Prepare Tags for Linking","IMC":"Link Books to Tags","IDD":"Remove Folders","IFD":"Remove Books","IFI":"Record Failed Imports","JTD":"Cleanup Stale Tags","JCU":"Update Codex Software","JCR":"Restart Codex","JCS":"Stop Codex","JDO":"Optimize Database","JDB":"Backup Database","JSD":"Cleanup Expired Sessions","SIX":"Search Index Clear","SIU":"Search Index Update","SID":"Search Index Remove Stale Records","SIM":"Search Index Optimize","WPO":"Poll Library"},"tasks":[{"title":"Libraries","tasks":[{"value":"poll","title":"Poll All Libraries","desc":"Update Libraries if changes detected"},{"value":"poll_force","title":"Force Update All Libraries","desc":"Forcibly update all comics in all libraries","confirm":"This can take a long time"},{"value":"force_update_all_failed_imports","title":"Update All Failed Imports","desc":"Forcibly update all failed imports in all libraries","confirm":"This can take a long time"}]},{"title":"Covers","tasks":[{"value":"purge_comic_covers","title":"Remove Comic Covers","desc":"from every library","confirm":"Are you sure?"},{"value":"create_all_comic_covers","title":"Create All Comic Covers","desc":"Pre-generate covers for every comic in every library","confirm":"Are you sure?"}]},{"title":"Search Index","tasks":[{"value":"search_index_update","title":"Update Search Index","desc":"with recently changed comics"},{"value":"search_index_rebuild","title":"Rebuild Search Index","desc":"Delete and rebuild the search index from scratch","confirm":"This can take a long time"},{"value":"search_index_remove_stale","title":"Remove Stale Index Entries","desc":"Remove search index entries that are no longer in the library."},{"value":"search_index_merge_small","title":"Merge Small Search Index Segments","desc":"Improves search lookup times. Runs nightly if the Optimize Admin Flag is off."},{"value":"search_index_optimize","title":"Merge Search Index Into One Segment","desc":"Reduces disk space and improves search lookup times. Runs nightly if the Optimize Admin Flag is on.","confirm":"This can take a long time."},{"value":"search_index_abort","title":"Abort Search Indexing","desc":"Aborts search index update and remove tasks."},{"value":"search_index_clear","title":"Clear Search Index","desc":"of all entries"}]},{"title":"Database","tasks":[{"value":"db_vacuum","title":"Optimize & Compact Database","desc":"Run the sqlite3 optimize & vacuum and pragmas. Runs nightly"},{"value":"db_backup","title":"Backup Database","desc":"Runs nightly"},{"value":"db_search_sync","title":"Sync Search Index to DB","desc":"Check to see if this database matches the current search index. If there is a mismatch, rebuild the search index. Runs on startup."},{"value":"watchdog_sync","title":"Sync Watchdog with DB","desc":"Ensure the Watchdog file watcher is enabled per database preferences for each library"}]},{"title":"Codex Software","tasks":[{"value":"codex_update","title":"Update Codex","desc":"If Codex updates to a new version, it will restart","confirm":"Are you sure?"},{"value":"codex_restart","title":"Restart Codex Server","desc":"Immediately","confirm":"Are you sure?"},{"value":"codex_shutdown","title":"Shutdown Codex Server","desc":"Immediately","confirm":"Are you sure?"}]},{"title":"Notify","tasks":[{"value":"notify_library_changed","title":"Notify Library Changed ","desc":"Signal all clients that the libraries have changed and the browser should fetch new data."},{"value":"notify_librarian_status","title":"Notify Librarian Status","desc":"Signal Admin clients to fetch librarian status."}]},{"title":"Cleanup","tasks":[{"value":"cleanup_fks","title":"Remove Orphan Tags","desc":"After deleting comics, unused linked objects remain in case new comics use them. Runs nightly."},{"value":"cleanup_sessions","title":"Cleanup Sessions","desc":"Remove corrupt and expired sessions. Runs nightly."},{"value":"cleanup_covers","title":"Remove Orphan Covers","desc":"from comics that no longer exist. Runs nightly."},{"value":"librarian_clear_status","title":"Clear Librarian Statuses","desc":"Mark all Librarian tasks finished."},{"value":"janitor_nightly","title":"Run Nightly Maintenance","desc":"Runs several tasks above that also run nightly.","confirm":"Launches several tasks that run nightly anyway."}]}],"adminFlags":{"FV":"Folder View","RG":"Registration","NU":"Non Users","AU":"Auto Update","SO":"Search Index Full Optimization","IM":"Import Metadata on Library Scan"}}
|
|
Binary file
|
codex/static_root/js/{choices-admin.3a2cdebdbfba.json.gz → choices-admin.bb730e4f26ac.json.gz}
RENAMED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"statusTitles":{"CCC":"Create Covers","CCD":"Remove Covers","CFO":"Find Orphan Covers","IDM":"Move Folders","IFM":"Move Books","ITR":"Read Book Tags","ITQ":"Discover Missing Tags","ITC":"Create Missing Tags","IDU":"Modify Folders","IFU":"Modify Books","IFC":"Create Books","IMQ":"Prepare Tags for Linking","IMC":"Link Books to Tags","IDD":"Remove Folders","IFD":"Remove Books","IFI":"Record Failed Imports","JTD":"Cleanup Stale Tags","JCU":"Update Codex Software","JCR":"Restart Codex","JCS":"Stop Codex","JDO":"Optimize Database","JDB":"Backup Database","JSD":"Cleanup Expired Sessions","SIX":"Search Index Clear","SIU":"Search Index Update","SID":"Search Index Remove Stale Records","SIM":"Search Index Optimize","WPO":"Poll Library"},"tasks":[{"title":"Libraries","tasks":[{"value":"poll","title":"Poll All Libraries","desc":"Update Libraries if changes detected"},{"value":"poll_force","title":"Force Update All Libraries","desc":"Forcibly update all comics in all libraries","confirm":"This can take a long time"},{"value":"force_update_all_failed_imports","title":"Update All Failed Imports","desc":"Forcibly update all failed imports in all libraries","confirm":"This can take a long time"}]},{"title":"Covers","tasks":[{"value":"purge_comic_covers","title":"Remove Comic Covers","desc":"from every library","confirm":"Are you sure?"},{"value":"create_all_comic_covers","title":"Create All Comic Covers","desc":"Pre-generate covers for every comic in every library","confirm":"Are you sure?"}]},{"title":"Search Index","tasks":[{"value":"search_index_update","title":"Update Search Index","desc":"with recently changed comics"},{"value":"search_index_rebuild","title":"Rebuild Search Index","desc":"Delete and rebuild the search index from scratch","confirm":"This can take a long time"},{"value":"search_index_remove_stale","title":"Remove Stale Index Entries","desc":"Remove search index entries that are no longer in the library."},{"value":"search_index_merge_small","title":"Merge Small Search Index Segments","desc":"Improves search lookup times. Runs nightly if the Optimize Admin Flag is off."},{"value":"search_index_optimize","title":"Merge Search Index Into One Segment","desc":"Reduces disk space and improves search lookup times. Runs nightly if the Optimize Admin Flag is on.","confirm":"This can take a long time."},{"value":"search_index_abort","title":"Abort Search Indexing","desc":"Aborts search index update and remove tasks."},{"value":"search_index_clear","title":"Clear Search Index","desc":"of all entries"}]},{"title":"Database","tasks":[{"value":"db_vacuum","title":"Optimize & Compact Database","desc":"Run the sqlite3 optimize & vacuum and pragmas. Runs nightly"},{"value":"db_backup","title":"Backup Database","desc":"Runs nightly"},{"value":"db_search_sync","title":"Sync Search Index to DB","desc":"Check to see if this database matches the current search index. If there is a mismatch, rebuild the search index. Runs on startup."},{"value":"watchdog_sync","title":"Sync Watchdog with DB","desc":"Ensure the Watchdog file watcher is enabled per database preferences for each library"}]},{"title":"Codex Software","tasks":[{"value":"codex_update","title":"Update Codex","desc":"If Codex updates to a new version, it will restart","confirm":"Are you sure?"},{"value":"codex_restart","title":"Restart Codex Server","desc":"Immediately","confirm":"Are you sure?"},{"value":"codex_shutdown","title":"Shutdown Codex Server","desc":"Immediately","confirm":"Are you sure?"}]},{"title":"Notify","tasks":[{"value":"notify_library_changed","title":"Notify Library Changed ","desc":"Signal all clients that the libraries have changed and the browser should fetch new data."},{"value":"notify_librarian_status","title":"Notify Librarian Status","desc":"Signal Admin clients to fetch librarian status."}]},{"title":"Cleanup","tasks":[{"value":"cleanup_fks","title":"Remove Orphan Tags","desc":"After deleting comics, unused linked objects remain in case new comics use them. Runs nightly."},{"value":"cleanup_sessions","title":"Cleanup Sessions","desc":"Remove corrupt and expired sessions. Runs nightly."},{"value":"cleanup_covers","title":"Remove Orphan Covers","desc":"from comics that no longer exist. Runs nightly."},{"value":"librarian_clear_status","title":"Clear Librarian Statuses","desc":"Mark all Librarian tasks finished."},{"value":"janitor_nightly","title":"Run Nightly Maintenance","desc":"Runs several tasks above that also run nightly.","confirm":"Launches several tasks that run nightly anyway."}]}],"adminFlags":{"FV":"Folder View","RG":"Registration","NU":"Non Users","AU":"Auto Update","SO":"Search Index Full Optimization","IM":"Import Metadata"}}
|
|
1
|
+
{"statusTitles":{"CCC":"Create Covers","CCD":"Remove Covers","CFO":"Find Orphan Covers","IDM":"Move Folders","IFM":"Move Books","ITR":"Read Book Tags","ITQ":"Discover Missing Tags","ITC":"Create Missing Tags","IDU":"Modify Folders","IFU":"Modify Books","IFC":"Create Books","IMQ":"Prepare Tags for Linking","IMC":"Link Books to Tags","IDD":"Remove Folders","IFD":"Remove Books","IFI":"Record Failed Imports","JTD":"Cleanup Stale Tags","JCU":"Update Codex Software","JCR":"Restart Codex","JCS":"Stop Codex","JDO":"Optimize Database","JDB":"Backup Database","JSD":"Cleanup Expired Sessions","SIX":"Search Index Clear","SIU":"Search Index Update","SID":"Search Index Remove Stale Records","SIM":"Search Index Optimize","WPO":"Poll Library"},"tasks":[{"title":"Libraries","tasks":[{"value":"poll","title":"Poll All Libraries","desc":"Update Libraries if changes detected"},{"value":"poll_force","title":"Force Update All Libraries","desc":"Forcibly update all comics in all libraries","confirm":"This can take a long time"},{"value":"force_update_all_failed_imports","title":"Update All Failed Imports","desc":"Forcibly update all failed imports in all libraries","confirm":"This can take a long time"}]},{"title":"Covers","tasks":[{"value":"purge_comic_covers","title":"Remove Comic Covers","desc":"from every library","confirm":"Are you sure?"},{"value":"create_all_comic_covers","title":"Create All Comic Covers","desc":"Pre-generate covers for every comic in every library","confirm":"Are you sure?"}]},{"title":"Search Index","tasks":[{"value":"search_index_update","title":"Update Search Index","desc":"with recently changed comics"},{"value":"search_index_rebuild","title":"Rebuild Search Index","desc":"Delete and rebuild the search index from scratch","confirm":"This can take a long time"},{"value":"search_index_remove_stale","title":"Remove Stale Index Entries","desc":"Remove search index entries that are no longer in the library."},{"value":"search_index_merge_small","title":"Merge Small Search Index Segments","desc":"Improves search lookup times. Runs nightly if the Optimize Admin Flag is off."},{"value":"search_index_optimize","title":"Merge Search Index Into One Segment","desc":"Reduces disk space and improves search lookup times. Runs nightly if the Optimize Admin Flag is on.","confirm":"This can take a long time."},{"value":"search_index_abort","title":"Abort Search Indexing","desc":"Aborts search index update and remove tasks."},{"value":"search_index_clear","title":"Clear Search Index","desc":"of all entries"}]},{"title":"Database","tasks":[{"value":"db_vacuum","title":"Optimize & Compact Database","desc":"Run the sqlite3 optimize & vacuum and pragmas. Runs nightly"},{"value":"db_backup","title":"Backup Database","desc":"Runs nightly"},{"value":"db_search_sync","title":"Sync Search Index to DB","desc":"Check to see if this database matches the current search index. If there is a mismatch, rebuild the search index. Runs on startup."},{"value":"watchdog_sync","title":"Sync Watchdog with DB","desc":"Ensure the Watchdog file watcher is enabled per database preferences for each library"}]},{"title":"Codex Software","tasks":[{"value":"codex_update","title":"Update Codex","desc":"If Codex updates to a new version, it will restart","confirm":"Are you sure?"},{"value":"codex_restart","title":"Restart Codex Server","desc":"Immediately","confirm":"Are you sure?"},{"value":"codex_shutdown","title":"Shutdown Codex Server","desc":"Immediately","confirm":"Are you sure?"}]},{"title":"Notify","tasks":[{"value":"notify_library_changed","title":"Notify Library Changed ","desc":"Signal all clients that the libraries have changed and the browser should fetch new data."},{"value":"notify_librarian_status","title":"Notify Librarian Status","desc":"Signal Admin clients to fetch librarian status."}]},{"title":"Cleanup","tasks":[{"value":"cleanup_fks","title":"Remove Orphan Tags","desc":"After deleting comics, unused linked objects remain in case new comics use them. Runs nightly."},{"value":"cleanup_sessions","title":"Cleanup Sessions","desc":"Remove corrupt and expired sessions. Runs nightly."},{"value":"cleanup_covers","title":"Remove Orphan Covers","desc":"from comics that no longer exist. Runs nightly."},{"value":"librarian_clear_status","title":"Clear Librarian Statuses","desc":"Mark all Librarian tasks finished."},{"value":"janitor_nightly","title":"Run Nightly Maintenance","desc":"Runs several tasks above that also run nightly.","confirm":"Launches several tasks that run nightly anyway."}]}],"adminFlags":{"FV":"Folder View","RG":"Registration","NU":"Non Users","AU":"Auto Update","SO":"Search Index Full Optimization","IM":"Import Metadata on Library Scan"}}
|
|
Binary file
|
|
Binary file
|