codex 1.7.3__py3-none-any.whl → 1.7.3a1__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/asgi.py +1 -2
- codex/choices.py +6 -3
- codex/choices_to_json.py +8 -8
- codex/db.py +2 -2
- codex/exceptions.py +6 -5
- codex/librarian/bookmark/bookmarkd.py +4 -8
- codex/librarian/bookmark/update.py +2 -2
- codex/librarian/covers/create.py +8 -10
- codex/librarian/covers/path.py +5 -6
- codex/librarian/covers/purge.py +2 -2
- codex/librarian/importer/aggregate.py +2 -2
- codex/librarian/importer/cache.py +4 -1
- codex/librarian/importer/create_comics.py +2 -2
- codex/librarian/importer/create_covers.py +1 -1
- codex/librarian/importer/create_fks.py +3 -4
- codex/librarian/importer/deleted.py +3 -3
- codex/librarian/importer/extract.py +2 -2
- codex/librarian/importer/failed_imports.py +1 -1
- codex/librarian/importer/importer.py +1 -3
- codex/librarian/importer/importerd.py +3 -3
- codex/librarian/importer/link_comics.py +1 -2
- codex/librarian/importer/moved.py +7 -2
- codex/librarian/importer/query_fks.py +4 -1
- codex/librarian/importer/tasks.py +1 -1
- codex/librarian/janitor/integrity.py +20 -27
- codex/librarian/janitor/janitor.py +1 -1
- codex/librarian/janitor/latest_version.py +1 -1
- codex/librarian/janitor/update.py +2 -2
- codex/librarian/janitor/vacuum.py +1 -1
- codex/librarian/librariand.py +2 -3
- codex/librarian/notifier/notifierd.py +1 -2
- codex/librarian/search/optimize.py +1 -1
- codex/librarian/search/remove.py +1 -1
- codex/librarian/search/update.py +3 -3
- codex/librarian/telemeter/stats.py +6 -7
- codex/librarian/telemeter/telemeter.py +1 -0
- codex/librarian/watchdog/db_snapshot.py +3 -3
- codex/librarian/watchdog/dir_snapshot_diff.py +4 -3
- codex/librarian/watchdog/emitter.py +4 -4
- codex/librarian/watchdog/event_batcherd.py +1 -2
- codex/librarian/watchdog/events.py +2 -1
- codex/librarian/watchdog/observers.py +10 -15
- codex/logger/logging.py +1 -1
- codex/memory.py +2 -3
- codex/migrations/0001_init.py +2 -1
- codex/migrations/0014_pdf_issue_suffix_remove_cover_image_sort_name.py +2 -1
- codex/migrations/0018_rename_userbookmark_bookmark.py +2 -1
- codex/migrations/0028_telemeter.py +5 -1
- codex/migrations/0031_adminflag_banner.py +1 -1
- codex/models/admin.py +1 -1
- codex/models/base.py +1 -3
- codex/models/bookmark.py +7 -4
- codex/models/comic.py +2 -2
- codex/models/functions.py +5 -12
- codex/models/groups.py +1 -1
- codex/models/library.py +1 -1
- codex/models/paths.py +4 -4
- codex/models/query.py +4 -8
- codex/models/util.py +1 -1
- codex/permissions.py +1 -1
- codex/run.py +1 -1
- codex/serializers/admin/libraries.py +3 -1
- codex/serializers/browser/choices.py +2 -2
- codex/serializers/browser/mixins.py +1 -5
- codex/serializers/browser/settings.py +2 -2
- codex/serializers/fields.py +7 -7
- codex/serializers/models/base.py +1 -1
- codex/serializers/models/comic.py +2 -2
- codex/serializers/models/groups.py +2 -0
- codex/serializers/opds/authentication.py +1 -2
- codex/serializers/opds/v2/feed.py +1 -2
- codex/serializers/opds/v2/links.py +12 -14
- codex/serializers/opds/v2/metadata.py +1 -2
- codex/serializers/opds/v2/progression.py +2 -4
- codex/serializers/opds/v2/publication.py +11 -14
- codex/serializers/opds/v2/unused.py +8 -15
- codex/serializers/route.py +2 -2
- codex/settings/settings.py +3 -4
- codex/signals/django_signals.py +1 -1
- codex/static_root/assets/{VCheckbox-Dv6fwaDb.56abbfb00c8a.js → VCheckbox-BV02IXFk.7b1ac0cc0c68.js} +1 -1
- codex/static_root/assets/VCheckbox-BV02IXFk.7b1ac0cc0c68.js.br +0 -0
- codex/static_root/assets/VCheckbox-BV02IXFk.7b1ac0cc0c68.js.gz +0 -0
- codex/static_root/assets/{VCheckbox-Dv6fwaDb.js → VCheckbox-BV02IXFk.js} +1 -1
- codex/static_root/assets/VCheckbox-BV02IXFk.js.br +0 -0
- codex/static_root/assets/VCheckbox-BV02IXFk.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-CNMFahfF.4ee9778a562e.js → VCheckboxBtn-DRCMElDO.e3bc3b165786.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-DRCMElDO.e3bc3b165786.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-DRCMElDO.e3bc3b165786.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-CNMFahfF.js → VCheckboxBtn-DRCMElDO.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-DRCMElDO.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-DRCMElDO.js.gz +0 -0
- codex/static_root/assets/{VCombobox-DqBFki-9.2806f95c938d.js → VCombobox-BUzWpAvZ.ec97d55d18d6.js} +1 -1
- codex/static_root/assets/VCombobox-BUzWpAvZ.ec97d55d18d6.js.br +0 -0
- codex/static_root/assets/VCombobox-BUzWpAvZ.ec97d55d18d6.js.gz +0 -0
- codex/static_root/assets/{VCombobox-DqBFki-9.js → VCombobox-BUzWpAvZ.js} +1 -1
- codex/static_root/assets/VCombobox-BUzWpAvZ.js.br +0 -0
- codex/static_root/assets/VCombobox-BUzWpAvZ.js.gz +0 -0
- codex/static_root/assets/{VDialog-CQXjBvDZ.1a576c5e472f.js → VDialog-CvyPs47z.06bd89160727.js} +1 -1
- codex/static_root/assets/VDialog-CvyPs47z.06bd89160727.js.br +0 -0
- codex/static_root/assets/VDialog-CvyPs47z.06bd89160727.js.gz +0 -0
- codex/static_root/assets/{VDialog-CQXjBvDZ.js → VDialog-CvyPs47z.js} +1 -1
- codex/static_root/assets/VDialog-CvyPs47z.js.br +0 -0
- codex/static_root/assets/VDialog-CvyPs47z.js.gz +0 -0
- codex/static_root/assets/{VDivider-DUxQu-IZ.73d92ae2a07e.js → VDivider-DxA4gr8D.a62a378b1691.js} +1 -1
- codex/static_root/assets/VDivider-DxA4gr8D.a62a378b1691.js.br +0 -0
- codex/static_root/assets/VDivider-DxA4gr8D.a62a378b1691.js.gz +0 -0
- codex/static_root/assets/{VDivider-DUxQu-IZ.js → VDivider-DxA4gr8D.js} +1 -1
- codex/static_root/assets/VDivider-DxA4gr8D.js.br +0 -0
- codex/static_root/assets/VDivider-DxA4gr8D.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-BaYzHUJp.5346826103eb.js → VExpansionPanels-_Hd_Icpj.4670cf36fda0.js} +1 -1
- codex/static_root/assets/VExpansionPanels-_Hd_Icpj.4670cf36fda0.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-_Hd_Icpj.4670cf36fda0.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-BaYzHUJp.js → VExpansionPanels-_Hd_Icpj.js} +1 -1
- codex/static_root/assets/VExpansionPanels-_Hd_Icpj.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-_Hd_Icpj.js.gz +0 -0
- codex/static_root/assets/{VForm-hB4C5jVd.a2b90ddcd8ee.js → VForm-B4doHkrL.1f48583f2de6.js} +1 -1
- codex/static_root/assets/VForm-B4doHkrL.1f48583f2de6.js.br +0 -0
- codex/static_root/assets/VForm-B4doHkrL.1f48583f2de6.js.gz +0 -0
- codex/static_root/assets/{VForm-hB4C5jVd.js → VForm-B4doHkrL.js} +1 -1
- codex/static_root/assets/VForm-B4doHkrL.js.br +0 -0
- codex/static_root/assets/VForm-B4doHkrL.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-DOjw38qB.cbf2922d05af.js → VRadioGroup-DT7JWkoW.28cd429e5a15.js} +1 -1
- codex/static_root/assets/VRadioGroup-DT7JWkoW.28cd429e5a15.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DT7JWkoW.28cd429e5a15.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-DOjw38qB.js → VRadioGroup-DT7JWkoW.js} +1 -1
- codex/static_root/assets/VRadioGroup-DT7JWkoW.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DT7JWkoW.js.gz +0 -0
- codex/static_root/assets/{VSelect-L4v_m3ag.db9fb8348617.js → VSelect-DtYhH7Mk.67eae5723992.js} +1 -1
- codex/static_root/assets/VSelect-DtYhH7Mk.67eae5723992.js.br +0 -0
- codex/static_root/assets/VSelect-DtYhH7Mk.67eae5723992.js.gz +0 -0
- codex/static_root/assets/{VSelect-L4v_m3ag.js → VSelect-DtYhH7Mk.js} +1 -1
- codex/static_root/assets/VSelect-DtYhH7Mk.js.br +0 -0
- codex/static_root/assets/VSelect-DtYhH7Mk.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-BqB1JeKa.2fb68a673402.js → VSelectionControl-BJm6ORIw.efe501dcf742.js} +1 -1
- codex/static_root/assets/VSelectionControl-BJm6ORIw.efe501dcf742.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BJm6ORIw.efe501dcf742.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-BqB1JeKa.js → VSelectionControl-BJm6ORIw.js} +1 -1
- codex/static_root/assets/VSelectionControl-BJm6ORIw.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BJm6ORIw.js.gz +0 -0
- codex/static_root/assets/{VTable-CtorAbOx.bbda450cbd73.js → VTable-Bpr_wGHh.65e8b5288ad7.js} +1 -1
- codex/static_root/assets/VTable-Bpr_wGHh.65e8b5288ad7.js.br +0 -0
- codex/static_root/assets/VTable-Bpr_wGHh.65e8b5288ad7.js.gz +0 -0
- codex/static_root/assets/{VTable-CtorAbOx.js → VTable-Bpr_wGHh.js} +1 -1
- codex/static_root/assets/VTable-Bpr_wGHh.js.br +0 -0
- codex/static_root/assets/VTable-Bpr_wGHh.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-Bl-fa3ss.334e6b813775.js → VWindowItem-C1nqmRqv.aa75e27fc15e.js} +1 -1
- codex/static_root/assets/VWindowItem-C1nqmRqv.aa75e27fc15e.js.br +0 -0
- codex/static_root/assets/VWindowItem-C1nqmRqv.aa75e27fc15e.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-Bl-fa3ss.js → VWindowItem-C1nqmRqv.js} +1 -1
- codex/static_root/assets/VWindowItem-C1nqmRqv.js.br +0 -0
- codex/static_root/assets/VWindowItem-C1nqmRqv.js.gz +0 -0
- codex/static_root/assets/{admin-CHuFhx_t.a54700f97fc8.js → admin-BYCwfr2h.581e490b1ec8.js} +1 -1
- codex/static_root/assets/admin-BYCwfr2h.581e490b1ec8.js.br +0 -0
- codex/static_root/assets/admin-BYCwfr2h.581e490b1ec8.js.gz +0 -0
- codex/static_root/assets/{admin-CHuFhx_t.js → admin-BYCwfr2h.js} +1 -1
- codex/static_root/assets/admin-BYCwfr2h.js.br +0 -0
- codex/static_root/assets/admin-BYCwfr2h.js.gz +0 -0
- codex/static_root/assets/{admin-BAVKNREt.23c0966bd683.js → admin-Do4UwPej.6beffbe88dd0.js} +1 -1
- codex/static_root/assets/admin-Do4UwPej.6beffbe88dd0.js.br +0 -0
- codex/static_root/assets/admin-Do4UwPej.6beffbe88dd0.js.gz +0 -0
- codex/static_root/assets/{admin-BAVKNREt.js → admin-Do4UwPej.js} +1 -1
- codex/static_root/assets/admin-Do4UwPej.js.br +0 -0
- codex/static_root/assets/admin-Do4UwPej.js.gz +0 -0
- codex/static_root/assets/{admin-menu-T8WJ_x0C.4f011540bb4c.js → admin-menu-DyaS3ZkH.34c055460f79.js} +1 -1
- codex/static_root/assets/admin-menu-DyaS3ZkH.34c055460f79.js.br +0 -0
- codex/static_root/assets/admin-menu-DyaS3ZkH.34c055460f79.js.gz +0 -0
- codex/static_root/assets/{admin-menu-T8WJ_x0C.js → admin-menu-DyaS3ZkH.js} +1 -1
- codex/static_root/assets/admin-menu-DyaS3ZkH.js.br +0 -0
- codex/static_root/assets/admin-menu-DyaS3ZkH.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-w_CqTSMl.7b36216f68b5.js → admin-settings-button-progress-BKp0yruZ.550d96596ce5.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-BKp0yruZ.550d96596ce5.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-BKp0yruZ.550d96596ce5.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-w_CqTSMl.js → admin-settings-button-progress-BKp0yruZ.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-BKp0yruZ.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-BKp0yruZ.js.gz +0 -0
- codex/static_root/assets/browser-BcXpHHP5.ef6076284520.js +1 -0
- codex/static_root/assets/browser-BcXpHHP5.ef6076284520.js.br +0 -0
- codex/static_root/assets/browser-BcXpHHP5.ef6076284520.js.gz +0 -0
- codex/static_root/assets/browser-BcXpHHP5.js +1 -0
- codex/static_root/assets/browser-BcXpHHP5.js.br +0 -0
- codex/static_root/assets/browser-BcXpHHP5.js.gz +0 -0
- codex/static_root/assets/{browser-DNzQvgkY.aea8b7d7ca40.css → browser-CReWGhn_.521193ab0710.css} +1 -1
- codex/static_root/assets/browser-CReWGhn_.521193ab0710.css.br +0 -0
- codex/static_root/assets/browser-CReWGhn_.521193ab0710.css.gz +0 -0
- codex/static_root/assets/{browser-DNzQvgkY.css → browser-CReWGhn_.css} +1 -1
- codex/static_root/assets/browser-CReWGhn_.css.br +0 -0
- codex/static_root/assets/browser-CReWGhn_.css.gz +0 -0
- codex/static_root/assets/{change-password-dialog-Cy1tU-tj.416ef5bdfd46.js → change-password-dialog-DB0tGBYA.8712454eb2b5.js} +1 -1
- codex/static_root/assets/change-password-dialog-DB0tGBYA.8712454eb2b5.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DB0tGBYA.8712454eb2b5.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-Cy1tU-tj.js → change-password-dialog-DB0tGBYA.js} +1 -1
- codex/static_root/assets/change-password-dialog-DB0tGBYA.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DB0tGBYA.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-B_Y3KKiL.1070d18f6b2d.js → confirm-dialog-CUfR1UVh.d59ed57fbf3c.js} +1 -1
- codex/static_root/assets/confirm-dialog-CUfR1UVh.d59ed57fbf3c.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CUfR1UVh.d59ed57fbf3c.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-B_Y3KKiL.js → confirm-dialog-CUfR1UVh.js} +1 -1
- codex/static_root/assets/confirm-dialog-CUfR1UVh.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CUfR1UVh.js.gz +0 -0
- codex/static_root/assets/{datetime-column-DVC0YqHC.03bb52c198e9.js → datetime-column-DWwCltHX.be3a30e165e2.js} +1 -1
- codex/static_root/assets/datetime-column-DWwCltHX.be3a30e165e2.js.br +2 -0
- codex/static_root/assets/datetime-column-DWwCltHX.be3a30e165e2.js.gz +0 -0
- codex/static_root/assets/{datetime-column-DVC0YqHC.js → datetime-column-DWwCltHX.js} +1 -1
- codex/static_root/assets/datetime-column-DWwCltHX.js.br +2 -0
- codex/static_root/assets/datetime-column-DWwCltHX.js.gz +0 -0
- codex/static_root/assets/{filter-xcEcgcIx.be1bb4725c89.js → filter-DUzmOcWQ.62e2578018fc.js} +1 -1
- codex/static_root/assets/filter-DUzmOcWQ.62e2578018fc.js.br +0 -0
- codex/static_root/assets/filter-DUzmOcWQ.62e2578018fc.js.gz +0 -0
- codex/static_root/assets/{filter-xcEcgcIx.js → filter-DUzmOcWQ.js} +1 -1
- codex/static_root/assets/filter-DUzmOcWQ.js.br +0 -0
- codex/static_root/assets/filter-DUzmOcWQ.js.gz +0 -0
- codex/static_root/assets/flag-tab-DHGfv0Q3.2b7ef394b850.css +1 -0
- codex/static_root/assets/flag-tab-DHGfv0Q3.2b7ef394b850.css.br +0 -0
- codex/static_root/assets/flag-tab-DHGfv0Q3.2b7ef394b850.css.gz +0 -0
- codex/static_root/assets/flag-tab-DHGfv0Q3.css +1 -0
- codex/static_root/assets/flag-tab-DHGfv0Q3.css.br +0 -0
- codex/static_root/assets/flag-tab-DHGfv0Q3.css.gz +0 -0
- codex/static_root/assets/flag-tab-DI0mJlXh.35d270069e4f.js +1 -0
- codex/static_root/assets/flag-tab-DI0mJlXh.35d270069e4f.js.br +0 -0
- codex/static_root/assets/flag-tab-DI0mJlXh.35d270069e4f.js.gz +0 -0
- codex/static_root/assets/flag-tab-DI0mJlXh.js +1 -0
- codex/static_root/assets/flag-tab-DI0mJlXh.js.br +0 -0
- codex/static_root/assets/flag-tab-DI0mJlXh.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-D1ZDjzWx.96fccf773093.js → forwardRefs-hLICxMEm.fd43ec456950.js} +1 -1
- codex/static_root/assets/forwardRefs-hLICxMEm.fd43ec456950.js.br +0 -0
- codex/static_root/assets/forwardRefs-hLICxMEm.fd43ec456950.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-D1ZDjzWx.js → forwardRefs-hLICxMEm.js} +1 -1
- codex/static_root/assets/forwardRefs-hLICxMEm.js.br +0 -0
- codex/static_root/assets/forwardRefs-hLICxMEm.js.gz +0 -0
- codex/static_root/assets/{group-tab-DkAIGL8z.527cad03c21d.js → group-tab-Ch6sd19Y.15f92ebc959d.js} +1 -1
- codex/static_root/assets/group-tab-Ch6sd19Y.15f92ebc959d.js.br +0 -0
- codex/static_root/assets/group-tab-Ch6sd19Y.15f92ebc959d.js.gz +0 -0
- codex/static_root/assets/{group-tab-DkAIGL8z.js → group-tab-Ch6sd19Y.js} +1 -1
- codex/static_root/assets/group-tab-Ch6sd19Y.js.br +0 -0
- codex/static_root/assets/group-tab-Ch6sd19Y.js.gz +0 -0
- codex/static_root/assets/{http-error-CjSb8orc.ad6fc5733ed8.js → http-error-BQoj78jv.fc5280352b17.js} +1 -1
- codex/static_root/assets/http-error-BQoj78jv.fc5280352b17.js.br +0 -0
- codex/static_root/assets/http-error-BQoj78jv.fc5280352b17.js.gz +0 -0
- codex/static_root/assets/{http-error-CjSb8orc.js → http-error-BQoj78jv.js} +1 -1
- codex/static_root/assets/http-error-BQoj78jv.js.br +0 -0
- codex/static_root/assets/http-error-BQoj78jv.js.gz +0 -0
- codex/static_root/assets/{index-CoFXW6I0.27f397e1425e.js → index-DtVx0ej4.9ca3e3d32eb8.js} +1 -1
- codex/static_root/assets/index-DtVx0ej4.9ca3e3d32eb8.js.br +0 -0
- codex/static_root/assets/index-DtVx0ej4.9ca3e3d32eb8.js.gz +0 -0
- codex/static_root/assets/{index-CoFXW6I0.js → index-DtVx0ej4.js} +1 -1
- codex/static_root/assets/index-DtVx0ej4.js.br +0 -0
- codex/static_root/assets/index-DtVx0ej4.js.gz +0 -0
- codex/static_root/assets/{library-tab-hkMMBz1x.02270491d822.js → library-tab-DEvrF6PF.c7a68c22664c.js} +1 -1
- codex/static_root/assets/library-tab-DEvrF6PF.c7a68c22664c.js.br +0 -0
- codex/static_root/assets/library-tab-DEvrF6PF.c7a68c22664c.js.gz +0 -0
- codex/static_root/assets/{library-tab-hkMMBz1x.js → library-tab-DEvrF6PF.js} +1 -1
- codex/static_root/assets/library-tab-DEvrF6PF.js.br +0 -0
- codex/static_root/assets/library-tab-DEvrF6PF.js.gz +0 -0
- codex/static_root/assets/{main-DCaPxp2h.076707ddd123.js → main-DTplblFl.b8e4b708287f.js} +3 -3
- codex/static_root/assets/main-DTplblFl.b8e4b708287f.js.br +0 -0
- codex/static_root/assets/main-DTplblFl.b8e4b708287f.js.gz +0 -0
- codex/static_root/assets/{main-DCaPxp2h.js → main-DTplblFl.js} +3 -3
- codex/static_root/assets/main-DTplblFl.js.br +0 -0
- codex/static_root/assets/main-DTplblFl.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-JIU1UvrN.627b621aa583.js +1 -0
- codex/static_root/assets/pager-full-pdf-JIU1UvrN.627b621aa583.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-JIU1UvrN.627b621aa583.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-JIU1UvrN.js +1 -0
- codex/static_root/assets/pager-full-pdf-JIU1UvrN.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-JIU1UvrN.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-DoqxSygU.f985bc705fe5.js → pagination-toolbar-DHVJWGeE.c70de5ca6915.js} +1 -1
- codex/static_root/assets/pagination-toolbar-DHVJWGeE.c70de5ca6915.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DHVJWGeE.c70de5ca6915.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-DoqxSygU.js → pagination-toolbar-DHVJWGeE.js} +1 -1
- codex/static_root/assets/pagination-toolbar-DHVJWGeE.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DHVJWGeE.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-BwxvAx1z.96cbc39c321d.js → pdf-doc-DjtoQWxA.2c9fd3017300.js} +1 -1
- codex/static_root/assets/pdf-doc-DjtoQWxA.2c9fd3017300.js.br +0 -0
- codex/static_root/assets/pdf-doc-DjtoQWxA.2c9fd3017300.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-BwxvAx1z.js → pdf-doc-DjtoQWxA.js} +1 -1
- codex/static_root/assets/pdf-doc-DjtoQWxA.js.br +0 -0
- codex/static_root/assets/pdf-doc-DjtoQWxA.js.gz +0 -0
- codex/static_root/assets/{reader-hHIonVbA.4c12219242a9.js → reader-DIjUh67D.061a8b501e35.js} +2 -2
- codex/static_root/assets/reader-DIjUh67D.061a8b501e35.js.br +0 -0
- codex/static_root/assets/reader-DIjUh67D.061a8b501e35.js.gz +0 -0
- codex/static_root/assets/{reader-hHIonVbA.js → reader-DIjUh67D.js} +2 -2
- codex/static_root/assets/reader-DIjUh67D.js.br +0 -0
- codex/static_root/assets/reader-DIjUh67D.js.gz +0 -0
- codex/static_root/assets/{relation-chips-D7-5kPem.4443b085aca2.js → relation-chips-ByFsclaN.2b9dc61299f6.js} +1 -1
- codex/static_root/assets/relation-chips-ByFsclaN.2b9dc61299f6.js.br +0 -0
- codex/static_root/assets/relation-chips-ByFsclaN.2b9dc61299f6.js.gz +0 -0
- codex/static_root/assets/{relation-chips-D7-5kPem.js → relation-chips-ByFsclaN.js} +1 -1
- codex/static_root/assets/relation-chips-ByFsclaN.js.br +0 -0
- codex/static_root/assets/relation-chips-ByFsclaN.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-CdFmOhnd.f7dcd12b3ebc.js → settings-drawer-DWa5PBWW.dee5ebeb24fe.js} +2 -2
- codex/static_root/assets/settings-drawer-DWa5PBWW.dee5ebeb24fe.js.br +0 -0
- codex/static_root/assets/settings-drawer-DWa5PBWW.dee5ebeb24fe.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-CdFmOhnd.js → settings-drawer-DWa5PBWW.js} +2 -2
- codex/static_root/assets/settings-drawer-DWa5PBWW.js.br +0 -0
- codex/static_root/assets/settings-drawer-DWa5PBWW.js.gz +0 -0
- codex/static_root/assets/{stats-tab-BzaipD0m.b6bf627ea860.js → stats-tab-B_i6PH1G.f11e0562b20d.js} +1 -1
- codex/static_root/assets/stats-tab-B_i6PH1G.f11e0562b20d.js.br +0 -0
- codex/static_root/assets/stats-tab-B_i6PH1G.f11e0562b20d.js.gz +0 -0
- codex/static_root/assets/{stats-tab-BzaipD0m.js → stats-tab-B_i6PH1G.js} +1 -1
- codex/static_root/assets/stats-tab-B_i6PH1G.js.br +0 -0
- codex/static_root/assets/stats-tab-B_i6PH1G.js.gz +0 -0
- codex/static_root/assets/{task-tab-DCnS1sM9.44d8435b4989.js → task-tab-DOEbnSf2.fe4907da1530.js} +1 -1
- codex/static_root/assets/task-tab-DOEbnSf2.fe4907da1530.js.br +0 -0
- codex/static_root/assets/task-tab-DOEbnSf2.fe4907da1530.js.gz +0 -0
- codex/static_root/assets/{task-tab-DCnS1sM9.js → task-tab-DOEbnSf2.js} +1 -1
- codex/static_root/assets/task-tab-DOEbnSf2.js.br +0 -0
- codex/static_root/assets/task-tab-DOEbnSf2.js.gz +0 -0
- codex/static_root/assets/{unauthorized-DJSr03Dw.7555cbcf1064.js → unauthorized-Cblht_KD.e0c38cb1a24c.js} +1 -1
- codex/static_root/assets/unauthorized-Cblht_KD.e0c38cb1a24c.js.br +0 -0
- codex/static_root/assets/unauthorized-Cblht_KD.e0c38cb1a24c.js.gz +0 -0
- codex/static_root/assets/{unauthorized-DJSr03Dw.js → unauthorized-Cblht_KD.js} +1 -1
- codex/static_root/assets/unauthorized-Cblht_KD.js.br +0 -0
- codex/static_root/assets/unauthorized-Cblht_KD.js.gz +0 -0
- codex/static_root/assets/{user-tab-DAK_Deoh.1832877d449a.js → user-tab-CdvLJrTe.e52c18781b89.js} +1 -1
- codex/static_root/assets/user-tab-CdvLJrTe.e52c18781b89.js.br +0 -0
- codex/static_root/assets/user-tab-CdvLJrTe.e52c18781b89.js.gz +0 -0
- codex/static_root/assets/{user-tab-DAK_Deoh.js → user-tab-CdvLJrTe.js} +1 -1
- codex/static_root/assets/user-tab-CdvLJrTe.js.br +0 -0
- codex/static_root/assets/user-tab-CdvLJrTe.js.gz +0 -0
- codex/static_root/manifest.e3e070ebb908.json +735 -0
- codex/static_root/manifest.e3e070ebb908.json.br +0 -0
- codex/static_root/manifest.e3e070ebb908.json.gz +0 -0
- codex/static_root/manifest.json +305 -305
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/status_controller.py +12 -9
- codex/urls/root.py +3 -4
- codex/views/admin/api_key.py +4 -1
- codex/views/admin/library.py +4 -4
- codex/views/admin/stats.py +10 -10
- codex/views/admin/tasks.py +9 -9
- codex/views/auth.py +8 -3
- codex/views/bookmark.py +3 -3
- codex/views/browser/annotate/card.py +2 -2
- codex/views/browser/annotate/order.py +7 -6
- codex/views/browser/bookmark.py +1 -1
- codex/views/browser/breadcrumbs.py +5 -6
- codex/views/browser/browser.py +2 -2
- codex/views/browser/choices.py +5 -6
- codex/views/browser/cover.py +3 -6
- codex/views/browser/download.py +1 -2
- codex/views/browser/filters/bookmark.py +1 -1
- codex/views/browser/filters/field.py +1 -1
- codex/views/browser/filters/filter.py +8 -6
- codex/views/browser/filters/group.py +4 -5
- codex/views/browser/filters/search/field/expression.py +2 -1
- codex/views/browser/filters/search/field/optimize.py +1 -1
- codex/views/browser/filters/search/field/parse.py +2 -2
- codex/views/browser/filters/search/parse.py +19 -4
- codex/views/browser/group_mtime.py +1 -1
- codex/views/browser/metadata/copy_intersections.py +1 -1
- codex/views/browser/metadata/metadata.py +1 -1
- codex/views/browser/mtime.py +1 -1
- codex/views/browser/order_by.py +5 -3
- codex/views/browser/params.py +1 -1
- codex/views/browser/settings.py +1 -1
- codex/views/browser/validate.py +5 -8
- codex/views/const.py +3 -0
- codex/views/frontend.py +1 -1
- codex/views/mixins.py +2 -3
- codex/views/opds/authentication_v1.py +1 -1
- codex/views/opds/const.py +4 -4
- codex/views/opds/util.py +3 -3
- codex/views/opds/v1/entry/entry.py +2 -4
- codex/views/opds/v1/entry/links.py +5 -4
- codex/views/opds/v1/facets.py +4 -8
- codex/views/opds/v1/feed.py +5 -5
- codex/views/opds/v1/links.py +6 -11
- codex/views/opds/v2/const.py +2 -5
- codex/views/opds/v2/feed.py +3 -3
- codex/views/opds/v2/progression.py +9 -8
- codex/views/opds/v2/publications.py +20 -10
- codex/views/public.py +1 -1
- codex/views/reader/books.py +2 -3
- codex/views/reader/page.py +3 -3
- codex/views/reader/params.py +2 -2
- codex/views/reader/reader.py +6 -6
- codex/views/reader/settings.py +1 -1
- codex/views/session.py +2 -8
- codex/views/settings.py +2 -2
- codex/views/timezone.py +2 -2
- codex/views/util.py +9 -10
- codex/views/version.py +1 -1
- {codex-1.7.3.dist-info → codex-1.7.3a1.dist-info}/METADATA +1 -2
- {codex-1.7.3.dist-info → codex-1.7.3a1.dist-info}/RECORD +565 -565
- {codex-1.7.3.dist-info → codex-1.7.3a1.dist-info}/WHEEL +1 -1
- codex/static_root/assets/VCheckbox-Dv6fwaDb.56abbfb00c8a.js.br +0 -0
- codex/static_root/assets/VCheckbox-Dv6fwaDb.56abbfb00c8a.js.gz +0 -0
- codex/static_root/assets/VCheckbox-Dv6fwaDb.js.br +0 -0
- codex/static_root/assets/VCheckbox-Dv6fwaDb.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.4ee9778a562e.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.4ee9778a562e.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.js.gz +0 -0
- codex/static_root/assets/VCombobox-DqBFki-9.2806f95c938d.js.br +0 -0
- codex/static_root/assets/VCombobox-DqBFki-9.2806f95c938d.js.gz +0 -0
- codex/static_root/assets/VCombobox-DqBFki-9.js.br +0 -0
- codex/static_root/assets/VCombobox-DqBFki-9.js.gz +0 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.1a576c5e472f.js.br +0 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.1a576c5e472f.js.gz +0 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.js.br +0 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.js.gz +0 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.73d92ae2a07e.js.br +0 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.73d92ae2a07e.js.gz +0 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.js.br +0 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.5346826103eb.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.5346826103eb.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.js.gz +0 -0
- codex/static_root/assets/VForm-hB4C5jVd.a2b90ddcd8ee.js.br +0 -0
- codex/static_root/assets/VForm-hB4C5jVd.a2b90ddcd8ee.js.gz +0 -0
- codex/static_root/assets/VForm-hB4C5jVd.js.br +0 -0
- codex/static_root/assets/VForm-hB4C5jVd.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.cbf2922d05af.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.cbf2922d05af.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.js.gz +0 -0
- codex/static_root/assets/VSelect-L4v_m3ag.db9fb8348617.js.br +0 -0
- codex/static_root/assets/VSelect-L4v_m3ag.db9fb8348617.js.gz +0 -0
- codex/static_root/assets/VSelect-L4v_m3ag.js.br +0 -0
- codex/static_root/assets/VSelect-L4v_m3ag.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.2fb68a673402.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.2fb68a673402.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.js.gz +0 -0
- codex/static_root/assets/VTable-CtorAbOx.bbda450cbd73.js.br +0 -0
- codex/static_root/assets/VTable-CtorAbOx.bbda450cbd73.js.gz +0 -0
- codex/static_root/assets/VTable-CtorAbOx.js.br +0 -0
- codex/static_root/assets/VTable-CtorAbOx.js.gz +0 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.334e6b813775.js.br +0 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.334e6b813775.js.gz +0 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.js.br +0 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.js.gz +0 -0
- codex/static_root/assets/admin-BAVKNREt.23c0966bd683.js.br +0 -0
- codex/static_root/assets/admin-BAVKNREt.23c0966bd683.js.gz +0 -0
- codex/static_root/assets/admin-BAVKNREt.js.br +0 -0
- codex/static_root/assets/admin-BAVKNREt.js.gz +0 -0
- codex/static_root/assets/admin-CHuFhx_t.a54700f97fc8.js.br +0 -0
- codex/static_root/assets/admin-CHuFhx_t.a54700f97fc8.js.gz +0 -0
- codex/static_root/assets/admin-CHuFhx_t.js.br +0 -0
- codex/static_root/assets/admin-CHuFhx_t.js.gz +0 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.4f011540bb4c.js.br +0 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.4f011540bb4c.js.gz +0 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.js.br +0 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.7b36216f68b5.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.7b36216f68b5.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.js.gz +0 -0
- codex/static_root/assets/browser-DNzQvgkY.aea8b7d7ca40.css.br +0 -0
- codex/static_root/assets/browser-DNzQvgkY.aea8b7d7ca40.css.gz +0 -0
- codex/static_root/assets/browser-DNzQvgkY.css.br +0 -0
- codex/static_root/assets/browser-DNzQvgkY.css.gz +0 -0
- codex/static_root/assets/browser-DdLCtUlr.380b79bea4a7.js +0 -1
- codex/static_root/assets/browser-DdLCtUlr.380b79bea4a7.js.br +0 -0
- codex/static_root/assets/browser-DdLCtUlr.380b79bea4a7.js.gz +0 -0
- codex/static_root/assets/browser-DdLCtUlr.js +0 -1
- codex/static_root/assets/browser-DdLCtUlr.js.br +0 -0
- codex/static_root/assets/browser-DdLCtUlr.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.416ef5bdfd46.js.br +0 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.416ef5bdfd46.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.js.br +0 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.1070d18f6b2d.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.1070d18f6b2d.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.js.gz +0 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.03bb52c198e9.js.br +0 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.03bb52c198e9.js.gz +0 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.js.br +0 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.js.gz +0 -0
- codex/static_root/assets/filter-xcEcgcIx.be1bb4725c89.js.br +0 -0
- codex/static_root/assets/filter-xcEcgcIx.be1bb4725c89.js.gz +0 -0
- codex/static_root/assets/filter-xcEcgcIx.js.br +0 -0
- codex/static_root/assets/filter-xcEcgcIx.js.gz +0 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.842fca93f19c.js +0 -1
- codex/static_root/assets/flag-tab-BOyQb0kr.842fca93f19c.js.br +0 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.842fca93f19c.js.gz +0 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.js +0 -1
- codex/static_root/assets/flag-tab-BOyQb0kr.js.br +0 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.js.gz +0 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css +0 -1
- codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css.br +0 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css.gz +0 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.css +0 -1
- codex/static_root/assets/flag-tab-D2MYXCHk.css.br +0 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.css.gz +0 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.96fccf773093.js.br +0 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.96fccf773093.js.gz +0 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.js.br +0 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.js.gz +0 -0
- codex/static_root/assets/group-tab-DkAIGL8z.527cad03c21d.js.br +0 -0
- codex/static_root/assets/group-tab-DkAIGL8z.527cad03c21d.js.gz +0 -0
- codex/static_root/assets/group-tab-DkAIGL8z.js.br +0 -0
- codex/static_root/assets/group-tab-DkAIGL8z.js.gz +0 -0
- codex/static_root/assets/http-error-CjSb8orc.ad6fc5733ed8.js.br +0 -0
- codex/static_root/assets/http-error-CjSb8orc.ad6fc5733ed8.js.gz +0 -0
- codex/static_root/assets/http-error-CjSb8orc.js.br +0 -0
- codex/static_root/assets/http-error-CjSb8orc.js.gz +0 -0
- codex/static_root/assets/index-CoFXW6I0.27f397e1425e.js.br +0 -0
- codex/static_root/assets/index-CoFXW6I0.27f397e1425e.js.gz +0 -0
- codex/static_root/assets/index-CoFXW6I0.js.br +0 -0
- codex/static_root/assets/index-CoFXW6I0.js.gz +0 -0
- codex/static_root/assets/library-tab-hkMMBz1x.02270491d822.js.br +0 -0
- codex/static_root/assets/library-tab-hkMMBz1x.02270491d822.js.gz +0 -0
- codex/static_root/assets/library-tab-hkMMBz1x.js.br +0 -0
- codex/static_root/assets/library-tab-hkMMBz1x.js.gz +0 -0
- codex/static_root/assets/main-DCaPxp2h.076707ddd123.js.br +0 -0
- codex/static_root/assets/main-DCaPxp2h.076707ddd123.js.gz +0 -0
- codex/static_root/assets/main-DCaPxp2h.js.br +0 -0
- codex/static_root/assets/main-DCaPxp2h.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.e7dfdd2a6937.js +0 -1
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.e7dfdd2a6937.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.e7dfdd2a6937.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.js +0 -1
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.f985bc705fe5.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.f985bc705fe5.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.js.gz +0 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.96cbc39c321d.js.br +0 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.96cbc39c321d.js.gz +0 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.js.br +0 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.js.gz +0 -0
- codex/static_root/assets/reader-hHIonVbA.4c12219242a9.js.br +0 -0
- codex/static_root/assets/reader-hHIonVbA.4c12219242a9.js.gz +0 -0
- codex/static_root/assets/reader-hHIonVbA.js.br +0 -0
- codex/static_root/assets/reader-hHIonVbA.js.gz +0 -0
- codex/static_root/assets/relation-chips-D7-5kPem.4443b085aca2.js.br +0 -0
- codex/static_root/assets/relation-chips-D7-5kPem.4443b085aca2.js.gz +0 -0
- codex/static_root/assets/relation-chips-D7-5kPem.js.br +0 -0
- codex/static_root/assets/relation-chips-D7-5kPem.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.f7dcd12b3ebc.js.br +0 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.f7dcd12b3ebc.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.js.br +0 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.js.gz +0 -0
- codex/static_root/assets/stats-tab-BzaipD0m.b6bf627ea860.js.br +0 -0
- codex/static_root/assets/stats-tab-BzaipD0m.b6bf627ea860.js.gz +0 -0
- codex/static_root/assets/stats-tab-BzaipD0m.js.br +0 -0
- codex/static_root/assets/stats-tab-BzaipD0m.js.gz +0 -0
- codex/static_root/assets/task-tab-DCnS1sM9.44d8435b4989.js.br +0 -0
- codex/static_root/assets/task-tab-DCnS1sM9.44d8435b4989.js.gz +0 -0
- codex/static_root/assets/task-tab-DCnS1sM9.js.br +0 -0
- codex/static_root/assets/task-tab-DCnS1sM9.js.gz +0 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.7555cbcf1064.js.br +0 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.7555cbcf1064.js.gz +0 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.js.br +0 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.js.gz +0 -0
- codex/static_root/assets/user-tab-DAK_Deoh.1832877d449a.js.br +0 -0
- codex/static_root/assets/user-tab-DAK_Deoh.1832877d449a.js.gz +0 -0
- codex/static_root/assets/user-tab-DAK_Deoh.js.br +0 -0
- codex/static_root/assets/user-tab-DAK_Deoh.js.gz +0 -0
- codex/static_root/manifest.cbc39bca88fc.json +0 -735
- codex/static_root/manifest.cbc39bca88fc.json.br +0 -0
- codex/static_root/manifest.cbc39bca88fc.json.gz +0 -0
- /codex/static_root/assets/{VCheckbox-CvH8ekHL.016ed8d222c4.css → VCheckbox-CMKdyl0R.016ed8d222c4.css} +0 -0
- /codex/static_root/assets/{VCheckbox-CvH8ekHL.016ed8d222c4.css.br → VCheckbox-CMKdyl0R.016ed8d222c4.css.br} +0 -0
- /codex/static_root/assets/{VCheckbox-CvH8ekHL.016ed8d222c4.css.gz → VCheckbox-CMKdyl0R.016ed8d222c4.css.gz} +0 -0
- /codex/static_root/assets/{VCheckbox-CvH8ekHL.css → VCheckbox-CMKdyl0R.css} +0 -0
- /codex/static_root/assets/{VCheckbox-CvH8ekHL.css.br → VCheckbox-CMKdyl0R.css.br} +0 -0
- /codex/static_root/assets/{VCheckbox-CvH8ekHL.css.gz → VCheckbox-CMKdyl0R.css.gz} +0 -0
- /codex/static_root/assets/{VCombobox-BQHELb_o.9f25a34994e2.css → VCombobox-bwEYrXCg.9f25a34994e2.css} +0 -0
- /codex/static_root/assets/{VCombobox-BQHELb_o.9f25a34994e2.css.br → VCombobox-bwEYrXCg.9f25a34994e2.css.br} +0 -0
- /codex/static_root/assets/{VCombobox-BQHELb_o.9f25a34994e2.css.gz → VCombobox-bwEYrXCg.9f25a34994e2.css.gz} +0 -0
- /codex/static_root/assets/{VCombobox-BQHELb_o.css → VCombobox-bwEYrXCg.css} +0 -0
- /codex/static_root/assets/{VCombobox-BQHELb_o.css.br → VCombobox-bwEYrXCg.css.br} +0 -0
- /codex/static_root/assets/{VCombobox-BQHELb_o.css.gz → VCombobox-bwEYrXCg.css.gz} +0 -0
- /codex/static_root/assets/{VDialog-DWos4S54.b07aca713774.css → VDialog-Dyd05WHA.b07aca713774.css} +0 -0
- /codex/static_root/assets/{VDialog-DWos4S54.b07aca713774.css.br → VDialog-Dyd05WHA.b07aca713774.css.br} +0 -0
- /codex/static_root/assets/{VDialog-DWos4S54.b07aca713774.css.gz → VDialog-Dyd05WHA.b07aca713774.css.gz} +0 -0
- /codex/static_root/assets/{VDialog-DWos4S54.css → VDialog-Dyd05WHA.css} +0 -0
- /codex/static_root/assets/{VDialog-DWos4S54.css.br → VDialog-Dyd05WHA.css.br} +0 -0
- /codex/static_root/assets/{VDialog-DWos4S54.css.gz → VDialog-Dyd05WHA.css.gz} +0 -0
- /codex/static_root/assets/{VDivider-DU47sRrT.3d2e17799e5c.css → VDivider-DE8MJPGz.3d2e17799e5c.css} +0 -0
- /codex/static_root/assets/{VDivider-DU47sRrT.3d2e17799e5c.css.br → VDivider-DE8MJPGz.3d2e17799e5c.css.br} +0 -0
- /codex/static_root/assets/{VDivider-DU47sRrT.3d2e17799e5c.css.gz → VDivider-DE8MJPGz.3d2e17799e5c.css.gz} +0 -0
- /codex/static_root/assets/{VDivider-DU47sRrT.css → VDivider-DE8MJPGz.css} +0 -0
- /codex/static_root/assets/{VDivider-DU47sRrT.css.br → VDivider-DE8MJPGz.css.br} +0 -0
- /codex/static_root/assets/{VDivider-DU47sRrT.css.gz → VDivider-DE8MJPGz.css.gz} +0 -0
- /codex/static_root/assets/{VExpansionPanels-RsCANmDP.5b17872981df.css → VExpansionPanels-6G1AUajL.5b17872981df.css} +0 -0
- /codex/static_root/assets/{VExpansionPanels-RsCANmDP.5b17872981df.css.br → VExpansionPanels-6G1AUajL.5b17872981df.css.br} +0 -0
- /codex/static_root/assets/{VExpansionPanels-RsCANmDP.5b17872981df.css.gz → VExpansionPanels-6G1AUajL.5b17872981df.css.gz} +0 -0
- /codex/static_root/assets/{VExpansionPanels-RsCANmDP.css → VExpansionPanels-6G1AUajL.css} +0 -0
- /codex/static_root/assets/{VExpansionPanels-RsCANmDP.css.br → VExpansionPanels-6G1AUajL.css.br} +0 -0
- /codex/static_root/assets/{VExpansionPanels-RsCANmDP.css.gz → VExpansionPanels-6G1AUajL.css.gz} +0 -0
- /codex/static_root/assets/{VForm-DxBt30-N.138c0b89b6fc.css → VForm-v1Gmu6E1.138c0b89b6fc.css} +0 -0
- /codex/static_root/assets/{VForm-DxBt30-N.138c0b89b6fc.css.br → VForm-v1Gmu6E1.138c0b89b6fc.css.br} +0 -0
- /codex/static_root/assets/{VForm-DxBt30-N.138c0b89b6fc.css.gz → VForm-v1Gmu6E1.138c0b89b6fc.css.gz} +0 -0
- /codex/static_root/assets/{VForm-DxBt30-N.css → VForm-v1Gmu6E1.css} +0 -0
- /codex/static_root/assets/{VForm-DxBt30-N.css.br → VForm-v1Gmu6E1.css.br} +0 -0
- /codex/static_root/assets/{VForm-DxBt30-N.css.gz → VForm-v1Gmu6E1.css.gz} +0 -0
- /codex/static_root/assets/{VRadioGroup-Cp9mZ7cb.8e3741381961.css → VRadioGroup-i2qP9Wu9.8e3741381961.css} +0 -0
- /codex/static_root/assets/{VRadioGroup-Cp9mZ7cb.8e3741381961.css.br → VRadioGroup-i2qP9Wu9.8e3741381961.css.br} +0 -0
- /codex/static_root/assets/{VRadioGroup-Cp9mZ7cb.8e3741381961.css.gz → VRadioGroup-i2qP9Wu9.8e3741381961.css.gz} +0 -0
- /codex/static_root/assets/{VRadioGroup-Cp9mZ7cb.css → VRadioGroup-i2qP9Wu9.css} +0 -0
- /codex/static_root/assets/{VRadioGroup-Cp9mZ7cb.css.br → VRadioGroup-i2qP9Wu9.css.br} +0 -0
- /codex/static_root/assets/{VRadioGroup-Cp9mZ7cb.css.gz → VRadioGroup-i2qP9Wu9.css.gz} +0 -0
- /codex/static_root/assets/{VSelect-CP_CVb8s.6309f7bf17bb.css → VSelect-8MFoaOUz.6309f7bf17bb.css} +0 -0
- /codex/static_root/assets/{VSelect-CP_CVb8s.6309f7bf17bb.css.br → VSelect-8MFoaOUz.6309f7bf17bb.css.br} +0 -0
- /codex/static_root/assets/{VSelect-CP_CVb8s.6309f7bf17bb.css.gz → VSelect-8MFoaOUz.6309f7bf17bb.css.gz} +0 -0
- /codex/static_root/assets/{VSelect-CP_CVb8s.css → VSelect-8MFoaOUz.css} +0 -0
- /codex/static_root/assets/{VSelect-CP_CVb8s.css.br → VSelect-8MFoaOUz.css.br} +0 -0
- /codex/static_root/assets/{VSelect-CP_CVb8s.css.gz → VSelect-8MFoaOUz.css.gz} +0 -0
- /codex/static_root/assets/{VSelectionControl-DPpfgCW2.cc18de4e83f6.css → VSelectionControl-DLxcLoTI.cc18de4e83f6.css} +0 -0
- /codex/static_root/assets/{VSelectionControl-DPpfgCW2.cc18de4e83f6.css.br → VSelectionControl-DLxcLoTI.cc18de4e83f6.css.br} +0 -0
- /codex/static_root/assets/{VSelectionControl-DPpfgCW2.cc18de4e83f6.css.gz → VSelectionControl-DLxcLoTI.cc18de4e83f6.css.gz} +0 -0
- /codex/static_root/assets/{VSelectionControl-DPpfgCW2.css → VSelectionControl-DLxcLoTI.css} +0 -0
- /codex/static_root/assets/{VSelectionControl-DPpfgCW2.css.br → VSelectionControl-DLxcLoTI.css.br} +0 -0
- /codex/static_root/assets/{VSelectionControl-DPpfgCW2.css.gz → VSelectionControl-DLxcLoTI.css.gz} +0 -0
- /codex/static_root/assets/{VTable-BnxSZ_W5.c36f0a6a30cf.css → VTable-Y5Sc3hJd.c36f0a6a30cf.css} +0 -0
- /codex/static_root/assets/{VTable-BnxSZ_W5.c36f0a6a30cf.css.br → VTable-Y5Sc3hJd.c36f0a6a30cf.css.br} +0 -0
- /codex/static_root/assets/{VTable-BnxSZ_W5.c36f0a6a30cf.css.gz → VTable-Y5Sc3hJd.c36f0a6a30cf.css.gz} +0 -0
- /codex/static_root/assets/{VTable-BnxSZ_W5.css → VTable-Y5Sc3hJd.css} +0 -0
- /codex/static_root/assets/{VTable-BnxSZ_W5.css.br → VTable-Y5Sc3hJd.css.br} +0 -0
- /codex/static_root/assets/{VTable-BnxSZ_W5.css.gz → VTable-Y5Sc3hJd.css.gz} +0 -0
- /codex/static_root/assets/{VWindowItem-CWBhiE_Y.css → VWindowItem-ByIod57Y.css} +0 -0
- /codex/static_root/assets/{VWindowItem-CWBhiE_Y.css.br → VWindowItem-ByIod57Y.css.br} +0 -0
- /codex/static_root/assets/{VWindowItem-CWBhiE_Y.css.gz → VWindowItem-ByIod57Y.css.gz} +0 -0
- /codex/static_root/assets/{VWindowItem-CWBhiE_Y.f7fb19752bf3.css → VWindowItem-ByIod57Y.f7fb19752bf3.css} +0 -0
- /codex/static_root/assets/{VWindowItem-CWBhiE_Y.f7fb19752bf3.css.br → VWindowItem-ByIod57Y.f7fb19752bf3.css.br} +0 -0
- /codex/static_root/assets/{VWindowItem-CWBhiE_Y.f7fb19752bf3.css.gz → VWindowItem-ByIod57Y.f7fb19752bf3.css.gz} +0 -0
- /codex/static_root/assets/{admin-C3iCIUnm.06cb213f624d.css → admin-VRLEt4I5.06cb213f624d.css} +0 -0
- /codex/static_root/assets/{admin-C3iCIUnm.06cb213f624d.css.br → admin-VRLEt4I5.06cb213f624d.css.br} +0 -0
- /codex/static_root/assets/{admin-C3iCIUnm.06cb213f624d.css.gz → admin-VRLEt4I5.06cb213f624d.css.gz} +0 -0
- /codex/static_root/assets/{admin-C3iCIUnm.css → admin-VRLEt4I5.css} +0 -0
- /codex/static_root/assets/{admin-C3iCIUnm.css.br → admin-VRLEt4I5.css.br} +0 -0
- /codex/static_root/assets/{admin-C3iCIUnm.css.gz → admin-VRLEt4I5.css.gz} +0 -0
- /codex/static_root/assets/{admin-menu-B3iXsOyy.c13b7df2ff57.css → admin-menu-B9bzD6hV.c13b7df2ff57.css} +0 -0
- /codex/static_root/assets/{admin-menu-B3iXsOyy.c13b7df2ff57.css.br → admin-menu-B9bzD6hV.c13b7df2ff57.css.br} +0 -0
- /codex/static_root/assets/{admin-menu-B3iXsOyy.c13b7df2ff57.css.gz → admin-menu-B9bzD6hV.c13b7df2ff57.css.gz} +0 -0
- /codex/static_root/assets/{admin-menu-B3iXsOyy.css → admin-menu-B9bzD6hV.css} +0 -0
- /codex/static_root/assets/{admin-menu-B3iXsOyy.css.br → admin-menu-B9bzD6hV.css.br} +0 -0
- /codex/static_root/assets/{admin-menu-B3iXsOyy.css.gz → admin-menu-B9bzD6hV.css.gz} +0 -0
- /codex/static_root/assets/{admin-settings-button-progress-BGB22oTD.2548c49a853e.css → admin-settings-button-progress-DUUQfVsZ.2548c49a853e.css} +0 -0
- /codex/static_root/assets/{admin-settings-button-progress-BGB22oTD.css → admin-settings-button-progress-DUUQfVsZ.css} +0 -0
- /codex/static_root/assets/{change-password-dialog-D0ymWcl_.a30e68c6e303.css → change-password-dialog-C_EOKOn9.a30e68c6e303.css} +0 -0
- /codex/static_root/assets/{change-password-dialog-D0ymWcl_.a30e68c6e303.css.br → change-password-dialog-C_EOKOn9.a30e68c6e303.css.br} +0 -0
- /codex/static_root/assets/{change-password-dialog-D0ymWcl_.a30e68c6e303.css.gz → change-password-dialog-C_EOKOn9.a30e68c6e303.css.gz} +0 -0
- /codex/static_root/assets/{change-password-dialog-D0ymWcl_.css → change-password-dialog-C_EOKOn9.css} +0 -0
- /codex/static_root/assets/{change-password-dialog-D0ymWcl_.css.br → change-password-dialog-C_EOKOn9.css.br} +0 -0
- /codex/static_root/assets/{change-password-dialog-D0ymWcl_.css.gz → change-password-dialog-C_EOKOn9.css.gz} +0 -0
- /codex/static_root/assets/{confirm-dialog-B1ABbGMU.9b5915b112c0.css → confirm-dialog-54rblwf7.9b5915b112c0.css} +0 -0
- /codex/static_root/assets/{confirm-dialog-B1ABbGMU.9b5915b112c0.css.br → confirm-dialog-54rblwf7.9b5915b112c0.css.br} +0 -0
- /codex/static_root/assets/{confirm-dialog-B1ABbGMU.css → confirm-dialog-54rblwf7.css} +0 -0
- /codex/static_root/assets/{confirm-dialog-B1ABbGMU.css.br → confirm-dialog-54rblwf7.css.br} +0 -0
- /codex/static_root/assets/{datetime-column-BavtvLnf.1f3bf499e063.css → datetime-column-DeCthByU.1f3bf499e063.css} +0 -0
- /codex/static_root/assets/{datetime-column-BavtvLnf.css → datetime-column-DeCthByU.css} +0 -0
- /codex/static_root/assets/{forwardRefs-CFNX6kJ2.9b56b4459240.css → forwardRefs-zKOZsbbr.9b56b4459240.css} +0 -0
- /codex/static_root/assets/{forwardRefs-CFNX6kJ2.9b56b4459240.css.br → forwardRefs-zKOZsbbr.9b56b4459240.css.br} +0 -0
- /codex/static_root/assets/{forwardRefs-CFNX6kJ2.9b56b4459240.css.gz → forwardRefs-zKOZsbbr.9b56b4459240.css.gz} +0 -0
- /codex/static_root/assets/{forwardRefs-CFNX6kJ2.css → forwardRefs-zKOZsbbr.css} +0 -0
- /codex/static_root/assets/{forwardRefs-CFNX6kJ2.css.br → forwardRefs-zKOZsbbr.css.br} +0 -0
- /codex/static_root/assets/{forwardRefs-CFNX6kJ2.css.gz → forwardRefs-zKOZsbbr.css.gz} +0 -0
- /codex/static_root/assets/{group-tab-_vKWzoyd.948e907b1e6b.css → group-tab-DkIN1Heu.948e907b1e6b.css} +0 -0
- /codex/static_root/assets/{group-tab-_vKWzoyd.948e907b1e6b.css.br → group-tab-DkIN1Heu.948e907b1e6b.css.br} +0 -0
- /codex/static_root/assets/{group-tab-_vKWzoyd.948e907b1e6b.css.gz → group-tab-DkIN1Heu.948e907b1e6b.css.gz} +0 -0
- /codex/static_root/assets/{group-tab-_vKWzoyd.css → group-tab-DkIN1Heu.css} +0 -0
- /codex/static_root/assets/{group-tab-_vKWzoyd.css.br → group-tab-DkIN1Heu.css.br} +0 -0
- /codex/static_root/assets/{group-tab-_vKWzoyd.css.gz → group-tab-DkIN1Heu.css.gz} +0 -0
- /codex/static_root/assets/{http-error-CODU7jcH.8c13689ae574.css → http-error-DEJmFobt.8c13689ae574.css} +0 -0
- /codex/static_root/assets/{http-error-CODU7jcH.8c13689ae574.css.br → http-error-DEJmFobt.8c13689ae574.css.br} +0 -0
- /codex/static_root/assets/{http-error-CODU7jcH.8c13689ae574.css.gz → http-error-DEJmFobt.8c13689ae574.css.gz} +0 -0
- /codex/static_root/assets/{http-error-CODU7jcH.css → http-error-DEJmFobt.css} +0 -0
- /codex/static_root/assets/{http-error-CODU7jcH.css.br → http-error-DEJmFobt.css.br} +0 -0
- /codex/static_root/assets/{http-error-CODU7jcH.css.gz → http-error-DEJmFobt.css.gz} +0 -0
- /codex/static_root/assets/{index-BHXJTQ4V.523d7b3d350f.css → index-CL_6g4tJ.523d7b3d350f.css} +0 -0
- /codex/static_root/assets/{index-BHXJTQ4V.523d7b3d350f.css.br → index-CL_6g4tJ.523d7b3d350f.css.br} +0 -0
- /codex/static_root/assets/{index-BHXJTQ4V.523d7b3d350f.css.gz → index-CL_6g4tJ.523d7b3d350f.css.gz} +0 -0
- /codex/static_root/assets/{index-BHXJTQ4V.css → index-CL_6g4tJ.css} +0 -0
- /codex/static_root/assets/{index-BHXJTQ4V.css.br → index-CL_6g4tJ.css.br} +0 -0
- /codex/static_root/assets/{index-BHXJTQ4V.css.gz → index-CL_6g4tJ.css.gz} +0 -0
- /codex/static_root/assets/{library-tab-CgsXOX_r.75baedb7e976.css → library-tab-Ce6qaeCV.75baedb7e976.css} +0 -0
- /codex/static_root/assets/{library-tab-CgsXOX_r.75baedb7e976.css.br → library-tab-Ce6qaeCV.75baedb7e976.css.br} +0 -0
- /codex/static_root/assets/{library-tab-CgsXOX_r.75baedb7e976.css.gz → library-tab-Ce6qaeCV.75baedb7e976.css.gz} +0 -0
- /codex/static_root/assets/{library-tab-CgsXOX_r.css → library-tab-Ce6qaeCV.css} +0 -0
- /codex/static_root/assets/{library-tab-CgsXOX_r.css.br → library-tab-Ce6qaeCV.css.br} +0 -0
- /codex/static_root/assets/{library-tab-CgsXOX_r.css.gz → library-tab-Ce6qaeCV.css.gz} +0 -0
- /codex/static_root/assets/{main-K8cER0IH.css → main-BZ73p_WW.css} +0 -0
- /codex/static_root/assets/{main-K8cER0IH.css.br → main-BZ73p_WW.css.br} +0 -0
- /codex/static_root/assets/{main-K8cER0IH.css.gz → main-BZ73p_WW.css.gz} +0 -0
- /codex/static_root/assets/{main-K8cER0IH.d529e8b3f52a.css → main-BZ73p_WW.d529e8b3f52a.css} +0 -0
- /codex/static_root/assets/{main-K8cER0IH.d529e8b3f52a.css.br → main-BZ73p_WW.d529e8b3f52a.css.br} +0 -0
- /codex/static_root/assets/{main-K8cER0IH.d529e8b3f52a.css.gz → main-BZ73p_WW.d529e8b3f52a.css.gz} +0 -0
- /codex/static_root/assets/{pagination-toolbar-D5VQREy5.css → pagination-toolbar-DSe0TkMm.css} +0 -0
- /codex/static_root/assets/{pagination-toolbar-D5VQREy5.css.br → pagination-toolbar-DSe0TkMm.css.br} +0 -0
- /codex/static_root/assets/{pagination-toolbar-D5VQREy5.css.gz → pagination-toolbar-DSe0TkMm.css.gz} +0 -0
- /codex/static_root/assets/{pagination-toolbar-D5VQREy5.dcb0eba65827.css → pagination-toolbar-DSe0TkMm.dcb0eba65827.css} +0 -0
- /codex/static_root/assets/{pagination-toolbar-D5VQREy5.dcb0eba65827.css.br → pagination-toolbar-DSe0TkMm.dcb0eba65827.css.br} +0 -0
- /codex/static_root/assets/{pagination-toolbar-D5VQREy5.dcb0eba65827.css.gz → pagination-toolbar-DSe0TkMm.dcb0eba65827.css.gz} +0 -0
- /codex/static_root/assets/{pdf-doc-B4cGW_Hl.b94aac7e3313.css → pdf-doc-CG5-AZ2M.b94aac7e3313.css} +0 -0
- /codex/static_root/assets/{pdf-doc-B4cGW_Hl.b94aac7e3313.css.br → pdf-doc-CG5-AZ2M.b94aac7e3313.css.br} +0 -0
- /codex/static_root/assets/{pdf-doc-B4cGW_Hl.b94aac7e3313.css.gz → pdf-doc-CG5-AZ2M.b94aac7e3313.css.gz} +0 -0
- /codex/static_root/assets/{pdf-doc-B4cGW_Hl.css → pdf-doc-CG5-AZ2M.css} +0 -0
- /codex/static_root/assets/{pdf-doc-B4cGW_Hl.css.br → pdf-doc-CG5-AZ2M.css.br} +0 -0
- /codex/static_root/assets/{pdf-doc-B4cGW_Hl.css.gz → pdf-doc-CG5-AZ2M.css.gz} +0 -0
- /codex/static_root/assets/{reader-D_3ruSqa.2ed32f08e906.css → reader-B3hgta6g.2ed32f08e906.css} +0 -0
- /codex/static_root/assets/{reader-D_3ruSqa.2ed32f08e906.css.br → reader-B3hgta6g.2ed32f08e906.css.br} +0 -0
- /codex/static_root/assets/{reader-D_3ruSqa.2ed32f08e906.css.gz → reader-B3hgta6g.2ed32f08e906.css.gz} +0 -0
- /codex/static_root/assets/{reader-D_3ruSqa.css → reader-B3hgta6g.css} +0 -0
- /codex/static_root/assets/{reader-D_3ruSqa.css.br → reader-B3hgta6g.css.br} +0 -0
- /codex/static_root/assets/{reader-D_3ruSqa.css.gz → reader-B3hgta6g.css.gz} +0 -0
- /codex/static_root/assets/{relation-chips-DpbzrZxT.01269a188e01.css → relation-chips-ByfWwuQc.01269a188e01.css} +0 -0
- /codex/static_root/assets/{relation-chips-DpbzrZxT.01269a188e01.css.br → relation-chips-ByfWwuQc.01269a188e01.css.br} +0 -0
- /codex/static_root/assets/{relation-chips-DpbzrZxT.01269a188e01.css.gz → relation-chips-ByfWwuQc.01269a188e01.css.gz} +0 -0
- /codex/static_root/assets/{relation-chips-DpbzrZxT.css → relation-chips-ByfWwuQc.css} +0 -0
- /codex/static_root/assets/{relation-chips-DpbzrZxT.css.br → relation-chips-ByfWwuQc.css.br} +0 -0
- /codex/static_root/assets/{relation-chips-DpbzrZxT.css.gz → relation-chips-ByfWwuQc.css.gz} +0 -0
- /codex/static_root/assets/{settings-drawer-DMSsWF8c.75a6ea969e71.css → settings-drawer-CqJ4gXLq.75a6ea969e71.css} +0 -0
- /codex/static_root/assets/{settings-drawer-DMSsWF8c.75a6ea969e71.css.br → settings-drawer-CqJ4gXLq.75a6ea969e71.css.br} +0 -0
- /codex/static_root/assets/{settings-drawer-DMSsWF8c.75a6ea969e71.css.gz → settings-drawer-CqJ4gXLq.75a6ea969e71.css.gz} +0 -0
- /codex/static_root/assets/{settings-drawer-DMSsWF8c.css → settings-drawer-CqJ4gXLq.css} +0 -0
- /codex/static_root/assets/{settings-drawer-DMSsWF8c.css.br → settings-drawer-CqJ4gXLq.css.br} +0 -0
- /codex/static_root/assets/{settings-drawer-DMSsWF8c.css.gz → settings-drawer-CqJ4gXLq.css.gz} +0 -0
- /codex/static_root/assets/{stats-tab-WvF2acoZ.9fdb0106124d.css → stats-tab-BlXGStge.9fdb0106124d.css} +0 -0
- /codex/static_root/assets/{stats-tab-WvF2acoZ.9fdb0106124d.css.br → stats-tab-BlXGStge.9fdb0106124d.css.br} +0 -0
- /codex/static_root/assets/{stats-tab-WvF2acoZ.9fdb0106124d.css.gz → stats-tab-BlXGStge.9fdb0106124d.css.gz} +0 -0
- /codex/static_root/assets/{stats-tab-WvF2acoZ.css → stats-tab-BlXGStge.css} +0 -0
- /codex/static_root/assets/{stats-tab-WvF2acoZ.css.br → stats-tab-BlXGStge.css.br} +0 -0
- /codex/static_root/assets/{stats-tab-WvF2acoZ.css.gz → stats-tab-BlXGStge.css.gz} +0 -0
- /codex/static_root/assets/{task-tab-DfdUY9Rc.478e74041f80.css → task-tab-EGlhcKTH.478e74041f80.css} +0 -0
- /codex/static_root/assets/{task-tab-DfdUY9Rc.478e74041f80.css.br → task-tab-EGlhcKTH.478e74041f80.css.br} +0 -0
- /codex/static_root/assets/{task-tab-DfdUY9Rc.478e74041f80.css.gz → task-tab-EGlhcKTH.478e74041f80.css.gz} +0 -0
- /codex/static_root/assets/{task-tab-DfdUY9Rc.css → task-tab-EGlhcKTH.css} +0 -0
- /codex/static_root/assets/{task-tab-DfdUY9Rc.css.br → task-tab-EGlhcKTH.css.br} +0 -0
- /codex/static_root/assets/{task-tab-DfdUY9Rc.css.gz → task-tab-EGlhcKTH.css.gz} +0 -0
- /codex/static_root/assets/{unauthorized-CsSak07X.c5536d9dae75.css → unauthorized-VnIXUO1w.c5536d9dae75.css} +0 -0
- /codex/static_root/assets/{unauthorized-CsSak07X.c5536d9dae75.css.br → unauthorized-VnIXUO1w.c5536d9dae75.css.br} +0 -0
- /codex/static_root/assets/{unauthorized-CsSak07X.c5536d9dae75.css.gz → unauthorized-VnIXUO1w.c5536d9dae75.css.gz} +0 -0
- /codex/static_root/assets/{unauthorized-CsSak07X.css → unauthorized-VnIXUO1w.css} +0 -0
- /codex/static_root/assets/{unauthorized-CsSak07X.css.br → unauthorized-VnIXUO1w.css.br} +0 -0
- /codex/static_root/assets/{unauthorized-CsSak07X.css.gz → unauthorized-VnIXUO1w.css.gz} +0 -0
- {codex-1.7.3.dist-info → codex-1.7.3a1.dist-info}/LICENSE +0 -0
- {codex-1.7.3.dist-info → codex-1.7.3a1.dist-info}/entry_points.txt +0 -0
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{reader-hHIonVbA.4c12219242a9.js → reader-DIjUh67D.061a8b501e35.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-
|
|
2
|
-
import{C as P,am as c,E as v,A as b,_ as k,k as u,l,v as g,w as d,a as r,s as _,z as w,x as C,H as S,n as f,ab as J,F as y,an as _e,ao as Pe,m as F,ap as Q,aq as ee,ar as Se,G as te,as as oe,at as ae,au as we,av as x,aj as ye,S as B,a5 as Ce,aw as se,y as D,h as re,q as h,ax as Re,ay as Be,az as Te,B as ne,aA as De,aB as Ie,aC as Le,aD as $e,aE as Oe,Y as Ve,aF as xe,Z as Ae,ac as Ee,D as I,aG as Ne,aH as Fe,aI as Ue,aJ as ze,O as Me,P as We,Q as He,R as qe,aK as Ke,aL as je,M as U,aM as ie,V as Ge,aN as Ye}from"./main-DCaPxp2h.js";import{k as R,I as Ze,V as le}from"./forwardRefs-D1ZDjzWx.js";import{V as Xe,a as Je,S as Qe}from"./settings-drawer-CdFmOhnd.js";import{P as et,E as ce,A as tt,V as ot,a as at,U as st,c as rt}from"./unauthorized-DJSr03Dw.js";import{b as de,V as ue}from"./VWindowItem-Bl-fa3ss.js";import{b as nt}from"./VSelect-L4v_m3ag.js";import{C as M,a as it}from"./VDialog-CQXjBvDZ.js";import{D as lt,T as ct,M as dt,V as A,a as ut,P as pe,b as pt,c as ht}from"./pagination-toolbar-DoqxSygU.js";import{V as gt,a as mt,b as kt,c as bt}from"./VExpansionPanels-BaYzHUJp.js";import{d as ft,V as vt,e as _t}from"./VSelectionControl-BqB1JeKa.js";import{V as E,a as N}from"./VRadioGroup-DOjw38qB.js";import{V as L}from"./VCheckbox-Dv6fwaDb.js";import{T as W}from"./index-CoFXW6I0.js";import{a as z}from"./VDivider-DUxQu-IZ.js";function he(e,t){const{self:a=!1}=t.modifiers??{},p=t.value,n=typeof p=="object"&&p.options||{passive:!0},o=typeof p=="function"||"handleEvent"in p?p:p.handler,i=a?e:t.arg?document.querySelector(t.arg):window;i&&(i.addEventListener("scroll",o,n),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:n,target:a?void 0:i})}function ge(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:p,target:n=e}=e._onScroll[t.instance.$.uid];n.removeEventListener("scroll",a,p),delete e._onScroll[t.instance.$.uid]}function Pt(e,t){t.value!==t.oldValue&&(ge(e,t),he(e,t))}const St={mounted:he,unmounted:ge,updated:Pt},wt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(c,["isBTT"]),...v(c,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...b(c,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function yt(e,t,a,p,n,o){const i=u("router-link");return o.show?(l(),g(Xe,{key:0,class:C(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:d(()=>[r(i,{class:C({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},{default:d(()=>[r(R,{class:"bookChangeIcon"},{default:d(()=>[_(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Ct=k(wt,[["render",yt],["__scopeId","data-v-bd4115bf"]]),Rt={name:"BookChangeActivator",components:{BookChangeDrawer:Ct},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:{...b(c,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function Bt(e,t,a,p,n,o){const i=u("BookChangeDrawer");return l(),f(y,null,[o.show?(l(),f("div",{key:0,class:C(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=J(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),r(i,{direction:a.direction},null,8,["direction"])],64)}const Tt=k(Rt,[["render",Bt],["__scopeId","data-v-67df236c"]]),Dt={name:"LoadingPage",components:{Placeholder:et},props:{twoPages:{type:Boolean,required:!0}}};function It(e,t,a,p,n,o){const i=u("Placeholder");return l(),f("div",{class:C(["pageLoading",{twoPages:a.twoPages}])},[r(i,{class:"pagePlaceholder"})],2)}const Lt=k(Dt,[["render",It],["__scopeId","data-v-04027168"]]),H="unauthorized",$t={name:"ErrorPage",components:{EmptyState:ce},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===H?"Protected page":"Failed to load page"},icon(){return this.type===H?_e:Pe}},methods:{onAction(e){this.$emit("retry",e)}}};function Ot(e,t,a,p,n,o){const i=u("EmptyState");return l(),g(i,{class:C(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Vt=k($t,[["render",Ot],["__scopeId","data-v-97fa48e8"]]),xt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...b(c,["getBookSettings"])}},At=["src"];function Et(e,t,a,p,n,o){return l(),f("img",F({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=i=>e.$emit("error",i)),onLoad:t[1]||(t[1]=i=>e.$emit("load",i))}),null,16,At)}const q=k(xt,[["render",Et],["__scopeId","data-v-f0601a0d"]]),K=Q(ee(()=>ae(()=>import("./pdf-doc-BwxvAx1z.js"),__vite__mapDeps([0,1,2,3])))),Nt=333,Ft={name:"BookPage",components:{ErrorPage:Vt,LoadingPage:Lt,PDFDoc:K,ImgPage:q},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...v(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Se(t)},component(){return this.book.fileType==="PDF"?K:q}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Nt)},methods:{onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},Ut=["id","data-page"];function zt(e,t,a,p,n,o){const i=u("ErrorPage"),s=u("LoadingPage");return l(),f("div",{id:`page${a.page}`,key:n.ts,"data-page":a.page,class:"page",style:oe(o.style)},[n.error?(l(),g(i,{key:0,"two-pages":e.settings.twoPages,type:n.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):n.showProgress&&!n.loaded?(l(),g(s,{key:1,"two-pages":e.settings.twoPages},null,8,["two-pages"])):(l(),g(te(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Ut)}const me=k(Ft,[["render",zt],["__scopeId","data-v-ea178cb3"]]),Mt=.5,Wt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:we}},computed:{...v(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=x},style(){return{cursor:this.scale==x?"zoom-in":"all-scroll"}}},methods:{...b(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Mt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:x})}}};function Ht(e,t,a,p,n,o){const i=ye("drag-scroller");return B((l(),f("div",{class:"scaleForScroll",style:oe(o.style),onDblclick:t[0]||(t[0]=(...s)=>o.onDoubleClick&&o.onDoubleClick(...s))},[Ce(e.$slots,"default",{},void 0,!0),o.showReset?(l(),g(R,{key:0,class:"resetIcon",onClick:J(o.scaleReset,["stop"])},{default:d(()=>[_(w(n.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[i,,void 0,{onlyX:!0}]])}const ke=k(Wt,[["render",Ht],["__scopeId","data-v-a222c504"]]),qt={name:"HorizontalPages",components:{BookPage:me,ScaleForScroll:ke},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:{...b(c,["getBookSettings","isCoverPage"])}};function Kt(e,t,a,p,n,o){const i=u("BookPage"),s=u("ScaleForScroll");return l(),g(s,{class:"noWrap"},{default:d(()=>[o.showPageOne?(l(),g(i,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(l(),g(i,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const jt=k(qt,[["render",Kt],["__scopeId","data-v-ce77a1b1"]]),Gt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(c,["isFirstPage","isLastPage"]),...v(c,{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:{...b(c,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Yt(e,t,a,p,n,o){const i=u("router-link");return o.show?(l(),g(i,{key:0,to:o.route,"aria-label":o.label,class:C(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Zt=k(Gt,[["render",Yt],["__scopeId","data-v-e7f427cd"]]),Xt=48,Jt=48,Qt={name:"PagerHorizontal",components:{HorizontalPages:jt,PageChangeLink:Zt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...v(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),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),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(c,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Xt,0),t=Math.min(this.activePage+Jt,this.book.maxPage);this.pages=se(e,t+1)}}};function eo(e,t,a,p,n,o){const i=u("PageChangeLink"),s=u("HorizontalPages");return l(),g(ue,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:d(()=>[r(i,{direction:"prev"})]),next:d(()=>[r(i,{direction:"next"})]),default:d(()=>[(l(!0),f(y,null,D(n.pages,m=>(l(),g(de,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:d(()=>[r(s,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const j=k(Qt,[["render",eo],["__scopeId","data-v-17343bd0"]]),G=250,to={name:"PagerVertical",components:{BookPage:me,ScaleForScroll:ke},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:{...v(c,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...re(c,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=se(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)},G)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(c,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const p=+t[0].target.dataset.page;this.setActivePage(p,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},G)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},oo=["data-page"];function ao(e,t,a,p,n,o){const i=u("BookPage"),s=u("ScaleForScroll");return l(),g(s,null,{default:d(()=>[B((l(),g(nt,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:n.innerHeight,width:n.innerWidth},{default:d(({item:m})=>[r(i,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),B(h("div",{class:C(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,oo),[[Ze,n.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[St,o.onScroll,"#verticalScroll"]])]),_:1})}const Y=k(to,[["render",ao],["__scopeId","data-v-17541277"]]),Z=Q(ee(()=>ae(()=>import("./pager-full-pdf-CwmA9y3l.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])))),so={name:"PagerSelector",components:{PagerHorizontal:j,PagerPDF:Z,PagerVertical:Y},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(c,["cacheBook"]),...v(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),isActiveBook(){var e;return this.book&&this.storePk===((e=this.book)==null?void 0:e.pk)},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){var e;return((e=this.book)==null?void 0:e.fileType)=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=Z:this.bookSettings.isVertical?e=Y:e=j,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:{...b(c,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function ro(e,t,a,p,n,o){return l(),g(te(o.component),{book:a.book},null,8,["book"])}const no=k(so,[["render",ro]]),io={name:"BooksWindow",components:{BookChangeActivator:Tt,Pager:no},computed:{...P(c,["isBTT"]),...v(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books}),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:{...b(c,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function lo(e,t,a,p,n,o){const i=u("BookChangeActivator"),s=u("Pager");return l(),g(ue,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:d(()=>[r(i,{direction:"prev"})]),next:d(()=>[r(i,{direction:"next"})]),default:d(()=>[(l(!0),f(y,null,D(e.books,m=>(l(),g(de,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:d(()=>[r(s,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const co=k(io,[["render",lo],["__scopeId","data-v-36f4263b"]]),uo={name:"DownloadPanel",components:{CodexListItem:M,DownloadButton:lt},data(){return{mdiDownload:Re,mdiFileImage:Be}},computed:{...P(c,["activeTitle","routeParams"]),...v(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},fileType:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.fileType},ts:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.mtime},pk:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk},downloadNames:e=>{var t,a;return[(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.filename]},storePage:e=>e.page}),downloadPks(){return[this.pk]},pageSrc(){const e={pk:this.pk,page:this.storePage,ts:this.ts};return Te(e)},pageName(){const e=this.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{...b(ne,["downloadIOSPWAFix"]),downloadPage(){De(this.pageSrc,this.pageName)}}},po={key:0,id:"downloadPanel"};function ho(e,t,a,p,n,o){const i=u("CodexListItem"),s=u("DownloadButton");return e.currentBook?(l(),f("div",po,[r(i,{"prepend-icon":n.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(s,{pks:o.downloadPks,children:1,names:e.downloadNames,ts:e.ts},null,8,["pks","names","ts"])])):S("",!0)}const go=k(uo,[["render",ho],["__scopeId","data-v-35ae04da"]]),mo={name:"KeyboardShortcutsTable",data(){return{mdiMenuLeft:Ie,mdiMenuRight:Le,mdiKeyboardSpace:$e,mdiAppleKeyboardShift:Oe}}},ko={class:"highlight-table"};function bo(e,t,a,p,n,o){return l(),f(y,null,[t[9]||(t[9]=h("h4",null,"Navigation",-1)),h("table",ko,[h("tbody",null,[h("tr",null,[h("td",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiMenuLeft),1)]),_:1}),t[0]||(t[0]=_(", j, ")),h("div",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiAppleKeyboardShift),1)]),_:1}),r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiKeyboardSpace),1)]),_:1})])]),t[1]||(t[1]=h("td",null,"Previous page",-1))]),h("tr",null,[h("td",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiMenuRight),1)]),_:1}),t[2]||(t[2]=_(", k, ")),r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiKeyboardSpace),1)]),_:1})]),t[3]||(t[3]=h("td",null,"Next page",-1))]),t[4]||(t[4]=h("tr",null,[h("td",null,","),h("td",null,[_("Next "),h("em",null,"only"),_(" one page in two page mode.")])],-1)),t[5]||(t[5]=h("tr",null,[h("td",null,"."),h("td",null,[_("Previous "),h("em",null,"only"),_(" one page in two page mode.")])],-1)),t[6]||(t[6]=h("tr",null,[h("td",null,"p"),h("td",null,"Previous Book")],-1)),t[7]||(t[7]=h("tr",null,[h("td",null,"n"),h("td",null,"Next Book")],-1)),t[8]||(t[8]=h("tr",null,[h("td",null,"esc"),h("td",null,"Close book")],-1))])]),t[10]||(t[10]=Ve('<h4 data-v-1624cd48>Fit Page To</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>s</td><td data-v-1624cd48>screen</td></tr><tr data-v-1624cd48><td data-v-1624cd48>h</td><td data-v-1624cd48>screen height</td></tr><tr data-v-1624cd48><td data-v-1624cd48>w</td><td data-v-1624cd48>screen width</td></tr><tr data-v-1624cd48><td data-v-1624cd48>o</td><td data-v-1624cd48>Show page at original size</td></tr><tr data-v-1624cd48><td data-v-1624cd48>2</td><td data-v-1624cd48>Toggle two page view</td></tr><tr data-v-1624cd48><td data-v-1624cd48>r</td><td data-v-1624cd48>Read Right to Left</td></tr><tr data-v-1624cd48><td data-v-1624cd48>l</td><td data-v-1624cd48>Read Left to Right</td></tr><tr data-v-1624cd48><td data-v-1624cd48>t</td><td data-v-1624cd48>Read Top to Bottom</td></tr><tr data-v-1624cd48><td data-v-1624cd48>b</td><td data-v-1624cd48>Read in Bottom to Top</td></tr></tbody></table><h4 data-v-1624cd48>Other</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>m</td><td data-v-1624cd48>Show comic's metadata</td></tr><tr data-v-1624cd48><td data-v-1624cd48>double click</td><td data-v-1624cd48>Zoom page</td></tr></tbody></table>',4))],64)}const fo=k(mo,[["render",bo],["__scopeId","data-v-1624cd48"]]),vo=/iP(?:ad|hone|od)|Android/,_o=vo.test(navigator.userAgent),Po=_o||window.orientation!==void 0,So={name:"KeyboardShortcutsPanel",components:{CodexListItem:M,KeyboardShortcutsTable:fo},data(){return{mdiKeyboardOutline:xe,IS_MOBILE:Po}}};function wo(e,t,a,p,n,o){const i=u("CodexListItem"),s=u("KeyboardShortcutsTable");return n.IS_MOBILE?S("",!0):(l(),g(bt,{key:0},{default:d(()=>[r(gt,{id:"readerKeyboardShortcuts"},{default:d(()=>[r(mt,{id:"shortcutsTitle"},{default:d(()=>[r(i,{id:"keyboardShortcutsItem","prepend-icon":n.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(kt,null,{default:d(()=>[r(s)]),_:1})]),_:1})]),_:1}))}const yo=k(So,[["render",wo],["__scopeId","data-v-8285795a"]]),be=["fitTo","readingDirection","twoPages"];Object.freeze(be);const Co={name:"ReaderSettingsPanel",components:{CodexListItem:M},data(){return{isGlobalScope:!1,mdiOpenInNew:Ae,mdiEye:Ee,openDelay:2e3,scopeItems:[{title:"Only this comic",value:!1},{title:"Default for all comics",value:!0}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["isVertical","isPDF","cacheBook"]),...v(c,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const p of be){const n=(a=e.books)==null?void 0:a.current.settings[p];if(!e.choices.nullValues.has(n))return!1}return!0},pdfInBrowserURL(e){var t,a;return this.isPDF&&((t=e.books)!=null&&t.current)?Ne((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...re(c,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){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)}}},Ro={id:"readerScopedSettings",class:"readerCodexListItem"};function Bo(e,t,a,p,n,o){const i=u("CodexListItem");return l(),f(y,null,[t[8]||(t[8]=h("h4",{class:"readerSettingsHeader"},"Comic Settings Scope",-1)),r(N,{modelValue:n.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>n.isGlobalScope=s),class:"scopeRadioGroup readerCodexListItem",density:"compact","hide-details":"auto"},{default:d(()=>[(l(!0),f(y,null,D(n.scopeItems,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),r(ft,null,{default:d(()=>[h("div",Ro,[r(N,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:d(()=>[(l(!0),f(y,null,D(o.fitToChoices,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(L,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),r(N,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:d(()=>[(l(!0),f(y,null,D(o.readingDirectionChoices,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n.isGlobalScope?S("",!0):B((l(),g(le,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:d(()=>t[7]||(t[7]=[_(" Clear Settings ")])),_:1},8,["disabled","onClick"])),[[W,{openDelay:n.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(z),t[9]||(t[9]=h("h4",{class:"readerSettingsHeader"},"Reader Settings",-1)),r(L,{class:"readerCodexListItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),r(L,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerCodexListItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),B(r(L,{"model-value":e.cacheBook,class:"readerCodexListItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[W,{openDelay:n.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(l(),g(i,{key:0,"prepend-icon":n.mdiEye,"append-icon":n.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):S("",!0)],64)}const To=k(Co,[["render",Bo],["__scopeId","data-v-a2e48764"]]),Do={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:go,ReaderKeyboardShortcutsPanel:yo,ReaderSettingsPanel:To}};function Io(e,t,a,p,n,o){const i=u("ReaderSettingsPanel"),s=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return l(),f(y,null,[r(i),r(z),r(s),r(z),r(m)],64)}const Lo=k(Do,[["render",Io]]),$o={name:"ReaderSettingsDrawer",components:{SettingsDrawer:Je,ReaderSettingsSuperPanel:Lo}};function Oo(e,t,a,p,n,o){const i=u("ReaderSettingsSuperPanel"),s=u("SettingsDrawer");return l(),g(s,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:d(()=>[r(i)]),_:1})}const Vo=k($o,[["render",Oo]]),X={a:ze,f:Me,p:We,i:He,s:qe,v:Ke},xo={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Ao={name:"ReaderArcSelect",components:{ToolbarSelect:ct},data(){return{mdiFilterOutline:Fe}},computed:{...v(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const p={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:xo[a.group],prependIcon:X[a.group]};t.push(p)}return t}})},methods:{...b(c,["loadBooks"]),arcIcon(e){return X[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?Ue:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Eo={id:"arcPos"};function No(e,t,a,p,n,o){const i=u("ToolbarSelect");return l(),g(i,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:d(({item:s,props:m})=>[r(it,F(m,{density:"compact",variant:"plain","prepend-icon":s.raw.prependIcon,subtitle:o.subtitle(s.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:d(({item:s,props:m})=>[r(R,F({size:"large"},m,{class:"arcSelectIcon"}),{default:d(()=>[_(w(o.arcIcon(s.raw.group)),1)]),_:2},1040),h("span",Eo,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Fo=k(Ao,[["render",No],["__scopeId","data-v-62bf79bd"]]),Uo={name:"ReaderTitleToolbar",components:{AppBanner:tt,MetadataDialog:dt,ReaderArcSelect:Fo,SettingsDrawerButton:Qe},data(){return{mdiClose:je,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["activeTitle","closeBookRoute"]),...v(c,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=U(this.closeBookRoute),t=U(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(ne,["setTimestamp"]),...b(c,["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}}}},zo={id:"readerTopToolbarHeader"},Mo={id:"title"},Wo={key:0,id:"subtitle"};function Ho(e,t,a,p,n,o){const i=u("AppBanner"),s=u("ReaderArcSelect"),m=u("MetadataDialog"),T=u("SettingsDrawerButton");return l(),g(vt,null,{default:d(()=>[B(h("header",zo,[r(i),r(at,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Ge({default:d(()=>[r(A,null,{default:d(()=>[r(le,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:d(()=>t[0]||(t[0]=[_(" close book ")])),_:1},8,["to","onClick"])]),_:1}),r(ut),e.empty?S("",!0):(l(),g(A,{key:0},{default:d(()=>[r(s),r(m,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),r(A,null,{default:d(()=>[r(T)]),_:1})]),_:2},[o.title?{name:"extension",fn:d(()=>[r(ot,{class:"readerTitle"},{default:d(()=>[h("div",Mo,w(o.title),1),e.subtitle?(l(),f("div",Wo,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])],512),[[ie,e.showToolbars]])]),_:1})}const fe=k(Uo,[["render",Ho],["__scopeId","data-v-cab0ef78"]]),qo={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:fe,EmptyState:ce},data(){return{mdiBookRemoveOutline:Ye}},methods:{...b(c,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function Ko(e,t,a,p,n,o){const i=u("ReaderTopToolbar"),s=u("EmptyState");return l(),f(y,null,[r(i),r(s,{headline:"Book Not Found",title:"Close the reader and find another book",icon:n.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const jo=k(qo,[["render",Ko]]),Go={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:pe},props:{direction:{type:String,required:!0}},computed:{...P(c,["isBTT"]),...v(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:U(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:{...b(c,["bookChangeIcon"])}};function Yo(e,t,a,p,n,o){const i=u("PaginationNavButton");return e.toRoute?(l(),g(i,{key:0,class:C(o.classes),icon:o.icon,variant:"plain",title:o.title,to:e.toRoute},null,8,["class","icon","title","to"])):S("",!0)}const Zo=k(Go,[["render",Yo],["__scopeId","data-v-0cead61e"]]),Xo={name:"ReaderNavButton",components:{PaginationNavButton:pe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(c,["isVertical"]),...v(c,{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:{...b(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function Jo(e,t,a,p,n,o){const i=u("PaginationNavButton");return l(),g(i,{key:e.isVertical,disabled:o.disabled,class:C(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:d(()=>[_(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const Qo=k(Xo,[["render",Jo],["__scopeId","data-v-530fba8c"]]),$="prev",O="next",ea={name:"ReaderNavToolbar",components:{PaginationSlider:pt,ReaderNavButton:Qo,PaginationToolbar:ht,ReaderBookChangeNavButton:Zo},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["activeSettings","isReadInReverse","isVertical"]),...v(c,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var a,p;return`${(p=(a=e.books)==null?void 0:a.current)==null?void 0:p.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(c,["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(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection($);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection($);break;case",":this.routeToDirectionOne($);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook($);break}}}};function ta(e,t,a,p,n,o){const i=u("ReaderBookChangeNavButton"),s=u("ReaderNavButton"),m=u("PaginationSlider"),T=u("PaginationToolbar");return l(),g(_t,null,{default:d(()=>[e.maxPage?B((l(),g(T,{key:0,id:"readerToolbarNav"},{default:d(()=>[r(i,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(s,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(l(),g(m,{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]=V=>o.onSliderUpdate(V))},null,8,["model-value","max","step","track-color","reverse"])),r(s,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(i,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ie,e.showToolbars]]):S("",!0)]),_:1})}const oa=k(ea,[["render",ta],["__scopeId","data-v-955ab3ce"]]),aa={name:"MainReader",components:{BooksWindow:co,ReaderEmpty:jo,ReaderNavToolbar:oa,ReaderTopToolbar:fe,ReaderSettingsDrawer:Vo,Unauthorized:st},data(){return{showToolbars:!1}},computed:{...P(I,["isAuthorized"]),...v(I,{user:e=>e.user}),...v(c,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{...b(c,["loadReaderSettings","reset"])}},sa={key:0},ra={id:"readerContainer"};function na(e,t,a,p,n,o){const i=u("ReaderTopToolbar"),s=u("BooksWindow"),m=u("ReaderNavToolbar"),T=u("ReaderEmpty"),V=u("ReaderSettingsDrawer"),ve=u("Unauthorized");return e.isAuthorized?(l(),g(rt,{key:0,id:"readerWrapper"},{default:d(()=>[e.empty?(l(),g(T,{key:1})):(l(),f("div",sa,[h("div",ra,[r(i),r(s),r(m)])])),r(V)]),_:1})):(l(),g(ve,{key:1}))}const ia=k(aa,[["render",na],["__scopeId","data-v-4f31abfa"]]),Sa=Object.freeze(Object.defineProperty({__proto__:null,default:ia},Symbol.toStringTag,{value:"Module"}));export{Zt as P,ke as S,Sa as r};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-DjtoQWxA.js","assets/main-DTplblFl.js","assets/main-BZ73p_WW.css","assets/pdf-doc-CG5-AZ2M.css","assets/pager-full-pdf-JIU1UvrN.js","assets/forwardRefs-hLICxMEm.js","assets/forwardRefs-zKOZsbbr.css","assets/settings-drawer-DWa5PBWW.js","assets/unauthorized-Cblht_KD.js","assets/VDialog-CvyPs47z.js","assets/VDialog-Dyd05WHA.css","assets/change-password-dialog-DB0tGBYA.js","assets/VForm-B4doHkrL.js","assets/VSelectionControl-BJm6ORIw.js","assets/VSelectionControl-DLxcLoTI.css","assets/VForm-v1Gmu6E1.css","assets/admin-BYCwfr2h.js","assets/change-password-dialog-C_EOKOn9.css","assets/unauthorized-VnIXUO1w.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/VDivider-DxA4gr8D.js","assets/VDivider-DE8MJPGz.css","assets/settings-drawer-CqJ4gXLq.css","assets/VWindowItem-C1nqmRqv.js","assets/VWindowItem-ByIod57Y.css","assets/VSelect-DtYhH7Mk.js","assets/VCheckboxBtn-DRCMElDO.js","assets/VSelect-8MFoaOUz.css","assets/pagination-toolbar-DHVJWGeE.js","assets/confirm-dialog-CUfR1UVh.js","assets/confirm-dialog-54rblwf7.css","assets/pagination-toolbar-DSe0TkMm.css","assets/VExpansionPanels-_Hd_Icpj.js","assets/VExpansionPanels-6G1AUajL.css","assets/VRadioGroup-DT7JWkoW.js","assets/VRadioGroup-i2qP9Wu9.css","assets/VCheckbox-BV02IXFk.js","assets/VCheckbox-CMKdyl0R.css","assets/index-DtVx0ej4.js","assets/index-CL_6g4tJ.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{C as P,am as c,E as v,A as b,_ as k,k as u,l,v as g,w as d,a as r,s as _,z as w,x as C,H as S,n as f,ab as J,F as y,an as _e,ao as Pe,m as F,ap as Q,aq as ee,ar as Se,G as te,as as oe,at as ae,au as we,av as x,aj as ye,S as B,a5 as Ce,aw as se,y as D,h as re,q as h,ax as Re,ay as Be,az as Te,B as ne,aA as De,aB as Ie,aC as Le,aD as $e,aE as Oe,Y as Ve,aF as xe,Z as Ae,ac as Ee,D as I,aG as Ne,aH as Fe,aI as Ue,aJ as ze,O as Me,P as We,Q as He,R as qe,aK as Ke,aL as je,M as U,aM as ie,V as Ge,aN as Ye}from"./main-DTplblFl.js";import{k as R,I as Ze,V as le}from"./forwardRefs-hLICxMEm.js";import{V as Xe,a as Je,S as Qe}from"./settings-drawer-DWa5PBWW.js";import{P as et,E as ce,A as tt,V as ot,a as at,U as st,c as rt}from"./unauthorized-Cblht_KD.js";import{b as de,V as ue}from"./VWindowItem-C1nqmRqv.js";import{b as nt}from"./VSelect-DtYhH7Mk.js";import{C as M,a as it}from"./VDialog-CvyPs47z.js";import{D as lt,T as ct,M as dt,V as A,a as ut,P as pe,b as pt,c as ht}from"./pagination-toolbar-DHVJWGeE.js";import{V as gt,a as mt,b as kt,c as bt}from"./VExpansionPanels-_Hd_Icpj.js";import{d as ft,V as vt,e as _t}from"./VSelectionControl-BJm6ORIw.js";import{V as E,a as N}from"./VRadioGroup-DT7JWkoW.js";import{V as L}from"./VCheckbox-BV02IXFk.js";import{T as W}from"./index-DtVx0ej4.js";import{a as z}from"./VDivider-DxA4gr8D.js";function he(e,t){const{self:a=!1}=t.modifiers??{},p=t.value,n=typeof p=="object"&&p.options||{passive:!0},o=typeof p=="function"||"handleEvent"in p?p:p.handler,i=a?e:t.arg?document.querySelector(t.arg):window;i&&(i.addEventListener("scroll",o,n),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:n,target:a?void 0:i})}function ge(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:p,target:n=e}=e._onScroll[t.instance.$.uid];n.removeEventListener("scroll",a,p),delete e._onScroll[t.instance.$.uid]}function Pt(e,t){t.value!==t.oldValue&&(ge(e,t),he(e,t))}const St={mounted:he,unmounted:ge,updated:Pt},wt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(c,["isBTT"]),...v(c,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...b(c,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function yt(e,t,a,p,n,o){const i=u("router-link");return o.show?(l(),g(Xe,{key:0,class:C(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:d(()=>[r(i,{class:C({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},{default:d(()=>[r(R,{class:"bookChangeIcon"},{default:d(()=>[_(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Ct=k(wt,[["render",yt],["__scopeId","data-v-bd4115bf"]]),Rt={name:"BookChangeActivator",components:{BookChangeDrawer:Ct},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:{...b(c,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function Bt(e,t,a,p,n,o){const i=u("BookChangeDrawer");return l(),f(y,null,[o.show?(l(),f("div",{key:0,class:C(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=J(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),r(i,{direction:a.direction},null,8,["direction"])],64)}const Tt=k(Rt,[["render",Bt],["__scopeId","data-v-67df236c"]]),Dt={name:"LoadingPage",components:{Placeholder:et},props:{twoPages:{type:Boolean,required:!0}}};function It(e,t,a,p,n,o){const i=u("Placeholder");return l(),f("div",{class:C(["pageLoading",{twoPages:a.twoPages}])},[r(i,{class:"pagePlaceholder"})],2)}const Lt=k(Dt,[["render",It],["__scopeId","data-v-04027168"]]),H="unauthorized",$t={name:"ErrorPage",components:{EmptyState:ce},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===H?"Protected page":"Failed to load page"},icon(){return this.type===H?_e:Pe}},methods:{onAction(e){this.$emit("retry",e)}}};function Ot(e,t,a,p,n,o){const i=u("EmptyState");return l(),g(i,{class:C(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Vt=k($t,[["render",Ot],["__scopeId","data-v-97fa48e8"]]),xt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...b(c,["getBookSettings"])}},At=["src"];function Et(e,t,a,p,n,o){return l(),f("img",F({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=i=>e.$emit("error",i)),onLoad:t[1]||(t[1]=i=>e.$emit("load",i))}),null,16,At)}const q=k(xt,[["render",Et],["__scopeId","data-v-f0601a0d"]]),K=Q(ee(()=>ae(()=>import("./pdf-doc-DjtoQWxA.js"),__vite__mapDeps([0,1,2,3])))),Nt=333,Ft={name:"BookPage",components:{ErrorPage:Vt,LoadingPage:Lt,PDFDoc:K,ImgPage:q},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...v(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Se(t)},component(){return this.book.fileType==="PDF"?K:q}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Nt)},methods:{onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},Ut=["id","data-page"];function zt(e,t,a,p,n,o){const i=u("ErrorPage"),s=u("LoadingPage");return l(),f("div",{id:`page${a.page}`,key:n.ts,"data-page":a.page,class:"page",style:oe(o.style)},[n.error?(l(),g(i,{key:0,"two-pages":e.settings.twoPages,type:n.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):n.showProgress&&!n.loaded?(l(),g(s,{key:1,"two-pages":e.settings.twoPages},null,8,["two-pages"])):(l(),g(te(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Ut)}const me=k(Ft,[["render",zt],["__scopeId","data-v-ea178cb3"]]),Mt=.5,Wt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:we}},computed:{...v(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=x},style(){return{cursor:this.scale==x?"zoom-in":"all-scroll"}}},methods:{...b(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Mt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:x})}}};function Ht(e,t,a,p,n,o){const i=ye("drag-scroller");return B((l(),f("div",{class:"scaleForScroll",style:oe(o.style),onDblclick:t[0]||(t[0]=(...s)=>o.onDoubleClick&&o.onDoubleClick(...s))},[Ce(e.$slots,"default",{},void 0,!0),o.showReset?(l(),g(R,{key:0,class:"resetIcon",onClick:J(o.scaleReset,["stop"])},{default:d(()=>[_(w(n.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[i,,void 0,{onlyX:!0}]])}const ke=k(Wt,[["render",Ht],["__scopeId","data-v-a222c504"]]),qt={name:"HorizontalPages",components:{BookPage:me,ScaleForScroll:ke},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:{...b(c,["getBookSettings","isCoverPage"])}};function Kt(e,t,a,p,n,o){const i=u("BookPage"),s=u("ScaleForScroll");return l(),g(s,{class:"noWrap"},{default:d(()=>[o.showPageOne?(l(),g(i,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(l(),g(i,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const jt=k(qt,[["render",Kt],["__scopeId","data-v-ce77a1b1"]]),Gt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(c,["isFirstPage","isLastPage"]),...v(c,{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:{...b(c,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Yt(e,t,a,p,n,o){const i=u("router-link");return o.show?(l(),g(i,{key:0,to:o.route,"aria-label":o.label,class:C(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Zt=k(Gt,[["render",Yt],["__scopeId","data-v-e7f427cd"]]),Xt=48,Jt=48,Qt={name:"PagerHorizontal",components:{HorizontalPages:jt,PageChangeLink:Zt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...v(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),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),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(c,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Xt,0),t=Math.min(this.activePage+Jt,this.book.maxPage);this.pages=se(e,t+1)}}};function eo(e,t,a,p,n,o){const i=u("PageChangeLink"),s=u("HorizontalPages");return l(),g(ue,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:d(()=>[r(i,{direction:"prev"})]),next:d(()=>[r(i,{direction:"next"})]),default:d(()=>[(l(!0),f(y,null,D(n.pages,m=>(l(),g(de,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:d(()=>[r(s,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const j=k(Qt,[["render",eo],["__scopeId","data-v-17343bd0"]]),G=250,to={name:"PagerVertical",components:{BookPage:me,ScaleForScroll:ke},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:{...v(c,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...re(c,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=se(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)},G)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(c,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const p=+t[0].target.dataset.page;this.setActivePage(p,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},G)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},oo=["data-page"];function ao(e,t,a,p,n,o){const i=u("BookPage"),s=u("ScaleForScroll");return l(),g(s,null,{default:d(()=>[B((l(),g(nt,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:n.innerHeight,width:n.innerWidth},{default:d(({item:m})=>[r(i,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),B(h("div",{class:C(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,oo),[[Ze,n.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[St,o.onScroll,"#verticalScroll"]])]),_:1})}const Y=k(to,[["render",ao],["__scopeId","data-v-17541277"]]),Z=Q(ee(()=>ae(()=>import("./pager-full-pdf-JIU1UvrN.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])))),so={name:"PagerSelector",components:{PagerHorizontal:j,PagerPDF:Z,PagerVertical:Y},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(c,["cacheBook"]),...v(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),isActiveBook(){var e;return this.book&&this.storePk===((e=this.book)==null?void 0:e.pk)},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){var e;return((e=this.book)==null?void 0:e.fileType)=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=Z:this.bookSettings.isVertical?e=Y:e=j,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:{...b(c,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function ro(e,t,a,p,n,o){return l(),g(te(o.component),{book:a.book},null,8,["book"])}const no=k(so,[["render",ro]]),io={name:"BooksWindow",components:{BookChangeActivator:Tt,Pager:no},computed:{...P(c,["isBTT"]),...v(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books}),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:{...b(c,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function lo(e,t,a,p,n,o){const i=u("BookChangeActivator"),s=u("Pager");return l(),g(ue,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:d(()=>[r(i,{direction:"prev"})]),next:d(()=>[r(i,{direction:"next"})]),default:d(()=>[(l(!0),f(y,null,D(e.books,m=>(l(),g(de,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:d(()=>[r(s,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const co=k(io,[["render",lo],["__scopeId","data-v-36f4263b"]]),uo={name:"DownloadPanel",components:{CodexListItem:M,DownloadButton:lt},data(){return{mdiDownload:Re,mdiFileImage:Be}},computed:{...P(c,["activeTitle","routeParams"]),...v(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},fileType:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.fileType},ts:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.mtime},pk:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk},downloadNames:e=>{var t,a;return[(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.filename]},storePage:e=>e.page}),downloadPks(){return[this.pk]},pageSrc(){const e={pk:this.pk,page:this.storePage,ts:this.ts};return Te(e)},pageName(){const e=this.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{...b(ne,["downloadIOSPWAFix"]),downloadPage(){De(this.pageSrc,this.pageName)}}},po={key:0,id:"downloadPanel"};function ho(e,t,a,p,n,o){const i=u("CodexListItem"),s=u("DownloadButton");return e.currentBook?(l(),f("div",po,[r(i,{"prepend-icon":n.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(s,{pks:o.downloadPks,children:1,names:e.downloadNames,ts:e.ts},null,8,["pks","names","ts"])])):S("",!0)}const go=k(uo,[["render",ho],["__scopeId","data-v-35ae04da"]]),mo={name:"KeyboardShortcutsTable",data(){return{mdiMenuLeft:Ie,mdiMenuRight:Le,mdiKeyboardSpace:$e,mdiAppleKeyboardShift:Oe}}},ko={class:"highlight-table"};function bo(e,t,a,p,n,o){return l(),f(y,null,[t[9]||(t[9]=h("h4",null,"Navigation",-1)),h("table",ko,[h("tbody",null,[h("tr",null,[h("td",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiMenuLeft),1)]),_:1}),t[0]||(t[0]=_(", j, ")),h("div",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiAppleKeyboardShift),1)]),_:1}),r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiKeyboardSpace),1)]),_:1})])]),t[1]||(t[1]=h("td",null,"Previous page",-1))]),h("tr",null,[h("td",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiMenuRight),1)]),_:1}),t[2]||(t[2]=_(", k, ")),r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiKeyboardSpace),1)]),_:1})]),t[3]||(t[3]=h("td",null,"Next page",-1))]),t[4]||(t[4]=h("tr",null,[h("td",null,","),h("td",null,[_("Next "),h("em",null,"only"),_(" one page in two page mode.")])],-1)),t[5]||(t[5]=h("tr",null,[h("td",null,"."),h("td",null,[_("Previous "),h("em",null,"only"),_(" one page in two page mode.")])],-1)),t[6]||(t[6]=h("tr",null,[h("td",null,"p"),h("td",null,"Previous Book")],-1)),t[7]||(t[7]=h("tr",null,[h("td",null,"n"),h("td",null,"Next Book")],-1)),t[8]||(t[8]=h("tr",null,[h("td",null,"esc"),h("td",null,"Close book")],-1))])]),t[10]||(t[10]=Ve('<h4 data-v-1624cd48>Fit Page To</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>s</td><td data-v-1624cd48>screen</td></tr><tr data-v-1624cd48><td data-v-1624cd48>h</td><td data-v-1624cd48>screen height</td></tr><tr data-v-1624cd48><td data-v-1624cd48>w</td><td data-v-1624cd48>screen width</td></tr><tr data-v-1624cd48><td data-v-1624cd48>o</td><td data-v-1624cd48>Show page at original size</td></tr><tr data-v-1624cd48><td data-v-1624cd48>2</td><td data-v-1624cd48>Toggle two page view</td></tr><tr data-v-1624cd48><td data-v-1624cd48>r</td><td data-v-1624cd48>Read Right to Left</td></tr><tr data-v-1624cd48><td data-v-1624cd48>l</td><td data-v-1624cd48>Read Left to Right</td></tr><tr data-v-1624cd48><td data-v-1624cd48>t</td><td data-v-1624cd48>Read Top to Bottom</td></tr><tr data-v-1624cd48><td data-v-1624cd48>b</td><td data-v-1624cd48>Read in Bottom to Top</td></tr></tbody></table><h4 data-v-1624cd48>Other</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>m</td><td data-v-1624cd48>Show comic's metadata</td></tr><tr data-v-1624cd48><td data-v-1624cd48>double click</td><td data-v-1624cd48>Zoom page</td></tr></tbody></table>',4))],64)}const fo=k(mo,[["render",bo],["__scopeId","data-v-1624cd48"]]),vo=/iP(?:ad|hone|od)|Android/,_o=vo.test(navigator.userAgent),Po=_o||window.orientation!==void 0,So={name:"KeyboardShortcutsPanel",components:{CodexListItem:M,KeyboardShortcutsTable:fo},data(){return{mdiKeyboardOutline:xe,IS_MOBILE:Po}}};function wo(e,t,a,p,n,o){const i=u("CodexListItem"),s=u("KeyboardShortcutsTable");return n.IS_MOBILE?S("",!0):(l(),g(bt,{key:0},{default:d(()=>[r(gt,{id:"readerKeyboardShortcuts"},{default:d(()=>[r(mt,{id:"shortcutsTitle"},{default:d(()=>[r(i,{id:"keyboardShortcutsItem","prepend-icon":n.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(kt,null,{default:d(()=>[r(s)]),_:1})]),_:1})]),_:1}))}const yo=k(So,[["render",wo],["__scopeId","data-v-8285795a"]]),be=["fitTo","readingDirection","twoPages"];Object.freeze(be);const Co={name:"ReaderSettingsPanel",components:{CodexListItem:M},data(){return{isGlobalScope:!1,mdiOpenInNew:Ae,mdiEye:Ee,openDelay:2e3,scopeItems:[{title:"Only this comic",value:!1},{title:"Default for all comics",value:!0}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["isVertical","isPDF","cacheBook"]),...v(c,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const p of be){const n=(a=e.books)==null?void 0:a.current.settings[p];if(!e.choices.nullValues.has(n))return!1}return!0},pdfInBrowserURL(e){var t,a;return this.isPDF&&((t=e.books)!=null&&t.current)?Ne((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...re(c,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){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)}}},Ro={id:"readerScopedSettings",class:"readerCodexListItem"};function Bo(e,t,a,p,n,o){const i=u("CodexListItem");return l(),f(y,null,[t[8]||(t[8]=h("h4",{class:"readerSettingsHeader"},"Comic Settings Scope",-1)),r(N,{modelValue:n.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>n.isGlobalScope=s),class:"scopeRadioGroup readerCodexListItem",density:"compact","hide-details":"auto"},{default:d(()=>[(l(!0),f(y,null,D(n.scopeItems,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),r(ft,null,{default:d(()=>[h("div",Ro,[r(N,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:d(()=>[(l(!0),f(y,null,D(o.fitToChoices,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(L,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),r(N,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:d(()=>[(l(!0),f(y,null,D(o.readingDirectionChoices,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n.isGlobalScope?S("",!0):B((l(),g(le,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:d(()=>t[7]||(t[7]=[_(" Clear Settings ")])),_:1},8,["disabled","onClick"])),[[W,{openDelay:n.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(z),t[9]||(t[9]=h("h4",{class:"readerSettingsHeader"},"Reader Settings",-1)),r(L,{class:"readerCodexListItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),r(L,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerCodexListItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),B(r(L,{"model-value":e.cacheBook,class:"readerCodexListItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[W,{openDelay:n.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(l(),g(i,{key:0,"prepend-icon":n.mdiEye,"append-icon":n.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):S("",!0)],64)}const To=k(Co,[["render",Bo],["__scopeId","data-v-a2e48764"]]),Do={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:go,ReaderKeyboardShortcutsPanel:yo,ReaderSettingsPanel:To}};function Io(e,t,a,p,n,o){const i=u("ReaderSettingsPanel"),s=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return l(),f(y,null,[r(i),r(z),r(s),r(z),r(m)],64)}const Lo=k(Do,[["render",Io]]),$o={name:"ReaderSettingsDrawer",components:{SettingsDrawer:Je,ReaderSettingsSuperPanel:Lo}};function Oo(e,t,a,p,n,o){const i=u("ReaderSettingsSuperPanel"),s=u("SettingsDrawer");return l(),g(s,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:d(()=>[r(i)]),_:1})}const Vo=k($o,[["render",Oo]]),X={a:ze,f:Me,p:We,i:He,s:qe,v:Ke},xo={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Ao={name:"ReaderArcSelect",components:{ToolbarSelect:ct},data(){return{mdiFilterOutline:Fe}},computed:{...v(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const p={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:xo[a.group],prependIcon:X[a.group]};t.push(p)}return t}})},methods:{...b(c,["loadBooks"]),arcIcon(e){return X[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?Ue:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Eo={id:"arcPos"};function No(e,t,a,p,n,o){const i=u("ToolbarSelect");return l(),g(i,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:d(({item:s,props:m})=>[r(it,F(m,{density:"compact",variant:"plain","prepend-icon":s.raw.prependIcon,subtitle:o.subtitle(s.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:d(({item:s,props:m})=>[r(R,F({size:"large"},m,{class:"arcSelectIcon"}),{default:d(()=>[_(w(o.arcIcon(s.raw.group)),1)]),_:2},1040),h("span",Eo,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Fo=k(Ao,[["render",No],["__scopeId","data-v-62bf79bd"]]),Uo={name:"ReaderTitleToolbar",components:{AppBanner:tt,MetadataDialog:dt,ReaderArcSelect:Fo,SettingsDrawerButton:Qe},data(){return{mdiClose:je,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["activeTitle","closeBookRoute"]),...v(c,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=U(this.closeBookRoute),t=U(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(ne,["setTimestamp"]),...b(c,["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}}}},zo={id:"readerTopToolbarHeader"},Mo={id:"title"},Wo={key:0,id:"subtitle"};function Ho(e,t,a,p,n,o){const i=u("AppBanner"),s=u("ReaderArcSelect"),m=u("MetadataDialog"),T=u("SettingsDrawerButton");return l(),g(vt,null,{default:d(()=>[B(h("header",zo,[r(i),r(at,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Ge({default:d(()=>[r(A,null,{default:d(()=>[r(le,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:d(()=>t[0]||(t[0]=[_(" close book ")])),_:1},8,["to","onClick"])]),_:1}),r(ut),e.empty?S("",!0):(l(),g(A,{key:0},{default:d(()=>[r(s),r(m,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),r(A,null,{default:d(()=>[r(T)]),_:1})]),_:2},[o.title?{name:"extension",fn:d(()=>[r(ot,{class:"readerTitle"},{default:d(()=>[h("div",Mo,w(o.title),1),e.subtitle?(l(),f("div",Wo,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])],512),[[ie,e.showToolbars]])]),_:1})}const fe=k(Uo,[["render",Ho],["__scopeId","data-v-cab0ef78"]]),qo={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:fe,EmptyState:ce},data(){return{mdiBookRemoveOutline:Ye}},methods:{...b(c,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function Ko(e,t,a,p,n,o){const i=u("ReaderTopToolbar"),s=u("EmptyState");return l(),f(y,null,[r(i),r(s,{headline:"Book Not Found",title:"Close the reader and find another book",icon:n.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const jo=k(qo,[["render",Ko]]),Go={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:pe},props:{direction:{type:String,required:!0}},computed:{...P(c,["isBTT"]),...v(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:U(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:{...b(c,["bookChangeIcon"])}};function Yo(e,t,a,p,n,o){const i=u("PaginationNavButton");return e.toRoute?(l(),g(i,{key:0,class:C(o.classes),icon:o.icon,variant:"plain",title:o.title,to:e.toRoute},null,8,["class","icon","title","to"])):S("",!0)}const Zo=k(Go,[["render",Yo],["__scopeId","data-v-0cead61e"]]),Xo={name:"ReaderNavButton",components:{PaginationNavButton:pe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(c,["isVertical"]),...v(c,{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:{...b(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function Jo(e,t,a,p,n,o){const i=u("PaginationNavButton");return l(),g(i,{key:e.isVertical,disabled:o.disabled,class:C(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:d(()=>[_(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const Qo=k(Xo,[["render",Jo],["__scopeId","data-v-530fba8c"]]),$="prev",O="next",ea={name:"ReaderNavToolbar",components:{PaginationSlider:pt,ReaderNavButton:Qo,PaginationToolbar:ht,ReaderBookChangeNavButton:Zo},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["activeSettings","isReadInReverse","isVertical"]),...v(c,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var a,p;return`${(p=(a=e.books)==null?void 0:a.current)==null?void 0:p.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(c,["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(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection($);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection($);break;case",":this.routeToDirectionOne($);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook($);break}}}};function ta(e,t,a,p,n,o){const i=u("ReaderBookChangeNavButton"),s=u("ReaderNavButton"),m=u("PaginationSlider"),T=u("PaginationToolbar");return l(),g(_t,null,{default:d(()=>[e.maxPage?B((l(),g(T,{key:0,id:"readerToolbarNav"},{default:d(()=>[r(i,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(s,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(l(),g(m,{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]=V=>o.onSliderUpdate(V))},null,8,["model-value","max","step","track-color","reverse"])),r(s,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(i,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ie,e.showToolbars]]):S("",!0)]),_:1})}const oa=k(ea,[["render",ta],["__scopeId","data-v-955ab3ce"]]),aa={name:"MainReader",components:{BooksWindow:co,ReaderEmpty:jo,ReaderNavToolbar:oa,ReaderTopToolbar:fe,ReaderSettingsDrawer:Vo,Unauthorized:st},data(){return{showToolbars:!1}},computed:{...P(I,["isAuthorized"]),...v(I,{user:e=>e.user}),...v(c,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{...b(c,["loadReaderSettings","reset"])}},sa={key:0},ra={id:"readerContainer"};function na(e,t,a,p,n,o){const i=u("ReaderTopToolbar"),s=u("BooksWindow"),m=u("ReaderNavToolbar"),T=u("ReaderEmpty"),V=u("ReaderSettingsDrawer"),ve=u("Unauthorized");return e.isAuthorized?(l(),g(rt,{key:0,id:"readerWrapper"},{default:d(()=>[e.empty?(l(),g(T,{key:1})):(l(),f("div",sa,[h("div",ra,[r(i),r(s),r(m)])])),r(V)]),_:1})):(l(),g(ve,{key:1}))}const ia=k(aa,[["render",na],["__scopeId","data-v-4f31abfa"]]),Sa=Object.freeze(Object.defineProperty({__proto__:null,default:ia},Symbol.toStringTag,{value:"Module"}));export{Zt as P,ke as S,Sa 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{C as P,am as c,E as v,A as b,_ as k,k as u,l,v as g,w as d,a as r,s as _,z as w,x as C,H as S,n as f,ab as J,F as y,an as _e,ao as Pe,m as F,ap as Q,aq as ee,ar as Se,G as te,as as oe,at as ae,au as we,av as x,aj as ye,S as B,a5 as Ce,aw as se,y as D,h as re,q as h,ax as Re,ay as Be,az as Te,B as ne,aA as De,aB as Ie,aC as Le,aD as $e,aE as Oe,Y as Ve,aF as xe,Z as Ae,ac as Ee,D as I,aG as Ne,aH as Fe,aI as Ue,aJ as ze,O as Me,P as We,Q as He,R as qe,aK as Ke,aL as je,M as U,aM as ie,V as Ge,aN as Ye}from"./main-DCaPxp2h.js";import{k as R,I as Ze,V as le}from"./forwardRefs-D1ZDjzWx.js";import{V as Xe,a as Je,S as Qe}from"./settings-drawer-CdFmOhnd.js";import{P as et,E as ce,A as tt,V as ot,a as at,U as st,c as rt}from"./unauthorized-DJSr03Dw.js";import{b as de,V as ue}from"./VWindowItem-Bl-fa3ss.js";import{b as nt}from"./VSelect-L4v_m3ag.js";import{C as M,a as it}from"./VDialog-CQXjBvDZ.js";import{D as lt,T as ct,M as dt,V as A,a as ut,P as pe,b as pt,c as ht}from"./pagination-toolbar-DoqxSygU.js";import{V as gt,a as mt,b as kt,c as bt}from"./VExpansionPanels-BaYzHUJp.js";import{d as ft,V as vt,e as _t}from"./VSelectionControl-BqB1JeKa.js";import{V as E,a as N}from"./VRadioGroup-DOjw38qB.js";import{V as L}from"./VCheckbox-Dv6fwaDb.js";import{T as W}from"./index-CoFXW6I0.js";import{a as z}from"./VDivider-DUxQu-IZ.js";function he(e,t){const{self:a=!1}=t.modifiers??{},p=t.value,n=typeof p=="object"&&p.options||{passive:!0},o=typeof p=="function"||"handleEvent"in p?p:p.handler,i=a?e:t.arg?document.querySelector(t.arg):window;i&&(i.addEventListener("scroll",o,n),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:n,target:a?void 0:i})}function ge(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:p,target:n=e}=e._onScroll[t.instance.$.uid];n.removeEventListener("scroll",a,p),delete e._onScroll[t.instance.$.uid]}function Pt(e,t){t.value!==t.oldValue&&(ge(e,t),he(e,t))}const St={mounted:he,unmounted:ge,updated:Pt},wt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(c,["isBTT"]),...v(c,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...b(c,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function yt(e,t,a,p,n,o){const i=u("router-link");return o.show?(l(),g(Xe,{key:0,class:C(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:d(()=>[r(i,{class:C({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},{default:d(()=>[r(R,{class:"bookChangeIcon"},{default:d(()=>[_(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Ct=k(wt,[["render",yt],["__scopeId","data-v-bd4115bf"]]),Rt={name:"BookChangeActivator",components:{BookChangeDrawer:Ct},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:{...b(c,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function Bt(e,t,a,p,n,o){const i=u("BookChangeDrawer");return l(),f(y,null,[o.show?(l(),f("div",{key:0,class:C(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=J(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),r(i,{direction:a.direction},null,8,["direction"])],64)}const Tt=k(Rt,[["render",Bt],["__scopeId","data-v-67df236c"]]),Dt={name:"LoadingPage",components:{Placeholder:et},props:{twoPages:{type:Boolean,required:!0}}};function It(e,t,a,p,n,o){const i=u("Placeholder");return l(),f("div",{class:C(["pageLoading",{twoPages:a.twoPages}])},[r(i,{class:"pagePlaceholder"})],2)}const Lt=k(Dt,[["render",It],["__scopeId","data-v-04027168"]]),H="unauthorized",$t={name:"ErrorPage",components:{EmptyState:ce},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===H?"Protected page":"Failed to load page"},icon(){return this.type===H?_e:Pe}},methods:{onAction(e){this.$emit("retry",e)}}};function Ot(e,t,a,p,n,o){const i=u("EmptyState");return l(),g(i,{class:C(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Vt=k($t,[["render",Ot],["__scopeId","data-v-97fa48e8"]]),xt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...b(c,["getBookSettings"])}},At=["src"];function Et(e,t,a,p,n,o){return l(),f("img",F({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=i=>e.$emit("error",i)),onLoad:t[1]||(t[1]=i=>e.$emit("load",i))}),null,16,At)}const q=k(xt,[["render",Et],["__scopeId","data-v-f0601a0d"]]),K=Q(ee(()=>ae(()=>import("./pdf-doc-BwxvAx1z.js"),__vite__mapDeps([0,1,2,3])))),Nt=333,Ft={name:"BookPage",components:{ErrorPage:Vt,LoadingPage:Lt,PDFDoc:K,ImgPage:q},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...v(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Se(t)},component(){return this.book.fileType==="PDF"?K:q}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Nt)},methods:{onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},Ut=["id","data-page"];function zt(e,t,a,p,n,o){const i=u("ErrorPage"),s=u("LoadingPage");return l(),f("div",{id:`page${a.page}`,key:n.ts,"data-page":a.page,class:"page",style:oe(o.style)},[n.error?(l(),g(i,{key:0,"two-pages":e.settings.twoPages,type:n.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):n.showProgress&&!n.loaded?(l(),g(s,{key:1,"two-pages":e.settings.twoPages},null,8,["two-pages"])):(l(),g(te(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Ut)}const me=k(Ft,[["render",zt],["__scopeId","data-v-ea178cb3"]]),Mt=.5,Wt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:we}},computed:{...v(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=x},style(){return{cursor:this.scale==x?"zoom-in":"all-scroll"}}},methods:{...b(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Mt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:x})}}};function Ht(e,t,a,p,n,o){const i=ye("drag-scroller");return B((l(),f("div",{class:"scaleForScroll",style:oe(o.style),onDblclick:t[0]||(t[0]=(...s)=>o.onDoubleClick&&o.onDoubleClick(...s))},[Ce(e.$slots,"default",{},void 0,!0),o.showReset?(l(),g(R,{key:0,class:"resetIcon",onClick:J(o.scaleReset,["stop"])},{default:d(()=>[_(w(n.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[i,,void 0,{onlyX:!0}]])}const ke=k(Wt,[["render",Ht],["__scopeId","data-v-a222c504"]]),qt={name:"HorizontalPages",components:{BookPage:me,ScaleForScroll:ke},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:{...b(c,["getBookSettings","isCoverPage"])}};function Kt(e,t,a,p,n,o){const i=u("BookPage"),s=u("ScaleForScroll");return l(),g(s,{class:"noWrap"},{default:d(()=>[o.showPageOne?(l(),g(i,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(l(),g(i,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const jt=k(qt,[["render",Kt],["__scopeId","data-v-ce77a1b1"]]),Gt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(c,["isFirstPage","isLastPage"]),...v(c,{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:{...b(c,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Yt(e,t,a,p,n,o){const i=u("router-link");return o.show?(l(),g(i,{key:0,to:o.route,"aria-label":o.label,class:C(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Zt=k(Gt,[["render",Yt],["__scopeId","data-v-e7f427cd"]]),Xt=48,Jt=48,Qt={name:"PagerHorizontal",components:{HorizontalPages:jt,PageChangeLink:Zt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...v(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),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),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(c,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Xt,0),t=Math.min(this.activePage+Jt,this.book.maxPage);this.pages=se(e,t+1)}}};function eo(e,t,a,p,n,o){const i=u("PageChangeLink"),s=u("HorizontalPages");return l(),g(ue,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:d(()=>[r(i,{direction:"prev"})]),next:d(()=>[r(i,{direction:"next"})]),default:d(()=>[(l(!0),f(y,null,D(n.pages,m=>(l(),g(de,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:d(()=>[r(s,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const j=k(Qt,[["render",eo],["__scopeId","data-v-17343bd0"]]),G=250,to={name:"PagerVertical",components:{BookPage:me,ScaleForScroll:ke},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:{...v(c,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...re(c,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=se(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)},G)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(c,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const p=+t[0].target.dataset.page;this.setActivePage(p,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},G)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},oo=["data-page"];function ao(e,t,a,p,n,o){const i=u("BookPage"),s=u("ScaleForScroll");return l(),g(s,null,{default:d(()=>[B((l(),g(nt,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:n.innerHeight,width:n.innerWidth},{default:d(({item:m})=>[r(i,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),B(h("div",{class:C(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,oo),[[Ze,n.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[St,o.onScroll,"#verticalScroll"]])]),_:1})}const Y=k(to,[["render",ao],["__scopeId","data-v-17541277"]]),Z=Q(ee(()=>ae(()=>import("./pager-full-pdf-CwmA9y3l.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])))),so={name:"PagerSelector",components:{PagerHorizontal:j,PagerPDF:Z,PagerVertical:Y},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(c,["cacheBook"]),...v(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),isActiveBook(){var e;return this.book&&this.storePk===((e=this.book)==null?void 0:e.pk)},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){var e;return((e=this.book)==null?void 0:e.fileType)=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=Z:this.bookSettings.isVertical?e=Y:e=j,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:{...b(c,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function ro(e,t,a,p,n,o){return l(),g(te(o.component),{book:a.book},null,8,["book"])}const no=k(so,[["render",ro]]),io={name:"BooksWindow",components:{BookChangeActivator:Tt,Pager:no},computed:{...P(c,["isBTT"]),...v(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books}),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:{...b(c,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function lo(e,t,a,p,n,o){const i=u("BookChangeActivator"),s=u("Pager");return l(),g(ue,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:d(()=>[r(i,{direction:"prev"})]),next:d(()=>[r(i,{direction:"next"})]),default:d(()=>[(l(!0),f(y,null,D(e.books,m=>(l(),g(de,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:d(()=>[r(s,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const co=k(io,[["render",lo],["__scopeId","data-v-36f4263b"]]),uo={name:"DownloadPanel",components:{CodexListItem:M,DownloadButton:lt},data(){return{mdiDownload:Re,mdiFileImage:Be}},computed:{...P(c,["activeTitle","routeParams"]),...v(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},fileType:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.fileType},ts:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.mtime},pk:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk},downloadNames:e=>{var t,a;return[(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.filename]},storePage:e=>e.page}),downloadPks(){return[this.pk]},pageSrc(){const e={pk:this.pk,page:this.storePage,ts:this.ts};return Te(e)},pageName(){const e=this.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{...b(ne,["downloadIOSPWAFix"]),downloadPage(){De(this.pageSrc,this.pageName)}}},po={key:0,id:"downloadPanel"};function ho(e,t,a,p,n,o){const i=u("CodexListItem"),s=u("DownloadButton");return e.currentBook?(l(),f("div",po,[r(i,{"prepend-icon":n.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(s,{pks:o.downloadPks,children:1,names:e.downloadNames,ts:e.ts},null,8,["pks","names","ts"])])):S("",!0)}const go=k(uo,[["render",ho],["__scopeId","data-v-35ae04da"]]),mo={name:"KeyboardShortcutsTable",data(){return{mdiMenuLeft:Ie,mdiMenuRight:Le,mdiKeyboardSpace:$e,mdiAppleKeyboardShift:Oe}}},ko={class:"highlight-table"};function bo(e,t,a,p,n,o){return l(),f(y,null,[t[9]||(t[9]=h("h4",null,"Navigation",-1)),h("table",ko,[h("tbody",null,[h("tr",null,[h("td",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiMenuLeft),1)]),_:1}),t[0]||(t[0]=_(", j, ")),h("div",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiAppleKeyboardShift),1)]),_:1}),r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiKeyboardSpace),1)]),_:1})])]),t[1]||(t[1]=h("td",null,"Previous page",-1))]),h("tr",null,[h("td",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiMenuRight),1)]),_:1}),t[2]||(t[2]=_(", k, ")),r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiKeyboardSpace),1)]),_:1})]),t[3]||(t[3]=h("td",null,"Next page",-1))]),t[4]||(t[4]=h("tr",null,[h("td",null,","),h("td",null,[_("Next "),h("em",null,"only"),_(" one page in two page mode.")])],-1)),t[5]||(t[5]=h("tr",null,[h("td",null,"."),h("td",null,[_("Previous "),h("em",null,"only"),_(" one page in two page mode.")])],-1)),t[6]||(t[6]=h("tr",null,[h("td",null,"p"),h("td",null,"Previous Book")],-1)),t[7]||(t[7]=h("tr",null,[h("td",null,"n"),h("td",null,"Next Book")],-1)),t[8]||(t[8]=h("tr",null,[h("td",null,"esc"),h("td",null,"Close book")],-1))])]),t[10]||(t[10]=Ve('<h4 data-v-1624cd48>Fit Page To</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>s</td><td data-v-1624cd48>screen</td></tr><tr data-v-1624cd48><td data-v-1624cd48>h</td><td data-v-1624cd48>screen height</td></tr><tr data-v-1624cd48><td data-v-1624cd48>w</td><td data-v-1624cd48>screen width</td></tr><tr data-v-1624cd48><td data-v-1624cd48>o</td><td data-v-1624cd48>Show page at original size</td></tr><tr data-v-1624cd48><td data-v-1624cd48>2</td><td data-v-1624cd48>Toggle two page view</td></tr><tr data-v-1624cd48><td data-v-1624cd48>r</td><td data-v-1624cd48>Read Right to Left</td></tr><tr data-v-1624cd48><td data-v-1624cd48>l</td><td data-v-1624cd48>Read Left to Right</td></tr><tr data-v-1624cd48><td data-v-1624cd48>t</td><td data-v-1624cd48>Read Top to Bottom</td></tr><tr data-v-1624cd48><td data-v-1624cd48>b</td><td data-v-1624cd48>Read in Bottom to Top</td></tr></tbody></table><h4 data-v-1624cd48>Other</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>m</td><td data-v-1624cd48>Show comic's metadata</td></tr><tr data-v-1624cd48><td data-v-1624cd48>double click</td><td data-v-1624cd48>Zoom page</td></tr></tbody></table>',4))],64)}const fo=k(mo,[["render",bo],["__scopeId","data-v-1624cd48"]]),vo=/iP(?:ad|hone|od)|Android/,_o=vo.test(navigator.userAgent),Po=_o||window.orientation!==void 0,So={name:"KeyboardShortcutsPanel",components:{CodexListItem:M,KeyboardShortcutsTable:fo},data(){return{mdiKeyboardOutline:xe,IS_MOBILE:Po}}};function wo(e,t,a,p,n,o){const i=u("CodexListItem"),s=u("KeyboardShortcutsTable");return n.IS_MOBILE?S("",!0):(l(),g(bt,{key:0},{default:d(()=>[r(gt,{id:"readerKeyboardShortcuts"},{default:d(()=>[r(mt,{id:"shortcutsTitle"},{default:d(()=>[r(i,{id:"keyboardShortcutsItem","prepend-icon":n.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(kt,null,{default:d(()=>[r(s)]),_:1})]),_:1})]),_:1}))}const yo=k(So,[["render",wo],["__scopeId","data-v-8285795a"]]),be=["fitTo","readingDirection","twoPages"];Object.freeze(be);const Co={name:"ReaderSettingsPanel",components:{CodexListItem:M},data(){return{isGlobalScope:!1,mdiOpenInNew:Ae,mdiEye:Ee,openDelay:2e3,scopeItems:[{title:"Only this comic",value:!1},{title:"Default for all comics",value:!0}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["isVertical","isPDF","cacheBook"]),...v(c,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const p of be){const n=(a=e.books)==null?void 0:a.current.settings[p];if(!e.choices.nullValues.has(n))return!1}return!0},pdfInBrowserURL(e){var t,a;return this.isPDF&&((t=e.books)!=null&&t.current)?Ne((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...re(c,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){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)}}},Ro={id:"readerScopedSettings",class:"readerCodexListItem"};function Bo(e,t,a,p,n,o){const i=u("CodexListItem");return l(),f(y,null,[t[8]||(t[8]=h("h4",{class:"readerSettingsHeader"},"Comic Settings Scope",-1)),r(N,{modelValue:n.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>n.isGlobalScope=s),class:"scopeRadioGroup readerCodexListItem",density:"compact","hide-details":"auto"},{default:d(()=>[(l(!0),f(y,null,D(n.scopeItems,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),r(ft,null,{default:d(()=>[h("div",Ro,[r(N,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:d(()=>[(l(!0),f(y,null,D(o.fitToChoices,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(L,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),r(N,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:d(()=>[(l(!0),f(y,null,D(o.readingDirectionChoices,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n.isGlobalScope?S("",!0):B((l(),g(le,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:d(()=>t[7]||(t[7]=[_(" Clear Settings ")])),_:1},8,["disabled","onClick"])),[[W,{openDelay:n.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(z),t[9]||(t[9]=h("h4",{class:"readerSettingsHeader"},"Reader Settings",-1)),r(L,{class:"readerCodexListItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),r(L,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerCodexListItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),B(r(L,{"model-value":e.cacheBook,class:"readerCodexListItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[W,{openDelay:n.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(l(),g(i,{key:0,"prepend-icon":n.mdiEye,"append-icon":n.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):S("",!0)],64)}const To=k(Co,[["render",Bo],["__scopeId","data-v-a2e48764"]]),Do={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:go,ReaderKeyboardShortcutsPanel:yo,ReaderSettingsPanel:To}};function Io(e,t,a,p,n,o){const i=u("ReaderSettingsPanel"),s=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return l(),f(y,null,[r(i),r(z),r(s),r(z),r(m)],64)}const Lo=k(Do,[["render",Io]]),$o={name:"ReaderSettingsDrawer",components:{SettingsDrawer:Je,ReaderSettingsSuperPanel:Lo}};function Oo(e,t,a,p,n,o){const i=u("ReaderSettingsSuperPanel"),s=u("SettingsDrawer");return l(),g(s,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:d(()=>[r(i)]),_:1})}const Vo=k($o,[["render",Oo]]),X={a:ze,f:Me,p:We,i:He,s:qe,v:Ke},xo={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Ao={name:"ReaderArcSelect",components:{ToolbarSelect:ct},data(){return{mdiFilterOutline:Fe}},computed:{...v(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const p={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:xo[a.group],prependIcon:X[a.group]};t.push(p)}return t}})},methods:{...b(c,["loadBooks"]),arcIcon(e){return X[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?Ue:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Eo={id:"arcPos"};function No(e,t,a,p,n,o){const i=u("ToolbarSelect");return l(),g(i,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:d(({item:s,props:m})=>[r(it,F(m,{density:"compact",variant:"plain","prepend-icon":s.raw.prependIcon,subtitle:o.subtitle(s.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:d(({item:s,props:m})=>[r(R,F({size:"large"},m,{class:"arcSelectIcon"}),{default:d(()=>[_(w(o.arcIcon(s.raw.group)),1)]),_:2},1040),h("span",Eo,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Fo=k(Ao,[["render",No],["__scopeId","data-v-62bf79bd"]]),Uo={name:"ReaderTitleToolbar",components:{AppBanner:tt,MetadataDialog:dt,ReaderArcSelect:Fo,SettingsDrawerButton:Qe},data(){return{mdiClose:je,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["activeTitle","closeBookRoute"]),...v(c,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=U(this.closeBookRoute),t=U(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(ne,["setTimestamp"]),...b(c,["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}}}},zo={id:"readerTopToolbarHeader"},Mo={id:"title"},Wo={key:0,id:"subtitle"};function Ho(e,t,a,p,n,o){const i=u("AppBanner"),s=u("ReaderArcSelect"),m=u("MetadataDialog"),T=u("SettingsDrawerButton");return l(),g(vt,null,{default:d(()=>[B(h("header",zo,[r(i),r(at,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Ge({default:d(()=>[r(A,null,{default:d(()=>[r(le,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:d(()=>t[0]||(t[0]=[_(" close book ")])),_:1},8,["to","onClick"])]),_:1}),r(ut),e.empty?S("",!0):(l(),g(A,{key:0},{default:d(()=>[r(s),r(m,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),r(A,null,{default:d(()=>[r(T)]),_:1})]),_:2},[o.title?{name:"extension",fn:d(()=>[r(ot,{class:"readerTitle"},{default:d(()=>[h("div",Mo,w(o.title),1),e.subtitle?(l(),f("div",Wo,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])],512),[[ie,e.showToolbars]])]),_:1})}const fe=k(Uo,[["render",Ho],["__scopeId","data-v-cab0ef78"]]),qo={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:fe,EmptyState:ce},data(){return{mdiBookRemoveOutline:Ye}},methods:{...b(c,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function Ko(e,t,a,p,n,o){const i=u("ReaderTopToolbar"),s=u("EmptyState");return l(),f(y,null,[r(i),r(s,{headline:"Book Not Found",title:"Close the reader and find another book",icon:n.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const jo=k(qo,[["render",Ko]]),Go={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:pe},props:{direction:{type:String,required:!0}},computed:{...P(c,["isBTT"]),...v(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:U(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:{...b(c,["bookChangeIcon"])}};function Yo(e,t,a,p,n,o){const i=u("PaginationNavButton");return e.toRoute?(l(),g(i,{key:0,class:C(o.classes),icon:o.icon,variant:"plain",title:o.title,to:e.toRoute},null,8,["class","icon","title","to"])):S("",!0)}const Zo=k(Go,[["render",Yo],["__scopeId","data-v-0cead61e"]]),Xo={name:"ReaderNavButton",components:{PaginationNavButton:pe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(c,["isVertical"]),...v(c,{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:{...b(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function Jo(e,t,a,p,n,o){const i=u("PaginationNavButton");return l(),g(i,{key:e.isVertical,disabled:o.disabled,class:C(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:d(()=>[_(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const Qo=k(Xo,[["render",Jo],["__scopeId","data-v-530fba8c"]]),$="prev",O="next",ea={name:"ReaderNavToolbar",components:{PaginationSlider:pt,ReaderNavButton:Qo,PaginationToolbar:ht,ReaderBookChangeNavButton:Zo},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["activeSettings","isReadInReverse","isVertical"]),...v(c,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var a,p;return`${(p=(a=e.books)==null?void 0:a.current)==null?void 0:p.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(c,["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(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection($);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection($);break;case",":this.routeToDirectionOne($);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook($);break}}}};function ta(e,t,a,p,n,o){const i=u("ReaderBookChangeNavButton"),s=u("ReaderNavButton"),m=u("PaginationSlider"),T=u("PaginationToolbar");return l(),g(_t,null,{default:d(()=>[e.maxPage?B((l(),g(T,{key:0,id:"readerToolbarNav"},{default:d(()=>[r(i,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(s,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(l(),g(m,{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]=V=>o.onSliderUpdate(V))},null,8,["model-value","max","step","track-color","reverse"])),r(s,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(i,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ie,e.showToolbars]]):S("",!0)]),_:1})}const oa=k(ea,[["render",ta],["__scopeId","data-v-955ab3ce"]]),aa={name:"MainReader",components:{BooksWindow:co,ReaderEmpty:jo,ReaderNavToolbar:oa,ReaderTopToolbar:fe,ReaderSettingsDrawer:Vo,Unauthorized:st},data(){return{showToolbars:!1}},computed:{...P(I,["isAuthorized"]),...v(I,{user:e=>e.user}),...v(c,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{...b(c,["loadReaderSettings","reset"])}},sa={key:0},ra={id:"readerContainer"};function na(e,t,a,p,n,o){const i=u("ReaderTopToolbar"),s=u("BooksWindow"),m=u("ReaderNavToolbar"),T=u("ReaderEmpty"),V=u("ReaderSettingsDrawer"),ve=u("Unauthorized");return e.isAuthorized?(l(),g(rt,{key:0,id:"readerWrapper"},{default:d(()=>[e.empty?(l(),g(T,{key:1})):(l(),f("div",sa,[h("div",ra,[r(i),r(s),r(m)])])),r(V)]),_:1})):(l(),g(ve,{key:1}))}const ia=k(aa,[["render",na],["__scopeId","data-v-4f31abfa"]]),Sa=Object.freeze(Object.defineProperty({__proto__:null,default:ia},Symbol.toStringTag,{value:"Module"}));export{Zt as P,ke as S,Sa as r};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-DjtoQWxA.js","assets/main-DTplblFl.js","assets/main-BZ73p_WW.css","assets/pdf-doc-CG5-AZ2M.css","assets/pager-full-pdf-JIU1UvrN.js","assets/forwardRefs-hLICxMEm.js","assets/forwardRefs-zKOZsbbr.css","assets/settings-drawer-DWa5PBWW.js","assets/unauthorized-Cblht_KD.js","assets/VDialog-CvyPs47z.js","assets/VDialog-Dyd05WHA.css","assets/change-password-dialog-DB0tGBYA.js","assets/VForm-B4doHkrL.js","assets/VSelectionControl-BJm6ORIw.js","assets/VSelectionControl-DLxcLoTI.css","assets/VForm-v1Gmu6E1.css","assets/admin-BYCwfr2h.js","assets/change-password-dialog-C_EOKOn9.css","assets/unauthorized-VnIXUO1w.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/VDivider-DxA4gr8D.js","assets/VDivider-DE8MJPGz.css","assets/settings-drawer-CqJ4gXLq.css","assets/VWindowItem-C1nqmRqv.js","assets/VWindowItem-ByIod57Y.css","assets/VSelect-DtYhH7Mk.js","assets/VCheckboxBtn-DRCMElDO.js","assets/VSelect-8MFoaOUz.css","assets/pagination-toolbar-DHVJWGeE.js","assets/confirm-dialog-CUfR1UVh.js","assets/confirm-dialog-54rblwf7.css","assets/pagination-toolbar-DSe0TkMm.css","assets/VExpansionPanels-_Hd_Icpj.js","assets/VExpansionPanels-6G1AUajL.css","assets/VRadioGroup-DT7JWkoW.js","assets/VRadioGroup-i2qP9Wu9.css","assets/VCheckbox-BV02IXFk.js","assets/VCheckbox-CMKdyl0R.css","assets/index-DtVx0ej4.js","assets/index-CL_6g4tJ.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{C as P,am as c,E as v,A as b,_ as k,k as u,l,v as g,w as d,a as r,s as _,z as w,x as C,H as S,n as f,ab as J,F as y,an as _e,ao as Pe,m as F,ap as Q,aq as ee,ar as Se,G as te,as as oe,at as ae,au as we,av as x,aj as ye,S as B,a5 as Ce,aw as se,y as D,h as re,q as h,ax as Re,ay as Be,az as Te,B as ne,aA as De,aB as Ie,aC as Le,aD as $e,aE as Oe,Y as Ve,aF as xe,Z as Ae,ac as Ee,D as I,aG as Ne,aH as Fe,aI as Ue,aJ as ze,O as Me,P as We,Q as He,R as qe,aK as Ke,aL as je,M as U,aM as ie,V as Ge,aN as Ye}from"./main-DTplblFl.js";import{k as R,I as Ze,V as le}from"./forwardRefs-hLICxMEm.js";import{V as Xe,a as Je,S as Qe}from"./settings-drawer-DWa5PBWW.js";import{P as et,E as ce,A as tt,V as ot,a as at,U as st,c as rt}from"./unauthorized-Cblht_KD.js";import{b as de,V as ue}from"./VWindowItem-C1nqmRqv.js";import{b as nt}from"./VSelect-DtYhH7Mk.js";import{C as M,a as it}from"./VDialog-CvyPs47z.js";import{D as lt,T as ct,M as dt,V as A,a as ut,P as pe,b as pt,c as ht}from"./pagination-toolbar-DHVJWGeE.js";import{V as gt,a as mt,b as kt,c as bt}from"./VExpansionPanels-_Hd_Icpj.js";import{d as ft,V as vt,e as _t}from"./VSelectionControl-BJm6ORIw.js";import{V as E,a as N}from"./VRadioGroup-DT7JWkoW.js";import{V as L}from"./VCheckbox-BV02IXFk.js";import{T as W}from"./index-DtVx0ej4.js";import{a as z}from"./VDivider-DxA4gr8D.js";function he(e,t){const{self:a=!1}=t.modifiers??{},p=t.value,n=typeof p=="object"&&p.options||{passive:!0},o=typeof p=="function"||"handleEvent"in p?p:p.handler,i=a?e:t.arg?document.querySelector(t.arg):window;i&&(i.addEventListener("scroll",o,n),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:n,target:a?void 0:i})}function ge(e,t){var o;if(!((o=e._onScroll)!=null&&o[t.instance.$.uid]))return;const{handler:a,options:p,target:n=e}=e._onScroll[t.instance.$.uid];n.removeEventListener("scroll",a,p),delete e._onScroll[t.instance.$.uid]}function Pt(e,t){t.value!==t.oldValue&&(ge(e,t),he(e,t))}const St={mounted:he,unmounted:ge,updated:Pt},wt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(c,["isBTT"]),...v(c,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...b(c,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function yt(e,t,a,p,n,o){const i=u("router-link");return o.show?(l(),g(Xe,{key:0,class:C(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:d(()=>[r(i,{class:C({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},{default:d(()=>[r(R,{class:"bookChangeIcon"},{default:d(()=>[_(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Ct=k(wt,[["render",yt],["__scopeId","data-v-bd4115bf"]]),Rt={name:"BookChangeActivator",components:{BookChangeDrawer:Ct},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:{...b(c,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function Bt(e,t,a,p,n,o){const i=u("BookChangeDrawer");return l(),f(y,null,[o.show?(l(),f("div",{key:0,class:C(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=J(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),r(i,{direction:a.direction},null,8,["direction"])],64)}const Tt=k(Rt,[["render",Bt],["__scopeId","data-v-67df236c"]]),Dt={name:"LoadingPage",components:{Placeholder:et},props:{twoPages:{type:Boolean,required:!0}}};function It(e,t,a,p,n,o){const i=u("Placeholder");return l(),f("div",{class:C(["pageLoading",{twoPages:a.twoPages}])},[r(i,{class:"pagePlaceholder"})],2)}const Lt=k(Dt,[["render",It],["__scopeId","data-v-04027168"]]),H="unauthorized",$t={name:"ErrorPage",components:{EmptyState:ce},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===H?"Protected page":"Failed to load page"},icon(){return this.type===H?_e:Pe}},methods:{onAction(e){this.$emit("retry",e)}}};function Ot(e,t,a,p,n,o){const i=u("EmptyState");return l(),g(i,{class:C(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Vt=k($t,[["render",Ot],["__scopeId","data-v-97fa48e8"]]),xt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(c,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...b(c,["getBookSettings"])}},At=["src"];function Et(e,t,a,p,n,o){return l(),f("img",F({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=i=>e.$emit("error",i)),onLoad:t[1]||(t[1]=i=>e.$emit("load",i))}),null,16,At)}const q=k(xt,[["render",Et],["__scopeId","data-v-f0601a0d"]]),K=Q(ee(()=>ae(()=>import("./pdf-doc-DjtoQWxA.js"),__vite__mapDeps([0,1,2,3])))),Nt=333,Ft={name:"BookPage",components:{ErrorPage:Vt,LoadingPage:Lt,PDFDoc:K,ImgPage:q},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...v(c,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Se(t)},component(){return this.book.fileType==="PDF"?K:q}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Nt)},methods:{onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},Ut=["id","data-page"];function zt(e,t,a,p,n,o){const i=u("ErrorPage"),s=u("LoadingPage");return l(),f("div",{id:`page${a.page}`,key:n.ts,"data-page":a.page,class:"page",style:oe(o.style)},[n.error?(l(),g(i,{key:0,"two-pages":e.settings.twoPages,type:n.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):n.showProgress&&!n.loaded?(l(),g(s,{key:1,"two-pages":e.settings.twoPages},null,8,["two-pages"])):(l(),g(te(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Ut)}const me=k(Ft,[["render",zt],["__scopeId","data-v-ea178cb3"]]),Mt=.5,Wt={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:we}},computed:{...v(c,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=x},style(){return{cursor:this.scale==x?"zoom-in":"all-scroll"}}},methods:{...b(c,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+Mt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:x})}}};function Ht(e,t,a,p,n,o){const i=ye("drag-scroller");return B((l(),f("div",{class:"scaleForScroll",style:oe(o.style),onDblclick:t[0]||(t[0]=(...s)=>o.onDoubleClick&&o.onDoubleClick(...s))},[Ce(e.$slots,"default",{},void 0,!0),o.showReset?(l(),g(R,{key:0,class:"resetIcon",onClick:J(o.scaleReset,["stop"])},{default:d(()=>[_(w(n.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[i,,void 0,{onlyX:!0}]])}const ke=k(Wt,[["render",Ht],["__scopeId","data-v-a222c504"]]),qt={name:"HorizontalPages",components:{BookPage:me,ScaleForScroll:ke},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:{...b(c,["getBookSettings","isCoverPage"])}};function Kt(e,t,a,p,n,o){const i=u("BookPage"),s=u("ScaleForScroll");return l(),g(s,{class:"noWrap"},{default:d(()=>[o.showPageOne?(l(),g(i,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(l(),g(i,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const jt=k(qt,[["render",Kt],["__scopeId","data-v-ce77a1b1"]]),Gt={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(c,["isFirstPage","isLastPage"]),...v(c,{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:{...b(c,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Yt(e,t,a,p,n,o){const i=u("router-link");return o.show?(l(),g(i,{key:0,to:o.route,"aria-label":o.label,class:C(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const Zt=k(Gt,[["render",Yt],["__scopeId","data-v-e7f427cd"]]),Xt=48,Jt=48,Qt={name:"PagerHorizontal",components:{HorizontalPages:jt,PageChangeLink:Zt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...v(c,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),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),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(c,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-Xt,0),t=Math.min(this.activePage+Jt,this.book.maxPage);this.pages=se(e,t+1)}}};function eo(e,t,a,p,n,o){const i=u("PageChangeLink"),s=u("HorizontalPages");return l(),g(ue,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:d(()=>[r(i,{direction:"prev"})]),next:d(()=>[r(i,{direction:"next"})]),default:d(()=>[(l(!0),f(y,null,D(n.pages,m=>(l(),g(de,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:d(()=>[r(s,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const j=k(Qt,[["render",eo],["__scopeId","data-v-17343bd0"]]),G=250,to={name:"PagerVertical",components:{BookPage:me,ScaleForScroll:ke},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:{...v(c,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...re(c,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=se(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)},G)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(c,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const p=+t[0].target.dataset.page;this.setActivePage(p,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},G)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},oo=["data-page"];function ao(e,t,a,p,n,o){const i=u("BookPage"),s=u("ScaleForScroll");return l(),g(s,null,{default:d(()=>[B((l(),g(nt,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:n.innerHeight,width:n.innerWidth},{default:d(({item:m})=>[r(i,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),B(h("div",{class:C(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,oo),[[Ze,n.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[St,o.onScroll,"#verticalScroll"]])]),_:1})}const Y=k(to,[["render",ao],["__scopeId","data-v-17541277"]]),Z=Q(ee(()=>ae(()=>import("./pager-full-pdf-JIU1UvrN.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])))),so={name:"PagerSelector",components:{PagerHorizontal:j,PagerPDF:Z,PagerVertical:Y},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(c,["cacheBook"]),...v(c,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),isActiveBook(){var e;return this.book&&this.storePk===((e=this.book)==null?void 0:e.pk)},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){var e;return((e=this.book)==null?void 0:e.fileType)=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=Z:this.bookSettings.isVertical?e=Y:e=j,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:{...b(c,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function ro(e,t,a,p,n,o){return l(),g(te(o.component),{book:a.book},null,8,["book"])}const no=k(so,[["render",ro]]),io={name:"BooksWindow",components:{BookChangeActivator:Tt,Pager:no},computed:{...P(c,["isBTT"]),...v(c,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books}),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:{...b(c,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function lo(e,t,a,p,n,o){const i=u("BookChangeActivator"),s=u("Pager");return l(),g(ue,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:d(()=>[r(i,{direction:"prev"})]),next:d(()=>[r(i,{direction:"next"})]),default:d(()=>[(l(!0),f(y,null,D(e.books,m=>(l(),g(de,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:d(()=>[r(s,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const co=k(io,[["render",lo],["__scopeId","data-v-36f4263b"]]),uo={name:"DownloadPanel",components:{CodexListItem:M,DownloadButton:lt},data(){return{mdiDownload:Re,mdiFileImage:Be}},computed:{...P(c,["activeTitle","routeParams"]),...v(c,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},fileType:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.fileType},ts:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.mtime},pk:e=>{var t,a;return(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk},downloadNames:e=>{var t,a;return[(a=(t=e.books)==null?void 0:t.current)==null?void 0:a.filename]},storePage:e=>e.page}),downloadPks(){return[this.pk]},pageSrc(){const e={pk:this.pk,page:this.storePage,ts:this.ts};return Te(e)},pageName(){const e=this.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{...b(ne,["downloadIOSPWAFix"]),downloadPage(){De(this.pageSrc,this.pageName)}}},po={key:0,id:"downloadPanel"};function ho(e,t,a,p,n,o){const i=u("CodexListItem"),s=u("DownloadButton");return e.currentBook?(l(),f("div",po,[r(i,{"prepend-icon":n.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(s,{pks:o.downloadPks,children:1,names:e.downloadNames,ts:e.ts},null,8,["pks","names","ts"])])):S("",!0)}const go=k(uo,[["render",ho],["__scopeId","data-v-35ae04da"]]),mo={name:"KeyboardShortcutsTable",data(){return{mdiMenuLeft:Ie,mdiMenuRight:Le,mdiKeyboardSpace:$e,mdiAppleKeyboardShift:Oe}}},ko={class:"highlight-table"};function bo(e,t,a,p,n,o){return l(),f(y,null,[t[9]||(t[9]=h("h4",null,"Navigation",-1)),h("table",ko,[h("tbody",null,[h("tr",null,[h("td",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiMenuLeft),1)]),_:1}),t[0]||(t[0]=_(", j, ")),h("div",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiAppleKeyboardShift),1)]),_:1}),r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiKeyboardSpace),1)]),_:1})])]),t[1]||(t[1]=h("td",null,"Previous page",-1))]),h("tr",null,[h("td",null,[r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiMenuRight),1)]),_:1}),t[2]||(t[2]=_(", k, ")),r(R,{class:"keyIcon",density:"compact"},{default:d(()=>[_(w(n.mdiKeyboardSpace),1)]),_:1})]),t[3]||(t[3]=h("td",null,"Next page",-1))]),t[4]||(t[4]=h("tr",null,[h("td",null,","),h("td",null,[_("Next "),h("em",null,"only"),_(" one page in two page mode.")])],-1)),t[5]||(t[5]=h("tr",null,[h("td",null,"."),h("td",null,[_("Previous "),h("em",null,"only"),_(" one page in two page mode.")])],-1)),t[6]||(t[6]=h("tr",null,[h("td",null,"p"),h("td",null,"Previous Book")],-1)),t[7]||(t[7]=h("tr",null,[h("td",null,"n"),h("td",null,"Next Book")],-1)),t[8]||(t[8]=h("tr",null,[h("td",null,"esc"),h("td",null,"Close book")],-1))])]),t[10]||(t[10]=Ve('<h4 data-v-1624cd48>Fit Page To</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>s</td><td data-v-1624cd48>screen</td></tr><tr data-v-1624cd48><td data-v-1624cd48>h</td><td data-v-1624cd48>screen height</td></tr><tr data-v-1624cd48><td data-v-1624cd48>w</td><td data-v-1624cd48>screen width</td></tr><tr data-v-1624cd48><td data-v-1624cd48>o</td><td data-v-1624cd48>Show page at original size</td></tr><tr data-v-1624cd48><td data-v-1624cd48>2</td><td data-v-1624cd48>Toggle two page view</td></tr><tr data-v-1624cd48><td data-v-1624cd48>r</td><td data-v-1624cd48>Read Right to Left</td></tr><tr data-v-1624cd48><td data-v-1624cd48>l</td><td data-v-1624cd48>Read Left to Right</td></tr><tr data-v-1624cd48><td data-v-1624cd48>t</td><td data-v-1624cd48>Read Top to Bottom</td></tr><tr data-v-1624cd48><td data-v-1624cd48>b</td><td data-v-1624cd48>Read in Bottom to Top</td></tr></tbody></table><h4 data-v-1624cd48>Other</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>m</td><td data-v-1624cd48>Show comic's metadata</td></tr><tr data-v-1624cd48><td data-v-1624cd48>double click</td><td data-v-1624cd48>Zoom page</td></tr></tbody></table>',4))],64)}const fo=k(mo,[["render",bo],["__scopeId","data-v-1624cd48"]]),vo=/iP(?:ad|hone|od)|Android/,_o=vo.test(navigator.userAgent),Po=_o||window.orientation!==void 0,So={name:"KeyboardShortcutsPanel",components:{CodexListItem:M,KeyboardShortcutsTable:fo},data(){return{mdiKeyboardOutline:xe,IS_MOBILE:Po}}};function wo(e,t,a,p,n,o){const i=u("CodexListItem"),s=u("KeyboardShortcutsTable");return n.IS_MOBILE?S("",!0):(l(),g(bt,{key:0},{default:d(()=>[r(gt,{id:"readerKeyboardShortcuts"},{default:d(()=>[r(mt,{id:"shortcutsTitle"},{default:d(()=>[r(i,{id:"keyboardShortcutsItem","prepend-icon":n.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(kt,null,{default:d(()=>[r(s)]),_:1})]),_:1})]),_:1}))}const yo=k(So,[["render",wo],["__scopeId","data-v-8285795a"]]),be=["fitTo","readingDirection","twoPages"];Object.freeze(be);const Co={name:"ReaderSettingsPanel",components:{CodexListItem:M},data(){return{isGlobalScope:!1,mdiOpenInNew:Ae,mdiEye:Ee,openDelay:2e3,scopeItems:[{title:"Only this comic",value:!1},{title:"Default for all comics",value:!0}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["isVertical","isPDF","cacheBook"]),...v(c,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const p of be){const n=(a=e.books)==null?void 0:a.current.settings[p];if(!e.choices.nullValues.has(n))return!1}return!0},pdfInBrowserURL(e){var t,a;return this.isPDF&&((t=e.books)!=null&&t.current)?Ne((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...re(c,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(c,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){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)}}},Ro={id:"readerScopedSettings",class:"readerCodexListItem"};function Bo(e,t,a,p,n,o){const i=u("CodexListItem");return l(),f(y,null,[t[8]||(t[8]=h("h4",{class:"readerSettingsHeader"},"Comic Settings Scope",-1)),r(N,{modelValue:n.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>n.isGlobalScope=s),class:"scopeRadioGroup readerCodexListItem",density:"compact","hide-details":"auto"},{default:d(()=>[(l(!0),f(y,null,D(n.scopeItems,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),r(ft,null,{default:d(()=>[h("div",Ro,[r(N,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:d(()=>[(l(!0),f(y,null,D(o.fitToChoices,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(L,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),r(N,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:d(()=>[(l(!0),f(y,null,D(o.readingDirectionChoices,s=>(l(),g(E,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),n.isGlobalScope?S("",!0):B((l(),g(le,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:d(()=>t[7]||(t[7]=[_(" Clear Settings ")])),_:1},8,["disabled","onClick"])),[[W,{openDelay:n.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(z),t[9]||(t[9]=h("h4",{class:"readerSettingsHeader"},"Reader Settings",-1)),r(L,{class:"readerCodexListItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),r(L,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerCodexListItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),B(r(L,{"model-value":e.cacheBook,class:"readerCodexListItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[W,{openDelay:n.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(l(),g(i,{key:0,"prepend-icon":n.mdiEye,"append-icon":n.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):S("",!0)],64)}const To=k(Co,[["render",Bo],["__scopeId","data-v-a2e48764"]]),Do={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:go,ReaderKeyboardShortcutsPanel:yo,ReaderSettingsPanel:To}};function Io(e,t,a,p,n,o){const i=u("ReaderSettingsPanel"),s=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return l(),f(y,null,[r(i),r(z),r(s),r(z),r(m)],64)}const Lo=k(Do,[["render",Io]]),$o={name:"ReaderSettingsDrawer",components:{SettingsDrawer:Je,ReaderSettingsSuperPanel:Lo}};function Oo(e,t,a,p,n,o){const i=u("ReaderSettingsSuperPanel"),s=u("SettingsDrawer");return l(),g(s,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:d(()=>[r(i)]),_:1})}const Vo=k($o,[["render",Oo]]),X={a:ze,f:Me,p:We,i:He,s:qe,v:Ke},xo={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Ao={name:"ReaderArcSelect",components:{ToolbarSelect:ct},data(){return{mdiFilterOutline:Fe}},computed:{...v(c,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const p={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:xo[a.group],prependIcon:X[a.group]};t.push(p)}return t}})},methods:{...b(c,["loadBooks"]),arcIcon(e){return X[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?Ue:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Eo={id:"arcPos"};function No(e,t,a,p,n,o){const i=u("ToolbarSelect");return l(),g(i,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:d(({item:s,props:m})=>[r(it,F(m,{density:"compact",variant:"plain","prepend-icon":s.raw.prependIcon,subtitle:o.subtitle(s.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:d(({item:s,props:m})=>[r(R,F({size:"large"},m,{class:"arcSelectIcon"}),{default:d(()=>[_(w(o.arcIcon(s.raw.group)),1)]),_:2},1040),h("span",Eo,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Fo=k(Ao,[["render",No],["__scopeId","data-v-62bf79bd"]]),Uo={name:"ReaderTitleToolbar",components:{AppBanner:tt,MetadataDialog:dt,ReaderArcSelect:Fo,SettingsDrawerButton:Qe},data(){return{mdiClose:je,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["activeTitle","closeBookRoute"]),...v(c,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=U(this.closeBookRoute),t=U(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(ne,["setTimestamp"]),...b(c,["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}}}},zo={id:"readerTopToolbarHeader"},Mo={id:"title"},Wo={key:0,id:"subtitle"};function Ho(e,t,a,p,n,o){const i=u("AppBanner"),s=u("ReaderArcSelect"),m=u("MetadataDialog"),T=u("SettingsDrawerButton");return l(),g(vt,null,{default:d(()=>[B(h("header",zo,[r(i),r(at,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Ge({default:d(()=>[r(A,null,{default:d(()=>[r(le,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:d(()=>t[0]||(t[0]=[_(" close book ")])),_:1},8,["to","onClick"])]),_:1}),r(ut),e.empty?S("",!0):(l(),g(A,{key:0},{default:d(()=>[r(s),r(m,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),r(A,null,{default:d(()=>[r(T)]),_:1})]),_:2},[o.title?{name:"extension",fn:d(()=>[r(ot,{class:"readerTitle"},{default:d(()=>[h("div",Mo,w(o.title),1),e.subtitle?(l(),f("div",Wo,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])],512),[[ie,e.showToolbars]])]),_:1})}const fe=k(Uo,[["render",Ho],["__scopeId","data-v-cab0ef78"]]),qo={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:fe,EmptyState:ce},data(){return{mdiBookRemoveOutline:Ye}},methods:{...b(c,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function Ko(e,t,a,p,n,o){const i=u("ReaderTopToolbar"),s=u("EmptyState");return l(),f(y,null,[r(i),r(s,{headline:"Book Not Found",title:"Close the reader and find another book",icon:n.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const jo=k(qo,[["render",Ko]]),Go={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:pe},props:{direction:{type:String,required:!0}},computed:{...P(c,["isBTT"]),...v(c,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:U(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:{...b(c,["bookChangeIcon"])}};function Yo(e,t,a,p,n,o){const i=u("PaginationNavButton");return e.toRoute?(l(),g(i,{key:0,class:C(o.classes),icon:o.icon,variant:"plain",title:o.title,to:e.toRoute},null,8,["class","icon","title","to"])):S("",!0)}const Zo=k(Go,[["render",Yo],["__scopeId","data-v-0cead61e"]]),Xo={name:"ReaderNavButton",components:{PaginationNavButton:pe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(c,["isVertical"]),...v(c,{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:{...b(c,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function Jo(e,t,a,p,n,o){const i=u("PaginationNavButton");return l(),g(i,{key:e.isVertical,disabled:o.disabled,class:C(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:d(()=>[_(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const Qo=k(Xo,[["render",Jo],["__scopeId","data-v-530fba8c"]]),$="prev",O="next",ea={name:"ReaderNavToolbar",components:{PaginationSlider:pt,ReaderNavButton:Qo,PaginationToolbar:ht,ReaderBookChangeNavButton:Zo},computed:{...P(I,["isAuthDialogOpen"]),...P(c,["activeSettings","isReadInReverse","isVertical"]),...v(c,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var a,p;return`${(p=(a=e.books)==null?void 0:a.current)==null?void 0:p.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(c,["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(O):e.shiftKey&&window.scrollY===0&&this.routeToDirection($);break;case"j":case"ArrowRight":this.routeToDirection(O);break;case"k":case"ArrowLeft":this.routeToDirection($);break;case",":this.routeToDirectionOne($);break;case".":this.routeToDirectionOne(O);break;case"n":this.routeToBook(O);break;case"p":this.routeToBook($);break}}}};function ta(e,t,a,p,n,o){const i=u("ReaderBookChangeNavButton"),s=u("ReaderNavButton"),m=u("PaginationSlider"),T=u("PaginationToolbar");return l(),g(_t,null,{default:d(()=>[e.maxPage?B((l(),g(T,{key:0,id:"readerToolbarNav"},{default:d(()=>[r(i,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(s,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(l(),g(m,{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]=V=>o.onSliderUpdate(V))},null,8,["model-value","max","step","track-color","reverse"])),r(s,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(i,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ie,e.showToolbars]]):S("",!0)]),_:1})}const oa=k(ea,[["render",ta],["__scopeId","data-v-955ab3ce"]]),aa={name:"MainReader",components:{BooksWindow:co,ReaderEmpty:jo,ReaderNavToolbar:oa,ReaderTopToolbar:fe,ReaderSettingsDrawer:Vo,Unauthorized:st},data(){return{showToolbars:!1}},computed:{...P(I,["isAuthorized"]),...v(I,{user:e=>e.user}),...v(c,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{...b(c,["loadReaderSettings","reset"])}},sa={key:0},ra={id:"readerContainer"};function na(e,t,a,p,n,o){const i=u("ReaderTopToolbar"),s=u("BooksWindow"),m=u("ReaderNavToolbar"),T=u("ReaderEmpty"),V=u("ReaderSettingsDrawer"),ve=u("Unauthorized");return e.isAuthorized?(l(),g(rt,{key:0,id:"readerWrapper"},{default:d(()=>[e.empty?(l(),g(T,{key:1})):(l(),f("div",sa,[h("div",ra,[r(i),r(s),r(m)])])),r(V)]),_:1})):(l(),g(ve,{key:1}))}const ia=k(aa,[["render",na],["__scopeId","data-v-4f31abfa"]]),Sa=Object.freeze(Object.defineProperty({__proto__:null,default:ia},Symbol.toStringTag,{value:"Module"}));export{Zt as P,ke as S,Sa as r};
|
|
Binary file
|
|
Binary file
|