codex 1.8.0a2__py3-none-any.whl → 1.8.0a3__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/choices/admin.py +4 -4
- codex/choices/statii.py +1 -1
- codex/librarian/covers/status.py +1 -1
- codex/librarian/librariand.py +2 -0
- codex/librarian/scribe/importer/const.py +8 -0
- codex/librarian/scribe/importer/create/foreign_keys.py +1 -1
- codex/librarian/scribe/importer/delete/covers.py +3 -1
- codex/librarian/scribe/importer/failed/__init__.py +1 -0
- codex/librarian/scribe/importer/failed/create.py +97 -0
- codex/librarian/scribe/importer/failed/failed.py +54 -0
- codex/librarian/scribe/importer/failed/query.py +100 -0
- codex/librarian/scribe/importer/init.py +2 -2
- codex/librarian/scribe/importer/link/covers.py +1 -1
- codex/librarian/scribe/importer/read/aggregate_path.py +4 -2
- codex/librarian/scribe/importer/search/__init__.py +1 -1
- codex/librarian/scribe/importer/search/update.py +20 -9
- codex/librarian/scribe/importer/statii/__init__.py +2 -0
- codex/librarian/scribe/importer/statii/failed.py +50 -0
- codex/librarian/scribe/importer/status.py +0 -12
- codex/librarian/scribe/janitor/janitor.py +13 -5
- codex/librarian/scribe/janitor/status.py +3 -2
- codex/librarian/scribe/search/optimize.py +1 -2
- codex/librarian/scribe/search/remove.py +2 -2
- codex/librarian/scribe/search/status.py +8 -8
- codex/librarian/scribe/search/sync.py +10 -3
- codex/librarian/scribe/status.py +2 -1
- codex/librarian/status.py +5 -5
- codex/librarian/status_controller.py +41 -20
- codex/librarian/watchdog/const.py +30 -1
- codex/librarian/watchdog/emitter.py +26 -34
- codex/librarian/watchdog/event_batcherd.py +18 -14
- codex/librarian/watchdog/observers.py +11 -15
- codex/migrations/0035_alter_librarianstatus_status_type.py +72 -0
- codex/startup/__init__.py +1 -1
- codex/static_root/assets/{VCheckbox-DSndl51k.1e28c443c3cb.js → VCheckbox-DOvv8UEO.e3653c1670c8.js} +1 -1
- codex/static_root/assets/VCheckbox-DOvv8UEO.e3653c1670c8.js.br +0 -0
- codex/static_root/assets/VCheckbox-DOvv8UEO.e3653c1670c8.js.gz +0 -0
- codex/static_root/assets/{VCheckbox-DSndl51k.js → VCheckbox-DOvv8UEO.js} +1 -1
- codex/static_root/assets/VCheckbox-DOvv8UEO.js.br +0 -0
- codex/static_root/assets/VCheckbox-DOvv8UEO.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-Bu2Pf64q.d7463473d7a2.js → VCheckboxBtn-BeZZDumo.59731a32657e.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-BeZZDumo.59731a32657e.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BeZZDumo.59731a32657e.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-Bu2Pf64q.js → VCheckboxBtn-BeZZDumo.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-BeZZDumo.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BeZZDumo.js.gz +0 -0
- codex/static_root/assets/{VCombobox-Uogv6Ckp.9f900e703605.js → VCombobox-BRJRW2px.369544360b22.js} +1 -1
- codex/static_root/assets/VCombobox-BRJRW2px.369544360b22.js.br +0 -0
- codex/static_root/assets/VCombobox-BRJRW2px.369544360b22.js.gz +0 -0
- codex/static_root/assets/{VCombobox-Uogv6Ckp.js → VCombobox-BRJRW2px.js} +1 -1
- codex/static_root/assets/VCombobox-BRJRW2px.js.br +0 -0
- codex/static_root/assets/VCombobox-BRJRW2px.js.gz +0 -0
- codex/static_root/assets/{VDialog-BzaGu1HN.34f52763c3f8.js → VDialog-D_vkvatj.83e078fa850c.js} +1 -1
- codex/static_root/assets/VDialog-D_vkvatj.83e078fa850c.js.br +0 -0
- codex/static_root/assets/VDialog-D_vkvatj.83e078fa850c.js.gz +0 -0
- codex/static_root/assets/{VDialog-BzaGu1HN.js → VDialog-D_vkvatj.js} +1 -1
- codex/static_root/assets/VDialog-D_vkvatj.js.br +0 -0
- codex/static_root/assets/VDialog-D_vkvatj.js.gz +0 -0
- codex/static_root/assets/{VDivider-C3ikm0Ko.4938e9ced53e.js → VDivider-BH2Oj58Z.83d2c907faff.js} +1 -1
- codex/static_root/assets/VDivider-BH2Oj58Z.83d2c907faff.js.br +0 -0
- codex/static_root/assets/VDivider-BH2Oj58Z.83d2c907faff.js.gz +0 -0
- codex/static_root/assets/{VDivider-C3ikm0Ko.js → VDivider-BH2Oj58Z.js} +1 -1
- codex/static_root/assets/VDivider-BH2Oj58Z.js.br +0 -0
- codex/static_root/assets/VDivider-BH2Oj58Z.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-AmsInZN0.5cb7c833de3d.js → VExpansionPanels-Ccv4gBFD.ed063db2e518.js} +1 -1
- codex/static_root/assets/VExpansionPanels-Ccv4gBFD.ed063db2e518.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Ccv4gBFD.ed063db2e518.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-AmsInZN0.js → VExpansionPanels-Ccv4gBFD.js} +1 -1
- codex/static_root/assets/VExpansionPanels-Ccv4gBFD.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Ccv4gBFD.js.gz +0 -0
- codex/static_root/assets/{VForm-CyCdgusw.c737973a1e85.js → VForm-S5eiHGJ0.d304a07dc6d1.js} +1 -1
- codex/static_root/assets/VForm-S5eiHGJ0.d304a07dc6d1.js.br +0 -0
- codex/static_root/assets/VForm-S5eiHGJ0.d304a07dc6d1.js.gz +0 -0
- codex/static_root/assets/{VForm-CyCdgusw.js → VForm-S5eiHGJ0.js} +1 -1
- codex/static_root/assets/VForm-S5eiHGJ0.js.br +0 -0
- codex/static_root/assets/VForm-S5eiHGJ0.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-BF0Xjrzi.e54d2bf41bb2.js → VRadioGroup-CyCYk3Z_.4309dbf0173c.js} +1 -1
- codex/static_root/assets/VRadioGroup-CyCYk3Z_.4309dbf0173c.js.br +0 -0
- codex/static_root/assets/VRadioGroup-CyCYk3Z_.4309dbf0173c.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-BF0Xjrzi.js → VRadioGroup-CyCYk3Z_.js} +1 -1
- codex/static_root/assets/VRadioGroup-CyCYk3Z_.js.br +0 -0
- codex/static_root/assets/VRadioGroup-CyCYk3Z_.js.gz +0 -0
- codex/static_root/assets/{VSelect-Dv50OIkN.js → VSelect-BOhtkCV1.057479737b7f.js} +1 -1
- codex/static_root/assets/VSelect-BOhtkCV1.057479737b7f.js.br +0 -0
- codex/static_root/assets/VSelect-BOhtkCV1.057479737b7f.js.gz +0 -0
- codex/static_root/assets/{VSelect-Dv50OIkN.390adb1fe7fa.js → VSelect-BOhtkCV1.js} +1 -1
- codex/static_root/assets/VSelect-BOhtkCV1.js.br +0 -0
- codex/static_root/assets/VSelect-BOhtkCV1.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-DbKYScD5.js → VSelectionControl-CmXEFw20.e256f0d0f97d.js} +1 -1
- codex/static_root/assets/VSelectionControl-CmXEFw20.e256f0d0f97d.js.br +0 -0
- codex/static_root/assets/VSelectionControl-CmXEFw20.e256f0d0f97d.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-DbKYScD5.8d2ab1ebe546.js → VSelectionControl-CmXEFw20.js} +1 -1
- codex/static_root/assets/VSelectionControl-CmXEFw20.js.br +0 -0
- codex/static_root/assets/VSelectionControl-CmXEFw20.js.gz +0 -0
- codex/static_root/assets/{VTable-BmOfHc7J.b2e1311009d1.js → VTable-BDxzw_rH.24ce227e6076.js} +1 -1
- codex/static_root/assets/VTable-BDxzw_rH.24ce227e6076.js.br +0 -0
- codex/static_root/assets/VTable-BDxzw_rH.24ce227e6076.js.gz +0 -0
- codex/static_root/assets/{VTable-BmOfHc7J.js → VTable-BDxzw_rH.js} +1 -1
- codex/static_root/assets/VTable-BDxzw_rH.js.br +0 -0
- codex/static_root/assets/VTable-BDxzw_rH.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-BLEDgagD.4b67c4a63c59.js → VWindowItem-CuDwxsEy.4d68002250ae.js} +1 -1
- codex/static_root/assets/VWindowItem-CuDwxsEy.4d68002250ae.js.br +0 -0
- codex/static_root/assets/VWindowItem-CuDwxsEy.4d68002250ae.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-BLEDgagD.js → VWindowItem-CuDwxsEy.js} +1 -1
- codex/static_root/assets/VWindowItem-CuDwxsEy.js.br +0 -0
- codex/static_root/assets/VWindowItem-CuDwxsEy.js.gz +0 -0
- codex/static_root/assets/{admin-kjMoKlqD.55a1dd908124.js → admin-BZQmoFts.d8e6303f8aee.js} +1 -1
- codex/static_root/assets/admin-BZQmoFts.d8e6303f8aee.js.br +0 -0
- codex/static_root/assets/admin-BZQmoFts.d8e6303f8aee.js.gz +0 -0
- codex/static_root/assets/{admin-kjMoKlqD.js → admin-BZQmoFts.js} +1 -1
- codex/static_root/assets/admin-BZQmoFts.js.br +0 -0
- codex/static_root/assets/admin-BZQmoFts.js.gz +0 -0
- codex/static_root/assets/{admin-Bv40vYZw.8179e1ece835.js → admin-U3AawSbo.f171316d0a93.js} +1 -1
- codex/static_root/assets/admin-U3AawSbo.f171316d0a93.js.br +0 -0
- codex/static_root/assets/admin-U3AawSbo.f171316d0a93.js.gz +0 -0
- codex/static_root/assets/{admin-Bv40vYZw.js → admin-U3AawSbo.js} +1 -1
- codex/static_root/assets/admin-U3AawSbo.js.br +0 -0
- codex/static_root/assets/admin-U3AawSbo.js.gz +0 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.3b62ee7a8b95.js +1 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.3b62ee7a8b95.js.br +0 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.3b62ee7a8b95.js.gz +0 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.js +1 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.js.br +0 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-RfwaqLl2.4cdd37d0dd16.js → admin-settings-button-progress-DwWq9uM1.fbacafc0db08.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-DwWq9uM1.fbacafc0db08.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-DwWq9uM1.fbacafc0db08.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-RfwaqLl2.js → admin-settings-button-progress-DwWq9uM1.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-DwWq9uM1.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-DwWq9uM1.js.gz +0 -0
- codex/static_root/assets/{browser-plYso4v5.js → browser-DFM_JsAK.bffd4eb259d8.js} +1 -1
- codex/static_root/assets/browser-DFM_JsAK.bffd4eb259d8.js.br +0 -0
- codex/static_root/assets/browser-DFM_JsAK.bffd4eb259d8.js.gz +0 -0
- codex/static_root/assets/{browser-plYso4v5.87ef04b44d37.js → browser-DFM_JsAK.js} +1 -1
- codex/static_root/assets/browser-DFM_JsAK.js.br +0 -0
- codex/static_root/assets/browser-DFM_JsAK.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DyhQwNv1.26383853ccc0.js → change-password-dialog-yLNkzMp9.50da9f352709.js} +1 -1
- codex/static_root/assets/change-password-dialog-yLNkzMp9.50da9f352709.js.br +0 -0
- codex/static_root/assets/change-password-dialog-yLNkzMp9.50da9f352709.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DyhQwNv1.js → change-password-dialog-yLNkzMp9.js} +1 -1
- codex/static_root/assets/change-password-dialog-yLNkzMp9.js.br +0 -0
- codex/static_root/assets/change-password-dialog-yLNkzMp9.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-B7ndwV5M.d1f0728d4bd0.js → confirm-dialog-q6RAb_qs.120460c84883.js} +1 -1
- codex/static_root/assets/confirm-dialog-q6RAb_qs.120460c84883.js.br +0 -0
- codex/static_root/assets/confirm-dialog-q6RAb_qs.120460c84883.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-B7ndwV5M.js → confirm-dialog-q6RAb_qs.js} +1 -1
- codex/static_root/assets/confirm-dialog-q6RAb_qs.js.br +0 -0
- codex/static_root/assets/confirm-dialog-q6RAb_qs.js.gz +0 -0
- codex/static_root/assets/{datetime-column-DANpNGGe.13985ff7d484.js → datetime-column-HJ5dvW99.ba0a30b3fc0d.js} +1 -1
- codex/static_root/assets/datetime-column-HJ5dvW99.ba0a30b3fc0d.js.br +0 -0
- codex/static_root/assets/datetime-column-HJ5dvW99.ba0a30b3fc0d.js.gz +0 -0
- codex/static_root/assets/{datetime-column-DANpNGGe.js → datetime-column-HJ5dvW99.js} +1 -1
- codex/static_root/assets/datetime-column-HJ5dvW99.js.br +0 -0
- codex/static_root/assets/datetime-column-HJ5dvW99.js.gz +0 -0
- codex/static_root/assets/{filter-Dhe8cVmt.ad92d3b618e3.js → filter-r_zFj-tS.161a85ef1860.js} +1 -1
- codex/static_root/assets/filter-r_zFj-tS.161a85ef1860.js.br +0 -0
- codex/static_root/assets/filter-r_zFj-tS.161a85ef1860.js.gz +0 -0
- codex/static_root/assets/{filter-Dhe8cVmt.js → filter-r_zFj-tS.js} +1 -1
- codex/static_root/assets/filter-r_zFj-tS.js.br +0 -0
- codex/static_root/assets/filter-r_zFj-tS.js.gz +0 -0
- codex/static_root/assets/{flag-tab-BZ9S7U8D.0b814b215567.js → flag-tab-D0Z4uhsg.06e720e71319.js} +1 -1
- codex/static_root/assets/flag-tab-D0Z4uhsg.06e720e71319.js.br +0 -0
- codex/static_root/assets/flag-tab-D0Z4uhsg.06e720e71319.js.gz +0 -0
- codex/static_root/assets/{flag-tab-BZ9S7U8D.js → flag-tab-D0Z4uhsg.js} +1 -1
- codex/static_root/assets/flag-tab-D0Z4uhsg.js.br +0 -0
- codex/static_root/assets/flag-tab-D0Z4uhsg.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-Z0d4Mnc7.js → forwardRefs-Nj5UEeg5.50a55d7d8b68.js} +1 -1
- codex/static_root/assets/forwardRefs-Nj5UEeg5.50a55d7d8b68.js.br +0 -0
- codex/static_root/assets/forwardRefs-Nj5UEeg5.50a55d7d8b68.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-Z0d4Mnc7.deb4e7a1b8b5.js → forwardRefs-Nj5UEeg5.js} +1 -1
- codex/static_root/assets/forwardRefs-Nj5UEeg5.js.br +0 -0
- codex/static_root/assets/forwardRefs-Nj5UEeg5.js.gz +0 -0
- codex/static_root/assets/{group-tab-B0ASBB3_.8e10b90ff052.js → group-tab-lamd9pcq.604a78bd4e4f.js} +1 -1
- codex/static_root/assets/group-tab-lamd9pcq.604a78bd4e4f.js.br +0 -0
- codex/static_root/assets/group-tab-lamd9pcq.604a78bd4e4f.js.gz +0 -0
- codex/static_root/assets/{group-tab-B0ASBB3_.js → group-tab-lamd9pcq.js} +1 -1
- codex/static_root/assets/group-tab-lamd9pcq.js.br +0 -0
- codex/static_root/assets/group-tab-lamd9pcq.js.gz +0 -0
- codex/static_root/assets/{http-error-BP-mMZsK.72c4d00b40d2.js → http-error-DRYA5ir1.46f4babacf15.js} +1 -1
- codex/static_root/assets/http-error-DRYA5ir1.46f4babacf15.js.br +0 -0
- codex/static_root/assets/http-error-DRYA5ir1.46f4babacf15.js.gz +0 -0
- codex/static_root/assets/{http-error-BP-mMZsK.js → http-error-DRYA5ir1.js} +1 -1
- codex/static_root/assets/http-error-DRYA5ir1.js.br +0 -0
- codex/static_root/assets/http-error-DRYA5ir1.js.gz +0 -0
- codex/static_root/assets/{index-Cu9nQXJD.49795921eada.js → index-Cl7tPJIx.c0a239cf7069.js} +1 -1
- codex/static_root/assets/index-Cl7tPJIx.c0a239cf7069.js.br +0 -0
- codex/static_root/assets/index-Cl7tPJIx.c0a239cf7069.js.gz +0 -0
- codex/static_root/assets/{index-Cu9nQXJD.js → index-Cl7tPJIx.js} +1 -1
- codex/static_root/assets/index-Cl7tPJIx.js.br +0 -0
- codex/static_root/assets/index-Cl7tPJIx.js.gz +0 -0
- codex/static_root/assets/library-tab-2UucZZAW.f4541a086231.js +1 -0
- codex/static_root/assets/library-tab-2UucZZAW.f4541a086231.js.br +0 -0
- codex/static_root/assets/library-tab-2UucZZAW.f4541a086231.js.gz +0 -0
- codex/static_root/assets/library-tab-2UucZZAW.js +1 -0
- codex/static_root/assets/library-tab-2UucZZAW.js.br +0 -0
- codex/static_root/assets/library-tab-2UucZZAW.js.gz +0 -0
- codex/static_root/assets/{library-tab-D9lxhAqv.02f7064c20f3.css → library-tab-5StL67ei.0fad8998a237.css} +1 -1
- codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css.br +0 -0
- codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css.gz +0 -0
- codex/static_root/assets/{library-tab-D9lxhAqv.css → library-tab-5StL67ei.css} +1 -1
- codex/static_root/assets/library-tab-5StL67ei.css.br +0 -0
- codex/static_root/assets/library-tab-5StL67ei.css.gz +0 -0
- codex/static_root/assets/main-BX4TjIpG.dc79406e2a7b.js +39 -0
- codex/static_root/assets/main-BX4TjIpG.dc79406e2a7b.js.br +0 -0
- codex/static_root/assets/main-BX4TjIpG.dc79406e2a7b.js.gz +0 -0
- codex/static_root/assets/main-BX4TjIpG.js +39 -0
- codex/static_root/assets/main-BX4TjIpG.js.br +0 -0
- codex/static_root/assets/main-BX4TjIpG.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.762b6bef9373.js +1 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.762b6bef9373.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.762b6bef9373.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.js +1 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-DGfRDeRW.c3f463ad6edd.js → pagination-toolbar-48pwYEe_.892375c5aa51.js} +1 -1
- codex/static_root/assets/pagination-toolbar-48pwYEe_.892375c5aa51.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-48pwYEe_.892375c5aa51.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-DGfRDeRW.js → pagination-toolbar-48pwYEe_.js} +1 -1
- codex/static_root/assets/pagination-toolbar-48pwYEe_.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-48pwYEe_.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-D6Meu4vZ.91b43d057670.js → pdf-doc-GyrCvyP5.54b26ba8d93c.js} +14 -14
- codex/static_root/assets/pdf-doc-GyrCvyP5.54b26ba8d93c.js.br +0 -0
- codex/static_root/assets/pdf-doc-GyrCvyP5.54b26ba8d93c.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-D6Meu4vZ.js → pdf-doc-GyrCvyP5.js} +14 -14
- codex/static_root/assets/pdf-doc-GyrCvyP5.js.br +0 -0
- codex/static_root/assets/pdf-doc-GyrCvyP5.js.gz +0 -0
- codex/static_root/assets/{reader-LwL05rgA.c022ad3b7b94.css → reader-HE07eoaG.8626eeb7c718.css} +1 -1
- codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css.br +0 -0
- codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css.gz +0 -0
- codex/static_root/assets/{reader-LwL05rgA.css → reader-HE07eoaG.css} +1 -1
- codex/static_root/assets/reader-HE07eoaG.css.br +0 -0
- codex/static_root/assets/reader-HE07eoaG.css.gz +0 -0
- codex/static_root/assets/reader-lmk4MiSj.9239243e1be1.js +2 -0
- codex/static_root/assets/reader-lmk4MiSj.9239243e1be1.js.br +0 -0
- codex/static_root/assets/reader-lmk4MiSj.9239243e1be1.js.gz +0 -0
- codex/static_root/assets/reader-lmk4MiSj.js +2 -0
- codex/static_root/assets/reader-lmk4MiSj.js.br +0 -0
- codex/static_root/assets/reader-lmk4MiSj.js.gz +0 -0
- codex/static_root/assets/{relation-chips-CAXZIswb.e991a259ce59.js → relation-chips-Dgb6LQdZ.c028ab2df979.js} +1 -1
- codex/static_root/assets/relation-chips-Dgb6LQdZ.c028ab2df979.js.br +0 -0
- codex/static_root/assets/relation-chips-Dgb6LQdZ.c028ab2df979.js.gz +0 -0
- codex/static_root/assets/{relation-chips-CAXZIswb.js → relation-chips-Dgb6LQdZ.js} +1 -1
- codex/static_root/assets/relation-chips-Dgb6LQdZ.js.br +0 -0
- codex/static_root/assets/relation-chips-Dgb6LQdZ.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-B4gD41g6.js → settings-drawer-CRmLEncr.6937d45e18af.js} +2 -2
- codex/static_root/assets/settings-drawer-CRmLEncr.6937d45e18af.js.br +0 -0
- codex/static_root/assets/settings-drawer-CRmLEncr.6937d45e18af.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-B4gD41g6.82718694498e.js → settings-drawer-CRmLEncr.js} +2 -2
- codex/static_root/assets/settings-drawer-CRmLEncr.js.br +0 -0
- codex/static_root/assets/settings-drawer-CRmLEncr.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-O6yTJ_UV.7180d77d283e.js → ssrBoot-CCKPlpgB.c90fa83e0817.js} +1 -1
- codex/static_root/assets/ssrBoot-CCKPlpgB.c90fa83e0817.js.br +0 -0
- codex/static_root/assets/ssrBoot-CCKPlpgB.c90fa83e0817.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-O6yTJ_UV.js → ssrBoot-CCKPlpgB.js} +1 -1
- codex/static_root/assets/ssrBoot-CCKPlpgB.js.br +0 -0
- codex/static_root/assets/ssrBoot-CCKPlpgB.js.gz +0 -0
- codex/static_root/assets/{stats-tab-BZjOg19A.afb2e6b0d648.js → stats-tab-CrU_p2gC.e12768f9423d.js} +1 -1
- codex/static_root/assets/stats-tab-CrU_p2gC.e12768f9423d.js.br +0 -0
- codex/static_root/assets/stats-tab-CrU_p2gC.e12768f9423d.js.gz +0 -0
- codex/static_root/assets/{stats-tab-BZjOg19A.js → stats-tab-CrU_p2gC.js} +1 -1
- codex/static_root/assets/stats-tab-CrU_p2gC.js.br +0 -0
- codex/static_root/assets/stats-tab-CrU_p2gC.js.gz +0 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.2a5135c30818.js +1 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.2a5135c30818.js.br +0 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.2a5135c30818.js.gz +0 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.js +1 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.js.br +0 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.js.gz +0 -0
- codex/static_root/assets/{unauthorized-Bo3ThIrX.12d2efd95d7d.js → unauthorized-DObmibd6.b47434919de7.js} +1 -1
- codex/static_root/assets/unauthorized-DObmibd6.b47434919de7.js.br +0 -0
- codex/static_root/assets/unauthorized-DObmibd6.b47434919de7.js.gz +0 -0
- codex/static_root/assets/{unauthorized-Bo3ThIrX.js → unauthorized-DObmibd6.js} +1 -1
- codex/static_root/assets/unauthorized-DObmibd6.js.br +0 -0
- codex/static_root/assets/unauthorized-DObmibd6.js.gz +0 -0
- codex/static_root/assets/{user-tab-BQ82qBg3.17190dc83452.js → user-tab-DedY8MbN.624af3a6a978.js} +1 -1
- codex/static_root/assets/user-tab-DedY8MbN.624af3a6a978.js.br +0 -0
- codex/static_root/assets/user-tab-DedY8MbN.624af3a6a978.js.gz +0 -0
- codex/static_root/assets/{user-tab-BQ82qBg3.js → user-tab-DedY8MbN.js} +1 -1
- codex/static_root/assets/user-tab-DedY8MbN.js.br +0 -0
- codex/static_root/assets/user-tab-DedY8MbN.js.gz +0 -0
- codex/static_root/{manifest.0dc91d0dee6d.json → manifest.4217bf6f9edb.json} +313 -313
- codex/static_root/manifest.4217bf6f9edb.json.br +0 -0
- codex/static_root/manifest.4217bf6f9edb.json.gz +0 -0
- codex/static_root/manifest.json +313 -313
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/views/admin/library.py +4 -1
- codex/views/browser/params.py +21 -17
- codex/views/reader/arcs.py +16 -6
- codex/views/reader/params.py +4 -1
- codex/views/session.py +1 -0
- {codex-1.8.0a2.dist-info → codex-1.8.0a3.dist-info}/METADATA +2 -2
- {codex-1.8.0a2.dist-info → codex-1.8.0a3.dist-info}/RECORD +297 -293
- codex/librarian/scribe/importer/failed_imports.py +0 -168
- codex/librarian/scribe/importer/statii/1 +0 -27
- codex/static_root/assets/VCheckbox-DSndl51k.1e28c443c3cb.js.br +0 -0
- codex/static_root/assets/VCheckbox-DSndl51k.1e28c443c3cb.js.gz +0 -0
- codex/static_root/assets/VCheckbox-DSndl51k.js.br +0 -0
- codex/static_root/assets/VCheckbox-DSndl51k.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.d7463473d7a2.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.d7463473d7a2.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.js.gz +0 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.9f900e703605.js.br +0 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.9f900e703605.js.gz +0 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.js.br +0 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.js.gz +0 -0
- codex/static_root/assets/VDialog-BzaGu1HN.34f52763c3f8.js.br +0 -0
- codex/static_root/assets/VDialog-BzaGu1HN.34f52763c3f8.js.gz +0 -0
- codex/static_root/assets/VDialog-BzaGu1HN.js.br +0 -0
- codex/static_root/assets/VDialog-BzaGu1HN.js.gz +0 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.4938e9ced53e.js.br +0 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.4938e9ced53e.js.gz +0 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.js.br +0 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.5cb7c833de3d.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.5cb7c833de3d.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.js.gz +0 -0
- codex/static_root/assets/VForm-CyCdgusw.c737973a1e85.js.br +0 -0
- codex/static_root/assets/VForm-CyCdgusw.c737973a1e85.js.gz +0 -0
- codex/static_root/assets/VForm-CyCdgusw.js.br +0 -0
- codex/static_root/assets/VForm-CyCdgusw.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.e54d2bf41bb2.js.br +0 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.e54d2bf41bb2.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.js.br +0 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.js.gz +0 -0
- codex/static_root/assets/VSelect-Dv50OIkN.390adb1fe7fa.js.br +0 -0
- codex/static_root/assets/VSelect-Dv50OIkN.390adb1fe7fa.js.gz +0 -0
- codex/static_root/assets/VSelect-Dv50OIkN.js.br +0 -0
- codex/static_root/assets/VSelect-Dv50OIkN.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.8d2ab1ebe546.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.8d2ab1ebe546.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.js.gz +0 -0
- codex/static_root/assets/VTable-BmOfHc7J.b2e1311009d1.js.br +0 -0
- codex/static_root/assets/VTable-BmOfHc7J.b2e1311009d1.js.gz +0 -0
- codex/static_root/assets/VTable-BmOfHc7J.js.br +0 -0
- codex/static_root/assets/VTable-BmOfHc7J.js.gz +0 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.4b67c4a63c59.js.br +0 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.4b67c4a63c59.js.gz +0 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.js.br +0 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.js.gz +0 -0
- codex/static_root/assets/admin-Bv40vYZw.8179e1ece835.js.br +0 -0
- codex/static_root/assets/admin-Bv40vYZw.8179e1ece835.js.gz +0 -0
- codex/static_root/assets/admin-Bv40vYZw.js.br +0 -0
- codex/static_root/assets/admin-Bv40vYZw.js.gz +0 -0
- codex/static_root/assets/admin-kjMoKlqD.55a1dd908124.js.br +0 -0
- codex/static_root/assets/admin-kjMoKlqD.55a1dd908124.js.gz +0 -0
- codex/static_root/assets/admin-kjMoKlqD.js.br +0 -0
- codex/static_root/assets/admin-kjMoKlqD.js.gz +0 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.e1f62ba483cd.js +0 -1
- codex/static_root/assets/admin-menu-BNpuOmbI.e1f62ba483cd.js.br +0 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.e1f62ba483cd.js.gz +0 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.js +0 -1
- codex/static_root/assets/admin-menu-BNpuOmbI.js.br +0 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.4cdd37d0dd16.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.4cdd37d0dd16.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.js.gz +0 -0
- codex/static_root/assets/browser-plYso4v5.87ef04b44d37.js.br +0 -0
- codex/static_root/assets/browser-plYso4v5.87ef04b44d37.js.gz +0 -0
- codex/static_root/assets/browser-plYso4v5.js.br +0 -0
- codex/static_root/assets/browser-plYso4v5.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.26383853ccc0.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.26383853ccc0.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.d1f0728d4bd0.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.d1f0728d4bd0.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.js.gz +0 -0
- codex/static_root/assets/datetime-column-DANpNGGe.13985ff7d484.js.br +0 -0
- codex/static_root/assets/datetime-column-DANpNGGe.13985ff7d484.js.gz +0 -0
- codex/static_root/assets/datetime-column-DANpNGGe.js.br +0 -0
- codex/static_root/assets/datetime-column-DANpNGGe.js.gz +0 -0
- codex/static_root/assets/filter-Dhe8cVmt.ad92d3b618e3.js.br +0 -0
- codex/static_root/assets/filter-Dhe8cVmt.ad92d3b618e3.js.gz +0 -0
- codex/static_root/assets/filter-Dhe8cVmt.js.br +0 -0
- codex/static_root/assets/filter-Dhe8cVmt.js.gz +0 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.0b814b215567.js.br +0 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.0b814b215567.js.gz +0 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.js.br +0 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.js.gz +0 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.deb4e7a1b8b5.js.br +0 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.deb4e7a1b8b5.js.gz +0 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.js.br +0 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.js.gz +0 -0
- codex/static_root/assets/group-tab-B0ASBB3_.8e10b90ff052.js.br +0 -0
- codex/static_root/assets/group-tab-B0ASBB3_.8e10b90ff052.js.gz +0 -0
- codex/static_root/assets/group-tab-B0ASBB3_.js.br +0 -0
- codex/static_root/assets/group-tab-B0ASBB3_.js.gz +0 -0
- codex/static_root/assets/http-error-BP-mMZsK.72c4d00b40d2.js.br +0 -0
- codex/static_root/assets/http-error-BP-mMZsK.72c4d00b40d2.js.gz +0 -0
- codex/static_root/assets/http-error-BP-mMZsK.js.br +0 -0
- codex/static_root/assets/http-error-BP-mMZsK.js.gz +0 -0
- codex/static_root/assets/index-Cu9nQXJD.49795921eada.js.br +0 -0
- codex/static_root/assets/index-Cu9nQXJD.49795921eada.js.gz +0 -0
- codex/static_root/assets/index-Cu9nQXJD.js.br +0 -0
- codex/static_root/assets/index-Cu9nQXJD.js.gz +0 -0
- codex/static_root/assets/library-tab-8g2eSuGN.846cc1674a67.js +0 -1
- codex/static_root/assets/library-tab-8g2eSuGN.846cc1674a67.js.br +0 -0
- codex/static_root/assets/library-tab-8g2eSuGN.846cc1674a67.js.gz +0 -0
- codex/static_root/assets/library-tab-8g2eSuGN.js +0 -1
- codex/static_root/assets/library-tab-8g2eSuGN.js.br +0 -0
- codex/static_root/assets/library-tab-8g2eSuGN.js.gz +0 -0
- codex/static_root/assets/library-tab-D9lxhAqv.02f7064c20f3.css.br +0 -0
- codex/static_root/assets/library-tab-D9lxhAqv.02f7064c20f3.css.gz +0 -0
- codex/static_root/assets/library-tab-D9lxhAqv.css.br +0 -0
- codex/static_root/assets/library-tab-D9lxhAqv.css.gz +0 -0
- codex/static_root/assets/main-BoAlbVoF.e41ba211717d.js +0 -39
- codex/static_root/assets/main-BoAlbVoF.e41ba211717d.js.br +0 -0
- codex/static_root/assets/main-BoAlbVoF.e41ba211717d.js.gz +0 -0
- codex/static_root/assets/main-BoAlbVoF.js +0 -39
- codex/static_root/assets/main-BoAlbVoF.js.br +0 -0
- codex/static_root/assets/main-BoAlbVoF.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.026946648650.js +0 -1
- codex/static_root/assets/pager-full-pdf-DShiSKPO.026946648650.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.026946648650.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.js +0 -1
- codex/static_root/assets/pager-full-pdf-DShiSKPO.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.c3f463ad6edd.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.c3f463ad6edd.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.js.gz +0 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.91b43d057670.js.br +0 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.91b43d057670.js.gz +0 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.js.br +0 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.js.gz +0 -0
- codex/static_root/assets/reader-CptqnqBZ.340bc756e164.js +0 -2
- codex/static_root/assets/reader-CptqnqBZ.340bc756e164.js.br +0 -0
- codex/static_root/assets/reader-CptqnqBZ.340bc756e164.js.gz +0 -0
- codex/static_root/assets/reader-CptqnqBZ.js +0 -2
- codex/static_root/assets/reader-CptqnqBZ.js.br +0 -0
- codex/static_root/assets/reader-CptqnqBZ.js.gz +0 -0
- codex/static_root/assets/reader-LwL05rgA.c022ad3b7b94.css.br +0 -0
- codex/static_root/assets/reader-LwL05rgA.c022ad3b7b94.css.gz +0 -0
- codex/static_root/assets/reader-LwL05rgA.css.br +0 -0
- codex/static_root/assets/reader-LwL05rgA.css.gz +0 -0
- codex/static_root/assets/relation-chips-CAXZIswb.e991a259ce59.js.br +0 -0
- codex/static_root/assets/relation-chips-CAXZIswb.e991a259ce59.js.gz +0 -0
- codex/static_root/assets/relation-chips-CAXZIswb.js.br +0 -0
- codex/static_root/assets/relation-chips-CAXZIswb.js.gz +0 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.82718694498e.js.br +0 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.82718694498e.js.gz +0 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.js.br +0 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.js.gz +0 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.7180d77d283e.js.br +0 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.7180d77d283e.js.gz +0 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.js.br +0 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.js.gz +0 -0
- codex/static_root/assets/stats-tab-BZjOg19A.afb2e6b0d648.js.br +0 -0
- codex/static_root/assets/stats-tab-BZjOg19A.afb2e6b0d648.js.gz +0 -0
- codex/static_root/assets/stats-tab-BZjOg19A.js.br +0 -0
- codex/static_root/assets/stats-tab-BZjOg19A.js.gz +0 -0
- codex/static_root/assets/task-tab-GP2jPkRE.cfdfb9396ec4.js +0 -1
- codex/static_root/assets/task-tab-GP2jPkRE.cfdfb9396ec4.js.br +0 -0
- codex/static_root/assets/task-tab-GP2jPkRE.cfdfb9396ec4.js.gz +0 -0
- codex/static_root/assets/task-tab-GP2jPkRE.js +0 -1
- codex/static_root/assets/task-tab-GP2jPkRE.js.br +0 -0
- codex/static_root/assets/task-tab-GP2jPkRE.js.gz +0 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.12d2efd95d7d.js.br +0 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.12d2efd95d7d.js.gz +0 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.js.br +0 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.js.gz +0 -0
- codex/static_root/assets/user-tab-BQ82qBg3.17190dc83452.js.br +0 -0
- codex/static_root/assets/user-tab-BQ82qBg3.17190dc83452.js.gz +0 -0
- codex/static_root/assets/user-tab-BQ82qBg3.js.br +0 -0
- codex/static_root/assets/user-tab-BQ82qBg3.js.gz +0 -0
- codex/static_root/manifest.0dc91d0dee6d.json.br +0 -0
- codex/static_root/manifest.0dc91d0dee6d.json.gz +0 -0
- {codex-1.8.0a2.dist-info → codex-1.8.0a3.dist-info}/WHEEL +0 -0
- {codex-1.8.0a2.dist-info → codex-1.8.0a3.dist-info}/entry_points.txt +0 -0
- {codex-1.8.0a2.dist-info → codex-1.8.0a3.dist-info}/licenses/LICENSE +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as m,D as c,s as e,q as s,v as l,a as o,w as u,aJ as _,ak as d}from"./main-BoAlbVoF.js";import{S as g,P as k}from"./reader-CptqnqBZ.js";import P from"./pdf-doc-D6Meu4vZ.js";import"./settings-drawer-B4gD41g6.js";import"./forwardRefs-Z0d4Mnc7.js";import"./unauthorized-Bo3ThIrX.js";import"./VDialog-BzaGu1HN.js";import"./change-password-dialog-DyhQwNv1.js";import"./VForm-CyCdgusw.js";import"./VSelectionControl-DbKYScD5.js";import"./admin-kjMoKlqD.js";import"./ssrBoot-O6yTJ_UV.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDivider-C3ikm0Ko.js";import"./VWindowItem-BLEDgagD.js";import"./VSelect-Dv50OIkN.js";import"./VCheckboxBtn-Bu2Pf64q.js";import"./pagination-toolbar-DGfRDeRW.js";import"./VTable-BmOfHc7J.js";import"./confirm-dialog-B7ndwV5M.js";import"./VExpansionPanels-AmsInZN0.js";import"./VRadioGroup-BF0Xjrzi.js";import"./VCheckbox-DSndl51k.js";import"./index-Cu9nQXJD.js";const f={name:"PagerFullPDF",components:{PageChangeLink:k,PDFDoc:P,ScaleForScroll:g},props:{book:{type:Object,required:!0}},emits:["load","error","unauthorized"],computed:{...c(d,{page:r=>r.page||0}),src(){return _(this.book)}}};function F(r,D,a,S,h,p){const t=e("PageChangeLink"),n=e("PDFDoc"),i=e("ScaleForScroll");return l(),s("span",null,[o(t,{direction:"prev"}),o(t,{direction:"next"}),o(i,null,{default:u(()=>[o(n,{book:a.book,page:r.page,src:p.src},null,8,["book","page","src"])]),_:1})])}const M=m(f,[["render",F]]);export{M as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as m,D as c,s as e,q as s,v as l,a as o,w as u,aJ as _,ak as d}from"./main-BoAlbVoF.js";import{S as g,P as k}from"./reader-CptqnqBZ.js";import P from"./pdf-doc-D6Meu4vZ.js";import"./settings-drawer-B4gD41g6.js";import"./forwardRefs-Z0d4Mnc7.js";import"./unauthorized-Bo3ThIrX.js";import"./VDialog-BzaGu1HN.js";import"./change-password-dialog-DyhQwNv1.js";import"./VForm-CyCdgusw.js";import"./VSelectionControl-DbKYScD5.js";import"./admin-kjMoKlqD.js";import"./ssrBoot-O6yTJ_UV.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDivider-C3ikm0Ko.js";import"./VWindowItem-BLEDgagD.js";import"./VSelect-Dv50OIkN.js";import"./VCheckboxBtn-Bu2Pf64q.js";import"./pagination-toolbar-DGfRDeRW.js";import"./VTable-BmOfHc7J.js";import"./confirm-dialog-B7ndwV5M.js";import"./VExpansionPanels-AmsInZN0.js";import"./VRadioGroup-BF0Xjrzi.js";import"./VCheckbox-DSndl51k.js";import"./index-Cu9nQXJD.js";const f={name:"PagerFullPDF",components:{PageChangeLink:k,PDFDoc:P,ScaleForScroll:g},props:{book:{type:Object,required:!0}},emits:["load","error","unauthorized"],computed:{...c(d,{page:r=>r.page||0}),src(){return _(this.book)}}};function F(r,D,a,S,h,p){const t=e("PageChangeLink"),n=e("PDFDoc"),i=e("ScaleForScroll");return l(),s("span",null,[o(t,{direction:"prev"}),o(t,{direction:"next"}),o(i,null,{default:u(()=>[o(n,{book:a.book,page:r.page,src:p.src},null,8,["book","page","src"])]),_:1})])}const M=m(f,[["render",F]]);export{M as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-D6Meu4vZ.js","assets/main-BoAlbVoF.js","assets/main-B8_0rUnw.css","assets/pdf-doc-DxqOo2k2.css","assets/pager-full-pdf-DShiSKPO.js","assets/settings-drawer-B4gD41g6.js","assets/forwardRefs-Z0d4Mnc7.js","assets/forwardRefs-B_sUWZn6.css","assets/unauthorized-Bo3ThIrX.js","assets/VDialog-BzaGu1HN.js","assets/VDialog-CpWjrJ0R.css","assets/change-password-dialog-DyhQwNv1.js","assets/VForm-CyCdgusw.js","assets/VSelectionControl-DbKYScD5.js","assets/VSelectionControl-RqBzwjYi.css","assets/VForm-DxBt30-N.css","assets/admin-kjMoKlqD.js","assets/change-password-dialog-DL8UMjmX.css","assets/ssrBoot-O6yTJ_UV.js","assets/unauthorized-BBwsmi0O.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/VDivider-C3ikm0Ko.js","assets/VDivider-DU47sRrT.css","assets/settings-drawer-CpS_aX4Z.css","assets/VWindowItem-BLEDgagD.js","assets/VWindowItem-ChYLiXSE.css","assets/VSelect-Dv50OIkN.js","assets/VCheckboxBtn-Bu2Pf64q.js","assets/VSelect-DQPZyfSb.css","assets/pagination-toolbar-DGfRDeRW.js","assets/VTable-BmOfHc7J.js","assets/VTable-CQyv0wyO.css","assets/confirm-dialog-B7ndwV5M.js","assets/confirm-dialog-YfC8mRQA.css","assets/pagination-toolbar-741OafNw.css","assets/VExpansionPanels-AmsInZN0.js","assets/VExpansionPanels-RsCANmDP.css","assets/VRadioGroup-BF0Xjrzi.js","assets/VRadioGroup-Cp9mZ7cb.css","assets/VCheckbox-DSndl51k.js","assets/VCheckbox-CvH8ekHL.css","assets/index-Cu9nQXJD.js","assets/index-Czf-fUM7.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as v,B as y,D as k,ak as d,x as m,G as T,w as g,d as R,s as h,v as u,a as r,y as w,A as L,q as _,aa as we,F as D,al as it,am as lt,m as ee,an as Ce,ao as ct,ap as Te,H as Re,n as O,aq as Be,ar as q,as as ut,S as $,a5 as dt,at as ht,au as De,z as U,k as Ie,b as n,av as pt,C as $e,aw as gt,ax as mt,ay as kt,g as xe,p as ae,az as Le,u as Ve,aA as Oe,J as Ae,aB as ft,aC as vt,c as x,aD as bt,aE as yt,aF as _t,aG as Pt,aH as St,aI as wt,aJ as Ct,E as F,ab as Tt,$ as Rt,aK as Bt,O as Dt,P as It,Q as $t,R as xt,aL as Lt,aM as Vt,aN as Ot,aO as At,L as te,aP as Et,V as Nt,aQ as Ee,aR as Ut}from"./main-BoAlbVoF.js";import{V as Ft,a as Wt,S as zt}from"./settings-drawer-B4gD41g6.js";import{k as K,I as Mt,r as Ne,i as Ue,c as Kt,t as Fe,v as We,d as Ht,j as ze,w as Me,x as jt,V as Ke}from"./forwardRefs-Z0d4Mnc7.js";import{P as qt,E as He,A as Gt,V as Yt,a as Jt,U as Qt,c as Xt}from"./unauthorized-Bo3ThIrX.js";import{V as je,a as qe}from"./VWindowItem-BLEDgagD.js";import{b as Zt}from"./VSelect-Dv50OIkN.js";import{C as ne,a as eo}from"./VDialog-BzaGu1HN.js";import{D as to,T as oo,b as so,V as G,a as ao,P as Ge,c as no,d as ro}from"./pagination-toolbar-DGfRDeRW.js";import{V as io,a as lo,b as co,c as uo}from"./VExpansionPanels-AmsInZN0.js";import{d as ho,V as po,e as go}from"./VSelectionControl-DbKYScD5.js";import{V as Y,a as J}from"./VRadioGroup-BF0Xjrzi.js";import{a as oe}from"./VDivider-C3ikm0Ko.js";import{V as N}from"./VCheckbox-DSndl51k.js";import{T as Q}from"./index-Cu9nQXJD.js";const mo={control:"ctrl",command:"cmd",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright",esc:"escape",spacebar:" ",space:" ",return:"enter",del:"delete",minus:"-",hyphen:"-"};function ge(e){const t=e.toLowerCase();return mo[t]||t}function Ye(e){if(!e)return[];const l=(e.startsWith("+")||e.startsWith("_"))&&!(e.startsWith("++")||e.startsWith("__"));if(e.length>1&&l||e.includes("++")||e.includes("__")||e==="+"||e==="_"||e.length>1&&(e.endsWith("+")||e.endsWith("_"))&&e.at(-2)!==e.at(-1)||e==="++"||e==="--"||e==="__")return[];const a=[];let o="";const s=()=>{o&&(a.push(ge(o)),o="")};for(let p=0;p<e.length;p++){const f=e[p],B=e[p+1];f==="+"||f==="_"||f==="-"?f===B?(s(),a.push(f),p++):f==="+"||f==="_"?s():o+=f:o+=f}return s(),a.some(p=>p.length>1&&p.includes("-")&&p!=="--")?[]:a.length===0&&e?[ge(e)]:a}function ko(e){if(!e)return[];const t=e.startsWith("-")&&!["---","--+"].includes(e),l=e.endsWith("-")&&!e.endsWith("+-")&&!e.endsWith("_-")&&e!=="-"&&e!=="---";if(t||l)return[];const c=[];let a="",o=0;for(;o<e.length;){const f=e[o];if(f==="-"){const B=e[o-1],A=o>1?e[o-2]:void 0;(B==="+"||B==="_")&&A!=="+"?(a+=f,o++):(a?(c.push(a),a=""):c.push("-"),o++)}else a+=f,o++}a&&c.push(a);const s=[];let i=0;for(const f of c)f==="-"?(i%2===0&&s.push("-"),i++):(i=0,s.push(f));return s.every(f=>Ye(f).length>0)?s:[]}function Je(e,t){const{self:l=!1}=t.modifiers??{},c=t.value,a=typeof c=="object"&&c.options||{passive:!0},o=typeof c=="function"||"handleEvent"in c?c:c.handler,s=l?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,a),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:a,target:l?void 0:s})}function Qe(e,t){if(!e._onScroll?.[t.instance.$.uid])return;const{handler:l,options:c,target:a=e}=e._onScroll[t.instance.$.uid];a.removeEventListener("scroll",l,c),delete e._onScroll[t.instance.$.uid]}function fo(e,t){t.value!==t.oldValue&&(Qe(e,t),Je(e,t))}const vo={mounted:Je,unmounted:Qe,updated:fo},bo={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...k(d,["isBTT"]),...k(d,{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:{...y(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function yo(e,t,l,c,a,o){const s=h("router-link");return o.show?(u(),m(Ft,{key:0,class:R(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:g(()=>[r(s,{class:R({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=i=>i.stopImmediatePropagation())},{default:g(()=>[r(K,{class:"bookChangeIcon"},{default:g(()=>[w(L(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):T("",!0)}const _o=v(bo,[["render",yo],["__scopeId","data-v-0340b976"]]),Po={name:"BookChangeActivator",components:{BookChangeDrawer:_o},props:{direction:{type:String,required:!0}},computed:{show(){return this.bookChangeShow(this.computedDirection)},computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)}},methods:{...y(d,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function So(e,t,l,c,a,o){const s=h("BookChangeDrawer");return u(),_(D,null,[o.show?(u(),_("div",{key:0,class:R(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=we(i=>e.setBookChangeFlag(l.direction),["stop"]))},null,2)):T("",!0),r(s,{direction:l.direction},null,8,["direction"])],64)}const wo=v(Po,[["render",So],["__scopeId","data-v-67df236c"]]),Co={name:"LoadingPage",components:{Placeholder:qt},props:{twoPages:{type:Boolean,required:!0}}};function To(e,t,l,c,a,o){const s=h("Placeholder");return u(),_("div",{class:R(["pageLoading",{twoPages:l.twoPages}])},[r(s,{class:"pagePlaceholder"})],2)}const Ro=v(Co,[["render",To],["__scopeId","data-v-04027168"]]),me="unauthorized",Bo={name:"ErrorPage",components:{EmptyState:He},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===me?"Protected page":"Failed to load page"},icon(){return this.type===me?it:lt}},methods:{onAction(e){this.$emit("retry",e)}}};function Do(e,t,l,c,a,o){const s=h("EmptyState");return u(),m(s,{class:R(["pageError",{twoPages:l.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Io=v(Bo,[["render",Do],["__scopeId","data-v-97fa48e8"]]),$o={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...k(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!t?.naturalWidth)return e;const l=t.naturalWidth/2;return e.transformOrigin=`${l}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...y(d,["getBookSettings"])}},xo=["src"];function Lo(e,t,l,c,a,o){return u(),_("img",ee({class:[o.classes,"img"],draggable:"false",src:l.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,xo)}const ke=v($o,[["render",Lo],["__scopeId","data-v-014c2ac0"]]),fe=Ce(Te(()=>Be(()=>import("./pdf-doc-D6Meu4vZ.js"),__vite__mapDeps([0,1,2,3])))),Vo=333,Oo={name:"BookPage",components:{ErrorPage:Io,LoadingPage:Ro,PDFDoc:fe,ImgPage:ke},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...k(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=this.$refs.pageComponent?.$el;return t?.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return ct(t)},component(){return this.book.fileType==="PDF"?fe:ke}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vo)},methods:{onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},Ao=["id","data-page"];function Eo(e,t,l,c,a,o){const s=h("ErrorPage"),i=h("LoadingPage");return u(),_("div",{id:`page${l.page}`,key:a.ts,"data-page":l.page,class:"page",style:O(o.style)},[a.error?(u(),m(s,{key:0,"two-pages":e.settings.twoPages,type:a.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):a.showProgress&&!a.loaded?(u(),m(i,{key:1,"two-pages":e.settings.twoPages},null,8,["two-pages"])):(u(),m(Re(o.component),{key:2,ref:"pageComponent",book:l.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Ao)}const Xe=v(Oo,[["render",Eo],["__scopeId","data-v-ea178cb3"]]),No=.5,Uo={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ut}},computed:{...k(d,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=q},style(){return{cursor:this.scale==q?"zoom-in":"all-scroll"}}},methods:{...y(d,["setSettingsClient"]),clearSelection(){globalThis.getSelection&&globalThis.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+No;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:q})}}};function Fo(e,t,l,c,a,o){const s=ht("drag-scroller");return $((u(),_("div",{class:"scaleForScroll",style:O(o.style),onDblclick:t[0]||(t[0]=(...i)=>o.onDoubleClick&&o.onDoubleClick(...i))},[dt(e.$slots,"default",{},void 0,!0),o.showReset?(u(),m(K,{key:0,class:"resetIcon",onClick:we(o.scaleReset,["stop"])},{default:g(()=>[w(L(a.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):T("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const Ze=v(Uo,[["render",Fo],["__scopeId","data-v-88f3df90"]]),Wo={name:"HorizontalPages",components:{BookPage:Xe,ScaleForScroll:Ze},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},showSecondPage(){return this.bookSettings.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:{...y(d,["getBookSettings","isCoverPage"])}};function zo(e,t,l,c,a,o){const s=h("BookPage"),i=h("ScaleForScroll");return u(),m(i,{class:"noWrap"},{default:g(()=>[o.showPageOne?(u(),m(s,{key:0,ref:"pageOne",book:l.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):T("",!0),o.showPageTwo?(u(),m(s,{key:1,book:l.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):T("",!0)]),_:1})}const Mo=v(Wo,[["render",zo],["__scopeId","data-v-ce77a1b1"]]),Ko={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...k(d,["isFirstPage","isLastPage"]),...k(d,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){return"pageChangeColumn"},directionClass(){return this.direction},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...y(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Ho(e,t,l,c,a,o){const s=h("router-link");return o.show?(u(),m(s,{key:0,to:o.route,"aria-label":o.label,class:R(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=i=>i.stopImmediatePropagation())},null,8,["to","aria-label","class"])):T("",!0)}const jo=v(Ko,[["render",Ho],["__scopeId","data-v-8a0b30bf"]]),qo=48,Go=48,Yo={name:"PagerHorizontal",components:{HorizontalPages:Mo,PageChangeLink:jo},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...k(d,{prevBook:e=>e.routes.books?.prev,nextBook:e=>e.routes.books?.next,storePage:e=>e.page,storePk:e=>e.books.current.pk,transition:e=>e.readerSettings.pageTransition}),bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages},isReadInReverse(){return this.bookSettings.isReadInReverse},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),l=this.pages.at(-1);(e<t||e>l)&&this.setPages()}}},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:{...y(d,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-qo,0),t=Math.min(this.activePage+Go,this.book.maxPage);this.pages=De(e,t+1)}}};function Jo(e,t,l,c,a,o){const s=h("PageChangeLink"),i=h("HorizontalPages");return u(),m(je,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:g(()=>[r(s,{direction:"prev"})]),next:g(()=>[r(s,{direction:"next"})]),default:g(()=>[(u(!0),_(D,null,U(a.pages,p=>(u(),m(qe,{key:`c/${l.book.pk}/${p}`,class:"windowItem",disabled:"",eager:p>=e.storePage-1&&p<=e.storePage+2,"model-value":p,transition:e.transition,"reverse-transition":e.transition},{default:g(()=>[r(i,{book:l.book,page:p},null,8,["book","page"])]),_:2},1032,["eager","model-value","transition","reverse-transition"]))),128))]),_:1},8,["model-value","reverse"])}const ve=v(Yo,[["render",Jo],["__scopeId","data-v-a55977d3"]]),be=250,Qo={name:"PagerVertical",components:{BookPage:Xe,ScaleForScroll:Ze},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1,intersectOptions:{handler:this.onIntersect,options:{threshold:[.75]}}}},computed:{...k(d,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...Ie(d,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){const e=this.book?.maxPage?this.book.maxPage+1:0,t=De(0,e);return this.isReadInReverse&&t.reverse(),t}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},be)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...y(d,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const c=+t[0].target.dataset.page;this.setActivePage(c,!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 l=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=l&&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},be)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Xo=["data-page"];function Zo(e,t,l,c,a,o){const s=h("BookPage"),i=h("ScaleForScroll");return u(),m(i,null,{default:g(()=>[$((u(),m(Zt,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:a.innerHeight,width:a.innerWidth},{default:g(({item:p})=>[r(s,{book:l.book,page:p,class:"verticalPage"},null,8,["book","page"]),$(n("div",{class:R(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":p},null,10,Xo),[[Mt,a.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[vo,o.onScroll,"#verticalScroll"]])]),_:1})}const ye=v(Qo,[["render",Zo],["__scopeId","data-v-4fdc17f1"]]),_e=Ce(Te(()=>Be(()=>import("./pager-full-pdf-DShiSKPO.js"),__vite__mapDeps([4,1,2,0,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42])))),es={name:"PagerSelector",components:{PagerHorizontal:ve,PagerPDF:_e,PagerVertical:ye},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...k(d,["cacheBook"]),...k(d,{storePk:e=>e.books?.current?.pk||0}),isActiveBook(){return this.book&&this.storePk===this.book?.pk},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){return this.book?.fileType=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=_e:this.bookSettings.isVertical?e=ye:e=ve,e}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.isActiveBook&&this.setActivePage(+this.$route.params.page,!0)},methods:{...y(d,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function ts(e,t,l,c,a,o){return u(),m(Re(o.component),{book:l.book},null,8,["book"])}const os=v(es,[["render",ts]]),ss={name:"BooksWindow",components:{BookChangeActivator:wo,Pager:os},computed:{...k(d,["isBTT"]),...k(d,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>e.books?.current?.pk||0,bookRoutes:e=>e.routes.books,transition:e=>e.readerSettings.pageTransition}),bookChangePrev(){return this.bookChangeShow("prev")},bookChangeNext(){return this.bookChangeShow("next")}},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{...y(d,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function as(e,t,l,c,a,o){const s=h("BookChangeActivator"),i=h("Pager");return u(),m(je,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:g(()=>[r(s,{direction:"prev"})]),next:g(()=>[r(s,{direction:"next"})]),default:g(()=>[(u(!0),_(D,null,U(e.books,p=>(u(),m(qe,{key:`c/${p.pk}`,class:"windowItem",disabled:"",eager:o.eager(p.pk),value:p.pk,transition:e.transition,"reverse-transitin":e.transition},{default:g(()=>[r(i,{book:p,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value","transition","reverse-transitin"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ns=v(ss,[["render",as],["__scopeId","data-v-3b8d07f2"]]),rs={name:"DownloadPanel",components:{CodexListItem:ne,DownloadButton:to},data(){return{mdiDownload:kt,mdiFileImage:mt}},computed:{...k(d,["activeTitle","routeParams"]),...k(d,{currentBook:e=>e.books?.current,fileType:e=>e.books?.current?.fileType,mtime:e=>e.books?.current?.mtime,pk:e=>e.books?.current?.pk,filename:e=>e.books?.current?.filename,storePage:e=>e.page}),pageSrc(){const e={pk:this.pk,page:this.storePage,ts:this.ts};return gt(e)},pageName(){const e=this.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`},downloadItem(){return{group:"c",ids:[this.pk],childCount:1,name:this.filename,mtime:this.mtime}}},methods:{...y($e,["downloadIOSPWAFix"]),downloadPage(){pt(this.pageSrc,this.pageName)}}},is={key:0,id:"downloadPanel"};function ls(e,t,l,c,a,o){const s=h("CodexListItem"),i=h("DownloadButton");return e.currentBook?(u(),_("div",is,[r(s,{"prepend-icon":a.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(i,{button:!1,item:o.downloadItem},null,8,["item"])])):T("",!0)}const cs=v(rs,[["render",ls],["__scopeId","data-v-a873b002"]]),us=ae({color:String,...Me(),...Ae(),...ze(),...Ht({tag:"kbd"}),...Oe(),...We()},"VKbd"),Pe=xe()({name:"VKbd",props:us(),setup(e,t){let{slots:l}=t;const{themeClasses:c}=Le(e),{borderClasses:a}=Ne(e),{roundedClasses:o}=Ue(e),{backgroundColorClasses:s,backgroundColorStyles:i}=Kt(()=>e.color),{elevationClasses:p}=Fe(e);return Ve(()=>r(e.tag,{class:R(["v-kbd",c.value,s.value,a.value,p.value,o.value,e.class]),style:O([i.value,e.style])},l)),{}}});function et(e,t,l){const c=l&&e.mac?e.mac:e.default,a=t==="icon"&&!l||t==="icon"&&!c.icon||t==="symbol"&&!c.symbol?"text":t;let o=c[a]??c.text;return a==="text"&&typeof o=="string"&&o.startsWith("$")&&!o.startsWith("$vuetify.")&&(o=o.slice(1).toUpperCase()),a==="icon"?["icon",o]:[a,o]}const tt={ctrl:{mac:{symbol:"⌃",icon:"$ctrl",text:"$vuetify.hotkey.ctrl"},default:{text:"Ctrl"}},meta:{mac:{symbol:"⌘",icon:"$command",text:"$vuetify.hotkey.command"},default:{text:"Ctrl"}},cmd:{mac:{symbol:"⌘",icon:"$command",text:"$vuetify.hotkey.command"},default:{text:"Ctrl"}},shift:{mac:{symbol:"⇧",icon:"$shift",text:"$vuetify.hotkey.shift"},default:{text:"Shift"}},alt:{mac:{symbol:"⌥",icon:"$alt",text:"$vuetify.hotkey.option"},default:{text:"Alt"}},enter:{default:{symbol:"↵",icon:"$enter",text:"$vuetify.hotkey.enter"}},arrowup:{default:{symbol:"↑",icon:"$arrowup",text:"$vuetify.hotkey.upArrow"}},arrowdown:{default:{symbol:"↓",icon:"$arrowdown",text:"$vuetify.hotkey.downArrow"}},arrowleft:{default:{symbol:"←",icon:"$arrowleft",text:"$vuetify.hotkey.leftArrow"}},arrowright:{default:{symbol:"→",icon:"$arrowright",text:"$vuetify.hotkey.rightArrow"}},backspace:{default:{symbol:"⌫",icon:"$backspace",text:"$vuetify.hotkey.backspace"}},escape:{default:{text:"$vuetify.hotkey.escape"}}," ":{mac:{symbol:"␣",icon:"$space",text:"$vuetify.hotkey.space"},default:{text:"$vuetify.hotkey.space"}},"-":{default:{text:"-"}}},ds=ae({variant:{type:String,default:"elevated",validator:e=>["elevated","flat","tonal","outlined","text","plain","contained"].includes(e)}},"VHotkeyVariant"),hs=ae({keys:String,displayMode:{type:String,default:"icon"},keyMap:{type:Object,default:()=>tt},platform:{type:String,default:"auto"},inline:Boolean,disabled:Boolean,prefix:String,suffix:String,...Ae(),...Oe(),...Me(),...ze(),...We(),...ds(),color:String},"VHotkey");class se{constructor(t){if(["and","then"].includes(t))this.val=t;else throw new Error("Not a valid delineator")}isEqual(t){return this.val===t.val}}function X(e){return e instanceof se}function ps(e){return typeof e=="string"}function gs(e,t,l){const c=t.toLowerCase();if(c in e){const a=et(e[c],"text",l);return typeof a[1]=="string"?a[1]:String(a[1])}return t.toUpperCase()}function Se(e,t,l,c){const a=l.toLowerCase();if(a in e){const o=et(e[a],t,c);return o[0]==="text"&&typeof o[1]=="string"&&o[1].startsWith("$")&&!o[1].startsWith("$vuetify.")?["text",o[1].replace("$","").toUpperCase(),l]:[...o,l]}return["text",l.toUpperCase(),l]}const ms=xe()({name:"VHotkey",props:hs(),setup(e){const{t}=ft(),{themeClasses:l}=Le(e),{rtlClasses:c}=vt(),{borderClasses:a}=Ne(e),{roundedClasses:o}=Ue(e),{elevationClasses:s}=Fe(e),i=x(()=>e.variant==="contained"),p=x(()=>({...e,variant:i.value?"elevated":e.variant})),{colorClasses:f,colorStyles:B,variantClasses:A}=jt(p),W=x(()=>e.platform==="auto"?typeof navigator<"u"&&/macintosh/i.test(navigator.userAgent):e.platform==="mac"),re=x(()=>e.displayMode),H=new se("and"),ie=new se("then"),le=x(()=>e.keyMap),E=x(()=>e.keys?e.keys.split(" ").map(b=>{const P=ko(b);return P.flatMap((S,C)=>{const he=Ye(S).reduce((V,pe,rt)=>rt!==0?[...V,H,pe]:[...V,pe],[]).map(V=>ps(V)?Se(le.value,re.value,V,W.value):V);return C<P.length-1&&he.push(ie),he})}):[]),at=x(()=>{if(!e.keys)return"";const P=E.value.map(S=>{const C=[];for(const I of S)if(X(I))H.isEqual(I)?C.push(t("$vuetify.hotkey.plus")):ie.isEqual(I)&&C.push(t("$vuetify.hotkey.then"));else{const de=I[0]==="icon"||I[0]==="symbol"?Se(bt(tt,e.keyMap),"text",String(I[1]),W.value)[1]:I[1];C.push(j(de))}return C.join(" ")}).join(", ");return t("$vuetify.hotkey.shortcut",P)});function j(b){return b.startsWith("$vuetify.")?t(b):b}function nt(b){if(re.value==="text")return;const P=gs(le.value,String(b[2]),W.value);return j(P)}function ce(b,P,S){const C=S?"kbd":Pe,I=["v-hotkey__key",`v-hotkey__key-${b[0]}`,...S?["v-hotkey__key--nested"]:[a.value,o.value,s.value,f.value]];return r(C,{key:P,class:R(I),style:O(S?void 0:B.value),"aria-hidden":"true",title:nt(b)},{default:()=>[b[0]==="icon"?r(K,{icon:b[1],"aria-hidden":"true"},null):j(b[1])]})}function ue(b,P){return n("span",{key:P,class:"v-hotkey__divider","aria-hidden":"true"},[H.isEqual(b)?"+":t("$vuetify.hotkey.then")])}Ve(()=>n("div",{class:R(["v-hotkey",{"v-hotkey--disabled":e.disabled,"v-hotkey--inline":e.inline,"v-hotkey--contained":i.value},l.value,c.value,A.value,e.class]),style:O(e.style),role:"img","aria-label":at.value},[i.value?r(Pe,{key:"contained",class:R(["v-hotkey__contained-wrapper",a.value,o.value,s.value,f.value]),style:O(B.value),"aria-hidden":"true"},{default:()=>[e.prefix&&n("span",{key:"contained-prefix",class:"v-hotkey__prefix"},[e.prefix]),E.value.map((b,P)=>n("span",{class:"v-hotkey__combination",key:P},[b.map((S,C)=>X(S)?ue(S,C):ce(S,C,!0)),P<E.value.length-1&&n("span",{"aria-hidden":"true"},[w(" ")])])),e.suffix&&n("span",{key:"contained-suffix",class:"v-hotkey__suffix"},[e.suffix])]}):n(D,null,[e.prefix&&n("span",{key:"prefix",class:"v-hotkey__prefix"},[e.prefix]),E.value.map((b,P)=>n("span",{class:"v-hotkey__combination",key:P},[b.map((S,C)=>X(S)?ue(S,C):ce(S,C,!1)),P<E.value.length-1&&n("span",{"aria-hidden":"true"},[w(" ")])])),e.suffix&&n("span",{key:"suffix",class:"v-hotkey__suffix"},[e.suffix])])]))}}),ks={name:"KeyboardShortcutsTable",components:{VHotkey:ms},data(){return{mdiMenuLeft:St,mdiMenuRight:Pt,mdiKeyboardSpace:_t,mdiAppleKeyboardShift:yt}}},fs={class:"highlight-table"},vs={class:"highlight-table"},bs={class:"highlight-table"};function ys(e,t,l,c,a,o){const s=h("v-hotkey");return u(),_(D,null,[t[22]||(t[22]=n("h4",null,"Navigation",-1)),n("table",fs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"j"}),t[0]||(t[0]=w(", ")),r(s,{keys:"arrowleft"}),t[1]||(t[1]=w(", ")),r(s,{keys:"shift+space"})]),t[2]||(t[2]=n("td",null,"Previous page",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"k"}),t[3]||(t[3]=w(", ")),r(s,{keys:"arrowright"}),t[4]||(t[4]=w(", ")),r(s,{keys:"space"})]),t[5]||(t[5]=n("td",null,"Next page",-1))]),n("tr",null,[n("td",null,[r(s,{keys:","})]),t[6]||(t[6]=n("td",null,[w("Next "),n("em",null,"only"),w(" one page in two page mode.")],-1))]),n("tr",null,[n("td",null,[r(s,{keys:"."})]),t[7]||(t[7]=n("td",null,[w("Previous "),n("em",null,"only"),w(" one page in two page mode.")],-1))]),n("tr",null,[n("td",null,[r(s,{keys:"p"})]),t[8]||(t[8]=n("td",null,"Previous Book",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"n"})]),t[9]||(t[9]=n("td",null,"Next Book",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"esc"})]),t[10]||(t[10]=n("td",null,"Close book",-1))])])]),t[23]||(t[23]=n("h4",null,"Fit Page To",-1)),n("table",vs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"s"})]),t[11]||(t[11]=n("td",null,"screen",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"h"})]),t[12]||(t[12]=n("td",null,"screen height",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"w"})]),t[13]||(t[13]=n("td",null,"screen width",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"o"})]),t[14]||(t[14]=n("td",null,"Show page at original size",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"2"})]),t[15]||(t[15]=n("td",null,"Toggle two page view",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"r"})]),t[16]||(t[16]=n("td",null,"Read Right to Left",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"l"})]),t[17]||(t[17]=n("td",null,"Read Left to Right",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"t"})]),t[18]||(t[18]=n("td",null,"Read Top to Bottom",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"b"})]),t[19]||(t[19]=n("td",null,"Read in Bottom to Top",-1))])])]),t[24]||(t[24]=n("h4",null,"Other",-1)),n("table",bs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"m"})]),t[20]||(t[20]=n("td",null,"Show comic's metadata",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"doubleclick"})]),t[21]||(t[21]=n("td",null,"Zoom page",-1))])])])],64)}const _s=v(ks,[["render",ys],["__scopeId","data-v-11cb1561"]]),Ps=/iP(?:ad|hone|od)|Android/,Ss=Ps.test(navigator.userAgent),ws=Ss||globalThis.orientation!==void 0,Cs={name:"KeyboardShortcutsPanel",components:{CodexListItem:ne,KeyboardShortcutsTable:_s},data(){return{mdiKeyboardOutline:wt,IS_MOBILE:ws}}};function Ts(e,t,l,c,a,o){const s=h("CodexListItem"),i=h("KeyboardShortcutsTable");return a.IS_MOBILE?T("",!0):(u(),m(io,{key:0},{default:g(()=>[r(lo,{id:"readerKeyboardShortcuts"},{default:g(()=>[r(co,{id:"shortcutsTitle"},{default:g(()=>[r(s,{id:"keyboardShortcutsItem","prepend-icon":a.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(uo,null,{default:g(()=>[r(i)]),_:1})]),_:1})]),_:1}))}const Rs=v(Cs,[["render",Ts],["__scopeId","data-v-8285795a"]]),ot=["fitTo","readingDirection","twoPages"];Object.freeze(ot);const Bs={name:"ReaderSettingsPanel",components:{CodexListItem:ne},data(){return{isGlobalScope:!1,mdiOpenInNew:Rt,mdiEye:Tt,openDelay:2e3,scopeItems:[{title:"Only this comic",value:!1},{title:"Default for all comics",value:!0}]}},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["isVertical","isPDF","cacheBook"]),...k(d,{choices:e=>e.choices,validBook:e=>!!e.books?.current,selectedSettings(e){return this.isGlobalScope||!e.books?.current?e.readerSettings:e.books?.current.settings},isClearSettingsButtonDisabled(e){if(this.isGlobalScope||!e.books?.current)return!0;for(const t of ot){const l=e.books?.current.settings[t];if(!e.choices.nullValues.has(l))return!1}return!0},pdfInBrowserURL(e){return this.isPDF&&e.books?.current?Ct(e.books?.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage,pageTransition:e=>e.readerSettings.pageTransition}),...Ie(d,["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},disablePageTransition(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...y(d,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const l of this.choices[e])l.value&&t.push(l);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},Ds={id:"readerScopedSettings",class:"readerCodexListItem"};function Is(e,t,l,c,a,o){const s=h("CodexListItem");return u(),_(D,null,[t[9]||(t[9]=n("h4",{class:"readerSettingsHeader"},"Comic Settings Scope",-1)),r(Y,{modelValue:a.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=i=>a.isGlobalScope=i),class:"scopeRadioGroup readerCodexListItem",density:"compact","hide-details":"auto"},{default:g(()=>[(u(!0),_(D,null,U(a.scopeItems,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),r(ho,null,{default:g(()=>[n("div",Ds,[r(Y,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=i=>o.settingsDialogChanged({fitTo:i}))},{default:g(()=>[(u(!0),_(D,null,U(o.fitToChoices,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(N,{disabled:o.disableTwoPages,class:"scopedCheckbox",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]=i=>o.settingsDialogChanged({twoPages:i}))},null,8,["disabled","model-value","indeterminate"]),r(Y,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=i=>o.settingsDialogChanged({readingDirection:i}))},{default:g(()=>[(u(!0),_(D,null,U(o.readingDirectionChoices,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(N,{"model-value":e.selectedSettings.readRtlInReverse,class:"scopedCheckbox",density:"compact",label:"Read RTL Comics LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=i=>o.settingsDialogChanged({readRtlInReverse:i}))},null,8,["model-value"]),a.isGlobalScope?T("",!0):$((u(),m(Ke,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:g(()=>t[8]||(t[8]=[w(" Clear Settings ")])),_:1,__:[8]},8,["disabled","onClick"])),[[Q,{openDelay:a.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(oe),t[10]||(t[10]=n("h4",{class:"readerSettingsHeader"},"Reader Settings",-1)),r(N,{class:"readerCodexListItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=i=>e.setSettingsGlobal({finishOnLastPage:i}))},null,8,["model-value"]),$(r(N,{"model-value":e.pageTransition,class:"readerCodexListItem",density:"compact",disabled:o.disablePageTransition,label:"Animate Page Turns","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=i=>e.setSettingsGlobal({pageTransition:i}))},null,8,["model-value","disabled"]),[[Q,{openDelay:a.openDelay,text:"Animate page turns when reading horizontally."}]]),$(r(N,{"model-value":e.cacheBook,class:"readerCodexListItem",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[7]||(t[7]=i=>e.setSettingsClient({cacheBook:i}))},null,8,["model-value","disabled"]),[[Q,{openDelay:a.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(u(),m(s,{key:0,"prepend-icon":a.mdiEye,"append-icon":a.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):T("",!0)],64)}const $s=v(Bs,[["render",Is],["__scopeId","data-v-252309d7"]]),xs={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:cs,ReaderKeyboardShortcutsPanel:Rs,ReaderSettingsPanel:$s}};function Ls(e,t,l,c,a,o){const s=h("ReaderSettingsPanel"),i=h("ReaderKeyboardShortcutsPanel"),p=h("DownloadPanel");return u(),_(D,null,[r(s),r(oe),r(i),r(oe),r(p)],64)}const Vs=v(xs,[["render",Ls]]),Os={name:"ReaderSettingsDrawer",components:{SettingsDrawer:Wt,ReaderSettingsSuperPanel:Vs}};function As(e,t,l,c,a,o){const s=h("ReaderSettingsSuperPanel"),i=h("SettingsDrawer");return u(),m(i,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:g(()=>[r(s)]),_:1})}const Es=v(Os,[["render",As]]),Z={a:Lt,f:xt,p:$t,i:It,s:Dt,v:Bt},Ns={name:"ReaderArcSelect",components:{ToolbarSelect:oo},data(){return{mdiFilterOutline:At}},computed:{...k(d,{arc:e=>e.arc,arcs:e=>e.arcs}),items(){const e=[];if(!this.arcs)return e;for(const[t,l]of Object.entries(this.arcs))for(const[c,a]of Object.entries(l)){let o=Vt[t];t!=="s"&&(o=o.slice(0,-1));const s=Z[t],i=t===this.arc?.group&&c==this.arc?.ids?Ot:"",p={group:t,ids:c,prependIcon:s,...a},f={group:t,value:p,title:a.name,subtitle:o,prependIcon:s,appendIcon:i};e.push(f)}return e},arcInfo(){if(!this.arcs||!this.arc)return{};const e=this.arcs[this.arc?.group];return e?e[this.arc?.ids]:{}},arcIcon(){return Z[this.arc?.group]}},methods:{...y(d,["loadBooks"]),onUpdate(e){const t={group:e.group,ids:e.ids.split(",").map(Number)};this.loadBooks({arc:t})},prependIcon(e){return Z[e]}}},Us={id:"arcPos"};function Fs(e,t,l,c,a,o){const s=h("ToolbarSelect");return u(),m(s,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:o.items,disabled:!o.items||o.items.length<=1,"onUpdate:modelValue":o.onUpdate},{item:g(({item:i,props:p})=>[r(eo,ee(p,{density:"compact",variant:"plain","prepend-icon":i.raw.prependIcon,subtitle:i.raw.subtitle,"append-icon":i.raw.appendIcon}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:g(({props:i})=>[r(K,ee({icon:o.prependIcon(e.arc.group),size:"large"},i,{class:"arcSelectIcon"}),null,16,["icon"]),n("span",Us,L(e.arc.index)+" / "+L(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Ws=v(Ns,[["render",Fs],["__scopeId","data-v-0f33d301"]]),zs={name:"ReaderTitleToolbar",components:{AppBanner:Gt,MetadataDialog:so,ReaderArcSelect:Ws,SettingsDrawerButton:zt},data(){return{mdiClose:Et,routeChanged:!1}},head(){const e=`Read / ${this.activeTitle} / page ${this.storePage}`,t=`reader ${e}`;return{title:e,meta:[{hid:"description",name:"description",content:t}]}},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["activeTitle","closeBookRoute"]),...k(d,{showToolbars:e=>e.showToolbars,currentBook:e=>e.books?.current||{},empty:e=>e.empty,subtitle:e=>e.books?.current?.name||"",storePage:e=>e.page}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=te(this.closeBookRoute),t=te(e.params);return delete t.name,e.params=t,e},metadataBook(){const e={...this.currentBook};return e.group="c",e.childCount=0,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...y($e,["setTimestamp"]),...y(d,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Ms={id:"readerTopToolbarHeader"},Ks={id:"title"},Hs={key:0,id:"subtitle"};function js(e,t,l,c,a,o){const s=h("AppBanner"),i=h("ReaderArcSelect"),p=h("MetadataDialog"),f=h("SettingsDrawerButton");return u(),m(po,null,{default:g(()=>[$(n("header",Ms,[r(s),r(Yt,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Nt({default:g(()=>[r(G,null,{default:g(()=>[r(Ke,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:g(()=>t[0]||(t[0]=[w(" close book ")])),_:1,__:[0]},8,["to","onClick"])]),_:1}),r(ao),e.empty?T("",!0):(u(),m(G,{key:0},{default:g(()=>[r(i),r(p,{ref:"metadataDialog",book:o.metadataBook,toolbar:!0},null,8,["book"])]),_:1})),r(G,null,{default:g(()=>[r(f)]),_:1})]),_:2},[o.title?{name:"extension",fn:g(()=>[r(Jt,{class:"readerTitle"},{default:g(()=>[n("div",Ks,L(o.title),1),e.subtitle?(u(),_("div",Hs,L(e.subtitle),1)):T("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])],512),[[Ee,e.showToolbars]])]),_:1})}const st=v(zs,[["render",js],["__scopeId","data-v-ac089588"]]),qs={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:st,EmptyState:He},data(){return{mdiBookRemoveOutline:Ut}},methods:{...y(d,["loadBooks","setShowToolbars"]),onAction(){this.loadBooks({mtime:Date.now()})}},created(){this.setShowToolbars()}};function Gs(e,t,l,c,a,o){const s=h("ReaderTopToolbar"),i=h("EmptyState");return u(),_(D,null,[r(s),r(i,{headline:"Book Not Found",title:"Close the reader and find another book",icon:a.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Ys=v(qs,[["render",Gs]]),Js={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:Ge},props:{direction:{type:String,required:!0}},computed:{...k(d,["isBTT"]),...k(d,{toRoute(e){const t=e?.routes?.books[this.direction];return t?{params:te(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...y(d,["bookChangeIcon"])}};function Qs(e,t,l,c,a,o){const s=h("PaginationNavButton");return e.toRoute?(u(),m(s,{key:0,class:R(o.classes),icon:o.icon,variant:"plain",title:o.title,to:e.toRoute},null,8,["class","icon","title","to"])):T("",!0)}const Xs=v(Js,[["render",Qs],["__scopeId","data-v-e6c3b493"]]),Zs={name:"ReaderNavButton",components:{PaginationNavButton:Ge},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...k(d,["isVertical"]),...k(d,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...y(d,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ea(e,t,l,c,a,o){const s=h("PaginationNavButton");return u(),m(s,{key:e.isVertical,disabled:o.disabled,class:R(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:g(()=>[w(L(l.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const ta=v(Zs,[["render",ea],["__scopeId","data-v-f60d8fb5"]]),z="prev",M="next",oa={name:"ReaderNavToolbar",components:{PaginationSlider:ro,ReaderNavButton:ta,PaginationToolbar:no,ReaderBookChangeNavButton:Xs},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["activeSettings","isReadInReverse","isVertical"]),...k(d,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){return`${e.books?.current?.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>e.books?.current?.maxPage||0}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...y(d,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(M):e.shiftKey&&window.scrollY===0&&this.routeToDirection(z);break;case"j":case"ArrowRight":this.routeToDirection(M);break;case"k":case"ArrowLeft":this.routeToDirection(z);break;case",":this.routeToDirectionOne(z);break;case".":this.routeToDirectionOne(M);break;case"n":this.routeToBook(M);break;case"p":this.routeToBook(z);break}}}};function sa(e,t,l,c,a,o){const s=h("ReaderBookChangeNavButton"),i=h("ReaderNavButton"),p=h("PaginationSlider"),f=h("PaginationToolbar");return u(),m(go,null,{default:g(()=>[e.maxPage?$((u(),m(f,{key:0,id:"readerToolbarNav"},{default:g(()=>[r(s,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(i,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),m(p,{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]=B=>o.onSliderUpdate(B))},null,8,["model-value","max","step","track-color","reverse"])),r(i,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(s,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[Ee,e.showToolbars]]):T("",!0)]),_:1})}const aa=v(oa,[["render",sa],["__scopeId","data-v-ebe715c2"]]),na={name:"MainReader",components:{BooksWindow:ns,ReaderEmpty:Ys,ReaderNavToolbar:aa,ReaderTopToolbar:st,ReaderSettingsDrawer:Es,Unauthorized:Qt},data(){return{showToolbars:!1}},computed:{...k(F,["isAuthorized"]),...k(F,{user:e=>e.user}),...k(d,{empty:e=>e.empty})},watch:{user(){this.loadReaderSettings()}},created(){this.reset();const e=this.user?0:300,t=this.user;setTimeout(()=>{this.user?.id===t?.id&&this.loadReaderSettings()},e)},methods:{...y(d,["loadReaderSettings","reset"])}},ra={key:0},ia={id:"readerContainer"};function la(e,t,l,c,a,o){const s=h("ReaderTopToolbar"),i=h("BooksWindow"),p=h("ReaderNavToolbar"),f=h("ReaderEmpty"),B=h("ReaderSettingsDrawer"),A=h("Unauthorized");return e.isAuthorized?(u(),m(Xt,{key:0,id:"readerWrapper"},{default:g(()=>[e.empty?(u(),m(f,{key:1})):(u(),_("div",ra,[n("div",ia,[r(s),r(i),r(p)])])),r(B)]),_:1})):(u(),m(A,{key:1}))}const ca=v(na,[["render",la],["__scopeId","data-v-6df2b556"]]),wa=Object.freeze(Object.defineProperty({__proto__:null,default:ca},Symbol.toStringTag,{value:"Module"}));export{jo as P,Ze as S,wa as r};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-D6Meu4vZ.js","assets/main-BoAlbVoF.js","assets/main-B8_0rUnw.css","assets/pdf-doc-DxqOo2k2.css","assets/pager-full-pdf-DShiSKPO.js","assets/settings-drawer-B4gD41g6.js","assets/forwardRefs-Z0d4Mnc7.js","assets/forwardRefs-B_sUWZn6.css","assets/unauthorized-Bo3ThIrX.js","assets/VDialog-BzaGu1HN.js","assets/VDialog-CpWjrJ0R.css","assets/change-password-dialog-DyhQwNv1.js","assets/VForm-CyCdgusw.js","assets/VSelectionControl-DbKYScD5.js","assets/VSelectionControl-RqBzwjYi.css","assets/VForm-DxBt30-N.css","assets/admin-kjMoKlqD.js","assets/change-password-dialog-DL8UMjmX.css","assets/ssrBoot-O6yTJ_UV.js","assets/unauthorized-BBwsmi0O.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/VDivider-C3ikm0Ko.js","assets/VDivider-DU47sRrT.css","assets/settings-drawer-CpS_aX4Z.css","assets/VWindowItem-BLEDgagD.js","assets/VWindowItem-ChYLiXSE.css","assets/VSelect-Dv50OIkN.js","assets/VCheckboxBtn-Bu2Pf64q.js","assets/VSelect-DQPZyfSb.css","assets/pagination-toolbar-DGfRDeRW.js","assets/VTable-BmOfHc7J.js","assets/VTable-CQyv0wyO.css","assets/confirm-dialog-B7ndwV5M.js","assets/confirm-dialog-YfC8mRQA.css","assets/pagination-toolbar-741OafNw.css","assets/VExpansionPanels-AmsInZN0.js","assets/VExpansionPanels-RsCANmDP.css","assets/VRadioGroup-BF0Xjrzi.js","assets/VRadioGroup-Cp9mZ7cb.css","assets/VCheckbox-DSndl51k.js","assets/VCheckbox-CvH8ekHL.css","assets/index-Cu9nQXJD.js","assets/index-Czf-fUM7.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as v,B as y,D as k,ak as d,x as m,G as T,w as g,d as R,s as h,v as u,a as r,y as w,A as L,q as _,aa as we,F as D,al as it,am as lt,m as ee,an as Ce,ao as ct,ap as Te,H as Re,n as O,aq as Be,ar as q,as as ut,S as $,a5 as dt,at as ht,au as De,z as U,k as Ie,b as n,av as pt,C as $e,aw as gt,ax as mt,ay as kt,g as xe,p as ae,az as Le,u as Ve,aA as Oe,J as Ae,aB as ft,aC as vt,c as x,aD as bt,aE as yt,aF as _t,aG as Pt,aH as St,aI as wt,aJ as Ct,E as F,ab as Tt,$ as Rt,aK as Bt,O as Dt,P as It,Q as $t,R as xt,aL as Lt,aM as Vt,aN as Ot,aO as At,L as te,aP as Et,V as Nt,aQ as Ee,aR as Ut}from"./main-BoAlbVoF.js";import{V as Ft,a as Wt,S as zt}from"./settings-drawer-B4gD41g6.js";import{k as K,I as Mt,r as Ne,i as Ue,c as Kt,t as Fe,v as We,d as Ht,j as ze,w as Me,x as jt,V as Ke}from"./forwardRefs-Z0d4Mnc7.js";import{P as qt,E as He,A as Gt,V as Yt,a as Jt,U as Qt,c as Xt}from"./unauthorized-Bo3ThIrX.js";import{V as je,a as qe}from"./VWindowItem-BLEDgagD.js";import{b as Zt}from"./VSelect-Dv50OIkN.js";import{C as ne,a as eo}from"./VDialog-BzaGu1HN.js";import{D as to,T as oo,b as so,V as G,a as ao,P as Ge,c as no,d as ro}from"./pagination-toolbar-DGfRDeRW.js";import{V as io,a as lo,b as co,c as uo}from"./VExpansionPanels-AmsInZN0.js";import{d as ho,V as po,e as go}from"./VSelectionControl-DbKYScD5.js";import{V as Y,a as J}from"./VRadioGroup-BF0Xjrzi.js";import{a as oe}from"./VDivider-C3ikm0Ko.js";import{V as N}from"./VCheckbox-DSndl51k.js";import{T as Q}from"./index-Cu9nQXJD.js";const mo={control:"ctrl",command:"cmd",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright",esc:"escape",spacebar:" ",space:" ",return:"enter",del:"delete",minus:"-",hyphen:"-"};function ge(e){const t=e.toLowerCase();return mo[t]||t}function Ye(e){if(!e)return[];const l=(e.startsWith("+")||e.startsWith("_"))&&!(e.startsWith("++")||e.startsWith("__"));if(e.length>1&&l||e.includes("++")||e.includes("__")||e==="+"||e==="_"||e.length>1&&(e.endsWith("+")||e.endsWith("_"))&&e.at(-2)!==e.at(-1)||e==="++"||e==="--"||e==="__")return[];const a=[];let o="";const s=()=>{o&&(a.push(ge(o)),o="")};for(let p=0;p<e.length;p++){const f=e[p],B=e[p+1];f==="+"||f==="_"||f==="-"?f===B?(s(),a.push(f),p++):f==="+"||f==="_"?s():o+=f:o+=f}return s(),a.some(p=>p.length>1&&p.includes("-")&&p!=="--")?[]:a.length===0&&e?[ge(e)]:a}function ko(e){if(!e)return[];const t=e.startsWith("-")&&!["---","--+"].includes(e),l=e.endsWith("-")&&!e.endsWith("+-")&&!e.endsWith("_-")&&e!=="-"&&e!=="---";if(t||l)return[];const c=[];let a="",o=0;for(;o<e.length;){const f=e[o];if(f==="-"){const B=e[o-1],A=o>1?e[o-2]:void 0;(B==="+"||B==="_")&&A!=="+"?(a+=f,o++):(a?(c.push(a),a=""):c.push("-"),o++)}else a+=f,o++}a&&c.push(a);const s=[];let i=0;for(const f of c)f==="-"?(i%2===0&&s.push("-"),i++):(i=0,s.push(f));return s.every(f=>Ye(f).length>0)?s:[]}function Je(e,t){const{self:l=!1}=t.modifiers??{},c=t.value,a=typeof c=="object"&&c.options||{passive:!0},o=typeof c=="function"||"handleEvent"in c?c:c.handler,s=l?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,a),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:a,target:l?void 0:s})}function Qe(e,t){if(!e._onScroll?.[t.instance.$.uid])return;const{handler:l,options:c,target:a=e}=e._onScroll[t.instance.$.uid];a.removeEventListener("scroll",l,c),delete e._onScroll[t.instance.$.uid]}function fo(e,t){t.value!==t.oldValue&&(Qe(e,t),Je(e,t))}const vo={mounted:Je,unmounted:Qe,updated:fo},bo={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...k(d,["isBTT"]),...k(d,{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:{...y(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function yo(e,t,l,c,a,o){const s=h("router-link");return o.show?(u(),m(Ft,{key:0,class:R(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:g(()=>[r(s,{class:R({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=i=>i.stopImmediatePropagation())},{default:g(()=>[r(K,{class:"bookChangeIcon"},{default:g(()=>[w(L(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):T("",!0)}const _o=v(bo,[["render",yo],["__scopeId","data-v-0340b976"]]),Po={name:"BookChangeActivator",components:{BookChangeDrawer:_o},props:{direction:{type:String,required:!0}},computed:{show(){return this.bookChangeShow(this.computedDirection)},computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)}},methods:{...y(d,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function So(e,t,l,c,a,o){const s=h("BookChangeDrawer");return u(),_(D,null,[o.show?(u(),_("div",{key:0,class:R(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=we(i=>e.setBookChangeFlag(l.direction),["stop"]))},null,2)):T("",!0),r(s,{direction:l.direction},null,8,["direction"])],64)}const wo=v(Po,[["render",So],["__scopeId","data-v-67df236c"]]),Co={name:"LoadingPage",components:{Placeholder:qt},props:{twoPages:{type:Boolean,required:!0}}};function To(e,t,l,c,a,o){const s=h("Placeholder");return u(),_("div",{class:R(["pageLoading",{twoPages:l.twoPages}])},[r(s,{class:"pagePlaceholder"})],2)}const Ro=v(Co,[["render",To],["__scopeId","data-v-04027168"]]),me="unauthorized",Bo={name:"ErrorPage",components:{EmptyState:He},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===me?"Protected page":"Failed to load page"},icon(){return this.type===me?it:lt}},methods:{onAction(e){this.$emit("retry",e)}}};function Do(e,t,l,c,a,o){const s=h("EmptyState");return u(),m(s,{class:R(["pageError",{twoPages:l.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Io=v(Bo,[["render",Do],["__scopeId","data-v-97fa48e8"]]),$o={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...k(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!t?.naturalWidth)return e;const l=t.naturalWidth/2;return e.transformOrigin=`${l}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...y(d,["getBookSettings"])}},xo=["src"];function Lo(e,t,l,c,a,o){return u(),_("img",ee({class:[o.classes,"img"],draggable:"false",src:l.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,xo)}const ke=v($o,[["render",Lo],["__scopeId","data-v-014c2ac0"]]),fe=Ce(Te(()=>Be(()=>import("./pdf-doc-D6Meu4vZ.js"),__vite__mapDeps([0,1,2,3])))),Vo=333,Oo={name:"BookPage",components:{ErrorPage:Io,LoadingPage:Ro,PDFDoc:fe,ImgPage:ke},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...k(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=this.$refs.pageComponent?.$el;return t?.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return ct(t)},component(){return this.book.fileType==="PDF"?fe:ke}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vo)},methods:{onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},Ao=["id","data-page"];function Eo(e,t,l,c,a,o){const s=h("ErrorPage"),i=h("LoadingPage");return u(),_("div",{id:`page${l.page}`,key:a.ts,"data-page":l.page,class:"page",style:O(o.style)},[a.error?(u(),m(s,{key:0,"two-pages":e.settings.twoPages,type:a.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):a.showProgress&&!a.loaded?(u(),m(i,{key:1,"two-pages":e.settings.twoPages},null,8,["two-pages"])):(u(),m(Re(o.component),{key:2,ref:"pageComponent",book:l.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Ao)}const Xe=v(Oo,[["render",Eo],["__scopeId","data-v-ea178cb3"]]),No=.5,Uo={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ut}},computed:{...k(d,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=q},style(){return{cursor:this.scale==q?"zoom-in":"all-scroll"}}},methods:{...y(d,["setSettingsClient"]),clearSelection(){globalThis.getSelection&&globalThis.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+No;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:q})}}};function Fo(e,t,l,c,a,o){const s=ht("drag-scroller");return $((u(),_("div",{class:"scaleForScroll",style:O(o.style),onDblclick:t[0]||(t[0]=(...i)=>o.onDoubleClick&&o.onDoubleClick(...i))},[dt(e.$slots,"default",{},void 0,!0),o.showReset?(u(),m(K,{key:0,class:"resetIcon",onClick:we(o.scaleReset,["stop"])},{default:g(()=>[w(L(a.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):T("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const Ze=v(Uo,[["render",Fo],["__scopeId","data-v-88f3df90"]]),Wo={name:"HorizontalPages",components:{BookPage:Xe,ScaleForScroll:Ze},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},showSecondPage(){return this.bookSettings.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:{...y(d,["getBookSettings","isCoverPage"])}};function zo(e,t,l,c,a,o){const s=h("BookPage"),i=h("ScaleForScroll");return u(),m(i,{class:"noWrap"},{default:g(()=>[o.showPageOne?(u(),m(s,{key:0,ref:"pageOne",book:l.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):T("",!0),o.showPageTwo?(u(),m(s,{key:1,book:l.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):T("",!0)]),_:1})}const Mo=v(Wo,[["render",zo],["__scopeId","data-v-ce77a1b1"]]),Ko={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...k(d,["isFirstPage","isLastPage"]),...k(d,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){return"pageChangeColumn"},directionClass(){return this.direction},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...y(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Ho(e,t,l,c,a,o){const s=h("router-link");return o.show?(u(),m(s,{key:0,to:o.route,"aria-label":o.label,class:R(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=i=>i.stopImmediatePropagation())},null,8,["to","aria-label","class"])):T("",!0)}const jo=v(Ko,[["render",Ho],["__scopeId","data-v-8a0b30bf"]]),qo=48,Go=48,Yo={name:"PagerHorizontal",components:{HorizontalPages:Mo,PageChangeLink:jo},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...k(d,{prevBook:e=>e.routes.books?.prev,nextBook:e=>e.routes.books?.next,storePage:e=>e.page,storePk:e=>e.books.current.pk,transition:e=>e.readerSettings.pageTransition}),bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages},isReadInReverse(){return this.bookSettings.isReadInReverse},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),l=this.pages.at(-1);(e<t||e>l)&&this.setPages()}}},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:{...y(d,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-qo,0),t=Math.min(this.activePage+Go,this.book.maxPage);this.pages=De(e,t+1)}}};function Jo(e,t,l,c,a,o){const s=h("PageChangeLink"),i=h("HorizontalPages");return u(),m(je,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:g(()=>[r(s,{direction:"prev"})]),next:g(()=>[r(s,{direction:"next"})]),default:g(()=>[(u(!0),_(D,null,U(a.pages,p=>(u(),m(qe,{key:`c/${l.book.pk}/${p}`,class:"windowItem",disabled:"",eager:p>=e.storePage-1&&p<=e.storePage+2,"model-value":p,transition:e.transition,"reverse-transition":e.transition},{default:g(()=>[r(i,{book:l.book,page:p},null,8,["book","page"])]),_:2},1032,["eager","model-value","transition","reverse-transition"]))),128))]),_:1},8,["model-value","reverse"])}const ve=v(Yo,[["render",Jo],["__scopeId","data-v-a55977d3"]]),be=250,Qo={name:"PagerVertical",components:{BookPage:Xe,ScaleForScroll:Ze},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1,intersectOptions:{handler:this.onIntersect,options:{threshold:[.75]}}}},computed:{...k(d,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...Ie(d,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){const e=this.book?.maxPage?this.book.maxPage+1:0,t=De(0,e);return this.isReadInReverse&&t.reverse(),t}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},be)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...y(d,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const c=+t[0].target.dataset.page;this.setActivePage(c,!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 l=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=l&&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},be)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Xo=["data-page"];function Zo(e,t,l,c,a,o){const s=h("BookPage"),i=h("ScaleForScroll");return u(),m(i,null,{default:g(()=>[$((u(),m(Zt,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:a.innerHeight,width:a.innerWidth},{default:g(({item:p})=>[r(s,{book:l.book,page:p,class:"verticalPage"},null,8,["book","page"]),$(n("div",{class:R(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":p},null,10,Xo),[[Mt,a.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[vo,o.onScroll,"#verticalScroll"]])]),_:1})}const ye=v(Qo,[["render",Zo],["__scopeId","data-v-4fdc17f1"]]),_e=Ce(Te(()=>Be(()=>import("./pager-full-pdf-DShiSKPO.js"),__vite__mapDeps([4,1,2,0,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42])))),es={name:"PagerSelector",components:{PagerHorizontal:ve,PagerPDF:_e,PagerVertical:ye},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...k(d,["cacheBook"]),...k(d,{storePk:e=>e.books?.current?.pk||0}),isActiveBook(){return this.book&&this.storePk===this.book?.pk},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){return this.book?.fileType=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=_e:this.bookSettings.isVertical?e=ye:e=ve,e}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.isActiveBook&&this.setActivePage(+this.$route.params.page,!0)},methods:{...y(d,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function ts(e,t,l,c,a,o){return u(),m(Re(o.component),{book:l.book},null,8,["book"])}const os=v(es,[["render",ts]]),ss={name:"BooksWindow",components:{BookChangeActivator:wo,Pager:os},computed:{...k(d,["isBTT"]),...k(d,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>e.books?.current?.pk||0,bookRoutes:e=>e.routes.books,transition:e=>e.readerSettings.pageTransition}),bookChangePrev(){return this.bookChangeShow("prev")},bookChangeNext(){return this.bookChangeShow("next")}},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{...y(d,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function as(e,t,l,c,a,o){const s=h("BookChangeActivator"),i=h("Pager");return u(),m(je,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:g(()=>[r(s,{direction:"prev"})]),next:g(()=>[r(s,{direction:"next"})]),default:g(()=>[(u(!0),_(D,null,U(e.books,p=>(u(),m(qe,{key:`c/${p.pk}`,class:"windowItem",disabled:"",eager:o.eager(p.pk),value:p.pk,transition:e.transition,"reverse-transitin":e.transition},{default:g(()=>[r(i,{book:p,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value","transition","reverse-transitin"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ns=v(ss,[["render",as],["__scopeId","data-v-3b8d07f2"]]),rs={name:"DownloadPanel",components:{CodexListItem:ne,DownloadButton:to},data(){return{mdiDownload:kt,mdiFileImage:mt}},computed:{...k(d,["activeTitle","routeParams"]),...k(d,{currentBook:e=>e.books?.current,fileType:e=>e.books?.current?.fileType,mtime:e=>e.books?.current?.mtime,pk:e=>e.books?.current?.pk,filename:e=>e.books?.current?.filename,storePage:e=>e.page}),pageSrc(){const e={pk:this.pk,page:this.storePage,ts:this.ts};return gt(e)},pageName(){const e=this.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`},downloadItem(){return{group:"c",ids:[this.pk],childCount:1,name:this.filename,mtime:this.mtime}}},methods:{...y($e,["downloadIOSPWAFix"]),downloadPage(){pt(this.pageSrc,this.pageName)}}},is={key:0,id:"downloadPanel"};function ls(e,t,l,c,a,o){const s=h("CodexListItem"),i=h("DownloadButton");return e.currentBook?(u(),_("div",is,[r(s,{"prepend-icon":a.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(i,{button:!1,item:o.downloadItem},null,8,["item"])])):T("",!0)}const cs=v(rs,[["render",ls],["__scopeId","data-v-a873b002"]]),us=ae({color:String,...Me(),...Ae(),...ze(),...Ht({tag:"kbd"}),...Oe(),...We()},"VKbd"),Pe=xe()({name:"VKbd",props:us(),setup(e,t){let{slots:l}=t;const{themeClasses:c}=Le(e),{borderClasses:a}=Ne(e),{roundedClasses:o}=Ue(e),{backgroundColorClasses:s,backgroundColorStyles:i}=Kt(()=>e.color),{elevationClasses:p}=Fe(e);return Ve(()=>r(e.tag,{class:R(["v-kbd",c.value,s.value,a.value,p.value,o.value,e.class]),style:O([i.value,e.style])},l)),{}}});function et(e,t,l){const c=l&&e.mac?e.mac:e.default,a=t==="icon"&&!l||t==="icon"&&!c.icon||t==="symbol"&&!c.symbol?"text":t;let o=c[a]??c.text;return a==="text"&&typeof o=="string"&&o.startsWith("$")&&!o.startsWith("$vuetify.")&&(o=o.slice(1).toUpperCase()),a==="icon"?["icon",o]:[a,o]}const tt={ctrl:{mac:{symbol:"⌃",icon:"$ctrl",text:"$vuetify.hotkey.ctrl"},default:{text:"Ctrl"}},meta:{mac:{symbol:"⌘",icon:"$command",text:"$vuetify.hotkey.command"},default:{text:"Ctrl"}},cmd:{mac:{symbol:"⌘",icon:"$command",text:"$vuetify.hotkey.command"},default:{text:"Ctrl"}},shift:{mac:{symbol:"⇧",icon:"$shift",text:"$vuetify.hotkey.shift"},default:{text:"Shift"}},alt:{mac:{symbol:"⌥",icon:"$alt",text:"$vuetify.hotkey.option"},default:{text:"Alt"}},enter:{default:{symbol:"↵",icon:"$enter",text:"$vuetify.hotkey.enter"}},arrowup:{default:{symbol:"↑",icon:"$arrowup",text:"$vuetify.hotkey.upArrow"}},arrowdown:{default:{symbol:"↓",icon:"$arrowdown",text:"$vuetify.hotkey.downArrow"}},arrowleft:{default:{symbol:"←",icon:"$arrowleft",text:"$vuetify.hotkey.leftArrow"}},arrowright:{default:{symbol:"→",icon:"$arrowright",text:"$vuetify.hotkey.rightArrow"}},backspace:{default:{symbol:"⌫",icon:"$backspace",text:"$vuetify.hotkey.backspace"}},escape:{default:{text:"$vuetify.hotkey.escape"}}," ":{mac:{symbol:"␣",icon:"$space",text:"$vuetify.hotkey.space"},default:{text:"$vuetify.hotkey.space"}},"-":{default:{text:"-"}}},ds=ae({variant:{type:String,default:"elevated",validator:e=>["elevated","flat","tonal","outlined","text","plain","contained"].includes(e)}},"VHotkeyVariant"),hs=ae({keys:String,displayMode:{type:String,default:"icon"},keyMap:{type:Object,default:()=>tt},platform:{type:String,default:"auto"},inline:Boolean,disabled:Boolean,prefix:String,suffix:String,...Ae(),...Oe(),...Me(),...ze(),...We(),...ds(),color:String},"VHotkey");class se{constructor(t){if(["and","then"].includes(t))this.val=t;else throw new Error("Not a valid delineator")}isEqual(t){return this.val===t.val}}function X(e){return e instanceof se}function ps(e){return typeof e=="string"}function gs(e,t,l){const c=t.toLowerCase();if(c in e){const a=et(e[c],"text",l);return typeof a[1]=="string"?a[1]:String(a[1])}return t.toUpperCase()}function Se(e,t,l,c){const a=l.toLowerCase();if(a in e){const o=et(e[a],t,c);return o[0]==="text"&&typeof o[1]=="string"&&o[1].startsWith("$")&&!o[1].startsWith("$vuetify.")?["text",o[1].replace("$","").toUpperCase(),l]:[...o,l]}return["text",l.toUpperCase(),l]}const ms=xe()({name:"VHotkey",props:hs(),setup(e){const{t}=ft(),{themeClasses:l}=Le(e),{rtlClasses:c}=vt(),{borderClasses:a}=Ne(e),{roundedClasses:o}=Ue(e),{elevationClasses:s}=Fe(e),i=x(()=>e.variant==="contained"),p=x(()=>({...e,variant:i.value?"elevated":e.variant})),{colorClasses:f,colorStyles:B,variantClasses:A}=jt(p),W=x(()=>e.platform==="auto"?typeof navigator<"u"&&/macintosh/i.test(navigator.userAgent):e.platform==="mac"),re=x(()=>e.displayMode),H=new se("and"),ie=new se("then"),le=x(()=>e.keyMap),E=x(()=>e.keys?e.keys.split(" ").map(b=>{const P=ko(b);return P.flatMap((S,C)=>{const he=Ye(S).reduce((V,pe,rt)=>rt!==0?[...V,H,pe]:[...V,pe],[]).map(V=>ps(V)?Se(le.value,re.value,V,W.value):V);return C<P.length-1&&he.push(ie),he})}):[]),at=x(()=>{if(!e.keys)return"";const P=E.value.map(S=>{const C=[];for(const I of S)if(X(I))H.isEqual(I)?C.push(t("$vuetify.hotkey.plus")):ie.isEqual(I)&&C.push(t("$vuetify.hotkey.then"));else{const de=I[0]==="icon"||I[0]==="symbol"?Se(bt(tt,e.keyMap),"text",String(I[1]),W.value)[1]:I[1];C.push(j(de))}return C.join(" ")}).join(", ");return t("$vuetify.hotkey.shortcut",P)});function j(b){return b.startsWith("$vuetify.")?t(b):b}function nt(b){if(re.value==="text")return;const P=gs(le.value,String(b[2]),W.value);return j(P)}function ce(b,P,S){const C=S?"kbd":Pe,I=["v-hotkey__key",`v-hotkey__key-${b[0]}`,...S?["v-hotkey__key--nested"]:[a.value,o.value,s.value,f.value]];return r(C,{key:P,class:R(I),style:O(S?void 0:B.value),"aria-hidden":"true",title:nt(b)},{default:()=>[b[0]==="icon"?r(K,{icon:b[1],"aria-hidden":"true"},null):j(b[1])]})}function ue(b,P){return n("span",{key:P,class:"v-hotkey__divider","aria-hidden":"true"},[H.isEqual(b)?"+":t("$vuetify.hotkey.then")])}Ve(()=>n("div",{class:R(["v-hotkey",{"v-hotkey--disabled":e.disabled,"v-hotkey--inline":e.inline,"v-hotkey--contained":i.value},l.value,c.value,A.value,e.class]),style:O(e.style),role:"img","aria-label":at.value},[i.value?r(Pe,{key:"contained",class:R(["v-hotkey__contained-wrapper",a.value,o.value,s.value,f.value]),style:O(B.value),"aria-hidden":"true"},{default:()=>[e.prefix&&n("span",{key:"contained-prefix",class:"v-hotkey__prefix"},[e.prefix]),E.value.map((b,P)=>n("span",{class:"v-hotkey__combination",key:P},[b.map((S,C)=>X(S)?ue(S,C):ce(S,C,!0)),P<E.value.length-1&&n("span",{"aria-hidden":"true"},[w(" ")])])),e.suffix&&n("span",{key:"contained-suffix",class:"v-hotkey__suffix"},[e.suffix])]}):n(D,null,[e.prefix&&n("span",{key:"prefix",class:"v-hotkey__prefix"},[e.prefix]),E.value.map((b,P)=>n("span",{class:"v-hotkey__combination",key:P},[b.map((S,C)=>X(S)?ue(S,C):ce(S,C,!1)),P<E.value.length-1&&n("span",{"aria-hidden":"true"},[w(" ")])])),e.suffix&&n("span",{key:"suffix",class:"v-hotkey__suffix"},[e.suffix])])]))}}),ks={name:"KeyboardShortcutsTable",components:{VHotkey:ms},data(){return{mdiMenuLeft:St,mdiMenuRight:Pt,mdiKeyboardSpace:_t,mdiAppleKeyboardShift:yt}}},fs={class:"highlight-table"},vs={class:"highlight-table"},bs={class:"highlight-table"};function ys(e,t,l,c,a,o){const s=h("v-hotkey");return u(),_(D,null,[t[22]||(t[22]=n("h4",null,"Navigation",-1)),n("table",fs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"j"}),t[0]||(t[0]=w(", ")),r(s,{keys:"arrowleft"}),t[1]||(t[1]=w(", ")),r(s,{keys:"shift+space"})]),t[2]||(t[2]=n("td",null,"Previous page",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"k"}),t[3]||(t[3]=w(", ")),r(s,{keys:"arrowright"}),t[4]||(t[4]=w(", ")),r(s,{keys:"space"})]),t[5]||(t[5]=n("td",null,"Next page",-1))]),n("tr",null,[n("td",null,[r(s,{keys:","})]),t[6]||(t[6]=n("td",null,[w("Next "),n("em",null,"only"),w(" one page in two page mode.")],-1))]),n("tr",null,[n("td",null,[r(s,{keys:"."})]),t[7]||(t[7]=n("td",null,[w("Previous "),n("em",null,"only"),w(" one page in two page mode.")],-1))]),n("tr",null,[n("td",null,[r(s,{keys:"p"})]),t[8]||(t[8]=n("td",null,"Previous Book",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"n"})]),t[9]||(t[9]=n("td",null,"Next Book",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"esc"})]),t[10]||(t[10]=n("td",null,"Close book",-1))])])]),t[23]||(t[23]=n("h4",null,"Fit Page To",-1)),n("table",vs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"s"})]),t[11]||(t[11]=n("td",null,"screen",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"h"})]),t[12]||(t[12]=n("td",null,"screen height",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"w"})]),t[13]||(t[13]=n("td",null,"screen width",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"o"})]),t[14]||(t[14]=n("td",null,"Show page at original size",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"2"})]),t[15]||(t[15]=n("td",null,"Toggle two page view",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"r"})]),t[16]||(t[16]=n("td",null,"Read Right to Left",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"l"})]),t[17]||(t[17]=n("td",null,"Read Left to Right",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"t"})]),t[18]||(t[18]=n("td",null,"Read Top to Bottom",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"b"})]),t[19]||(t[19]=n("td",null,"Read in Bottom to Top",-1))])])]),t[24]||(t[24]=n("h4",null,"Other",-1)),n("table",bs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"m"})]),t[20]||(t[20]=n("td",null,"Show comic's metadata",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"doubleclick"})]),t[21]||(t[21]=n("td",null,"Zoom page",-1))])])])],64)}const _s=v(ks,[["render",ys],["__scopeId","data-v-11cb1561"]]),Ps=/iP(?:ad|hone|od)|Android/,Ss=Ps.test(navigator.userAgent),ws=Ss||globalThis.orientation!==void 0,Cs={name:"KeyboardShortcutsPanel",components:{CodexListItem:ne,KeyboardShortcutsTable:_s},data(){return{mdiKeyboardOutline:wt,IS_MOBILE:ws}}};function Ts(e,t,l,c,a,o){const s=h("CodexListItem"),i=h("KeyboardShortcutsTable");return a.IS_MOBILE?T("",!0):(u(),m(io,{key:0},{default:g(()=>[r(lo,{id:"readerKeyboardShortcuts"},{default:g(()=>[r(co,{id:"shortcutsTitle"},{default:g(()=>[r(s,{id:"keyboardShortcutsItem","prepend-icon":a.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(uo,null,{default:g(()=>[r(i)]),_:1})]),_:1})]),_:1}))}const Rs=v(Cs,[["render",Ts],["__scopeId","data-v-8285795a"]]),ot=["fitTo","readingDirection","twoPages"];Object.freeze(ot);const Bs={name:"ReaderSettingsPanel",components:{CodexListItem:ne},data(){return{isGlobalScope:!1,mdiOpenInNew:Rt,mdiEye:Tt,openDelay:2e3,scopeItems:[{title:"Only this comic",value:!1},{title:"Default for all comics",value:!0}]}},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["isVertical","isPDF","cacheBook"]),...k(d,{choices:e=>e.choices,validBook:e=>!!e.books?.current,selectedSettings(e){return this.isGlobalScope||!e.books?.current?e.readerSettings:e.books?.current.settings},isClearSettingsButtonDisabled(e){if(this.isGlobalScope||!e.books?.current)return!0;for(const t of ot){const l=e.books?.current.settings[t];if(!e.choices.nullValues.has(l))return!1}return!0},pdfInBrowserURL(e){return this.isPDF&&e.books?.current?Ct(e.books?.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage,pageTransition:e=>e.readerSettings.pageTransition}),...Ie(d,["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},disablePageTransition(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...y(d,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const l of this.choices[e])l.value&&t.push(l);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},Ds={id:"readerScopedSettings",class:"readerCodexListItem"};function Is(e,t,l,c,a,o){const s=h("CodexListItem");return u(),_(D,null,[t[9]||(t[9]=n("h4",{class:"readerSettingsHeader"},"Comic Settings Scope",-1)),r(Y,{modelValue:a.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=i=>a.isGlobalScope=i),class:"scopeRadioGroup readerCodexListItem",density:"compact","hide-details":"auto"},{default:g(()=>[(u(!0),_(D,null,U(a.scopeItems,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),r(ho,null,{default:g(()=>[n("div",Ds,[r(Y,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=i=>o.settingsDialogChanged({fitTo:i}))},{default:g(()=>[(u(!0),_(D,null,U(o.fitToChoices,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(N,{disabled:o.disableTwoPages,class:"scopedCheckbox",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]=i=>o.settingsDialogChanged({twoPages:i}))},null,8,["disabled","model-value","indeterminate"]),r(Y,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=i=>o.settingsDialogChanged({readingDirection:i}))},{default:g(()=>[(u(!0),_(D,null,U(o.readingDirectionChoices,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(N,{"model-value":e.selectedSettings.readRtlInReverse,class:"scopedCheckbox",density:"compact",label:"Read RTL Comics LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=i=>o.settingsDialogChanged({readRtlInReverse:i}))},null,8,["model-value"]),a.isGlobalScope?T("",!0):$((u(),m(Ke,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:g(()=>t[8]||(t[8]=[w(" Clear Settings ")])),_:1,__:[8]},8,["disabled","onClick"])),[[Q,{openDelay:a.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(oe),t[10]||(t[10]=n("h4",{class:"readerSettingsHeader"},"Reader Settings",-1)),r(N,{class:"readerCodexListItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=i=>e.setSettingsGlobal({finishOnLastPage:i}))},null,8,["model-value"]),$(r(N,{"model-value":e.pageTransition,class:"readerCodexListItem",density:"compact",disabled:o.disablePageTransition,label:"Animate Page Turns","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=i=>e.setSettingsGlobal({pageTransition:i}))},null,8,["model-value","disabled"]),[[Q,{openDelay:a.openDelay,text:"Animate page turns when reading horizontally."}]]),$(r(N,{"model-value":e.cacheBook,class:"readerCodexListItem",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[7]||(t[7]=i=>e.setSettingsClient({cacheBook:i}))},null,8,["model-value","disabled"]),[[Q,{openDelay:a.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(u(),m(s,{key:0,"prepend-icon":a.mdiEye,"append-icon":a.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):T("",!0)],64)}const $s=v(Bs,[["render",Is],["__scopeId","data-v-252309d7"]]),xs={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:cs,ReaderKeyboardShortcutsPanel:Rs,ReaderSettingsPanel:$s}};function Ls(e,t,l,c,a,o){const s=h("ReaderSettingsPanel"),i=h("ReaderKeyboardShortcutsPanel"),p=h("DownloadPanel");return u(),_(D,null,[r(s),r(oe),r(i),r(oe),r(p)],64)}const Vs=v(xs,[["render",Ls]]),Os={name:"ReaderSettingsDrawer",components:{SettingsDrawer:Wt,ReaderSettingsSuperPanel:Vs}};function As(e,t,l,c,a,o){const s=h("ReaderSettingsSuperPanel"),i=h("SettingsDrawer");return u(),m(i,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:g(()=>[r(s)]),_:1})}const Es=v(Os,[["render",As]]),Z={a:Lt,f:xt,p:$t,i:It,s:Dt,v:Bt},Ns={name:"ReaderArcSelect",components:{ToolbarSelect:oo},data(){return{mdiFilterOutline:At}},computed:{...k(d,{arc:e=>e.arc,arcs:e=>e.arcs}),items(){const e=[];if(!this.arcs)return e;for(const[t,l]of Object.entries(this.arcs))for(const[c,a]of Object.entries(l)){let o=Vt[t];t!=="s"&&(o=o.slice(0,-1));const s=Z[t],i=t===this.arc?.group&&c==this.arc?.ids?Ot:"",p={group:t,ids:c,prependIcon:s,...a},f={group:t,value:p,title:a.name,subtitle:o,prependIcon:s,appendIcon:i};e.push(f)}return e},arcInfo(){if(!this.arcs||!this.arc)return{};const e=this.arcs[this.arc?.group];return e?e[this.arc?.ids]:{}},arcIcon(){return Z[this.arc?.group]}},methods:{...y(d,["loadBooks"]),onUpdate(e){const t={group:e.group,ids:e.ids.split(",").map(Number)};this.loadBooks({arc:t})},prependIcon(e){return Z[e]}}},Us={id:"arcPos"};function Fs(e,t,l,c,a,o){const s=h("ToolbarSelect");return u(),m(s,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:o.items,disabled:!o.items||o.items.length<=1,"onUpdate:modelValue":o.onUpdate},{item:g(({item:i,props:p})=>[r(eo,ee(p,{density:"compact",variant:"plain","prepend-icon":i.raw.prependIcon,subtitle:i.raw.subtitle,"append-icon":i.raw.appendIcon}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:g(({props:i})=>[r(K,ee({icon:o.prependIcon(e.arc.group),size:"large"},i,{class:"arcSelectIcon"}),null,16,["icon"]),n("span",Us,L(e.arc.index)+" / "+L(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Ws=v(Ns,[["render",Fs],["__scopeId","data-v-0f33d301"]]),zs={name:"ReaderTitleToolbar",components:{AppBanner:Gt,MetadataDialog:so,ReaderArcSelect:Ws,SettingsDrawerButton:zt},data(){return{mdiClose:Et,routeChanged:!1}},head(){const e=`Read / ${this.activeTitle} / page ${this.storePage}`,t=`reader ${e}`;return{title:e,meta:[{hid:"description",name:"description",content:t}]}},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["activeTitle","closeBookRoute"]),...k(d,{showToolbars:e=>e.showToolbars,currentBook:e=>e.books?.current||{},empty:e=>e.empty,subtitle:e=>e.books?.current?.name||"",storePage:e=>e.page}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=te(this.closeBookRoute),t=te(e.params);return delete t.name,e.params=t,e},metadataBook(){const e={...this.currentBook};return e.group="c",e.childCount=0,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...y($e,["setTimestamp"]),...y(d,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Ms={id:"readerTopToolbarHeader"},Ks={id:"title"},Hs={key:0,id:"subtitle"};function js(e,t,l,c,a,o){const s=h("AppBanner"),i=h("ReaderArcSelect"),p=h("MetadataDialog"),f=h("SettingsDrawerButton");return u(),m(po,null,{default:g(()=>[$(n("header",Ms,[r(s),r(Yt,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Nt({default:g(()=>[r(G,null,{default:g(()=>[r(Ke,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:g(()=>t[0]||(t[0]=[w(" close book ")])),_:1,__:[0]},8,["to","onClick"])]),_:1}),r(ao),e.empty?T("",!0):(u(),m(G,{key:0},{default:g(()=>[r(i),r(p,{ref:"metadataDialog",book:o.metadataBook,toolbar:!0},null,8,["book"])]),_:1})),r(G,null,{default:g(()=>[r(f)]),_:1})]),_:2},[o.title?{name:"extension",fn:g(()=>[r(Jt,{class:"readerTitle"},{default:g(()=>[n("div",Ks,L(o.title),1),e.subtitle?(u(),_("div",Hs,L(e.subtitle),1)):T("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])],512),[[Ee,e.showToolbars]])]),_:1})}const st=v(zs,[["render",js],["__scopeId","data-v-ac089588"]]),qs={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:st,EmptyState:He},data(){return{mdiBookRemoveOutline:Ut}},methods:{...y(d,["loadBooks","setShowToolbars"]),onAction(){this.loadBooks({mtime:Date.now()})}},created(){this.setShowToolbars()}};function Gs(e,t,l,c,a,o){const s=h("ReaderTopToolbar"),i=h("EmptyState");return u(),_(D,null,[r(s),r(i,{headline:"Book Not Found",title:"Close the reader and find another book",icon:a.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Ys=v(qs,[["render",Gs]]),Js={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:Ge},props:{direction:{type:String,required:!0}},computed:{...k(d,["isBTT"]),...k(d,{toRoute(e){const t=e?.routes?.books[this.direction];return t?{params:te(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...y(d,["bookChangeIcon"])}};function Qs(e,t,l,c,a,o){const s=h("PaginationNavButton");return e.toRoute?(u(),m(s,{key:0,class:R(o.classes),icon:o.icon,variant:"plain",title:o.title,to:e.toRoute},null,8,["class","icon","title","to"])):T("",!0)}const Xs=v(Js,[["render",Qs],["__scopeId","data-v-e6c3b493"]]),Zs={name:"ReaderNavButton",components:{PaginationNavButton:Ge},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...k(d,["isVertical"]),...k(d,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...y(d,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ea(e,t,l,c,a,o){const s=h("PaginationNavButton");return u(),m(s,{key:e.isVertical,disabled:o.disabled,class:R(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:g(()=>[w(L(l.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const ta=v(Zs,[["render",ea],["__scopeId","data-v-f60d8fb5"]]),z="prev",M="next",oa={name:"ReaderNavToolbar",components:{PaginationSlider:ro,ReaderNavButton:ta,PaginationToolbar:no,ReaderBookChangeNavButton:Xs},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["activeSettings","isReadInReverse","isVertical"]),...k(d,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){return`${e.books?.current?.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>e.books?.current?.maxPage||0}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...y(d,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(M):e.shiftKey&&window.scrollY===0&&this.routeToDirection(z);break;case"j":case"ArrowRight":this.routeToDirection(M);break;case"k":case"ArrowLeft":this.routeToDirection(z);break;case",":this.routeToDirectionOne(z);break;case".":this.routeToDirectionOne(M);break;case"n":this.routeToBook(M);break;case"p":this.routeToBook(z);break}}}};function sa(e,t,l,c,a,o){const s=h("ReaderBookChangeNavButton"),i=h("ReaderNavButton"),p=h("PaginationSlider"),f=h("PaginationToolbar");return u(),m(go,null,{default:g(()=>[e.maxPage?$((u(),m(f,{key:0,id:"readerToolbarNav"},{default:g(()=>[r(s,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(i,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),m(p,{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]=B=>o.onSliderUpdate(B))},null,8,["model-value","max","step","track-color","reverse"])),r(i,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(s,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[Ee,e.showToolbars]]):T("",!0)]),_:1})}const aa=v(oa,[["render",sa],["__scopeId","data-v-ebe715c2"]]),na={name:"MainReader",components:{BooksWindow:ns,ReaderEmpty:Ys,ReaderNavToolbar:aa,ReaderTopToolbar:st,ReaderSettingsDrawer:Es,Unauthorized:Qt},data(){return{showToolbars:!1}},computed:{...k(F,["isAuthorized"]),...k(F,{user:e=>e.user}),...k(d,{empty:e=>e.empty})},watch:{user(){this.loadReaderSettings()}},created(){this.reset();const e=this.user?0:300,t=this.user;setTimeout(()=>{this.user?.id===t?.id&&this.loadReaderSettings()},e)},methods:{...y(d,["loadReaderSettings","reset"])}},ra={key:0},ia={id:"readerContainer"};function la(e,t,l,c,a,o){const s=h("ReaderTopToolbar"),i=h("BooksWindow"),p=h("ReaderNavToolbar"),f=h("ReaderEmpty"),B=h("ReaderSettingsDrawer"),A=h("Unauthorized");return e.isAuthorized?(u(),m(Xt,{key:0,id:"readerWrapper"},{default:g(()=>[e.empty?(u(),m(f,{key:1})):(u(),_("div",ra,[n("div",ia,[r(s),r(i),r(p)])])),r(B)]),_:1})):(u(),m(A,{key:1}))}const ca=v(na,[["render",la],["__scopeId","data-v-6df2b556"]]),wa=Object.freeze(Object.defineProperty({__proto__:null,default:ca},Symbol.toStringTag,{value:"Module"}));export{jo as P,Ze as S,wa as r};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as C,B as x,D as S,q as r,b as l,A as o,F as u,z as h,C as R,s as A,v as a,d as N,x as f,w as v,y,a as _}from"./main-BoAlbVoF.js";import{C as I}from"./confirm-dialog-B7ndwV5M.js";import{useAdminStore as T}from"./admin-kjMoKlqD.js";import{V as p}from"./forwardRefs-Z0d4Mnc7.js";import{c as w}from"./VSelect-Dv50OIkN.js";import"./VDialog-BzaGu1HN.js";import"./VSelectionControl-DbKYScD5.js";import"./ssrBoot-O6yTJ_UV.js";import"./VDivider-C3ikm0Ko.js";import"./VCheckboxBtn-Bu2Pf64q.js";const k=[{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"},{value:"watchdog_sync",title:"Sync Watchdog with DB",desc:"Ensure the Watchdog file watcher is enabled per database preferences for each library"},{value:"import_abort",title:"Abort Running Import",desc:"Abort the current running import after the current import subtask is complete"}]},{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 and all custom covers",confirm:"Are you sure?"},{value:"force_update_groups",title:"Update Group Timestamps",desc:"Force the update of group timestamps. Will bust the browser cache for browser views and covers."}]},{title:"Search Index",tasks:[{value:"search_index_optimize",title:"Optimize Search Index",desc:"Merge Search Index for optimal lookup time. Runs nightly."},{value:"search_index_remove_stale",title:"Clean Stale Index Entries",desc:"Clean search index entries that are no longer in the library."},{value:"search_index_clear",title:"Clear Search Index",desc:"of all entries"},{value:"db_fts_integrity_check",title:"Integrity Check Search Index",desc:"Repairs Search Index on failure. Runs nightly"},{value:"db_fts_rebuild",title:"Repair Search Index",desc:"Probably faster than Rebuild if integrity check fails."},{value:"search_index_abort",title:"Abort Legacy Search Index Sync",desc:"Aborts search index sync tasks."},{value:"search_index_update",title:"Sync Search Index",desc:"with recently changed comics. This should not need to be run.",confirm:"This can take a long time"},{value:"search_index_rebuild",title:"Rebuild Search Index Using Sync.",desc:"Delete and rebuild the search index from scratch using the legacy syncer. This should not need to be run.",confirm:"This can take a long time"}]},{title:"Database",tasks:[{value:"db_vacuum",title:"Optimize & Compact Database",desc:"Run the sqlite3 OPTIMIZE and VACUUM pragmas. Runs nightly"},{value:"db_backup",title:"Backup Database",desc:"Runs nightly"},{value:"db_foreign_key_check",title:"Remove Illegal Foreign Keys",desc:"Check for and remove illegal foreign keys. Mark affected comics for update. Runs nightly."},{value:"db_integrity_check",title:"Check Database Integrity",desc:"Check logs for results. Runs nightly.",confirm:"Can take a while on large databases, Are you sure?"}]},{title:"Codex Software",tasks:[{value:"codex_latest_version",title:"Check for Codex Latest Version",desc:"Check PyPi for the latest version of Codex"},{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:"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_db_custom_covers",title:"Remove Orphan Database Custom Covers",desc:"Remove Custom Covers from the db that no longer represent custom cover images on disk. Runs nightly."},{value:"cleanup_sessions",title:"Cleanup Sessions",desc:"Remove corrupt and expired sessions. Runs nightly."},{value:"cleanup_covers",title:"Remove Orphan Cover Thumbnails",desc:"no longer have source comics or custom images. Runs nightly."},{value:"cleanup_bookmarks",title:"Remove Orphan Bookmarks",desc:"Owned by no session or user. Runs nightly."},{value:"adopt_folders",title:"Adopt Orphan Folders",desc:"Move orphaned folders from the top of the folder tree to under their correct parent. Runs nightly and at startup."},{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."}]},{title:"Notify",tasks:[{value:"notify_admin_flags_changed",title:"Notify Admin Flags Changed",desc:"Notify all users that admin flags have changed."},{value:"notify_bookmark_changed",title:"Notify Bookmark Changed",desc:"Notify only your user that a bookmark changed."},{value:"notify_covers_changed",title:"Notify Covers Changed",desc:"Notify all users that covers have changed."},{value:"notify_failed_imports_changed",title:"Notify Failed Imports Changed",desc:"Notify admin users that failed imports have changed"},{value:"notify_groups_changed",title:"Notify Groups Changed",desc:"Notify all users that ACL groups have changed."},{value:"notify_library_changed",title:"Notify Library Changed ",desc:"Notify all users libraries have changed."},{value:"notify_librarian_status",title:"Notify Librarian Status",desc:"Notify admin users that a librarian job status changed.."},{value:"notify_users_changed",title:"Notify Users Changed",desc:"Notify one user that their users changed or all users if a user was deleted."}]}],m=["Notify"];Object.freeze(m);const L={name:"AdminTasksTab",components:{ConfirmDialog:I},data(){return{SELECT_GROUPS:m,selectValues:{Notify:"notify_library_changed"},tasks:k}},computed:{...S(R,{formSuccess:e=>e.form.success,formErrors:e=>e.form.errors}),selectMaps(){const e={};for(const i of k)if(m.includes(i.title)){e[i.title]={};for(const n of i.tasks)e[i.title][n.value]=n}return e}},methods:{...x(T,["librarianTask"]),selectAttr(e,i){const n=this.selectValues[e];return this.selectMaps[e][n][i]}}},V={id:"tasks"},D={key:0,id:"success"},U={key:1,id:"error"},B={key:2,id:"noRecentTask"},E={key:0},O={class:"taskBox"},F={class:"taskDesc"},M={key:1,class:"taskBox"},P={class:"taskDesc"};function z(e,i,n,G,c,d){const g=A("ConfirmDialog");return a(),r("div",V,[l("div",null,[i[0]||(i[0]=l("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),l("span",null,[e.formSuccess?(a(),r("span",D,o(e.formSuccess),1)):e.formErrors&&e.formErrors.length>0?(a(),r("span",U,[(a(!0),r(u,null,h(e.formErrors,t=>(a(),r("span",{key:t},o(t),1))),128))])):(a(),r("span",B,"No recent task"))])]),(a(!0),r(u,null,h(c.tasks,t=>(a(),r("div",{key:t.title,"fixed-header":"",class:"taskGroup"},[l("h3",null,o(t.title),1),c.SELECT_GROUPS.includes(t.title)?(a(),r("div",M,[_(w,{items:t.tasks,"model-value":c.selectValues[t.title],"onUpdate:modelValue":s=>c.selectValues[t.title]=s},null,8,["items","model-value","onUpdate:modelValue"]),_(p,{block:"",onClick:s=>e.librarianTask(c.selectValues[t.title],d.selectAttr(t.title,"title"))},{default:v(()=>[y(o(d.selectAttr(t.title,"title")),1)]),_:2},1032,["onClick"]),l("div",P,o(d.selectAttr(t.title,"desc")),1)])):(a(),r("div",E,[(a(!0),r(u,null,h(t.tasks,s=>(a(),r("div",{key:s.value,class:N(["trow",{selected:!1}])},[l("div",O,[s.confirm?(a(),f(g,{key:0,"button-text":s.title,"title-text":s.title,text:s.confirm,block:!0,"confirm-text":"Confirm",onConfirm:b=>e.librarianTask(s.value,s.title)},null,8,["button-text","title-text","text","onConfirm"])):(a(),f(p,{key:1,block:"",onClick:b=>e.librarianTask(s.value,s.title)},{default:v(()=>[y(o(s.title),1)]),_:2},1032,["onClick"])),l("div",F,o(s.desc),1)])]))),128))]))]))),128))])}const $=C(L,[["render",z],["__scopeId","data-v-6e06e355"]]);export{$ as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as C,B as x,D as S,q as r,b as l,A as o,F as u,z as h,C as R,s as A,v as a,d as N,x as f,w as v,y,a as _}from"./main-BoAlbVoF.js";import{C as I}from"./confirm-dialog-B7ndwV5M.js";import{useAdminStore as T}from"./admin-kjMoKlqD.js";import{V as p}from"./forwardRefs-Z0d4Mnc7.js";import{c as w}from"./VSelect-Dv50OIkN.js";import"./VDialog-BzaGu1HN.js";import"./VSelectionControl-DbKYScD5.js";import"./ssrBoot-O6yTJ_UV.js";import"./VDivider-C3ikm0Ko.js";import"./VCheckboxBtn-Bu2Pf64q.js";const k=[{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"},{value:"watchdog_sync",title:"Sync Watchdog with DB",desc:"Ensure the Watchdog file watcher is enabled per database preferences for each library"},{value:"import_abort",title:"Abort Running Import",desc:"Abort the current running import after the current import subtask is complete"}]},{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 and all custom covers",confirm:"Are you sure?"},{value:"force_update_groups",title:"Update Group Timestamps",desc:"Force the update of group timestamps. Will bust the browser cache for browser views and covers."}]},{title:"Search Index",tasks:[{value:"search_index_optimize",title:"Optimize Search Index",desc:"Merge Search Index for optimal lookup time. Runs nightly."},{value:"search_index_remove_stale",title:"Clean Stale Index Entries",desc:"Clean search index entries that are no longer in the library."},{value:"search_index_clear",title:"Clear Search Index",desc:"of all entries"},{value:"db_fts_integrity_check",title:"Integrity Check Search Index",desc:"Repairs Search Index on failure. Runs nightly"},{value:"db_fts_rebuild",title:"Repair Search Index",desc:"Probably faster than Rebuild if integrity check fails."},{value:"search_index_abort",title:"Abort Legacy Search Index Sync",desc:"Aborts search index sync tasks."},{value:"search_index_update",title:"Sync Search Index",desc:"with recently changed comics. This should not need to be run.",confirm:"This can take a long time"},{value:"search_index_rebuild",title:"Rebuild Search Index Using Sync.",desc:"Delete and rebuild the search index from scratch using the legacy syncer. This should not need to be run.",confirm:"This can take a long time"}]},{title:"Database",tasks:[{value:"db_vacuum",title:"Optimize & Compact Database",desc:"Run the sqlite3 OPTIMIZE and VACUUM pragmas. Runs nightly"},{value:"db_backup",title:"Backup Database",desc:"Runs nightly"},{value:"db_foreign_key_check",title:"Remove Illegal Foreign Keys",desc:"Check for and remove illegal foreign keys. Mark affected comics for update. Runs nightly."},{value:"db_integrity_check",title:"Check Database Integrity",desc:"Check logs for results. Runs nightly.",confirm:"Can take a while on large databases, Are you sure?"}]},{title:"Codex Software",tasks:[{value:"codex_latest_version",title:"Check for Codex Latest Version",desc:"Check PyPi for the latest version of Codex"},{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:"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_db_custom_covers",title:"Remove Orphan Database Custom Covers",desc:"Remove Custom Covers from the db that no longer represent custom cover images on disk. Runs nightly."},{value:"cleanup_sessions",title:"Cleanup Sessions",desc:"Remove corrupt and expired sessions. Runs nightly."},{value:"cleanup_covers",title:"Remove Orphan Cover Thumbnails",desc:"no longer have source comics or custom images. Runs nightly."},{value:"cleanup_bookmarks",title:"Remove Orphan Bookmarks",desc:"Owned by no session or user. Runs nightly."},{value:"adopt_folders",title:"Adopt Orphan Folders",desc:"Move orphaned folders from the top of the folder tree to under their correct parent. Runs nightly and at startup."},{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."}]},{title:"Notify",tasks:[{value:"notify_admin_flags_changed",title:"Notify Admin Flags Changed",desc:"Notify all users that admin flags have changed."},{value:"notify_bookmark_changed",title:"Notify Bookmark Changed",desc:"Notify only your user that a bookmark changed."},{value:"notify_covers_changed",title:"Notify Covers Changed",desc:"Notify all users that covers have changed."},{value:"notify_failed_imports_changed",title:"Notify Failed Imports Changed",desc:"Notify admin users that failed imports have changed"},{value:"notify_groups_changed",title:"Notify Groups Changed",desc:"Notify all users that ACL groups have changed."},{value:"notify_library_changed",title:"Notify Library Changed ",desc:"Notify all users libraries have changed."},{value:"notify_librarian_status",title:"Notify Librarian Status",desc:"Notify admin users that a librarian job status changed.."},{value:"notify_users_changed",title:"Notify Users Changed",desc:"Notify one user that their users changed or all users if a user was deleted."}]}],m=["Notify"];Object.freeze(m);const L={name:"AdminTasksTab",components:{ConfirmDialog:I},data(){return{SELECT_GROUPS:m,selectValues:{Notify:"notify_library_changed"},tasks:k}},computed:{...S(R,{formSuccess:e=>e.form.success,formErrors:e=>e.form.errors}),selectMaps(){const e={};for(const i of k)if(m.includes(i.title)){e[i.title]={};for(const n of i.tasks)e[i.title][n.value]=n}return e}},methods:{...x(T,["librarianTask"]),selectAttr(e,i){const n=this.selectValues[e];return this.selectMaps[e][n][i]}}},V={id:"tasks"},D={key:0,id:"success"},U={key:1,id:"error"},B={key:2,id:"noRecentTask"},E={key:0},O={class:"taskBox"},F={class:"taskDesc"},M={key:1,class:"taskBox"},P={class:"taskDesc"};function z(e,i,n,G,c,d){const g=A("ConfirmDialog");return a(),r("div",V,[l("div",null,[i[0]||(i[0]=l("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),l("span",null,[e.formSuccess?(a(),r("span",D,o(e.formSuccess),1)):e.formErrors&&e.formErrors.length>0?(a(),r("span",U,[(a(!0),r(u,null,h(e.formErrors,t=>(a(),r("span",{key:t},o(t),1))),128))])):(a(),r("span",B,"No recent task"))])]),(a(!0),r(u,null,h(c.tasks,t=>(a(),r("div",{key:t.title,"fixed-header":"",class:"taskGroup"},[l("h3",null,o(t.title),1),c.SELECT_GROUPS.includes(t.title)?(a(),r("div",M,[_(w,{items:t.tasks,"model-value":c.selectValues[t.title],"onUpdate:modelValue":s=>c.selectValues[t.title]=s},null,8,["items","model-value","onUpdate:modelValue"]),_(p,{block:"",onClick:s=>e.librarianTask(c.selectValues[t.title],d.selectAttr(t.title,"title"))},{default:v(()=>[y(o(d.selectAttr(t.title,"title")),1)]),_:2},1032,["onClick"]),l("div",P,o(d.selectAttr(t.title,"desc")),1)])):(a(),r("div",E,[(a(!0),r(u,null,h(t.tasks,s=>(a(),r("div",{key:s.value,class:N(["trow",{selected:!1}])},[l("div",O,[s.confirm?(a(),f(g,{key:0,"button-text":s.title,"title-text":s.title,text:s.confirm,block:!0,"confirm-text":"Confirm",onConfirm:b=>e.librarianTask(s.value,s.title)},null,8,["button-text","title-text","text","onConfirm"])):(a(),f(p,{key:1,block:"",onClick:b=>e.librarianTask(s.value,s.title)},{default:v(()=>[y(o(s.title),1)]),_:2},1032,["onClick"])),l("div",F,o(s.desc),1)])]))),128))]))]))),128))])}const $=C(L,[["render",z],["__scopeId","data-v-6e06e355"]]);export{$ as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|