codex 1.8.4__py3-none-any.whl → 1.8.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of codex might be problematic. Click here for more details.
- codex/librarian/scribe/importer/delete/comics.py +2 -2
- codex/librarian/scribe/scribed.py +2 -13
- codex/librarian/scribe/search/sync.py +74 -78
- codex/librarian/status.py +1 -1
- codex/librarian/status_controller.py +42 -36
- codex/librarian/watchdog/emitter.py +2 -3
- codex/librarian/watchdog/event_batcherd.py +1 -1
- codex/serializers/browser/settings.py +0 -1
- codex/settings/__init__.py +9 -10
- codex/static_root/assets/{VCheckbox-BUS-Yeeg.7324b2d79f7e.js → VCheckbox--IZv20K5.121e571f623b.js} +1 -1
- codex/static_root/assets/VCheckbox--IZv20K5.121e571f623b.js.br +0 -0
- codex/static_root/assets/VCheckbox--IZv20K5.121e571f623b.js.gz +0 -0
- codex/static_root/assets/{VCheckbox-BUS-Yeeg.js → VCheckbox--IZv20K5.js} +1 -1
- codex/static_root/assets/VCheckbox--IZv20K5.js.br +0 -0
- codex/static_root/assets/VCheckbox--IZv20K5.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-BZqfedDW.52d389bdccde.js → VCheckboxBtn-BzgViWAb.1400a41af9da.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-BzgViWAb.1400a41af9da.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BzgViWAb.1400a41af9da.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-BZqfedDW.js → VCheckboxBtn-BzgViWAb.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-BzgViWAb.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BzgViWAb.js.gz +0 -0
- codex/static_root/assets/{VCombobox-D1Ha7FmT.76d5650a920c.js → VCombobox-0VKjtXTP.f7c9bb8e7f77.js} +1 -1
- codex/static_root/assets/VCombobox-0VKjtXTP.f7c9bb8e7f77.js.br +0 -0
- codex/static_root/assets/VCombobox-0VKjtXTP.f7c9bb8e7f77.js.gz +0 -0
- codex/static_root/assets/{VCombobox-D1Ha7FmT.js → VCombobox-0VKjtXTP.js} +1 -1
- codex/static_root/assets/VCombobox-0VKjtXTP.js.br +0 -0
- codex/static_root/assets/VCombobox-0VKjtXTP.js.gz +0 -0
- codex/static_root/assets/{VDialog-CwCy5caJ.31afcb45bd4b.js → VDialog-Oz6-kM3S.2244675141c7.js} +1 -1
- codex/static_root/assets/VDialog-Oz6-kM3S.2244675141c7.js.br +0 -0
- codex/static_root/assets/VDialog-Oz6-kM3S.2244675141c7.js.gz +0 -0
- codex/static_root/assets/{VDialog-CwCy5caJ.js → VDialog-Oz6-kM3S.js} +1 -1
- codex/static_root/assets/VDialog-Oz6-kM3S.js.br +0 -0
- codex/static_root/assets/VDialog-Oz6-kM3S.js.gz +0 -0
- codex/static_root/assets/{VDivider-QEWmQwZy.89d318a32d70.js → VDivider-CSRFyKQO.5f8e1ffafbaf.js} +1 -1
- codex/static_root/assets/VDivider-CSRFyKQO.5f8e1ffafbaf.js.br +0 -0
- codex/static_root/assets/VDivider-CSRFyKQO.5f8e1ffafbaf.js.gz +0 -0
- codex/static_root/assets/{VDivider-QEWmQwZy.js → VDivider-CSRFyKQO.js} +1 -1
- codex/static_root/assets/VDivider-CSRFyKQO.js.br +0 -0
- codex/static_root/assets/VDivider-CSRFyKQO.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-Dzh4hOyH.dd0796960676.js → VExpansionPanels-82Ocr2Kh.1ccaea91f07c.js} +1 -1
- codex/static_root/assets/VExpansionPanels-82Ocr2Kh.1ccaea91f07c.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-82Ocr2Kh.1ccaea91f07c.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-Dzh4hOyH.js → VExpansionPanels-82Ocr2Kh.js} +1 -1
- codex/static_root/assets/VExpansionPanels-82Ocr2Kh.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-82Ocr2Kh.js.gz +0 -0
- codex/static_root/assets/{VForm-CKTqFmYD.837ad5ecbb66.js → VForm-BaeKMRS9.be058cf1518f.js} +1 -1
- codex/static_root/assets/VForm-BaeKMRS9.be058cf1518f.js.br +0 -0
- codex/static_root/assets/VForm-BaeKMRS9.be058cf1518f.js.gz +0 -0
- codex/static_root/assets/{VForm-CKTqFmYD.js → VForm-BaeKMRS9.js} +1 -1
- codex/static_root/assets/VForm-BaeKMRS9.js.br +0 -0
- codex/static_root/assets/VForm-BaeKMRS9.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-B2m47wR5.cf163036f69b.js → VRadioGroup-DeB10IRm.4ea874709ffb.js} +1 -1
- codex/static_root/assets/VRadioGroup-DeB10IRm.4ea874709ffb.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DeB10IRm.4ea874709ffb.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-B2m47wR5.js → VRadioGroup-DeB10IRm.js} +1 -1
- codex/static_root/assets/VRadioGroup-DeB10IRm.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DeB10IRm.js.gz +0 -0
- codex/static_root/assets/{VSelect-De33kkeP.0679e23c959b.js → VSelect-4ozzBEef.36f749b6f4ab.js} +1 -1
- codex/static_root/assets/VSelect-4ozzBEef.36f749b6f4ab.js.br +0 -0
- codex/static_root/assets/VSelect-4ozzBEef.36f749b6f4ab.js.gz +0 -0
- codex/static_root/assets/{VSelect-De33kkeP.js → VSelect-4ozzBEef.js} +1 -1
- codex/static_root/assets/VSelect-4ozzBEef.js.br +0 -0
- codex/static_root/assets/VSelect-4ozzBEef.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-Cib41eud.c30c8e31df2a.js → VSelectionControl-D3h7FjSM.6cf4ba197995.js} +1 -1
- codex/static_root/assets/VSelectionControl-D3h7FjSM.6cf4ba197995.js.br +0 -0
- codex/static_root/assets/VSelectionControl-D3h7FjSM.6cf4ba197995.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-Cib41eud.js → VSelectionControl-D3h7FjSM.js} +1 -1
- codex/static_root/assets/VSelectionControl-D3h7FjSM.js.br +0 -0
- codex/static_root/assets/VSelectionControl-D3h7FjSM.js.gz +0 -0
- codex/static_root/assets/{VTable-DBmzLdWQ.1b4c12852e73.js → VTable-Dj5EC5Aq.7abc9daf78be.js} +1 -1
- codex/static_root/assets/VTable-Dj5EC5Aq.7abc9daf78be.js.br +0 -0
- codex/static_root/assets/VTable-Dj5EC5Aq.7abc9daf78be.js.gz +0 -0
- codex/static_root/assets/{VTable-DBmzLdWQ.js → VTable-Dj5EC5Aq.js} +1 -1
- codex/static_root/assets/VTable-Dj5EC5Aq.js.br +0 -0
- codex/static_root/assets/VTable-Dj5EC5Aq.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-BeK4JUp7.4e60834c43b0.js → VWindowItem-Dwb7oeu0.6a4505330db3.js} +1 -1
- codex/static_root/assets/VWindowItem-Dwb7oeu0.6a4505330db3.js.br +0 -0
- codex/static_root/assets/VWindowItem-Dwb7oeu0.6a4505330db3.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-BeK4JUp7.js → VWindowItem-Dwb7oeu0.js} +1 -1
- codex/static_root/assets/VWindowItem-Dwb7oeu0.js.br +0 -0
- codex/static_root/assets/VWindowItem-Dwb7oeu0.js.gz +0 -0
- codex/static_root/assets/{admin-Bhck3Mck.c3ea899835a2.js → admin-mQ-F7brp.cc388b064f3a.js} +1 -1
- codex/static_root/assets/admin-mQ-F7brp.cc388b064f3a.js.br +0 -0
- codex/static_root/assets/admin-mQ-F7brp.cc388b064f3a.js.gz +0 -0
- codex/static_root/assets/{admin-Bhck3Mck.js → admin-mQ-F7brp.js} +1 -1
- codex/static_root/assets/admin-mQ-F7brp.js.br +0 -0
- codex/static_root/assets/admin-mQ-F7brp.js.gz +0 -0
- codex/static_root/assets/{admin-menu-BZRid1Ps.3402782e61d1.js → admin-menu-CfGPKhvz.1e224da855f5.js} +1 -1
- codex/static_root/assets/admin-menu-CfGPKhvz.1e224da855f5.js.br +0 -0
- codex/static_root/assets/admin-menu-CfGPKhvz.1e224da855f5.js.gz +0 -0
- codex/static_root/assets/{admin-menu-BZRid1Ps.js → admin-menu-CfGPKhvz.js} +1 -1
- codex/static_root/assets/admin-menu-CfGPKhvz.js.br +0 -0
- codex/static_root/assets/admin-menu-CfGPKhvz.js.gz +0 -0
- codex/static_root/assets/{admin-CDRC0Rok.0427890caa22.js → admin-nYIgbfe8.d2acbae0b198.js} +1 -1
- codex/static_root/assets/admin-nYIgbfe8.d2acbae0b198.js.br +0 -0
- codex/static_root/assets/admin-nYIgbfe8.d2acbae0b198.js.gz +0 -0
- codex/static_root/assets/{admin-CDRC0Rok.js → admin-nYIgbfe8.js} +1 -1
- codex/static_root/assets/admin-nYIgbfe8.js.br +0 -0
- codex/static_root/assets/admin-nYIgbfe8.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-DnsCBRll.5fdbf19092e8.js → admin-settings-button-progress-BBRW69l3.697026d00887.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-BBRW69l3.697026d00887.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-BBRW69l3.697026d00887.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-DnsCBRll.js → admin-settings-button-progress-BBRW69l3.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-BBRW69l3.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-BBRW69l3.js.gz +0 -0
- codex/static_root/assets/{browser-Dr_bPvQw.45714261db30.js → browser-BzV_-1Jg.e39184a92bab.js} +1 -1
- codex/static_root/assets/browser-BzV_-1Jg.e39184a92bab.js.br +0 -0
- codex/static_root/assets/browser-BzV_-1Jg.e39184a92bab.js.gz +0 -0
- codex/static_root/assets/{browser-Dr_bPvQw.js → browser-BzV_-1Jg.js} +1 -1
- codex/static_root/assets/browser-BzV_-1Jg.js.br +0 -0
- codex/static_root/assets/browser-BzV_-1Jg.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DgVD2Irc.0bc698baa5dd.js → change-password-dialog-DpqXgZ53.3f22c3114669.js} +1 -1
- codex/static_root/assets/change-password-dialog-DpqXgZ53.3f22c3114669.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DpqXgZ53.3f22c3114669.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DgVD2Irc.js → change-password-dialog-DpqXgZ53.js} +1 -1
- codex/static_root/assets/change-password-dialog-DpqXgZ53.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DpqXgZ53.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-CzIH9jqe.1dfcb7de1a9f.js → confirm-dialog-uoXMmYq3.0ec4c4eba588.js} +1 -1
- codex/static_root/assets/confirm-dialog-uoXMmYq3.0ec4c4eba588.js.br +0 -0
- codex/static_root/assets/confirm-dialog-uoXMmYq3.0ec4c4eba588.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-CzIH9jqe.js → confirm-dialog-uoXMmYq3.js} +1 -1
- codex/static_root/assets/confirm-dialog-uoXMmYq3.js.br +0 -0
- codex/static_root/assets/confirm-dialog-uoXMmYq3.js.gz +0 -0
- codex/static_root/assets/{datetime-column-dv3EPaad.c897aa7a3039.js → datetime-column-GkTrMP1-.bf4adfaa4e02.js} +1 -1
- codex/static_root/assets/datetime-column-GkTrMP1-.bf4adfaa4e02.js.br +0 -0
- codex/static_root/assets/datetime-column-GkTrMP1-.bf4adfaa4e02.js.gz +0 -0
- codex/static_root/assets/{datetime-column-dv3EPaad.js → datetime-column-GkTrMP1-.js} +1 -1
- codex/static_root/assets/datetime-column-GkTrMP1-.js.br +0 -0
- codex/static_root/assets/datetime-column-GkTrMP1-.js.gz +0 -0
- codex/static_root/assets/{filter-Db5Fln7r.0d58582de664.js → filter-CRnAKgPp.cc654b8f8155.js} +1 -1
- codex/static_root/assets/filter-CRnAKgPp.cc654b8f8155.js.br +0 -0
- codex/static_root/assets/filter-CRnAKgPp.cc654b8f8155.js.gz +0 -0
- codex/static_root/assets/{filter-Db5Fln7r.js → filter-CRnAKgPp.js} +1 -1
- codex/static_root/assets/filter-CRnAKgPp.js.br +0 -0
- codex/static_root/assets/filter-CRnAKgPp.js.gz +0 -0
- codex/static_root/assets/{flag-tab-BZ2kKZ5N.20ffe7c0b7bf.js → flag-tab-BA4kiUXn.408cc0a71ec1.js} +1 -1
- codex/static_root/assets/flag-tab-BA4kiUXn.408cc0a71ec1.js.br +0 -0
- codex/static_root/assets/flag-tab-BA4kiUXn.408cc0a71ec1.js.gz +0 -0
- codex/static_root/assets/{flag-tab-BZ2kKZ5N.js → flag-tab-BA4kiUXn.js} +1 -1
- codex/static_root/assets/flag-tab-BA4kiUXn.js.br +0 -0
- codex/static_root/assets/flag-tab-BA4kiUXn.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-BtYmQRWE.js → forwardRefs-FxOC1qa_.6e14881eedf1.js} +1 -1
- codex/static_root/assets/forwardRefs-FxOC1qa_.6e14881eedf1.js.br +0 -0
- codex/static_root/assets/forwardRefs-FxOC1qa_.6e14881eedf1.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-BtYmQRWE.83587cda5fc0.js → forwardRefs-FxOC1qa_.js} +1 -1
- codex/static_root/assets/forwardRefs-FxOC1qa_.js.br +0 -0
- codex/static_root/assets/forwardRefs-FxOC1qa_.js.gz +0 -0
- codex/static_root/assets/{group-tab-CesC8o-T.d0a43da901be.js → group-tab-BD9iJZwB.b3e2b1b68d3a.js} +1 -1
- codex/static_root/assets/group-tab-BD9iJZwB.b3e2b1b68d3a.js.br +0 -0
- codex/static_root/assets/group-tab-BD9iJZwB.b3e2b1b68d3a.js.gz +0 -0
- codex/static_root/assets/{group-tab-CesC8o-T.js → group-tab-BD9iJZwB.js} +1 -1
- codex/static_root/assets/group-tab-BD9iJZwB.js.br +0 -0
- codex/static_root/assets/group-tab-BD9iJZwB.js.gz +0 -0
- codex/static_root/assets/{http-error-DrBUwxBc.8787039f5cec.js → http-error-D-b5OfHC.e661fa6e0000.js} +1 -1
- codex/static_root/assets/http-error-D-b5OfHC.e661fa6e0000.js.br +2 -0
- codex/static_root/assets/http-error-D-b5OfHC.e661fa6e0000.js.gz +0 -0
- codex/static_root/assets/{http-error-DrBUwxBc.js → http-error-D-b5OfHC.js} +1 -1
- codex/static_root/assets/http-error-D-b5OfHC.js.br +2 -0
- codex/static_root/assets/http-error-D-b5OfHC.js.gz +0 -0
- codex/static_root/assets/{index-C0my3yQ1.36ddbda3d37e.js → index-DCZ6v5x6.848976e7722c.js} +1 -1
- codex/static_root/assets/index-DCZ6v5x6.848976e7722c.js.br +0 -0
- codex/static_root/assets/index-DCZ6v5x6.848976e7722c.js.gz +0 -0
- codex/static_root/assets/{index-C0my3yQ1.js → index-DCZ6v5x6.js} +1 -1
- codex/static_root/assets/index-DCZ6v5x6.js.br +0 -0
- codex/static_root/assets/index-DCZ6v5x6.js.gz +0 -0
- codex/static_root/assets/{library-tab-DPHJtlEd.4c7e08aec414.js → library-tab-ju4WtRth.97949bf344d7.js} +1 -1
- codex/static_root/assets/library-tab-ju4WtRth.97949bf344d7.js.br +0 -0
- codex/static_root/assets/library-tab-ju4WtRth.97949bf344d7.js.gz +0 -0
- codex/static_root/assets/{library-tab-DPHJtlEd.js → library-tab-ju4WtRth.js} +1 -1
- codex/static_root/assets/library-tab-ju4WtRth.js.br +0 -0
- codex/static_root/assets/library-tab-ju4WtRth.js.gz +0 -0
- codex/static_root/assets/main-Bmi4BPiO.d75c8b55081b.js +39 -0
- codex/static_root/assets/main-Bmi4BPiO.d75c8b55081b.js.br +0 -0
- codex/static_root/assets/main-Bmi4BPiO.d75c8b55081b.js.gz +0 -0
- codex/static_root/assets/main-Bmi4BPiO.js +39 -0
- codex/static_root/assets/main-Bmi4BPiO.js.br +0 -0
- codex/static_root/assets/main-Bmi4BPiO.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-BjSr3CzH.ffbe3d735455.js +1 -0
- codex/static_root/assets/pager-full-pdf-BjSr3CzH.ffbe3d735455.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-BjSr3CzH.ffbe3d735455.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-BjSr3CzH.js +1 -0
- codex/static_root/assets/pager-full-pdf-BjSr3CzH.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-BjSr3CzH.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-CoAXq9YN.aa7525342f11.js → pagination-toolbar-DpMVSiz_.86ce692ff9b4.js} +1 -1
- codex/static_root/assets/pagination-toolbar-DpMVSiz_.86ce692ff9b4.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DpMVSiz_.86ce692ff9b4.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-CoAXq9YN.js → pagination-toolbar-DpMVSiz_.js} +1 -1
- codex/static_root/assets/pagination-toolbar-DpMVSiz_.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DpMVSiz_.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-DGfmGYlA.ba1623aa7715.js → pdf-doc-DQBmNe4l.8dbdebf30643.js} +1 -1
- codex/static_root/assets/pdf-doc-DQBmNe4l.8dbdebf30643.js.br +0 -0
- codex/static_root/assets/pdf-doc-DQBmNe4l.8dbdebf30643.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-DGfmGYlA.js → pdf-doc-DQBmNe4l.js} +1 -1
- codex/static_root/assets/pdf-doc-DQBmNe4l.js.br +0 -0
- codex/static_root/assets/pdf-doc-DQBmNe4l.js.gz +0 -0
- codex/static_root/assets/{reader-U6RQth6A.js → reader-BQVYc_LF.e327430a14a1.js} +2 -2
- codex/static_root/assets/reader-BQVYc_LF.e327430a14a1.js.br +0 -0
- codex/static_root/assets/reader-BQVYc_LF.e327430a14a1.js.gz +0 -0
- codex/static_root/assets/{reader-U6RQth6A.095d021092dd.js → reader-BQVYc_LF.js} +2 -2
- codex/static_root/assets/reader-BQVYc_LF.js.br +0 -0
- codex/static_root/assets/reader-BQVYc_LF.js.gz +0 -0
- codex/static_root/assets/{relation-chips-C4BoTvJv.4a245330f997.js → relation-chips-TRmABTTI.918cb21596f9.js} +1 -1
- codex/static_root/assets/relation-chips-TRmABTTI.918cb21596f9.js.br +0 -0
- codex/static_root/assets/relation-chips-TRmABTTI.918cb21596f9.js.gz +0 -0
- codex/static_root/assets/{relation-chips-C4BoTvJv.js → relation-chips-TRmABTTI.js} +1 -1
- codex/static_root/assets/relation-chips-TRmABTTI.js.br +0 -0
- codex/static_root/assets/relation-chips-TRmABTTI.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-CpS_aX4Z.9d4d9533d033.css → settings-drawer-B-pwZRSy.8fc8b237bb52.css} +1 -1
- codex/static_root/assets/settings-drawer-B-pwZRSy.8fc8b237bb52.css.br +0 -0
- codex/static_root/assets/settings-drawer-B-pwZRSy.8fc8b237bb52.css.gz +0 -0
- codex/static_root/assets/{settings-drawer-CpS_aX4Z.css → settings-drawer-B-pwZRSy.css} +1 -1
- codex/static_root/assets/settings-drawer-B-pwZRSy.css.br +0 -0
- codex/static_root/assets/settings-drawer-B-pwZRSy.css.gz +0 -0
- codex/static_root/assets/settings-drawer-BoAnrKCI.46b6a030c81f.js +2 -0
- codex/static_root/assets/settings-drawer-BoAnrKCI.46b6a030c81f.js.br +0 -0
- codex/static_root/assets/settings-drawer-BoAnrKCI.46b6a030c81f.js.gz +0 -0
- codex/static_root/assets/settings-drawer-BoAnrKCI.js +2 -0
- codex/static_root/assets/settings-drawer-BoAnrKCI.js.br +0 -0
- codex/static_root/assets/settings-drawer-BoAnrKCI.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-CRLVxq-1.b83b1b4b8e29.js → ssrBoot-B6P0M2z2.38ab2f4bde57.js} +1 -1
- codex/static_root/assets/ssrBoot-B6P0M2z2.38ab2f4bde57.js.br +0 -0
- codex/static_root/assets/ssrBoot-B6P0M2z2.38ab2f4bde57.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-CRLVxq-1.js → ssrBoot-B6P0M2z2.js} +1 -1
- codex/static_root/assets/ssrBoot-B6P0M2z2.js.br +0 -0
- codex/static_root/assets/ssrBoot-B6P0M2z2.js.gz +0 -0
- codex/static_root/assets/{stats-tab-DikOLx9_.a6a703fc9501.js → stats-tab-C5m62fu3.8482d96809e9.js} +1 -1
- codex/static_root/assets/stats-tab-C5m62fu3.8482d96809e9.js.br +0 -0
- codex/static_root/assets/stats-tab-C5m62fu3.8482d96809e9.js.gz +0 -0
- codex/static_root/assets/{stats-tab-DikOLx9_.js → stats-tab-C5m62fu3.js} +1 -1
- codex/static_root/assets/stats-tab-C5m62fu3.js.br +0 -0
- codex/static_root/assets/stats-tab-C5m62fu3.js.gz +0 -0
- codex/static_root/assets/{task-tab-NvMiShar.fe041cff9c48.js → task-tab-B3WOGyYT.508fce185a28.js} +1 -1
- codex/static_root/assets/task-tab-B3WOGyYT.508fce185a28.js.br +0 -0
- codex/static_root/assets/task-tab-B3WOGyYT.508fce185a28.js.gz +0 -0
- codex/static_root/assets/{task-tab-NvMiShar.js → task-tab-B3WOGyYT.js} +1 -1
- codex/static_root/assets/task-tab-B3WOGyYT.js.br +0 -0
- codex/static_root/assets/task-tab-B3WOGyYT.js.gz +0 -0
- codex/static_root/assets/{unauthorized-C_c4p1TM.bf7dc6249167.js → unauthorized-DXoWE_v2.19c70a140f9b.js} +1 -1
- codex/static_root/assets/unauthorized-DXoWE_v2.19c70a140f9b.js.br +0 -0
- codex/static_root/assets/unauthorized-DXoWE_v2.19c70a140f9b.js.gz +0 -0
- codex/static_root/assets/{unauthorized-C_c4p1TM.js → unauthorized-DXoWE_v2.js} +1 -1
- codex/static_root/assets/unauthorized-DXoWE_v2.js.br +0 -0
- codex/static_root/assets/unauthorized-DXoWE_v2.js.gz +0 -0
- codex/static_root/assets/{user-tab-B9Nfgojx.903696a6e25e.js → user-tab-DhsQxTkZ.8a8167f9f2c4.js} +1 -1
- codex/static_root/assets/user-tab-DhsQxTkZ.8a8167f9f2c4.js.br +0 -0
- codex/static_root/assets/user-tab-DhsQxTkZ.8a8167f9f2c4.js.gz +0 -0
- codex/static_root/assets/{user-tab-B9Nfgojx.js → user-tab-DhsQxTkZ.js} +1 -1
- codex/static_root/assets/user-tab-DhsQxTkZ.js.br +0 -0
- codex/static_root/assets/user-tab-DhsQxTkZ.js.gz +0 -0
- codex/static_root/{manifest.f01588978268.json → manifest.db295ed1ca03.json} +307 -307
- codex/static_root/manifest.db295ed1ca03.json.br +0 -0
- codex/static_root/manifest.db295ed1ca03.json.gz +0 -0
- codex/static_root/manifest.json +307 -307
- 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/browser/bookmark.py +12 -0
- codex/views/browser/params.py +1 -1
- codex/views/browser/settings.py +3 -17
- codex/views/reader/params.py +1 -1
- codex/views/session.py +8 -4
- codex/views/settings.py +1 -0
- {codex-1.8.4.dist-info → codex-1.8.6.dist-info}/METADATA +1 -1
- {codex-1.8.4.dist-info → codex-1.8.6.dist-info}/RECORD +268 -268
- codex/static_root/assets/VCheckbox-BUS-Yeeg.7324b2d79f7e.js.br +0 -0
- codex/static_root/assets/VCheckbox-BUS-Yeeg.7324b2d79f7e.js.gz +0 -0
- codex/static_root/assets/VCheckbox-BUS-Yeeg.js.br +0 -0
- codex/static_root/assets/VCheckbox-BUS-Yeeg.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BZqfedDW.52d389bdccde.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BZqfedDW.52d389bdccde.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BZqfedDW.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BZqfedDW.js.gz +0 -0
- codex/static_root/assets/VCombobox-D1Ha7FmT.76d5650a920c.js.br +0 -0
- codex/static_root/assets/VCombobox-D1Ha7FmT.76d5650a920c.js.gz +0 -0
- codex/static_root/assets/VCombobox-D1Ha7FmT.js.br +0 -0
- codex/static_root/assets/VCombobox-D1Ha7FmT.js.gz +0 -0
- codex/static_root/assets/VDialog-CwCy5caJ.31afcb45bd4b.js.br +0 -0
- codex/static_root/assets/VDialog-CwCy5caJ.31afcb45bd4b.js.gz +0 -0
- codex/static_root/assets/VDialog-CwCy5caJ.js.br +0 -0
- codex/static_root/assets/VDialog-CwCy5caJ.js.gz +0 -0
- codex/static_root/assets/VDivider-QEWmQwZy.89d318a32d70.js.br +0 -0
- codex/static_root/assets/VDivider-QEWmQwZy.89d318a32d70.js.gz +0 -0
- codex/static_root/assets/VDivider-QEWmQwZy.js.br +0 -0
- codex/static_root/assets/VDivider-QEWmQwZy.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-Dzh4hOyH.dd0796960676.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Dzh4hOyH.dd0796960676.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-Dzh4hOyH.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Dzh4hOyH.js.gz +0 -0
- codex/static_root/assets/VForm-CKTqFmYD.837ad5ecbb66.js.br +0 -0
- codex/static_root/assets/VForm-CKTqFmYD.837ad5ecbb66.js.gz +0 -0
- codex/static_root/assets/VForm-CKTqFmYD.js.br +0 -0
- codex/static_root/assets/VForm-CKTqFmYD.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-B2m47wR5.cf163036f69b.js.br +0 -0
- codex/static_root/assets/VRadioGroup-B2m47wR5.cf163036f69b.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-B2m47wR5.js.br +0 -0
- codex/static_root/assets/VRadioGroup-B2m47wR5.js.gz +0 -0
- codex/static_root/assets/VSelect-De33kkeP.0679e23c959b.js.br +0 -0
- codex/static_root/assets/VSelect-De33kkeP.0679e23c959b.js.gz +0 -0
- codex/static_root/assets/VSelect-De33kkeP.js.br +0 -0
- codex/static_root/assets/VSelect-De33kkeP.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-Cib41eud.c30c8e31df2a.js.br +0 -0
- codex/static_root/assets/VSelectionControl-Cib41eud.c30c8e31df2a.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-Cib41eud.js.br +0 -0
- codex/static_root/assets/VSelectionControl-Cib41eud.js.gz +0 -0
- codex/static_root/assets/VTable-DBmzLdWQ.1b4c12852e73.js.br +0 -0
- codex/static_root/assets/VTable-DBmzLdWQ.1b4c12852e73.js.gz +0 -0
- codex/static_root/assets/VTable-DBmzLdWQ.js.br +0 -0
- codex/static_root/assets/VTable-DBmzLdWQ.js.gz +0 -0
- codex/static_root/assets/VWindowItem-BeK4JUp7.4e60834c43b0.js.br +0 -0
- codex/static_root/assets/VWindowItem-BeK4JUp7.4e60834c43b0.js.gz +0 -0
- codex/static_root/assets/VWindowItem-BeK4JUp7.js.br +0 -0
- codex/static_root/assets/VWindowItem-BeK4JUp7.js.gz +0 -0
- codex/static_root/assets/admin-Bhck3Mck.c3ea899835a2.js.br +0 -0
- codex/static_root/assets/admin-Bhck3Mck.c3ea899835a2.js.gz +0 -0
- codex/static_root/assets/admin-Bhck3Mck.js.br +0 -0
- codex/static_root/assets/admin-Bhck3Mck.js.gz +0 -0
- codex/static_root/assets/admin-CDRC0Rok.0427890caa22.js.br +0 -0
- codex/static_root/assets/admin-CDRC0Rok.0427890caa22.js.gz +0 -0
- codex/static_root/assets/admin-CDRC0Rok.js.br +0 -0
- codex/static_root/assets/admin-CDRC0Rok.js.gz +0 -0
- codex/static_root/assets/admin-menu-BZRid1Ps.3402782e61d1.js.br +0 -0
- codex/static_root/assets/admin-menu-BZRid1Ps.3402782e61d1.js.gz +0 -0
- codex/static_root/assets/admin-menu-BZRid1Ps.js.br +0 -0
- codex/static_root/assets/admin-menu-BZRid1Ps.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-DnsCBRll.5fdbf19092e8.js.br +0 -2
- codex/static_root/assets/admin-settings-button-progress-DnsCBRll.5fdbf19092e8.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-DnsCBRll.js.br +0 -2
- codex/static_root/assets/admin-settings-button-progress-DnsCBRll.js.gz +0 -0
- codex/static_root/assets/browser-Dr_bPvQw.45714261db30.js.br +0 -0
- codex/static_root/assets/browser-Dr_bPvQw.45714261db30.js.gz +0 -0
- codex/static_root/assets/browser-Dr_bPvQw.js.br +0 -0
- codex/static_root/assets/browser-Dr_bPvQw.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DgVD2Irc.0bc698baa5dd.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DgVD2Irc.0bc698baa5dd.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DgVD2Irc.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DgVD2Irc.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-CzIH9jqe.1dfcb7de1a9f.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CzIH9jqe.1dfcb7de1a9f.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-CzIH9jqe.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CzIH9jqe.js.gz +0 -0
- codex/static_root/assets/datetime-column-dv3EPaad.c897aa7a3039.js.br +0 -0
- codex/static_root/assets/datetime-column-dv3EPaad.c897aa7a3039.js.gz +0 -0
- codex/static_root/assets/datetime-column-dv3EPaad.js.br +0 -0
- codex/static_root/assets/datetime-column-dv3EPaad.js.gz +0 -0
- codex/static_root/assets/filter-Db5Fln7r.0d58582de664.js.br +0 -0
- codex/static_root/assets/filter-Db5Fln7r.0d58582de664.js.gz +0 -0
- codex/static_root/assets/filter-Db5Fln7r.js.br +0 -0
- codex/static_root/assets/filter-Db5Fln7r.js.gz +0 -0
- codex/static_root/assets/flag-tab-BZ2kKZ5N.20ffe7c0b7bf.js.br +0 -0
- codex/static_root/assets/flag-tab-BZ2kKZ5N.20ffe7c0b7bf.js.gz +0 -0
- codex/static_root/assets/flag-tab-BZ2kKZ5N.js.br +0 -0
- codex/static_root/assets/flag-tab-BZ2kKZ5N.js.gz +0 -0
- codex/static_root/assets/forwardRefs-BtYmQRWE.83587cda5fc0.js.br +0 -0
- codex/static_root/assets/forwardRefs-BtYmQRWE.83587cda5fc0.js.gz +0 -0
- codex/static_root/assets/forwardRefs-BtYmQRWE.js.br +0 -0
- codex/static_root/assets/forwardRefs-BtYmQRWE.js.gz +0 -0
- codex/static_root/assets/group-tab-CesC8o-T.d0a43da901be.js.br +0 -0
- codex/static_root/assets/group-tab-CesC8o-T.d0a43da901be.js.gz +0 -0
- codex/static_root/assets/group-tab-CesC8o-T.js.br +0 -0
- codex/static_root/assets/group-tab-CesC8o-T.js.gz +0 -0
- codex/static_root/assets/http-error-DrBUwxBc.8787039f5cec.js.br +0 -0
- codex/static_root/assets/http-error-DrBUwxBc.8787039f5cec.js.gz +0 -0
- codex/static_root/assets/http-error-DrBUwxBc.js.br +0 -0
- codex/static_root/assets/http-error-DrBUwxBc.js.gz +0 -0
- codex/static_root/assets/index-C0my3yQ1.36ddbda3d37e.js.br +0 -0
- codex/static_root/assets/index-C0my3yQ1.36ddbda3d37e.js.gz +0 -0
- codex/static_root/assets/index-C0my3yQ1.js.br +0 -0
- codex/static_root/assets/index-C0my3yQ1.js.gz +0 -0
- codex/static_root/assets/library-tab-DPHJtlEd.4c7e08aec414.js.br +0 -0
- codex/static_root/assets/library-tab-DPHJtlEd.4c7e08aec414.js.gz +0 -0
- codex/static_root/assets/library-tab-DPHJtlEd.js.br +0 -0
- codex/static_root/assets/library-tab-DPHJtlEd.js.gz +0 -0
- codex/static_root/assets/main-CBIBLN5b.56d293f52ca6.js +0 -39
- codex/static_root/assets/main-CBIBLN5b.56d293f52ca6.js.br +0 -0
- codex/static_root/assets/main-CBIBLN5b.56d293f52ca6.js.gz +0 -0
- codex/static_root/assets/main-CBIBLN5b.js +0 -39
- codex/static_root/assets/main-CBIBLN5b.js.br +0 -0
- codex/static_root/assets/main-CBIBLN5b.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-DI-QlEmf.49318b2dfd3f.js +0 -1
- codex/static_root/assets/pager-full-pdf-DI-QlEmf.49318b2dfd3f.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-DI-QlEmf.49318b2dfd3f.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-DI-QlEmf.js +0 -1
- codex/static_root/assets/pager-full-pdf-DI-QlEmf.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-DI-QlEmf.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-CoAXq9YN.aa7525342f11.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-CoAXq9YN.aa7525342f11.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-CoAXq9YN.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-CoAXq9YN.js.gz +0 -0
- codex/static_root/assets/pdf-doc-DGfmGYlA.ba1623aa7715.js.br +0 -0
- codex/static_root/assets/pdf-doc-DGfmGYlA.ba1623aa7715.js.gz +0 -0
- codex/static_root/assets/pdf-doc-DGfmGYlA.js.br +0 -0
- codex/static_root/assets/pdf-doc-DGfmGYlA.js.gz +0 -0
- codex/static_root/assets/reader-U6RQth6A.095d021092dd.js.br +0 -0
- codex/static_root/assets/reader-U6RQth6A.095d021092dd.js.gz +0 -0
- codex/static_root/assets/reader-U6RQth6A.js.br +0 -0
- codex/static_root/assets/reader-U6RQth6A.js.gz +0 -0
- codex/static_root/assets/relation-chips-C4BoTvJv.4a245330f997.js.br +0 -0
- codex/static_root/assets/relation-chips-C4BoTvJv.4a245330f997.js.gz +0 -0
- codex/static_root/assets/relation-chips-C4BoTvJv.js.br +0 -0
- codex/static_root/assets/relation-chips-C4BoTvJv.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css.br +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css.gz +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.css.br +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.css.gz +0 -0
- codex/static_root/assets/settings-drawer-DxBOD9ng.8b8b749e7724.js +0 -2
- codex/static_root/assets/settings-drawer-DxBOD9ng.8b8b749e7724.js.br +0 -0
- codex/static_root/assets/settings-drawer-DxBOD9ng.8b8b749e7724.js.gz +0 -0
- codex/static_root/assets/settings-drawer-DxBOD9ng.js +0 -2
- codex/static_root/assets/settings-drawer-DxBOD9ng.js.br +0 -0
- codex/static_root/assets/settings-drawer-DxBOD9ng.js.gz +0 -0
- codex/static_root/assets/ssrBoot-CRLVxq-1.b83b1b4b8e29.js.br +0 -0
- codex/static_root/assets/ssrBoot-CRLVxq-1.b83b1b4b8e29.js.gz +0 -0
- codex/static_root/assets/ssrBoot-CRLVxq-1.js.br +0 -0
- codex/static_root/assets/ssrBoot-CRLVxq-1.js.gz +0 -0
- codex/static_root/assets/stats-tab-DikOLx9_.a6a703fc9501.js.br +0 -0
- codex/static_root/assets/stats-tab-DikOLx9_.a6a703fc9501.js.gz +0 -0
- codex/static_root/assets/stats-tab-DikOLx9_.js.br +0 -0
- codex/static_root/assets/stats-tab-DikOLx9_.js.gz +0 -0
- codex/static_root/assets/task-tab-NvMiShar.fe041cff9c48.js.br +0 -0
- codex/static_root/assets/task-tab-NvMiShar.fe041cff9c48.js.gz +0 -0
- codex/static_root/assets/task-tab-NvMiShar.js.br +0 -0
- codex/static_root/assets/task-tab-NvMiShar.js.gz +0 -0
- codex/static_root/assets/unauthorized-C_c4p1TM.bf7dc6249167.js.br +0 -0
- codex/static_root/assets/unauthorized-C_c4p1TM.bf7dc6249167.js.gz +0 -0
- codex/static_root/assets/unauthorized-C_c4p1TM.js.br +0 -0
- codex/static_root/assets/unauthorized-C_c4p1TM.js.gz +0 -0
- codex/static_root/assets/user-tab-B9Nfgojx.903696a6e25e.js.br +0 -0
- codex/static_root/assets/user-tab-B9Nfgojx.903696a6e25e.js.gz +0 -0
- codex/static_root/assets/user-tab-B9Nfgojx.js.br +0 -0
- codex/static_root/assets/user-tab-B9Nfgojx.js.gz +0 -0
- codex/static_root/manifest.f01588978268.json.br +0 -0
- codex/static_root/manifest.f01588978268.json.gz +0 -0
- /codex/librarian/{watchdog/memory.py → memory.py} +0 -0
- {codex-1.8.4.dist-info → codex-1.8.6.dist-info}/WHEEL +0 -0
- {codex-1.8.4.dist-info → codex-1.8.6.dist-info}/entry_points.txt +0 -0
- {codex-1.8.4.dist-info → codex-1.8.6.dist-info}/licenses/LICENSE +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-
|
|
2
|
-
import{_ as b,B as v,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 bt,c as x,aD as vt,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-CBIBLN5b.js";import{V as Ft,a as Wt,S as zt}from"./settings-drawer-DxBOD9ng.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-BtYmQRWE.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-C_c4p1TM.js";import{V as je,a as qe}from"./VWindowItem-BeK4JUp7.js";import{b as Zt}from"./VSelect-De33kkeP.js";import{C as ne,a as eo}from"./VDialog-CwCy5caJ.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-CoAXq9YN.js";import{V as io,a as lo,b as co,c as uo}from"./VExpansionPanels-Dzh4hOyH.js";import{d as ho,V as po,e as go}from"./VSelectionControl-Cib41eud.js";import{V as Y,a as J}from"./VRadioGroup-B2m47wR5.js";import{a as oe}from"./VDivider-QEWmQwZy.js";import{V as N}from"./VCheckbox-BUS-Yeeg.js";import{T as Q}from"./index-C0my3yQ1.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 bo={mounted:Je,unmounted:Qe,updated:fo},vo={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:{...v(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=b(vo,[["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:{...v(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=b(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=b(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=b(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:{...v(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=b($o,[["render",Lo],["__scopeId","data-v-014c2ac0"]]),fe=Ce(Te(()=>Be(()=>import("./pdf-doc-DGfmGYlA.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},bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vo)},methods:{...v(d,["getBookSettings"]),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":o.twoPages,type:a.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):a.showProgress&&!a.loaded?(u(),m(i,{key:1,"two-pages":o.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=b(Oo,[["render",Eo],["__scopeId","data-v-cdb69b0e"]]),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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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 be=b(Yo,[["render",Jo],["__scopeId","data-v-a55977d3"]]),ve=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)},ve)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...v(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},ve)},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"])),[[bo,o.onScroll,"#verticalScroll"]])]),_:1})}const ye=b(Qo,[["render",Zo],["__scopeId","data-v-4fdc17f1"]]),_e=Ce(Te(()=>Be(()=>import("./pager-full-pdf-DI-QlEmf.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:be,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=be,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:{...v(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=b(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:{...v(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=b(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:{...v($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=b(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}=bt(),{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(y=>{const P=ko(y);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(vt(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(y){return y.startsWith("$vuetify.")?t(y):y}function nt(y){if(re.value==="text")return;const P=gs(le.value,String(y[2]),W.value);return j(P)}function ce(y,P,S){const C=S?"kbd":Pe,I=["v-hotkey__key",`v-hotkey__key-${y[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(y)},{default:()=>[y[0]==="icon"?r(K,{icon:y[1],"aria-hidden":"true"},null):j(y[1])]})}function ue(y,P){return n("span",{key:P,class:"v-hotkey__divider","aria-hidden":"true"},[H.isEqual(y)?"+":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((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.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((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.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"},bs={class:"highlight-table"},vs={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",bs,[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",vs,[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=b(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=b(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:{...v(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=b(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=b(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=b(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:{...v(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=b(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:{...v($e,["setTimestamp"]),...v(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=b(zs,[["render",js],["__scopeId","data-v-ac089588"]]),qs={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:st,EmptyState:He},data(){return{mdiBookRemoveOutline:Ut}},methods:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-DQBmNe4l.js","assets/main-Bmi4BPiO.js","assets/main-B8_0rUnw.css","assets/pdf-doc-DxqOo2k2.css","assets/pager-full-pdf-BjSr3CzH.js","assets/settings-drawer-BoAnrKCI.js","assets/forwardRefs-FxOC1qa_.js","assets/forwardRefs-B_sUWZn6.css","assets/unauthorized-DXoWE_v2.js","assets/VDialog-Oz6-kM3S.js","assets/VDialog-CpWjrJ0R.css","assets/change-password-dialog-DpqXgZ53.js","assets/VForm-BaeKMRS9.js","assets/VSelectionControl-D3h7FjSM.js","assets/VSelectionControl-RqBzwjYi.css","assets/VForm-DxBt30-N.css","assets/admin-mQ-F7brp.js","assets/change-password-dialog-DL8UMjmX.css","assets/ssrBoot-B6P0M2z2.js","assets/unauthorized-BBwsmi0O.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/VDivider-CSRFyKQO.js","assets/VDivider-DU47sRrT.css","assets/settings-drawer-B-pwZRSy.css","assets/VWindowItem-Dwb7oeu0.js","assets/VWindowItem-ChYLiXSE.css","assets/VSelect-4ozzBEef.js","assets/VCheckboxBtn-BzgViWAb.js","assets/VSelect-DQPZyfSb.css","assets/pagination-toolbar-DpMVSiz_.js","assets/VTable-Dj5EC5Aq.js","assets/VTable-CQyv0wyO.css","assets/confirm-dialog-uoXMmYq3.js","assets/confirm-dialog-YfC8mRQA.css","assets/pagination-toolbar-741OafNw.css","assets/VExpansionPanels-82Ocr2Kh.js","assets/VExpansionPanels-RsCANmDP.css","assets/VRadioGroup-DeB10IRm.js","assets/VRadioGroup-Cp9mZ7cb.css","assets/VCheckbox--IZv20K5.js","assets/VCheckbox-CvH8ekHL.css","assets/index-DCZ6v5x6.js","assets/index-Czf-fUM7.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as b,B as v,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 bt,c as x,aD as vt,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-Bmi4BPiO.js";import{V as Ft,a as Wt,S as zt}from"./settings-drawer-BoAnrKCI.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-FxOC1qa_.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-DXoWE_v2.js";import{V as je,a as qe}from"./VWindowItem-Dwb7oeu0.js";import{b as Zt}from"./VSelect-4ozzBEef.js";import{C as ne,a as eo}from"./VDialog-Oz6-kM3S.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-DpMVSiz_.js";import{V as io,a as lo,b as co,c as uo}from"./VExpansionPanels-82Ocr2Kh.js";import{d as ho,V as po,e as go}from"./VSelectionControl-D3h7FjSM.js";import{V as Y,a as J}from"./VRadioGroup-DeB10IRm.js";import{a as oe}from"./VDivider-CSRFyKQO.js";import{V as N}from"./VCheckbox--IZv20K5.js";import{T as Q}from"./index-DCZ6v5x6.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 bo={mounted:Je,unmounted:Qe,updated:fo},vo={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:{...v(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=b(vo,[["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:{...v(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=b(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=b(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=b(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:{...v(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=b($o,[["render",Lo],["__scopeId","data-v-014c2ac0"]]),fe=Ce(Te(()=>Be(()=>import("./pdf-doc-DQBmNe4l.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},bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vo)},methods:{...v(d,["getBookSettings"]),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":o.twoPages,type:a.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):a.showProgress&&!a.loaded?(u(),m(i,{key:1,"two-pages":o.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=b(Oo,[["render",Eo],["__scopeId","data-v-cdb69b0e"]]),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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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 be=b(Yo,[["render",Jo],["__scopeId","data-v-a55977d3"]]),ve=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)},ve)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...v(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},ve)},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"])),[[bo,o.onScroll,"#verticalScroll"]])]),_:1})}const ye=b(Qo,[["render",Zo],["__scopeId","data-v-4fdc17f1"]]),_e=Ce(Te(()=>Be(()=>import("./pager-full-pdf-BjSr3CzH.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:be,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=be,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:{...v(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=b(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:{...v(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=b(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:{...v($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=b(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}=bt(),{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(y=>{const P=ko(y);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(vt(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(y){return y.startsWith("$vuetify.")?t(y):y}function nt(y){if(re.value==="text")return;const P=gs(le.value,String(y[2]),W.value);return j(P)}function ce(y,P,S){const C=S?"kbd":Pe,I=["v-hotkey__key",`v-hotkey__key-${y[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(y)},{default:()=>[y[0]==="icon"?r(K,{icon:y[1],"aria-hidden":"true"},null):j(y[1])]})}function ue(y,P){return n("span",{key:P,class:"v-hotkey__divider","aria-hidden":"true"},[H.isEqual(y)?"+":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((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.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((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.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"},bs={class:"highlight-table"},vs={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(", ",-1)),r(s,{keys:"arrowleft"}),t[1]||(t[1]=w(", ",-1)),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(", ",-1)),r(s,{keys:"arrowright"}),t[4]||(t[4]=w(", ",-1)),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",bs,[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",vs,[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=b(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=b(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:{...v(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)])),_: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=b(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=b(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=b(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:{...v(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=b(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:{...v($e,["setTimestamp"]),...v(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)])),_: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=b(zs,[["render",js],["__scopeId","data-v-ac089588"]]),qs={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:st,EmptyState:He},data(){return{mdiBookRemoveOutline:Ut}},methods:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-
|
|
2
|
-
import{_ as b,B as v,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 bt,c as x,aD as vt,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-CBIBLN5b.js";import{V as Ft,a as Wt,S as zt}from"./settings-drawer-DxBOD9ng.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-BtYmQRWE.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-C_c4p1TM.js";import{V as je,a as qe}from"./VWindowItem-BeK4JUp7.js";import{b as Zt}from"./VSelect-De33kkeP.js";import{C as ne,a as eo}from"./VDialog-CwCy5caJ.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-CoAXq9YN.js";import{V as io,a as lo,b as co,c as uo}from"./VExpansionPanels-Dzh4hOyH.js";import{d as ho,V as po,e as go}from"./VSelectionControl-Cib41eud.js";import{V as Y,a as J}from"./VRadioGroup-B2m47wR5.js";import{a as oe}from"./VDivider-QEWmQwZy.js";import{V as N}from"./VCheckbox-BUS-Yeeg.js";import{T as Q}from"./index-C0my3yQ1.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 bo={mounted:Je,unmounted:Qe,updated:fo},vo={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:{...v(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=b(vo,[["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:{...v(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=b(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=b(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=b(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:{...v(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=b($o,[["render",Lo],["__scopeId","data-v-014c2ac0"]]),fe=Ce(Te(()=>Be(()=>import("./pdf-doc-DGfmGYlA.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},bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vo)},methods:{...v(d,["getBookSettings"]),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":o.twoPages,type:a.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):a.showProgress&&!a.loaded?(u(),m(i,{key:1,"two-pages":o.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=b(Oo,[["render",Eo],["__scopeId","data-v-cdb69b0e"]]),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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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 be=b(Yo,[["render",Jo],["__scopeId","data-v-a55977d3"]]),ve=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)},ve)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...v(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},ve)},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"])),[[bo,o.onScroll,"#verticalScroll"]])]),_:1})}const ye=b(Qo,[["render",Zo],["__scopeId","data-v-4fdc17f1"]]),_e=Ce(Te(()=>Be(()=>import("./pager-full-pdf-DI-QlEmf.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:be,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=be,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:{...v(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=b(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:{...v(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=b(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:{...v($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=b(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}=bt(),{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(y=>{const P=ko(y);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(vt(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(y){return y.startsWith("$vuetify.")?t(y):y}function nt(y){if(re.value==="text")return;const P=gs(le.value,String(y[2]),W.value);return j(P)}function ce(y,P,S){const C=S?"kbd":Pe,I=["v-hotkey__key",`v-hotkey__key-${y[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(y)},{default:()=>[y[0]==="icon"?r(K,{icon:y[1],"aria-hidden":"true"},null):j(y[1])]})}function ue(y,P){return n("span",{key:P,class:"v-hotkey__divider","aria-hidden":"true"},[H.isEqual(y)?"+":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((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.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((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.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"},bs={class:"highlight-table"},vs={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",bs,[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",vs,[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=b(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=b(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:{...v(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=b(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=b(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=b(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:{...v(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=b(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:{...v($e,["setTimestamp"]),...v(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=b(zs,[["render",js],["__scopeId","data-v-ac089588"]]),qs={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:st,EmptyState:He},data(){return{mdiBookRemoveOutline:Ut}},methods:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-DQBmNe4l.js","assets/main-Bmi4BPiO.js","assets/main-B8_0rUnw.css","assets/pdf-doc-DxqOo2k2.css","assets/pager-full-pdf-BjSr3CzH.js","assets/settings-drawer-BoAnrKCI.js","assets/forwardRefs-FxOC1qa_.js","assets/forwardRefs-B_sUWZn6.css","assets/unauthorized-DXoWE_v2.js","assets/VDialog-Oz6-kM3S.js","assets/VDialog-CpWjrJ0R.css","assets/change-password-dialog-DpqXgZ53.js","assets/VForm-BaeKMRS9.js","assets/VSelectionControl-D3h7FjSM.js","assets/VSelectionControl-RqBzwjYi.css","assets/VForm-DxBt30-N.css","assets/admin-mQ-F7brp.js","assets/change-password-dialog-DL8UMjmX.css","assets/ssrBoot-B6P0M2z2.js","assets/unauthorized-BBwsmi0O.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/VDivider-CSRFyKQO.js","assets/VDivider-DU47sRrT.css","assets/settings-drawer-B-pwZRSy.css","assets/VWindowItem-Dwb7oeu0.js","assets/VWindowItem-ChYLiXSE.css","assets/VSelect-4ozzBEef.js","assets/VCheckboxBtn-BzgViWAb.js","assets/VSelect-DQPZyfSb.css","assets/pagination-toolbar-DpMVSiz_.js","assets/VTable-Dj5EC5Aq.js","assets/VTable-CQyv0wyO.css","assets/confirm-dialog-uoXMmYq3.js","assets/confirm-dialog-YfC8mRQA.css","assets/pagination-toolbar-741OafNw.css","assets/VExpansionPanels-82Ocr2Kh.js","assets/VExpansionPanels-RsCANmDP.css","assets/VRadioGroup-DeB10IRm.js","assets/VRadioGroup-Cp9mZ7cb.css","assets/VCheckbox--IZv20K5.js","assets/VCheckbox-CvH8ekHL.css","assets/index-DCZ6v5x6.js","assets/index-Czf-fUM7.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as b,B as v,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 bt,c as x,aD as vt,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-Bmi4BPiO.js";import{V as Ft,a as Wt,S as zt}from"./settings-drawer-BoAnrKCI.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-FxOC1qa_.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-DXoWE_v2.js";import{V as je,a as qe}from"./VWindowItem-Dwb7oeu0.js";import{b as Zt}from"./VSelect-4ozzBEef.js";import{C as ne,a as eo}from"./VDialog-Oz6-kM3S.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-DpMVSiz_.js";import{V as io,a as lo,b as co,c as uo}from"./VExpansionPanels-82Ocr2Kh.js";import{d as ho,V as po,e as go}from"./VSelectionControl-D3h7FjSM.js";import{V as Y,a as J}from"./VRadioGroup-DeB10IRm.js";import{a as oe}from"./VDivider-CSRFyKQO.js";import{V as N}from"./VCheckbox--IZv20K5.js";import{T as Q}from"./index-DCZ6v5x6.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 bo={mounted:Je,unmounted:Qe,updated:fo},vo={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:{...v(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=b(vo,[["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:{...v(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=b(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=b(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=b(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:{...v(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=b($o,[["render",Lo],["__scopeId","data-v-014c2ac0"]]),fe=Ce(Te(()=>Be(()=>import("./pdf-doc-DQBmNe4l.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},bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vo)},methods:{...v(d,["getBookSettings"]),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":o.twoPages,type:a.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):a.showProgress&&!a.loaded?(u(),m(i,{key:1,"two-pages":o.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=b(Oo,[["render",Eo],["__scopeId","data-v-cdb69b0e"]]),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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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 be=b(Yo,[["render",Jo],["__scopeId","data-v-a55977d3"]]),ve=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)},ve)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...v(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},ve)},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"])),[[bo,o.onScroll,"#verticalScroll"]])]),_:1})}const ye=b(Qo,[["render",Zo],["__scopeId","data-v-4fdc17f1"]]),_e=Ce(Te(()=>Be(()=>import("./pager-full-pdf-BjSr3CzH.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:be,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=be,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:{...v(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=b(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:{...v(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=b(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:{...v($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=b(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}=bt(),{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(y=>{const P=ko(y);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(vt(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(y){return y.startsWith("$vuetify.")?t(y):y}function nt(y){if(re.value==="text")return;const P=gs(le.value,String(y[2]),W.value);return j(P)}function ce(y,P,S){const C=S?"kbd":Pe,I=["v-hotkey__key",`v-hotkey__key-${y[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(y)},{default:()=>[y[0]==="icon"?r(K,{icon:y[1],"aria-hidden":"true"},null):j(y[1])]})}function ue(y,P){return n("span",{key:P,class:"v-hotkey__divider","aria-hidden":"true"},[H.isEqual(y)?"+":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((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.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((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.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"},bs={class:"highlight-table"},vs={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(", ",-1)),r(s,{keys:"arrowleft"}),t[1]||(t[1]=w(", ",-1)),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(", ",-1)),r(s,{keys:"arrowright"}),t[4]||(t[4]=w(", ",-1)),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",bs,[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",vs,[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=b(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=b(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:{...v(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)])),_: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=b(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=b(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=b(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:{...v(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=b(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:{...v($e,["setTimestamp"]),...v(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)])),_: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=b(zs,[["render",js],["__scopeId","data-v-ac089588"]]),qs={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:st,EmptyState:He},data(){return{mdiBookRemoveOutline:Ut}},methods:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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:{...v(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=b(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
|