codex 1.7.15__py3-none-any.whl → 1.8.0a2__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/__init__.py +6 -1
- codex/applications/lifespan.py +16 -12
- codex/asgi.py +1 -2
- codex/choices/admin.py +63 -59
- codex/choices/browser.py +7 -10
- codex/choices/choices_to_json.py +21 -9
- codex/choices/search.py +133 -0
- codex/choices/statii.py +40 -0
- codex/librarian/bookmark/bookmarkd.py +56 -17
- codex/librarian/bookmark/latest_version.py +65 -0
- codex/librarian/bookmark/tasks.py +11 -1
- codex/librarian/bookmark/update.py +1 -1
- codex/librarian/bookmark/user_active.py +2 -3
- codex/librarian/covers/coverd.py +4 -1
- codex/librarian/covers/create.py +31 -22
- codex/librarian/covers/path.py +1 -1
- codex/librarian/covers/purge.py +22 -22
- codex/librarian/covers/status.py +37 -6
- codex/librarian/cron/crond.py +5 -3
- codex/librarian/librariand.py +57 -84
- codex/librarian/notifier/notifierd.py +8 -3
- codex/librarian/restarter/__init__.py +1 -0
- codex/librarian/restarter/restarter.py +55 -0
- codex/librarian/restarter/status.py +32 -0
- codex/librarian/restarter/tasks.py +13 -0
- codex/librarian/scribe/__init__.py +1 -0
- codex/librarian/scribe/importer/__init__.py +1 -0
- codex/librarian/scribe/importer/const.py +361 -0
- codex/librarian/scribe/importer/create/__init__.py +37 -0
- codex/librarian/scribe/importer/create/comics.py +172 -0
- codex/librarian/scribe/importer/create/const.py +131 -0
- codex/librarian/scribe/importer/create/covers.py +123 -0
- codex/librarian/scribe/importer/create/folders.py +98 -0
- codex/librarian/scribe/importer/create/foreign_keys.py +253 -0
- codex/librarian/scribe/importer/create/link_fks.py +73 -0
- codex/librarian/scribe/importer/delete/__init__.py +28 -0
- codex/librarian/scribe/importer/delete/comics.py +68 -0
- codex/librarian/scribe/importer/delete/covers.py +35 -0
- codex/librarian/scribe/importer/delete/folders.py +33 -0
- codex/librarian/scribe/importer/failed_imports.py +168 -0
- codex/librarian/scribe/importer/finish.py +70 -0
- codex/librarian/scribe/importer/importer.py +31 -0
- codex/librarian/scribe/importer/init.py +338 -0
- codex/librarian/scribe/importer/link/__init__.py +15 -0
- codex/librarian/scribe/importer/link/const.py +31 -0
- codex/librarian/scribe/importer/link/covers.py +70 -0
- codex/librarian/scribe/importer/link/delete.py +106 -0
- codex/librarian/scribe/importer/link/many_to_many.py +88 -0
- codex/librarian/scribe/importer/link/prepare.py +132 -0
- codex/librarian/scribe/importer/link/sum.py +19 -0
- codex/librarian/scribe/importer/moved/__init__.py +52 -0
- codex/librarian/scribe/importer/moved/comics.py +125 -0
- codex/librarian/scribe/importer/moved/covers.py +88 -0
- codex/librarian/scribe/importer/moved/folders.py +205 -0
- codex/librarian/scribe/importer/query/__init__.py +44 -0
- codex/librarian/scribe/importer/query/covers.py +55 -0
- codex/librarian/scribe/importer/query/filters.py +61 -0
- codex/librarian/scribe/importer/query/links.py +29 -0
- codex/librarian/scribe/importer/query/links_fk.py +99 -0
- codex/librarian/scribe/importer/query/links_m2m.py +102 -0
- codex/librarian/scribe/importer/query/query_fks.py +203 -0
- codex/librarian/scribe/importer/query/update_comics.py +59 -0
- codex/librarian/scribe/importer/query/update_fks.py +140 -0
- codex/librarian/scribe/importer/read/__init__.py +14 -0
- codex/librarian/scribe/importer/read/aggregate_path.py +108 -0
- codex/librarian/scribe/importer/read/const.py +144 -0
- codex/librarian/scribe/importer/read/extract.py +128 -0
- codex/librarian/scribe/importer/read/folders.py +37 -0
- codex/librarian/scribe/importer/read/foreign_keys.py +145 -0
- codex/librarian/scribe/importer/read/many_to_many.py +237 -0
- codex/librarian/scribe/importer/search/__init__.py +34 -0
- codex/librarian/scribe/importer/search/const.py +50 -0
- codex/librarian/scribe/importer/search/prepare.py +85 -0
- codex/librarian/scribe/importer/search/sync_m2m.py +84 -0
- codex/librarian/scribe/importer/search/update.py +245 -0
- codex/librarian/scribe/importer/statii/1 +27 -0
- codex/librarian/scribe/importer/statii/__init__.py +19 -0
- codex/librarian/scribe/importer/statii/create.py +67 -0
- codex/librarian/scribe/importer/statii/delete.py +39 -0
- codex/librarian/scribe/importer/statii/link.py +27 -0
- codex/librarian/scribe/importer/statii/moved.py +39 -0
- codex/librarian/scribe/importer/statii/query.py +46 -0
- codex/librarian/scribe/importer/statii/read.py +30 -0
- codex/librarian/scribe/importer/statii/search.py +28 -0
- codex/librarian/scribe/importer/status.py +21 -0
- codex/librarian/scribe/importer/tasks.py +49 -0
- codex/librarian/scribe/janitor/__init__.py +1 -0
- codex/librarian/scribe/janitor/adopt_folders.py +81 -0
- codex/librarian/scribe/janitor/cleanup.py +199 -0
- codex/librarian/scribe/janitor/failed_imports.py +27 -0
- codex/librarian/scribe/janitor/integrity.py +374 -0
- codex/librarian/scribe/janitor/janitor.py +125 -0
- codex/librarian/scribe/janitor/scheduled_time.py +13 -0
- codex/librarian/scribe/janitor/status.py +151 -0
- codex/librarian/scribe/janitor/tasks.py +71 -0
- codex/librarian/scribe/janitor/update.py +88 -0
- codex/librarian/scribe/janitor/vacuum.py +53 -0
- codex/librarian/scribe/lazy_importer.py +51 -0
- codex/librarian/scribe/priority.py +65 -0
- codex/librarian/scribe/scribed.py +130 -0
- codex/librarian/scribe/search/__init__.py +1 -0
- codex/librarian/scribe/search/handler.py +28 -0
- codex/librarian/scribe/search/optimize.py +31 -0
- codex/librarian/scribe/search/remove.py +44 -0
- codex/librarian/scribe/search/status.py +66 -0
- codex/librarian/scribe/search/sync.py +391 -0
- codex/librarian/scribe/search/tasks.py +28 -0
- codex/librarian/scribe/status.py +20 -0
- codex/librarian/scribe/tasks.py +31 -0
- codex/librarian/scribe/timestamp_update.py +135 -0
- codex/librarian/status.py +76 -0
- codex/librarian/status_controller.py +164 -0
- codex/librarian/tasks.py +0 -10
- codex/librarian/telemeter/scheduled_time.py +11 -4
- codex/librarian/telemeter/stats.py +0 -2
- codex/librarian/telemeter/tasks.py +3 -1
- codex/librarian/telemeter/telemeter.py +17 -11
- codex/librarian/threads.py +148 -0
- codex/librarian/watchdog/const.py +115 -0
- codex/librarian/watchdog/db_snapshot.py +16 -10
- codex/librarian/watchdog/dir_snapshot_diff.py +19 -1
- codex/librarian/watchdog/emitter.py +128 -102
- codex/librarian/watchdog/event_batcherd.py +120 -78
- codex/librarian/watchdog/events.py +22 -211
- codex/librarian/watchdog/handlers.py +203 -0
- codex/librarian/watchdog/memory.py +56 -0
- codex/librarian/watchdog/observers.py +94 -58
- codex/librarian/watchdog/status.py +18 -5
- codex/librarian/worker.py +32 -0
- codex/middleware.py +6 -8
- codex/migrations/0011_library_groups_and_metadata_changes.py +2 -1
- codex/migrations/0013_int_issue_count_longer_charfields.py +2 -1
- codex/migrations/0023_rename_credit_creator_and_more.py +2 -1
- codex/migrations/0026_comicbox_1.py +9 -9
- codex/migrations/0034_comicbox2.py +789 -0
- codex/models/__init__.py +1 -0
- codex/models/admin.py +13 -21
- codex/models/base.py +21 -2
- codex/models/comic.py +80 -43
- codex/models/fields.py +81 -0
- codex/models/functions.py +8 -2
- codex/models/groups.py +99 -34
- codex/models/identifier.py +79 -0
- codex/models/library.py +17 -3
- codex/models/named.py +52 -55
- codex/models/paths.py +16 -12
- codex/models/query.py +7 -5
- codex/run.py +12 -18
- codex/serializers/admin/groups.py +3 -0
- codex/serializers/admin/libraries.py +13 -1
- codex/serializers/admin/stats.py +5 -4
- codex/serializers/admin/tasks.py +3 -5
- codex/serializers/admin/users.py +9 -3
- codex/serializers/auth.py +13 -6
- codex/serializers/browser/choices.py +35 -18
- codex/serializers/browser/filters.py +7 -5
- codex/serializers/browser/metadata.py +12 -10
- codex/serializers/browser/mixins.py +6 -8
- codex/serializers/browser/mtime.py +6 -2
- codex/serializers/browser/page.py +8 -3
- codex/serializers/browser/settings.py +35 -5
- codex/serializers/fields/__init__.py +2 -2
- codex/serializers/fields/auth.py +4 -5
- codex/serializers/fields/base.py +16 -0
- codex/serializers/fields/browser.py +15 -31
- codex/serializers/fields/group.py +11 -8
- codex/serializers/fields/reader.py +14 -10
- codex/serializers/fields/sanitized.py +2 -0
- codex/serializers/fields/session.py +3 -8
- codex/serializers/fields/stats.py +3 -5
- codex/serializers/fields/vuetify.py +21 -10
- codex/serializers/mixins.py +42 -0
- codex/serializers/models/base.py +1 -1
- codex/serializers/models/comic.py +6 -2
- codex/serializers/models/named.py +62 -37
- codex/serializers/models/pycountry.py +0 -3
- codex/serializers/opds/v1.py +6 -6
- codex/serializers/opds/v2/feed.py +2 -4
- codex/serializers/opds/v2/publication.py +14 -14
- codex/serializers/opds/v2/unused.py +2 -0
- codex/serializers/reader.py +52 -31
- codex/serializers/route.py +6 -4
- codex/serializers/settings.py +6 -6
- codex/settings/__init__.py +424 -1
- codex/signals/django_signals.py +2 -35
- codex/signals/os_signals.py +4 -5
- codex/startup/__init__.py +180 -0
- codex/startup/db.py +130 -0
- codex/startup/logger_init.py +45 -0
- codex/startup/registration.py +13 -0
- codex/static_root/assets/VCheckbox-DSndl51k.1e28c443c3cb.js +1 -0
- codex/static_root/assets/VCheckbox-DSndl51k.1e28c443c3cb.js.br +0 -0
- codex/static_root/assets/VCheckbox-DSndl51k.1e28c443c3cb.js.gz +0 -0
- codex/static_root/assets/VCheckbox-DSndl51k.js +1 -0
- codex/static_root/assets/VCheckbox-DSndl51k.js.br +0 -0
- codex/static_root/assets/VCheckbox-DSndl51k.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.d7463473d7a2.js +1 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.d7463473d7a2.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.d7463473d7a2.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.js +1 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-Bu2Pf64q.js.gz +0 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.9f900e703605.js +1 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.9f900e703605.js.br +0 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.9f900e703605.js.gz +0 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.js +1 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.js.br +0 -0
- codex/static_root/assets/VCombobox-Uogv6Ckp.js.gz +0 -0
- codex/static_root/assets/VDialog-BzaGu1HN.34f52763c3f8.js +1 -0
- codex/static_root/assets/VDialog-BzaGu1HN.34f52763c3f8.js.br +0 -0
- codex/static_root/assets/VDialog-BzaGu1HN.34f52763c3f8.js.gz +0 -0
- codex/static_root/assets/VDialog-BzaGu1HN.js +1 -0
- codex/static_root/assets/VDialog-BzaGu1HN.js.br +0 -0
- codex/static_root/assets/VDialog-BzaGu1HN.js.gz +0 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css +1 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css.br +0 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css.gz +0 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.css +1 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.css.br +0 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.css.gz +0 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.4938e9ced53e.js +1 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.4938e9ced53e.js.br +0 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.4938e9ced53e.js.gz +0 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.js +1 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.js.br +0 -0
- codex/static_root/assets/VDivider-C3ikm0Ko.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.5cb7c833de3d.js +1 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.5cb7c833de3d.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.5cb7c833de3d.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.js +1 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-AmsInZN0.js.gz +0 -0
- codex/static_root/assets/VForm-CyCdgusw.c737973a1e85.js +1 -0
- codex/static_root/assets/VForm-CyCdgusw.c737973a1e85.js.br +0 -0
- codex/static_root/assets/VForm-CyCdgusw.c737973a1e85.js.gz +0 -0
- codex/static_root/assets/VForm-CyCdgusw.js +1 -0
- codex/static_root/assets/VForm-CyCdgusw.js.br +0 -0
- codex/static_root/assets/VForm-CyCdgusw.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.e54d2bf41bb2.js +1 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.e54d2bf41bb2.js.br +0 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.e54d2bf41bb2.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.js +1 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.js.br +0 -0
- codex/static_root/assets/VRadioGroup-BF0Xjrzi.js.gz +0 -0
- codex/static_root/assets/VSelect-Dv50OIkN.390adb1fe7fa.js +1 -0
- codex/static_root/assets/VSelect-Dv50OIkN.390adb1fe7fa.js.br +0 -0
- codex/static_root/assets/VSelect-Dv50OIkN.390adb1fe7fa.js.gz +0 -0
- codex/static_root/assets/VSelect-Dv50OIkN.js +1 -0
- codex/static_root/assets/VSelect-Dv50OIkN.js.br +0 -0
- codex/static_root/assets/VSelect-Dv50OIkN.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.8d2ab1ebe546.js +1 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.8d2ab1ebe546.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.8d2ab1ebe546.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.js +1 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DbKYScD5.js.gz +0 -0
- codex/static_root/assets/VTable-BmOfHc7J.b2e1311009d1.js +1 -0
- codex/static_root/assets/VTable-BmOfHc7J.b2e1311009d1.js.br +0 -0
- codex/static_root/assets/VTable-BmOfHc7J.b2e1311009d1.js.gz +0 -0
- codex/static_root/assets/VTable-BmOfHc7J.js +1 -0
- codex/static_root/assets/VTable-BmOfHc7J.js.br +0 -0
- codex/static_root/assets/VTable-BmOfHc7J.js.gz +0 -0
- codex/static_root/assets/VTable-CQyv0wyO.1740239d481b.css +1 -0
- codex/static_root/assets/VTable-CQyv0wyO.1740239d481b.css.br +0 -0
- codex/static_root/assets/VTable-CQyv0wyO.1740239d481b.css.gz +0 -0
- codex/static_root/assets/VTable-CQyv0wyO.css +1 -0
- codex/static_root/assets/VTable-CQyv0wyO.css.br +0 -0
- codex/static_root/assets/VTable-CQyv0wyO.css.gz +0 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.4b67c4a63c59.js +1 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.4b67c4a63c59.js.br +0 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.4b67c4a63c59.js.gz +0 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.js +1 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.js.br +0 -0
- codex/static_root/assets/VWindowItem-BLEDgagD.js.gz +0 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.a9c679a2977e.css +1 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.a9c679a2977e.css.br +0 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.a9c679a2977e.css.gz +0 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.css +1 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.css.br +0 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.css.gz +0 -0
- codex/static_root/assets/admin-Bv40vYZw.8179e1ece835.js +1 -0
- codex/static_root/assets/admin-Bv40vYZw.8179e1ece835.js.br +0 -0
- codex/static_root/assets/admin-Bv40vYZw.8179e1ece835.js.gz +0 -0
- codex/static_root/assets/admin-Bv40vYZw.js +1 -0
- codex/static_root/assets/admin-Bv40vYZw.js.br +0 -0
- codex/static_root/assets/admin-Bv40vYZw.js.gz +0 -0
- codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css +1 -0
- codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css.br +0 -0
- codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css.gz +0 -0
- codex/static_root/assets/admin-DJCVf2PA.css +1 -0
- codex/static_root/assets/admin-DJCVf2PA.css.br +0 -0
- codex/static_root/assets/admin-DJCVf2PA.css.gz +0 -0
- codex/static_root/assets/admin-kjMoKlqD.55a1dd908124.js +1 -0
- codex/static_root/assets/admin-kjMoKlqD.55a1dd908124.js.br +0 -0
- codex/static_root/assets/admin-kjMoKlqD.55a1dd908124.js.gz +0 -0
- codex/static_root/assets/admin-kjMoKlqD.js +1 -0
- codex/static_root/assets/admin-kjMoKlqD.js.br +0 -0
- codex/static_root/assets/admin-kjMoKlqD.js.gz +0 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.e1f62ba483cd.js +1 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.e1f62ba483cd.js.br +0 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.e1f62ba483cd.js.gz +0 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.js +1 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.js.br +0 -0
- codex/static_root/assets/admin-menu-BNpuOmbI.js.gz +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css +1 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css.br +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css.gz +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.css +1 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.css.br +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.css.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-Cks9_KN-.a592809d4008.css +1 -0
- codex/static_root/assets/admin-settings-button-progress-Cks9_KN-.css +1 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.4cdd37d0dd16.js +1 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.4cdd37d0dd16.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.4cdd37d0dd16.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.js +1 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-RfwaqLl2.js.gz +0 -0
- codex/static_root/assets/browser-Cdi7U5ku.bab9fccf0326.css +1 -0
- codex/static_root/assets/browser-Cdi7U5ku.bab9fccf0326.css.br +0 -0
- codex/static_root/assets/browser-Cdi7U5ku.bab9fccf0326.css.gz +0 -0
- codex/static_root/assets/browser-Cdi7U5ku.css +1 -0
- codex/static_root/assets/browser-Cdi7U5ku.css.br +0 -0
- codex/static_root/assets/browser-Cdi7U5ku.css.gz +0 -0
- codex/static_root/assets/browser-plYso4v5.87ef04b44d37.js +1 -0
- codex/static_root/assets/browser-plYso4v5.87ef04b44d37.js.br +0 -0
- codex/static_root/assets/browser-plYso4v5.87ef04b44d37.js.gz +0 -0
- codex/static_root/assets/browser-plYso4v5.js +1 -0
- codex/static_root/assets/browser-plYso4v5.js.br +0 -0
- codex/static_root/assets/browser-plYso4v5.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.26383853ccc0.js +1 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.26383853ccc0.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.26383853ccc0.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.js +1 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DyhQwNv1.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.d1f0728d4bd0.js +1 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.d1f0728d4bd0.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.d1f0728d4bd0.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.js +1 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B7ndwV5M.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-YfC8mRQA.be37e8f67e0f.css +1 -0
- codex/static_root/assets/confirm-dialog-YfC8mRQA.css +1 -0
- codex/static_root/assets/datetime-column-Bt7J1qEf.css +1 -0
- codex/static_root/assets/datetime-column-Bt7J1qEf.css.br +0 -0
- codex/static_root/assets/datetime-column-Bt7J1qEf.d83164b4d4cb.css +1 -0
- codex/static_root/assets/datetime-column-Bt7J1qEf.d83164b4d4cb.css.br +0 -0
- codex/static_root/assets/datetime-column-DANpNGGe.13985ff7d484.js +1 -0
- codex/static_root/assets/datetime-column-DANpNGGe.13985ff7d484.js.br +0 -0
- codex/static_root/assets/datetime-column-DANpNGGe.13985ff7d484.js.gz +0 -0
- codex/static_root/assets/datetime-column-DANpNGGe.js +1 -0
- codex/static_root/assets/datetime-column-DANpNGGe.js.br +0 -0
- codex/static_root/assets/datetime-column-DANpNGGe.js.gz +0 -0
- codex/static_root/assets/filter-Dhe8cVmt.ad92d3b618e3.js +1 -0
- codex/static_root/assets/filter-Dhe8cVmt.ad92d3b618e3.js.br +0 -0
- codex/static_root/assets/filter-Dhe8cVmt.ad92d3b618e3.js.gz +0 -0
- codex/static_root/assets/filter-Dhe8cVmt.js +1 -0
- codex/static_root/assets/filter-Dhe8cVmt.js.br +0 -0
- codex/static_root/assets/filter-Dhe8cVmt.js.gz +0 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.0b814b215567.js +1 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.0b814b215567.js.br +0 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.0b814b215567.js.gz +0 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.js +1 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.js.br +0 -0
- codex/static_root/assets/flag-tab-BZ9S7U8D.js.gz +0 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.5114f206ca9c.css +1 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.5114f206ca9c.css.br +0 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.5114f206ca9c.css.gz +0 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.css +1 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.css.br +0 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.css.gz +0 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.deb4e7a1b8b5.js +1 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.deb4e7a1b8b5.js.br +0 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.deb4e7a1b8b5.js.gz +0 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.js +1 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.js.br +0 -0
- codex/static_root/assets/forwardRefs-Z0d4Mnc7.js.gz +0 -0
- codex/static_root/assets/group-tab-B0ASBB3_.8e10b90ff052.js +1 -0
- codex/static_root/assets/group-tab-B0ASBB3_.8e10b90ff052.js.br +0 -0
- codex/static_root/assets/group-tab-B0ASBB3_.8e10b90ff052.js.gz +0 -0
- codex/static_root/assets/group-tab-B0ASBB3_.js +1 -0
- codex/static_root/assets/group-tab-B0ASBB3_.js.br +0 -0
- codex/static_root/assets/group-tab-B0ASBB3_.js.gz +0 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css +1 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css.br +0 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css.gz +0 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.css +1 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.css.br +0 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.css.gz +0 -0
- codex/static_root/assets/http-error-BP-mMZsK.72c4d00b40d2.js +1 -0
- codex/static_root/assets/http-error-BP-mMZsK.72c4d00b40d2.js.br +0 -0
- codex/static_root/assets/http-error-BP-mMZsK.72c4d00b40d2.js.gz +0 -0
- codex/static_root/assets/http-error-BP-mMZsK.js +1 -0
- codex/static_root/assets/http-error-BP-mMZsK.js.br +0 -0
- codex/static_root/assets/http-error-BP-mMZsK.js.gz +0 -0
- codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css +1 -0
- codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css.br +0 -0
- codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css.gz +0 -0
- codex/static_root/assets/http-error-CB3k5P-n.css +1 -0
- codex/static_root/assets/http-error-CB3k5P-n.css.br +0 -0
- codex/static_root/assets/http-error-CB3k5P-n.css.gz +0 -0
- codex/static_root/assets/index-Cu9nQXJD.49795921eada.js +1 -0
- codex/static_root/assets/index-Cu9nQXJD.49795921eada.js.br +0 -0
- codex/static_root/assets/index-Cu9nQXJD.49795921eada.js.gz +0 -0
- codex/static_root/assets/index-Cu9nQXJD.js +1 -0
- codex/static_root/assets/index-Cu9nQXJD.js.br +0 -0
- codex/static_root/assets/index-Cu9nQXJD.js.gz +0 -0
- codex/static_root/assets/library-tab-8g2eSuGN.846cc1674a67.js +1 -0
- codex/static_root/assets/library-tab-8g2eSuGN.846cc1674a67.js.br +0 -0
- codex/static_root/assets/library-tab-8g2eSuGN.846cc1674a67.js.gz +0 -0
- codex/static_root/assets/library-tab-8g2eSuGN.js +1 -0
- codex/static_root/assets/library-tab-8g2eSuGN.js.br +0 -0
- codex/static_root/assets/library-tab-8g2eSuGN.js.gz +0 -0
- codex/static_root/assets/library-tab-D9lxhAqv.02f7064c20f3.css +1 -0
- codex/static_root/assets/library-tab-D9lxhAqv.02f7064c20f3.css.br +0 -0
- codex/static_root/assets/library-tab-D9lxhAqv.02f7064c20f3.css.gz +0 -0
- codex/static_root/assets/library-tab-D9lxhAqv.css +1 -0
- codex/static_root/assets/library-tab-D9lxhAqv.css.br +0 -0
- codex/static_root/assets/library-tab-D9lxhAqv.css.gz +0 -0
- codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css +5 -0
- codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css.br +0 -0
- codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css.gz +0 -0
- codex/static_root/assets/main-B8_0rUnw.css +5 -0
- codex/static_root/assets/main-B8_0rUnw.css.br +0 -0
- codex/static_root/assets/main-B8_0rUnw.css.gz +0 -0
- codex/static_root/assets/main-BoAlbVoF.e41ba211717d.js +39 -0
- codex/static_root/assets/main-BoAlbVoF.e41ba211717d.js.br +0 -0
- codex/static_root/assets/main-BoAlbVoF.e41ba211717d.js.gz +0 -0
- codex/static_root/assets/main-BoAlbVoF.js +39 -0
- codex/static_root/assets/main-BoAlbVoF.js.br +0 -0
- codex/static_root/assets/main-BoAlbVoF.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.026946648650.js +1 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.026946648650.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.026946648650.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.js +1 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-DShiSKPO.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.4f9155469274.css +1 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.4f9155469274.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.4f9155469274.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.css +1 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.c3f463ad6edd.js +1 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.c3f463ad6edd.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.c3f463ad6edd.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.js +1 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DGfRDeRW.js.gz +0 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.91b43d057670.js +372 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.91b43d057670.js.br +0 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.91b43d057670.js.gz +0 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.js +372 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.js.br +0 -0
- codex/static_root/assets/pdf-doc-D6Meu4vZ.js.gz +0 -0
- codex/static_root/assets/reader-CptqnqBZ.340bc756e164.js +2 -0
- codex/static_root/assets/reader-CptqnqBZ.340bc756e164.js.br +0 -0
- codex/static_root/assets/reader-CptqnqBZ.340bc756e164.js.gz +0 -0
- codex/static_root/assets/reader-CptqnqBZ.js +2 -0
- codex/static_root/assets/reader-CptqnqBZ.js.br +0 -0
- codex/static_root/assets/reader-CptqnqBZ.js.gz +0 -0
- codex/static_root/assets/reader-LwL05rgA.c022ad3b7b94.css +1 -0
- codex/static_root/assets/reader-LwL05rgA.c022ad3b7b94.css.br +0 -0
- codex/static_root/assets/reader-LwL05rgA.c022ad3b7b94.css.gz +0 -0
- codex/static_root/assets/reader-LwL05rgA.css +1 -0
- codex/static_root/assets/reader-LwL05rgA.css.br +0 -0
- codex/static_root/assets/reader-LwL05rgA.css.gz +0 -0
- codex/static_root/assets/relation-chips-CAXZIswb.e991a259ce59.js +1 -0
- codex/static_root/assets/relation-chips-CAXZIswb.e991a259ce59.js.br +0 -0
- codex/static_root/assets/relation-chips-CAXZIswb.e991a259ce59.js.gz +0 -0
- codex/static_root/assets/relation-chips-CAXZIswb.js +1 -0
- codex/static_root/assets/relation-chips-CAXZIswb.js.br +0 -0
- codex/static_root/assets/relation-chips-CAXZIswb.js.gz +0 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.0b468249b62e.css +1 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.0b468249b62e.css.br +0 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.0b468249b62e.css.gz +0 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.css +1 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.css.br +0 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.css.gz +0 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.82718694498e.js +2 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.82718694498e.js.br +0 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.82718694498e.js.gz +0 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.js +2 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.js.br +0 -0
- codex/static_root/assets/settings-drawer-B4gD41g6.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css +1 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css.br +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css.gz +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.css +1 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.css.br +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.css.gz +0 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.7180d77d283e.js +1 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.7180d77d283e.js.br +0 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.7180d77d283e.js.gz +0 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.js +1 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.js.br +0 -0
- codex/static_root/assets/ssrBoot-O6yTJ_UV.js.gz +0 -0
- codex/static_root/assets/stats-tab-BZjOg19A.afb2e6b0d648.js +1 -0
- codex/static_root/assets/stats-tab-BZjOg19A.afb2e6b0d648.js.br +0 -0
- codex/static_root/assets/stats-tab-BZjOg19A.afb2e6b0d648.js.gz +0 -0
- codex/static_root/assets/stats-tab-BZjOg19A.js +1 -0
- codex/static_root/assets/stats-tab-BZjOg19A.js.br +0 -0
- codex/static_root/assets/stats-tab-BZjOg19A.js.gz +0 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css +1 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css.br +0 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css.gz +0 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.css +1 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.css.br +0 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.css.gz +0 -0
- codex/static_root/assets/task-tab-GP2jPkRE.cfdfb9396ec4.js +1 -0
- codex/static_root/assets/task-tab-GP2jPkRE.cfdfb9396ec4.js.br +0 -0
- codex/static_root/assets/task-tab-GP2jPkRE.cfdfb9396ec4.js.gz +0 -0
- codex/static_root/assets/task-tab-GP2jPkRE.js +1 -0
- codex/static_root/assets/task-tab-GP2jPkRE.js.br +0 -0
- codex/static_root/assets/task-tab-GP2jPkRE.js.gz +0 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css +1 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css.br +0 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css.gz +0 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.css +1 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.css.br +0 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.css.gz +0 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.12d2efd95d7d.js +1 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.12d2efd95d7d.js.br +0 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.12d2efd95d7d.js.gz +0 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.js +1 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.js.br +0 -0
- codex/static_root/assets/unauthorized-Bo3ThIrX.js.gz +0 -0
- codex/static_root/assets/user-tab-BQ82qBg3.17190dc83452.js +1 -0
- codex/static_root/assets/user-tab-BQ82qBg3.17190dc83452.js.br +0 -0
- codex/static_root/assets/user-tab-BQ82qBg3.17190dc83452.js.gz +0 -0
- codex/static_root/assets/user-tab-BQ82qBg3.js +1 -0
- codex/static_root/assets/user-tab-BQ82qBg3.js.br +0 -0
- codex/static_root/assets/user-tab-BQ82qBg3.js.gz +0 -0
- codex/static_root/img/folder.83168d8d3119.svg +1 -0
- codex/static_root/img/folder.83168d8d3119.svg.br +1 -0
- codex/static_root/img/folder.83168d8d3119.svg.gz +0 -0
- codex/static_root/img/folder.svg +1 -1
- codex/static_root/img/folder.svg.br +0 -0
- codex/static_root/img/folder.svg.gz +0 -0
- codex/static_root/img/imprint.3ca7a779b949.svg +1 -0
- codex/static_root/img/imprint.3ca7a779b949.svg.br +0 -0
- codex/static_root/img/imprint.3ca7a779b949.svg.gz +0 -0
- codex/static_root/img/imprint.svg +1 -1
- codex/static_root/img/imprint.svg.br +0 -0
- codex/static_root/img/imprint.svg.gz +0 -0
- codex/static_root/img/logo-maskable.aeef5c2fffc8.svg +1 -0
- codex/static_root/img/logo-maskable.aeef5c2fffc8.svg.br +0 -0
- codex/static_root/img/logo-maskable.aeef5c2fffc8.svg.gz +0 -0
- codex/static_root/img/logo-maskable.svg +1 -1
- codex/static_root/img/logo-maskable.svg.br +0 -0
- codex/static_root/img/logo-maskable.svg.gz +0 -0
- codex/static_root/img/logo.00c902973831.svg +1 -0
- codex/static_root/img/logo.00c902973831.svg.br +0 -0
- codex/static_root/img/logo.00c902973831.svg.gz +0 -0
- codex/static_root/img/logo.svg +1 -1
- codex/static_root/img/logo.svg.br +0 -0
- codex/static_root/img/logo.svg.gz +0 -0
- codex/static_root/img/missing-cover-165.f4bb7740084c.webp +0 -0
- codex/static_root/img/missing-cover-165.webp +0 -0
- codex/static_root/img/missing-cover.7329518c5972.svg +1 -0
- codex/static_root/img/missing-cover.7329518c5972.svg.br +0 -0
- codex/static_root/img/missing-cover.7329518c5972.svg.gz +0 -0
- codex/static_root/img/missing-cover.svg +1 -1
- codex/static_root/img/missing-cover.svg.br +0 -0
- codex/static_root/img/missing-cover.svg.gz +0 -0
- codex/static_root/img/series.b092bbac0c2a.svg +1 -0
- codex/static_root/img/series.b092bbac0c2a.svg.br +0 -0
- codex/static_root/img/series.b092bbac0c2a.svg.gz +0 -0
- codex/static_root/img/series.svg +1 -1
- codex/static_root/img/series.svg.br +0 -0
- codex/static_root/img/series.svg.gz +0 -0
- codex/static_root/img/story-arc.884f7b1d95bd.svg +1 -0
- codex/static_root/img/story-arc.884f7b1d95bd.svg.br +0 -0
- codex/static_root/img/story-arc.884f7b1d95bd.svg.gz +0 -0
- codex/static_root/img/story-arc.svg +1 -1
- codex/static_root/img/story-arc.svg.br +0 -0
- codex/static_root/img/story-arc.svg.gz +0 -0
- codex/static_root/img/volume.516ec0c3018d.svg +1 -0
- codex/static_root/img/volume.516ec0c3018d.svg.br +0 -0
- codex/static_root/img/volume.516ec0c3018d.svg.gz +0 -0
- codex/static_root/img/volume.svg +1 -1
- codex/static_root/img/volume.svg.br +0 -0
- codex/static_root/img/volume.svg.gz +0 -0
- codex/static_root/manifest.0dc91d0dee6d.json +760 -0
- codex/static_root/manifest.0dc91d0dee6d.json.br +0 -0
- codex/static_root/manifest.0dc91d0dee6d.json.gz +0 -0
- codex/static_root/manifest.json +339 -336
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/templates/headers-script-globals.html +1 -0
- codex/urls/api/browser.py +10 -1
- codex/urls/converters.py +2 -5
- codex/urls/root.py +1 -1
- codex/util.py +14 -8
- codex/views/admin/api_key.py +1 -1
- codex/views/admin/flag.py +10 -9
- codex/views/admin/group.py +5 -3
- codex/views/admin/library.py +12 -9
- codex/views/admin/permissions.py +21 -0
- codex/views/admin/stats.py +6 -8
- codex/views/admin/tasks.py +47 -45
- codex/views/admin/user.py +5 -3
- codex/views/auth.py +29 -11
- codex/views/bookmark.py +25 -14
- codex/views/browser/annotate/bookmark.py +0 -3
- codex/views/browser/annotate/card.py +20 -5
- codex/views/browser/annotate/order.py +2 -6
- codex/views/browser/bookmark.py +10 -7
- codex/views/browser/breadcrumbs.py +7 -6
- codex/views/browser/browser.py +16 -16
- codex/views/browser/choices.py +81 -65
- codex/views/browser/cover.py +21 -19
- codex/views/browser/download.py +5 -5
- codex/views/browser/filters/bookmark.py +5 -0
- codex/views/browser/filters/field.py +3 -3
- codex/views/browser/filters/filter.py +3 -5
- codex/views/browser/filters/group.py +5 -5
- codex/views/browser/filters/search/field/column.py +13 -9
- codex/views/browser/filters/search/field/expression.py +1 -3
- codex/views/browser/filters/search/field/filter.py +2 -4
- codex/views/browser/filters/search/field/optimize.py +1 -1
- codex/views/browser/filters/search/field/parse.py +28 -7
- codex/views/browser/filters/search/fts.py +3 -4
- codex/views/browser/filters/search/parse.py +26 -26
- codex/views/browser/group_mtime.py +13 -10
- codex/views/browser/metadata/__init__.py +90 -1
- codex/views/browser/metadata/annotate.py +13 -27
- codex/views/browser/metadata/const.py +83 -0
- codex/views/browser/metadata/copy_intersections.py +14 -9
- codex/views/browser/metadata/query_intersections.py +67 -48
- codex/views/browser/mtime.py +4 -7
- codex/views/browser/order_by.py +4 -1
- codex/views/browser/page_in_bounds.py +5 -6
- codex/views/browser/paginate.py +3 -5
- codex/views/browser/params.py +3 -20
- codex/views/browser/settings.py +18 -4
- codex/views/browser/title.py +9 -5
- codex/views/browser/validate.py +6 -8
- codex/views/const.py +11 -9
- codex/views/download.py +2 -2
- codex/views/error.py +1 -1
- codex/views/exceptions.py +82 -0
- codex/views/frontend.py +8 -18
- codex/views/lazy_import.py +24 -0
- codex/views/mixins.py +34 -12
- codex/views/opds/auth.py +2 -2
- codex/views/opds/authentication_v1.py +2 -1
- codex/views/opds/const.py +1 -1
- codex/views/opds/urls.py +2 -1
- codex/views/opds/util.py +14 -41
- codex/views/opds/v1/entry/entry.py +12 -15
- codex/views/opds/v1/entry/links.py +15 -19
- codex/views/opds/v1/facets.py +8 -5
- codex/views/opds/v1/feed.py +23 -22
- codex/views/opds/v1/links.py +3 -7
- codex/views/opds/v1/opensearch_v1.py +7 -4
- codex/views/opds/v2/feed.py +13 -13
- codex/views/opds/v2/href.py +17 -12
- codex/views/opds/v2/links.py +3 -1
- codex/views/opds/v2/progression.py +31 -15
- codex/views/opds/v2/publications.py +18 -17
- codex/views/opds/v2/top_links.py +7 -2
- codex/views/public.py +12 -15
- codex/views/reader/arcs.py +143 -74
- codex/views/reader/books.py +72 -97
- codex/views/reader/page.py +13 -9
- codex/views/reader/params.py +32 -98
- codex/views/reader/reader.py +18 -73
- codex/views/reader/settings.py +4 -2
- codex/views/session.py +12 -19
- codex/views/settings.py +4 -9
- codex/views/template.py +8 -4
- codex/views/timezone.py +4 -5
- codex/views/util.py +3 -24
- codex/views/version.py +5 -3
- codex/websockets/consumers.py +7 -7
- codex/websockets/listener.py +4 -5
- codex-1.8.0a2.dist-info/METADATA +593 -0
- codex-1.8.0a2.dist-info/RECORD +1098 -0
- codex-1.8.0a2.dist-info/WHEEL +4 -0
- codex-1.8.0a2.dist-info/entry_points.txt +2 -0
- codex/db.py +0 -134
- codex/exceptions.py +0 -88
- codex/librarian/README.md +0 -4
- codex/librarian/delayed_taskd.py +0 -21
- codex/librarian/importer/__init__.py +0 -1
- codex/librarian/importer/aggregate.py +0 -256
- codex/librarian/importer/cache.py +0 -90
- codex/librarian/importer/const.py +0 -244
- codex/librarian/importer/create_comics.py +0 -139
- codex/librarian/importer/create_covers.py +0 -96
- codex/librarian/importer/create_fks.py +0 -346
- codex/librarian/importer/deleted.py +0 -138
- codex/librarian/importer/extract.py +0 -284
- codex/librarian/importer/failed_imports.py +0 -165
- codex/librarian/importer/importer.py +0 -101
- codex/librarian/importer/importerd.py +0 -122
- codex/librarian/importer/init.py +0 -264
- codex/librarian/importer/link_comics.py +0 -270
- codex/librarian/importer/link_covers.py +0 -73
- codex/librarian/importer/moved.py +0 -368
- codex/librarian/importer/query_covers.py +0 -53
- codex/librarian/importer/query_fks.py +0 -653
- codex/librarian/importer/status.py +0 -29
- codex/librarian/importer/tasks.py +0 -55
- codex/librarian/janitor/__init__.py +0 -1
- codex/librarian/janitor/cleanup.py +0 -167
- codex/librarian/janitor/failed_imports.py +0 -27
- codex/librarian/janitor/integrity.py +0 -378
- codex/librarian/janitor/janitor.py +0 -161
- codex/librarian/janitor/latest_version.py +0 -55
- codex/librarian/janitor/scheduled_time.py +0 -12
- codex/librarian/janitor/status.py +0 -22
- codex/librarian/janitor/tasks.py +0 -109
- codex/librarian/janitor/update.py +0 -109
- codex/librarian/janitor/vacuum.py +0 -51
- codex/librarian/search/__init__.py +0 -1
- codex/librarian/search/optimize.py +0 -43
- codex/librarian/search/remove.py +0 -53
- codex/librarian/search/searchd.py +0 -28
- codex/librarian/search/status.py +0 -13
- codex/librarian/search/tasks.py +0 -37
- codex/librarian/search/update.py +0 -305
- codex/librarian/watchdog/README.md +0 -11
- codex/logger/__init__.py +0 -1
- codex/logger/formatter.py +0 -36
- codex/logger/logger.py +0 -46
- codex/logger/loggerd.py +0 -102
- codex/logger/mp_queue.py +0 -5
- codex/logger_base.py +0 -12
- codex/memory.py +0 -56
- codex/permissions.py +0 -19
- codex/registration.py +0 -16
- codex/serializers/README.md +0 -4
- codex/settings/README.md +0 -4
- codex/settings/settings.py +0 -389
- codex/startup.py +0 -182
- codex/static_root/assets/VCheckbox-DraWPvy6.30c95a5ce5e6.js +0 -1
- codex/static_root/assets/VCheckbox-DraWPvy6.30c95a5ce5e6.js.br +0 -0
- codex/static_root/assets/VCheckbox-DraWPvy6.30c95a5ce5e6.js.gz +0 -0
- codex/static_root/assets/VCheckbox-DraWPvy6.js +0 -1
- codex/static_root/assets/VCheckbox-DraWPvy6.js.br +0 -0
- codex/static_root/assets/VCheckbox-DraWPvy6.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.f38524c2448d.js +0 -1
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.f38524c2448d.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.f38524c2448d.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.js +0 -1
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.js.gz +0 -0
- codex/static_root/assets/VCombobox-DKyNgHNV.b4e08dd5606d.js +0 -1
- codex/static_root/assets/VCombobox-DKyNgHNV.b4e08dd5606d.js.br +0 -0
- codex/static_root/assets/VCombobox-DKyNgHNV.b4e08dd5606d.js.gz +0 -0
- codex/static_root/assets/VCombobox-DKyNgHNV.js +0 -1
- codex/static_root/assets/VCombobox-DKyNgHNV.js.br +0 -0
- codex/static_root/assets/VCombobox-DKyNgHNV.js.gz +0 -0
- codex/static_root/assets/VDialog-C_zlnjF1.6c58e08b5374.css +0 -1
- codex/static_root/assets/VDialog-C_zlnjF1.6c58e08b5374.css.br +0 -0
- codex/static_root/assets/VDialog-C_zlnjF1.6c58e08b5374.css.gz +0 -0
- codex/static_root/assets/VDialog-C_zlnjF1.css +0 -1
- codex/static_root/assets/VDialog-C_zlnjF1.css.br +0 -0
- codex/static_root/assets/VDialog-C_zlnjF1.css.gz +0 -0
- codex/static_root/assets/VDialog-tf0N3lvG.eecb009783ed.js +0 -1
- codex/static_root/assets/VDialog-tf0N3lvG.eecb009783ed.js.br +0 -0
- codex/static_root/assets/VDialog-tf0N3lvG.eecb009783ed.js.gz +0 -0
- codex/static_root/assets/VDialog-tf0N3lvG.js +0 -1
- codex/static_root/assets/VDialog-tf0N3lvG.js.br +0 -0
- codex/static_root/assets/VDialog-tf0N3lvG.js.gz +0 -0
- codex/static_root/assets/VDivider-CTvTvFr_.3d0b477ddae0.js +0 -1
- codex/static_root/assets/VDivider-CTvTvFr_.3d0b477ddae0.js.br +0 -0
- codex/static_root/assets/VDivider-CTvTvFr_.3d0b477ddae0.js.gz +0 -0
- codex/static_root/assets/VDivider-CTvTvFr_.js +0 -1
- codex/static_root/assets/VDivider-CTvTvFr_.js.br +0 -0
- codex/static_root/assets/VDivider-CTvTvFr_.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.203715bfa684.js +0 -1
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.203715bfa684.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.203715bfa684.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.js +0 -1
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.js.gz +0 -0
- codex/static_root/assets/VForm-Dw7aCtM5.9266634dfe00.js +0 -1
- codex/static_root/assets/VForm-Dw7aCtM5.9266634dfe00.js.br +0 -0
- codex/static_root/assets/VForm-Dw7aCtM5.9266634dfe00.js.gz +0 -0
- codex/static_root/assets/VForm-Dw7aCtM5.js +0 -1
- codex/static_root/assets/VForm-Dw7aCtM5.js.br +0 -0
- codex/static_root/assets/VForm-Dw7aCtM5.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DJBFM2Br.79fa65084b8d.js +0 -1
- codex/static_root/assets/VRadioGroup-DJBFM2Br.79fa65084b8d.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DJBFM2Br.79fa65084b8d.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DJBFM2Br.js +0 -1
- codex/static_root/assets/VRadioGroup-DJBFM2Br.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DJBFM2Br.js.gz +0 -0
- codex/static_root/assets/VSelect-Cv8OuNtL.a5e2fe245f1a.js +0 -1
- codex/static_root/assets/VSelect-Cv8OuNtL.a5e2fe245f1a.js.br +0 -0
- codex/static_root/assets/VSelect-Cv8OuNtL.a5e2fe245f1a.js.gz +0 -0
- codex/static_root/assets/VSelect-Cv8OuNtL.js +0 -1
- codex/static_root/assets/VSelect-Cv8OuNtL.js.br +0 -0
- codex/static_root/assets/VSelect-Cv8OuNtL.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DoFzRlEh.a927b53c246b.js +0 -1
- codex/static_root/assets/VSelectionControl-DoFzRlEh.a927b53c246b.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DoFzRlEh.a927b53c246b.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DoFzRlEh.js +0 -1
- codex/static_root/assets/VSelectionControl-DoFzRlEh.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DoFzRlEh.js.gz +0 -0
- codex/static_root/assets/VTable-C-cNChDa.b2aabb112acf.js +0 -1
- codex/static_root/assets/VTable-C-cNChDa.b2aabb112acf.js.br +0 -0
- codex/static_root/assets/VTable-C-cNChDa.b2aabb112acf.js.gz +0 -0
- codex/static_root/assets/VTable-C-cNChDa.js +0 -1
- codex/static_root/assets/VTable-C-cNChDa.js.br +0 -0
- codex/static_root/assets/VTable-C-cNChDa.js.gz +0 -0
- codex/static_root/assets/VTable-CHRVGI94.0a75643f6486.css +0 -1
- codex/static_root/assets/VTable-CHRVGI94.0a75643f6486.css.br +0 -0
- codex/static_root/assets/VTable-CHRVGI94.0a75643f6486.css.gz +0 -0
- codex/static_root/assets/VTable-CHRVGI94.css +0 -1
- codex/static_root/assets/VTable-CHRVGI94.css.br +0 -0
- codex/static_root/assets/VTable-CHRVGI94.css.gz +0 -0
- codex/static_root/assets/VWindowItem-CWBhiE_Y.css +0 -1
- codex/static_root/assets/VWindowItem-CWBhiE_Y.css.br +0 -0
- codex/static_root/assets/VWindowItem-CWBhiE_Y.css.gz +0 -0
- codex/static_root/assets/VWindowItem-CWBhiE_Y.f7fb19752bf3.css +0 -1
- codex/static_root/assets/VWindowItem-CWBhiE_Y.f7fb19752bf3.css.br +0 -0
- codex/static_root/assets/VWindowItem-CWBhiE_Y.f7fb19752bf3.css.gz +0 -0
- codex/static_root/assets/VWindowItem-DL6bN3h7.45f85724527c.js +0 -1
- codex/static_root/assets/VWindowItem-DL6bN3h7.45f85724527c.js.br +0 -0
- codex/static_root/assets/VWindowItem-DL6bN3h7.45f85724527c.js.gz +0 -0
- codex/static_root/assets/VWindowItem-DL6bN3h7.js +0 -1
- codex/static_root/assets/VWindowItem-DL6bN3h7.js.br +0 -0
- codex/static_root/assets/VWindowItem-DL6bN3h7.js.gz +0 -0
- codex/static_root/assets/admin-BQ68PA7O.8bf1f757ca31.js +0 -1
- codex/static_root/assets/admin-BQ68PA7O.8bf1f757ca31.js.br +0 -0
- codex/static_root/assets/admin-BQ68PA7O.8bf1f757ca31.js.gz +0 -0
- codex/static_root/assets/admin-BQ68PA7O.js +0 -1
- codex/static_root/assets/admin-BQ68PA7O.js.br +0 -0
- codex/static_root/assets/admin-BQ68PA7O.js.gz +0 -0
- codex/static_root/assets/admin-Cg7RkTjo.191b04128f17.js +0 -1
- codex/static_root/assets/admin-Cg7RkTjo.191b04128f17.js.br +0 -0
- codex/static_root/assets/admin-Cg7RkTjo.191b04128f17.js.gz +0 -0
- codex/static_root/assets/admin-Cg7RkTjo.js +0 -1
- codex/static_root/assets/admin-Cg7RkTjo.js.br +0 -0
- codex/static_root/assets/admin-Cg7RkTjo.js.gz +0 -0
- codex/static_root/assets/admin-klMr_GZK.3784e4f1d624.css +0 -1
- codex/static_root/assets/admin-klMr_GZK.3784e4f1d624.css.br +0 -0
- codex/static_root/assets/admin-klMr_GZK.3784e4f1d624.css.gz +0 -0
- codex/static_root/assets/admin-klMr_GZK.css +0 -1
- codex/static_root/assets/admin-klMr_GZK.css.br +0 -0
- codex/static_root/assets/admin-klMr_GZK.css.gz +0 -0
- codex/static_root/assets/admin-menu-CKlcsy9S.41b2cf82b873.css +0 -1
- codex/static_root/assets/admin-menu-CKlcsy9S.41b2cf82b873.css.br +0 -0
- codex/static_root/assets/admin-menu-CKlcsy9S.41b2cf82b873.css.gz +0 -0
- codex/static_root/assets/admin-menu-CKlcsy9S.css +0 -1
- codex/static_root/assets/admin-menu-CKlcsy9S.css.br +0 -0
- codex/static_root/assets/admin-menu-CKlcsy9S.css.gz +0 -0
- codex/static_root/assets/admin-menu-Chx211s6.c63738168d93.js +0 -1
- codex/static_root/assets/admin-menu-Chx211s6.c63738168d93.js.br +0 -0
- codex/static_root/assets/admin-menu-Chx211s6.c63738168d93.js.gz +0 -0
- codex/static_root/assets/admin-menu-Chx211s6.js +0 -1
- codex/static_root/assets/admin-menu-Chx211s6.js.br +0 -0
- codex/static_root/assets/admin-menu-Chx211s6.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.7689648ee782.js +0 -1
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.7689648ee782.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.7689648ee782.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.js +0 -1
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-XVi7SeHr.435dc945daf1.css +0 -1
- codex/static_root/assets/admin-settings-button-progress-XVi7SeHr.css +0 -1
- codex/static_root/assets/browser-BKDmwxmv.6f4eca6489a1.js +0 -1
- codex/static_root/assets/browser-BKDmwxmv.6f4eca6489a1.js.br +0 -0
- codex/static_root/assets/browser-BKDmwxmv.6f4eca6489a1.js.gz +0 -0
- codex/static_root/assets/browser-BKDmwxmv.js +0 -1
- codex/static_root/assets/browser-BKDmwxmv.js.br +0 -0
- codex/static_root/assets/browser-BKDmwxmv.js.gz +0 -0
- codex/static_root/assets/browser-sNm790x9.305a6a4f38fd.css +0 -1
- codex/static_root/assets/browser-sNm790x9.305a6a4f38fd.css.br +0 -0
- codex/static_root/assets/browser-sNm790x9.305a6a4f38fd.css.gz +0 -0
- codex/static_root/assets/browser-sNm790x9.css +0 -1
- codex/static_root/assets/browser-sNm790x9.css.br +0 -0
- codex/static_root/assets/browser-sNm790x9.css.gz +0 -0
- codex/static_root/assets/change-password-dialog-DqupgUbt.e35dc497629b.js +0 -1
- codex/static_root/assets/change-password-dialog-DqupgUbt.e35dc497629b.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DqupgUbt.e35dc497629b.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DqupgUbt.js +0 -1
- codex/static_root/assets/change-password-dialog-DqupgUbt.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DqupgUbt.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-AMnfyuMm.278235fdacbf.js +0 -1
- codex/static_root/assets/confirm-dialog-AMnfyuMm.278235fdacbf.js.br +0 -0
- codex/static_root/assets/confirm-dialog-AMnfyuMm.278235fdacbf.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-AMnfyuMm.js +0 -1
- codex/static_root/assets/confirm-dialog-AMnfyuMm.js.br +0 -0
- codex/static_root/assets/confirm-dialog-AMnfyuMm.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-BI5kQLy_.1b5309ad95ec.css +0 -1
- codex/static_root/assets/confirm-dialog-BI5kQLy_.1b5309ad95ec.css.br +0 -0
- codex/static_root/assets/confirm-dialog-BI5kQLy_.css +0 -1
- codex/static_root/assets/confirm-dialog-BI5kQLy_.css.br +0 -0
- codex/static_root/assets/datetime-column-BavtvLnf.1f3bf499e063.css +0 -1
- codex/static_root/assets/datetime-column-BavtvLnf.css +0 -1
- codex/static_root/assets/datetime-column-m-oshrDM.7e17980c4b7a.js +0 -1
- codex/static_root/assets/datetime-column-m-oshrDM.7e17980c4b7a.js.br +0 -0
- codex/static_root/assets/datetime-column-m-oshrDM.7e17980c4b7a.js.gz +0 -0
- codex/static_root/assets/datetime-column-m-oshrDM.js +0 -1
- codex/static_root/assets/datetime-column-m-oshrDM.js.br +0 -0
- codex/static_root/assets/datetime-column-m-oshrDM.js.gz +0 -0
- codex/static_root/assets/filter-BucmWboA.c5589372c258.js +0 -1
- codex/static_root/assets/filter-BucmWboA.c5589372c258.js.br +0 -0
- codex/static_root/assets/filter-BucmWboA.c5589372c258.js.gz +0 -0
- codex/static_root/assets/filter-BucmWboA.js +0 -1
- codex/static_root/assets/filter-BucmWboA.js.br +0 -0
- codex/static_root/assets/filter-BucmWboA.js.gz +0 -0
- codex/static_root/assets/flag-tab-C434E1_2.49632d2b141d.js +0 -1
- codex/static_root/assets/flag-tab-C434E1_2.49632d2b141d.js.br +0 -0
- codex/static_root/assets/flag-tab-C434E1_2.49632d2b141d.js.gz +0 -0
- codex/static_root/assets/flag-tab-C434E1_2.js +0 -1
- codex/static_root/assets/flag-tab-C434E1_2.js.br +0 -0
- codex/static_root/assets/flag-tab-C434E1_2.js.gz +0 -0
- codex/static_root/assets/forwardRefs-C8KYLdfc.css +0 -1
- codex/static_root/assets/forwardRefs-C8KYLdfc.css.br +0 -0
- codex/static_root/assets/forwardRefs-C8KYLdfc.css.gz +0 -0
- codex/static_root/assets/forwardRefs-C8KYLdfc.f5843191eb9e.css +0 -1
- codex/static_root/assets/forwardRefs-C8KYLdfc.f5843191eb9e.css.br +0 -0
- codex/static_root/assets/forwardRefs-C8KYLdfc.f5843191eb9e.css.gz +0 -0
- codex/static_root/assets/forwardRefs-CGpIPavG.d61e8212d1dc.js +0 -1
- codex/static_root/assets/forwardRefs-CGpIPavG.d61e8212d1dc.js.br +0 -0
- codex/static_root/assets/forwardRefs-CGpIPavG.d61e8212d1dc.js.gz +0 -0
- codex/static_root/assets/forwardRefs-CGpIPavG.js +0 -1
- codex/static_root/assets/forwardRefs-CGpIPavG.js.br +0 -0
- codex/static_root/assets/forwardRefs-CGpIPavG.js.gz +0 -0
- codex/static_root/assets/group-tab-Bi681uR0.3246ac0f7cec.css +0 -1
- codex/static_root/assets/group-tab-Bi681uR0.3246ac0f7cec.css.br +0 -0
- codex/static_root/assets/group-tab-Bi681uR0.3246ac0f7cec.css.gz +0 -0
- codex/static_root/assets/group-tab-Bi681uR0.css +0 -1
- codex/static_root/assets/group-tab-Bi681uR0.css.br +0 -0
- codex/static_root/assets/group-tab-Bi681uR0.css.gz +0 -0
- codex/static_root/assets/group-tab-MrhEvTPy.9233e2e5e80e.js +0 -1
- codex/static_root/assets/group-tab-MrhEvTPy.9233e2e5e80e.js.br +0 -0
- codex/static_root/assets/group-tab-MrhEvTPy.9233e2e5e80e.js.gz +0 -0
- codex/static_root/assets/group-tab-MrhEvTPy.js +0 -1
- codex/static_root/assets/group-tab-MrhEvTPy.js.br +0 -0
- codex/static_root/assets/group-tab-MrhEvTPy.js.gz +0 -0
- codex/static_root/assets/http-error-CODU7jcH.8c13689ae574.css +0 -1
- codex/static_root/assets/http-error-CODU7jcH.8c13689ae574.css.br +0 -0
- codex/static_root/assets/http-error-CODU7jcH.8c13689ae574.css.gz +0 -0
- codex/static_root/assets/http-error-CODU7jcH.css +0 -1
- codex/static_root/assets/http-error-CODU7jcH.css.br +0 -0
- codex/static_root/assets/http-error-CODU7jcH.css.gz +0 -0
- codex/static_root/assets/http-error-gBWEusWz.be314a60dc2e.js +0 -1
- codex/static_root/assets/http-error-gBWEusWz.be314a60dc2e.js.br +0 -0
- codex/static_root/assets/http-error-gBWEusWz.be314a60dc2e.js.gz +0 -0
- codex/static_root/assets/http-error-gBWEusWz.js +0 -1
- codex/static_root/assets/http-error-gBWEusWz.js.br +0 -0
- codex/static_root/assets/http-error-gBWEusWz.js.gz +0 -0
- codex/static_root/assets/index-Cu_QC2K8.de1f7935ff98.js +0 -1
- codex/static_root/assets/index-Cu_QC2K8.de1f7935ff98.js.br +0 -0
- codex/static_root/assets/index-Cu_QC2K8.de1f7935ff98.js.gz +0 -0
- codex/static_root/assets/index-Cu_QC2K8.js +0 -1
- codex/static_root/assets/index-Cu_QC2K8.js.br +0 -0
- codex/static_root/assets/index-Cu_QC2K8.js.gz +0 -0
- codex/static_root/assets/library-tab-Ce1d8Ypk.c87088afd4e1.js +0 -1
- codex/static_root/assets/library-tab-Ce1d8Ypk.c87088afd4e1.js.br +0 -0
- codex/static_root/assets/library-tab-Ce1d8Ypk.c87088afd4e1.js.gz +0 -0
- codex/static_root/assets/library-tab-Ce1d8Ypk.js +0 -1
- codex/static_root/assets/library-tab-Ce1d8Ypk.js.br +0 -0
- codex/static_root/assets/library-tab-Ce1d8Ypk.js.gz +0 -0
- codex/static_root/assets/library-tab-DLpvMqPW.2989f610950b.css +0 -1
- codex/static_root/assets/library-tab-DLpvMqPW.2989f610950b.css.br +0 -0
- codex/static_root/assets/library-tab-DLpvMqPW.2989f610950b.css.gz +0 -0
- codex/static_root/assets/library-tab-DLpvMqPW.css +0 -1
- codex/static_root/assets/library-tab-DLpvMqPW.css.br +0 -0
- codex/static_root/assets/library-tab-DLpvMqPW.css.gz +0 -0
- codex/static_root/assets/main-CpP-5rLh.ce09dfd7874f.js +0 -39
- codex/static_root/assets/main-CpP-5rLh.ce09dfd7874f.js.br +0 -0
- codex/static_root/assets/main-CpP-5rLh.ce09dfd7874f.js.gz +0 -0
- codex/static_root/assets/main-CpP-5rLh.js +0 -39
- codex/static_root/assets/main-CpP-5rLh.js.br +0 -0
- codex/static_root/assets/main-CpP-5rLh.js.gz +0 -0
- codex/static_root/assets/main-Of3aYkZ7.91c75c4fbaa6.css +0 -5
- codex/static_root/assets/main-Of3aYkZ7.91c75c4fbaa6.css.br +0 -0
- codex/static_root/assets/main-Of3aYkZ7.91c75c4fbaa6.css.gz +0 -0
- codex/static_root/assets/main-Of3aYkZ7.css +0 -5
- codex/static_root/assets/main-Of3aYkZ7.css.br +0 -0
- codex/static_root/assets/main-Of3aYkZ7.css.gz +0 -0
- codex/static_root/assets/pager-full-pdf-D8B8_31l.f1659a2dac96.js +0 -1
- codex/static_root/assets/pager-full-pdf-D8B8_31l.f1659a2dac96.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-D8B8_31l.f1659a2dac96.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-D8B8_31l.js +0 -1
- codex/static_root/assets/pager-full-pdf-D8B8_31l.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-D8B8_31l.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-OKWewkNI.a2773ff43624.js +0 -1
- codex/static_root/assets/pagination-toolbar-OKWewkNI.a2773ff43624.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-OKWewkNI.a2773ff43624.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-OKWewkNI.js +0 -1
- codex/static_root/assets/pagination-toolbar-OKWewkNI.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-OKWewkNI.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-aHRrdz48.2cbd38f9256c.css +0 -1
- codex/static_root/assets/pagination-toolbar-aHRrdz48.2cbd38f9256c.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-aHRrdz48.2cbd38f9256c.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-aHRrdz48.css +0 -1
- codex/static_root/assets/pagination-toolbar-aHRrdz48.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-aHRrdz48.css.gz +0 -0
- codex/static_root/assets/pdf-doc-DpmuaK3i.2dca76dcae13.js +0 -372
- codex/static_root/assets/pdf-doc-DpmuaK3i.2dca76dcae13.js.br +0 -0
- codex/static_root/assets/pdf-doc-DpmuaK3i.2dca76dcae13.js.gz +0 -0
- codex/static_root/assets/pdf-doc-DpmuaK3i.js +0 -372
- codex/static_root/assets/pdf-doc-DpmuaK3i.js.br +0 -0
- codex/static_root/assets/pdf-doc-DpmuaK3i.js.gz +0 -0
- codex/static_root/assets/reader-BwgJtbgj.c8b86f482c17.css +0 -1
- codex/static_root/assets/reader-BwgJtbgj.c8b86f482c17.css.br +0 -0
- codex/static_root/assets/reader-BwgJtbgj.c8b86f482c17.css.gz +0 -0
- codex/static_root/assets/reader-BwgJtbgj.css +0 -1
- codex/static_root/assets/reader-BwgJtbgj.css.br +0 -0
- codex/static_root/assets/reader-BwgJtbgj.css.gz +0 -0
- codex/static_root/assets/reader-CyitMKSa.d70f4fc1c014.js +0 -2
- codex/static_root/assets/reader-CyitMKSa.d70f4fc1c014.js.br +0 -0
- codex/static_root/assets/reader-CyitMKSa.d70f4fc1c014.js.gz +0 -0
- codex/static_root/assets/reader-CyitMKSa.js +0 -2
- codex/static_root/assets/reader-CyitMKSa.js.br +0 -0
- codex/static_root/assets/reader-CyitMKSa.js.gz +0 -0
- codex/static_root/assets/relation-chips-BuShhy1e.822bb69b0cfe.css +0 -1
- codex/static_root/assets/relation-chips-BuShhy1e.822bb69b0cfe.css.br +0 -0
- codex/static_root/assets/relation-chips-BuShhy1e.822bb69b0cfe.css.gz +0 -0
- codex/static_root/assets/relation-chips-BuShhy1e.css +0 -1
- codex/static_root/assets/relation-chips-BuShhy1e.css.br +0 -0
- codex/static_root/assets/relation-chips-BuShhy1e.css.gz +0 -0
- codex/static_root/assets/relation-chips-QzwrdJWs.99957808773d.js +0 -1
- codex/static_root/assets/relation-chips-QzwrdJWs.99957808773d.js.br +0 -0
- codex/static_root/assets/relation-chips-QzwrdJWs.99957808773d.js.gz +0 -0
- codex/static_root/assets/relation-chips-QzwrdJWs.js +0 -1
- codex/static_root/assets/relation-chips-QzwrdJWs.js.br +0 -0
- codex/static_root/assets/relation-chips-QzwrdJWs.js.gz +0 -0
- codex/static_root/assets/settings-drawer-DYzm391t.67fd6c1c26cd.js +0 -2
- codex/static_root/assets/settings-drawer-DYzm391t.67fd6c1c26cd.js.br +0 -0
- codex/static_root/assets/settings-drawer-DYzm391t.67fd6c1c26cd.js.gz +0 -0
- codex/static_root/assets/settings-drawer-DYzm391t.js +0 -2
- codex/static_root/assets/settings-drawer-DYzm391t.js.br +0 -0
- codex/static_root/assets/settings-drawer-DYzm391t.js.gz +0 -0
- codex/static_root/assets/settings-drawer-WyG6HLH-.css +0 -1
- codex/static_root/assets/settings-drawer-WyG6HLH-.css.br +0 -0
- codex/static_root/assets/settings-drawer-WyG6HLH-.css.gz +0 -0
- codex/static_root/assets/settings-drawer-WyG6HLH-.fe251f6d0a75.css +0 -1
- codex/static_root/assets/settings-drawer-WyG6HLH-.fe251f6d0a75.css.br +0 -0
- codex/static_root/assets/settings-drawer-WyG6HLH-.fe251f6d0a75.css.gz +0 -0
- codex/static_root/assets/ssrBoot-D216TWr1.0b11737afb21.js +0 -1
- codex/static_root/assets/ssrBoot-D216TWr1.0b11737afb21.js.br +0 -0
- codex/static_root/assets/ssrBoot-D216TWr1.0b11737afb21.js.gz +0 -0
- codex/static_root/assets/ssrBoot-D216TWr1.js +0 -1
- codex/static_root/assets/ssrBoot-D216TWr1.js.br +0 -0
- codex/static_root/assets/ssrBoot-D216TWr1.js.gz +0 -0
- codex/static_root/assets/stats-tab-CGY8r-es.b06c55bdaeaa.css +0 -1
- codex/static_root/assets/stats-tab-CGY8r-es.b06c55bdaeaa.css.br +0 -0
- codex/static_root/assets/stats-tab-CGY8r-es.b06c55bdaeaa.css.gz +0 -0
- codex/static_root/assets/stats-tab-CGY8r-es.css +0 -1
- codex/static_root/assets/stats-tab-CGY8r-es.css.br +0 -0
- codex/static_root/assets/stats-tab-CGY8r-es.css.gz +0 -0
- codex/static_root/assets/stats-tab-CXkOoD0h.1e2709686bf6.js +0 -1
- codex/static_root/assets/stats-tab-CXkOoD0h.1e2709686bf6.js.br +0 -0
- codex/static_root/assets/stats-tab-CXkOoD0h.1e2709686bf6.js.gz +0 -0
- codex/static_root/assets/stats-tab-CXkOoD0h.js +0 -1
- codex/static_root/assets/stats-tab-CXkOoD0h.js.br +0 -0
- codex/static_root/assets/stats-tab-CXkOoD0h.js.gz +0 -0
- codex/static_root/assets/task-tab-BlzgZqUZ.9448f1240271.js +0 -1
- codex/static_root/assets/task-tab-BlzgZqUZ.9448f1240271.js.br +0 -0
- codex/static_root/assets/task-tab-BlzgZqUZ.9448f1240271.js.gz +0 -0
- codex/static_root/assets/task-tab-BlzgZqUZ.js +0 -1
- codex/static_root/assets/task-tab-BlzgZqUZ.js.br +0 -0
- codex/static_root/assets/task-tab-BlzgZqUZ.js.gz +0 -0
- codex/static_root/assets/unauthorized-DE63n2Pi.b0357009b13d.css +0 -1
- codex/static_root/assets/unauthorized-DE63n2Pi.b0357009b13d.css.br +0 -0
- codex/static_root/assets/unauthorized-DE63n2Pi.b0357009b13d.css.gz +0 -0
- codex/static_root/assets/unauthorized-DE63n2Pi.css +0 -1
- codex/static_root/assets/unauthorized-DE63n2Pi.css.br +0 -0
- codex/static_root/assets/unauthorized-DE63n2Pi.css.gz +0 -0
- codex/static_root/assets/unauthorized-_61uqek6.56ab5c978077.js +0 -1
- codex/static_root/assets/unauthorized-_61uqek6.56ab5c978077.js.br +0 -0
- codex/static_root/assets/unauthorized-_61uqek6.56ab5c978077.js.gz +0 -0
- codex/static_root/assets/unauthorized-_61uqek6.js +0 -1
- codex/static_root/assets/unauthorized-_61uqek6.js.br +0 -0
- codex/static_root/assets/unauthorized-_61uqek6.js.gz +0 -0
- codex/static_root/assets/user-tab-CNxfPmZf.aed110a6c62b.js +0 -1
- codex/static_root/assets/user-tab-CNxfPmZf.aed110a6c62b.js.br +0 -0
- codex/static_root/assets/user-tab-CNxfPmZf.aed110a6c62b.js.gz +0 -0
- codex/static_root/assets/user-tab-CNxfPmZf.js +0 -1
- codex/static_root/assets/user-tab-CNxfPmZf.js.br +0 -0
- codex/static_root/assets/user-tab-CNxfPmZf.js.gz +0 -0
- codex/static_root/img/folder.f28936a3701d.svg +0 -1
- codex/static_root/img/folder.f28936a3701d.svg.br +0 -0
- codex/static_root/img/folder.f28936a3701d.svg.gz +0 -0
- codex/static_root/img/imprint.7c2adebb76d6.svg +0 -1
- codex/static_root/img/imprint.7c2adebb76d6.svg.br +0 -0
- codex/static_root/img/imprint.7c2adebb76d6.svg.gz +0 -0
- codex/static_root/img/logo-maskable.8f7de7f1c6a8.svg +0 -1
- codex/static_root/img/logo-maskable.8f7de7f1c6a8.svg.br +0 -0
- codex/static_root/img/logo-maskable.8f7de7f1c6a8.svg.gz +0 -0
- codex/static_root/img/logo.0f5344a028ca.svg +0 -1
- codex/static_root/img/logo.0f5344a028ca.svg.br +0 -0
- codex/static_root/img/logo.0f5344a028ca.svg.gz +0 -0
- codex/static_root/img/missing-cover-165.0743171f2148.webp +0 -0
- codex/static_root/img/missing-cover.ddb038cc2c56.svg +0 -1
- codex/static_root/img/missing-cover.ddb038cc2c56.svg.br +0 -0
- codex/static_root/img/missing-cover.ddb038cc2c56.svg.gz +0 -0
- codex/static_root/img/series.ec8a889b8f95.svg +0 -1
- codex/static_root/img/series.ec8a889b8f95.svg.br +0 -0
- codex/static_root/img/series.ec8a889b8f95.svg.gz +0 -0
- codex/static_root/img/story-arc.ca10014355ef.svg +0 -1
- codex/static_root/img/story-arc.ca10014355ef.svg.br +0 -1
- codex/static_root/img/story-arc.ca10014355ef.svg.gz +0 -0
- codex/static_root/img/volume.814e4c79461a.svg +0 -1
- codex/static_root/img/volume.814e4c79461a.svg.br +0 -0
- codex/static_root/img/volume.814e4c79461a.svg.gz +0 -0
- codex/static_root/manifest.95906ea9e563.json +0 -757
- codex/static_root/manifest.95906ea9e563.json.br +0 -0
- codex/static_root/manifest.95906ea9e563.json.gz +0 -0
- codex/status.py +0 -35
- codex/status_controller.py +0 -153
- codex/templates/README.md +0 -3
- codex/threads.py +0 -130
- codex/views/README.md +0 -4
- codex/views/browser/filters/search/aliases.py +0 -81
- codex/views/browser/metadata/metadata.py +0 -83
- codex/websockets/README.md +0 -4
- codex/worker_base.py +0 -14
- codex-1.7.15.dist-info/METADATA +0 -599
- codex-1.7.15.dist-info/RECORD +0 -1052
- codex-1.7.15.dist-info/WHEEL +0 -4
- codex-1.7.15.dist-info/entry_points.txt +0 -3
- {codex-1.7.15.dist-info → codex-1.8.0a2.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/admin-settings-button-progress-DPuwgSVv.js","assets/main-CpP-5rLh.js","assets/main-Of3aYkZ7.css","assets/admin-BQ68PA7O.js","assets/forwardRefs-CGpIPavG.js","assets/forwardRefs-C8KYLdfc.css","assets/admin-settings-button-progress-XVi7SeHr.css","assets/admin-menu-Chx211s6.js","assets/change-password-dialog-DqupgUbt.js","assets/VDialog-tf0N3lvG.js","assets/VDialog-C_zlnjF1.css","assets/VForm-Dw7aCtM5.js","assets/VSelectionControl-DoFzRlEh.js","assets/VSelectionControl-RqBzwjYi.css","assets/VForm-DxBt30-N.css","assets/change-password-dialog-DL8UMjmX.css","assets/VDivider-CTvTvFr_.js","assets/VDivider-DU47sRrT.css","assets/index-Cu_QC2K8.js","assets/index-Czf-fUM7.css","assets/admin-menu-CKlcsy9S.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as x,x as T,W as Fe,z as He,v as S,w,a6 as re,m as j,B as G,D as Z,ao as ie,C as M,G as ee,b7 as Ne,aq as ue,ab as Ye,s as $,ar as ce,a as f,H as E,y as R,A as D,I as de,b8 as We,b9 as qe,ba as ve,q as z,b,T as Xe,aL as je,bb as Ge,a0 as me,g as he,p as fe,r as ge,aO as pe,aR as I,bc as Ze,c as C,bd as q,u as ye,aT as _e,be,K as we,n as Ke,d as Je,j as Se,bf as ke,t as U,bg as Ce,E as Pe,bh as Qe,bi as De,aS as W,bj as Be,bk as et,b5 as tt,bl as at,aP as ot,bm as nt,e as st,bn as lt,f as rt,bo as it,bp as ut,F as ct,aV as dt}from"./main-CpP-5rLh.js";import{V as Ve,k as F,c as Q,z as Te,y as Re,i as Ee,d as Oe,j as $e,x as Ie,A as Me,B as vt,C as mt,l as ht}from"./forwardRefs-CGpIPavG.js";import{P as ft,d as gt}from"./unauthorized-_61uqek6.js";import{c as pt}from"./copy-to-clipboard-DoUvDJVx.js";import{j as yt}from"./VSelectionControl-DoFzRlEh.js";import{V as _t,u as bt,e as wt,f as St,d as kt}from"./VDialog-tf0N3lvG.js";import{u as Ct}from"./ssrBoot-D216TWr1.js";import{a as J}from"./VDivider-CTvTvFr_.js";const Pt={name:"ScaleButton",props:{scale:{type:Boolean,default:!1}},computed:{breakPoint(){return this.$vuetify.display.xs},density(){return this.breakPoint?"compact":"default"}}};function Dt(e,o,s,c,t,a){return S(),T(Ve,{density:a.density},Fe({_:2},[He(e.$slots,(n,u)=>({name:u,fn:w(g=>[re(e.$slots,u,j({props:n},g))])}))]),1032,["density"])}const Bt=x(Pt,[["render",Dt]]),ne=ie(ue(()=>ce(()=>import("./admin-settings-button-progress-DPuwgSVv.js"),__vite__mapDeps([0,1,2,3,4,5,6])))),Vt={name:"SettingsDrawerButton",components:{AdminSettingsButtonProgress:ne,ScaleButton:Bt},data(){return{mdiMenu:Ne,AdminSettingsButtonProgress:ne}},computed:{...Z(ee,["isUserAdmin"])},methods:{...G(M,["setSettingsDrawerOpen"]),onClick(){this.setSettingsDrawerOpen(!0)}}};function Tt(e,o,s,c,t,a){const n=$("ScaleButton");return S(),T(n,{id:"settingsDrawerButton",variant:"plain",icon:"",title:"Settings",onClick:Ye(a.onClick,["prevent"])},{default:w(()=>[f(F,null,{default:w(()=>[R(D(t.mdiMenu),1)]),_:1}),e.isUserAdmin?(S(),T(de(t.AdminSettingsButtonProgress),{key:0})):E("",!0)]),_:1},8,["onClick"])}const Sa=x(Vt,[["render",Tt],["__scopeId","data-v-cdf6ad8a"]]),Rt={name:"OPDSUrl",props:{title:{type:String,required:!0},subtitle:{type:String,default:void 0},urlPath:{type:String,required:!0}},data(){return{mdiRss:ve,showTooltip:{show:!1}}},computed:{clipBoardEnabled(){return location.protocol=="https:"},clipBoardIcon(){return this.showTooltip.show?We:qe},tooltip(){return this.clipBoardEnabled},url(){return globalThis.origin+this.urlPath}},methods:{onClickURL(){this.clipBoardEnabled&&pt(this.url,this.showTooltip)}}},Et=["title"],Ot={key:0},$t={class:"copied"},It={key:1,class:"subtitle"},Mt={class:"opdsUrl"};function xt(e,o,s,c,t,a){return S(),z("div",{class:"opdsVersion",title:a.tooltip,onClick:o[0]||(o[0]=(...n)=>a.onClickURL&&a.onClickURL(...n))},[b("h3",null,[R(D(s.title)+" ",1),a.clipBoardEnabled?(S(),z("span",Ot,[f(F,{class:"clipBoardIcon",size:"small"},{default:w(()=>[R(D(a.clipBoardIcon),1)]),_:1}),f(yt,null,{default:w(()=>[Xe(b("span",$t,"Copied",512),[[je,t.showTooltip.show]])]),_:1})])):E("",!0),s.subtitle?(S(),z("span",It,D(s.subtitle),1)):E("",!0)]),b("div",Mt,D(a.url),1)],8,Et)}const At=x(Rt,[["render",xt],["__scopeId","data-v-feac632b"]]),Lt={name:"OPDSDialog",components:{OPDSUrl:At,PlaceholderLoading:ft},data(){return{mdiRss:ve}},computed:{...Z(M,{opdsURLs:e=>e.opdsURLs})},methods:{...G(M,["loadOPDSURLs"])}},zt={key:0,id:"opds"};function Ut(e,o,s,c,t,a){const n=$("OPDSUrl"),u=$("PlaceholderLoading");return S(),T(_t,{"max-width":"30em"},{activator:w(({props:g})=>[f(Ve,j({id:"opdsButton",icon:"",size:"small",variant:"plain"},g,{onClick:e.loadOPDSURLs}),{default:w(()=>[f(F,null,{default:w(()=>[R(D(t.mdiRss),1)]),_:1}),o[0]||(o[0]=R(" OPDS "))]),_:2,__:[0]},1040,["onClick"])]),default:w(()=>[e.opdsURLs?(S(),z("div",zt,[b("h2",null,[f(F,{size:"x=small",class:"inline"},{default:w(()=>[R(D(t.mdiRss),1)]),_:1}),o[1]||(o[1]=R(" OPDS "))]),f(n,{title:"v1.2","url-path":e.opdsURLs.v1},null,8,["url-path"]),f(n,{title:"v2.0","url-path":e.opdsURLs.v2,subtitle:"Experimental and not widely or well supported by clients"},null,8,["url-path"])])):(S(),T(u,{key:1}))]),_:1})}const Ft=x(Lt,[["render",Ut],["__scopeId","data-v-5646b9a1"]]),Ht={name:"RepoFooter",data(){return{mdiOpenInNew:me,mdiSourceRepository:Ge}}},Nt={id:"repo",href:"https://github.com/ajslater/codex",title:"Codex Source Repository",target:"_blank"};function Yt(e,o,s,c,t,a){return S(),z("a",Nt,[f(F,{id:"repoIcon",size:"x-small"},{default:w(()=>[R(D(t.mdiSourceRepository),1)]),_:1}),o[0]||(o[0]=R(" repository")),f(F,{color:e.$vuetify.theme.current.colors.iconsInactive,size:"x-small"},{default:w(()=>[R(D(t.mdiOpenInNew),1)]),_:1},8,["color"])])}const Wt=x(Ht,[["render",Yt],["__scopeId","data-v-fae4fb39"]]),qt=fe({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...Me(),...we(),...Ie(),...be(),...$e(),...Oe({tag:"footer"}),..._e()},"VFooter"),xe=he()({name:"VFooter",props:qt(),setup(e,o){let{slots:s}=o;const c=ge(),{themeClasses:t}=pe(e),{backgroundColorClasses:a,backgroundColorStyles:n}=Q(()=>e.color),{borderClasses:u}=Te(e),{elevationClasses:g}=Re(e),{roundedClasses:i}=Ee(e),p=I(32),{resizeRef:m}=Ze(y=>{y.length&&(p.value=y[0].target.clientHeight)}),d=C(()=>e.height==="auto"?p.value:parseInt(e.height,10));return q(()=>e.app,()=>{const y=ke({id:e.name,order:C(()=>parseInt(e.order,10)),position:U(()=>"bottom"),layoutSize:d,elementSize:C(()=>e.height==="auto"?void 0:d.value),active:U(()=>e.app),absolute:U(()=>e.absolute)});Ce(()=>{c.value=y.layoutItemStyles.value})}),ye(()=>f(e.tag,{ref:m,class:Je(["v-footer",t.value,a.value,u.value,g.value,i.value,e.class]),style:Ke([n.value,e.app?c.value:{height:Se(e.height)},e.style])},s)),{}}}),Xt={name:"VersionFooter",data(){return{mdiOpenInNew:me,mdiContentCopy:Qe}},computed:{...Z(M,{versions:e=>e.versions}),...Pe(ee,["isUserAdmin"]),outdated:function(){return this.isUserAdmin&&this.semverGreaterThan(this.versions.latest>this.versions.installed)},versionTitle:function(){return this.outdated?`v${this.versions.latest} is available`:"up to date"}},created(){this.loadVersions()},methods:{...G(M,["loadVersions"]),semverGreaterThan(e,o){try{if(!e||!o)return!1;const s=e.split("."),c=o.split(".");for(const[t,a]of s.entries())if(+a>+c[t])return!0}catch(s){console.debug("compare codex versions",e,">",o,s)}return!1}}},jt={id:"version"},Gt={key:0,id:"latest"};function Zt(e,o,s,c,t,a){return S(),T(xe,{id:"version-footer",title:a.versionTitle},{default:w(()=>[b("div",jt,"codex v"+D(e.versions.installed),1),a.outdated?(S(),z("div",Gt," codex v"+D(e.versions.latest)+" is available ",1)):E("",!0)]),_:1},8,["title"])}const Kt=x(Xt,[["render",Zt],["__scopeId","data-v-4787569d"]]);function Jt(e){let{rootEl:o,isSticky:s,layoutItemStyles:c}=e;const t=I(!1),a=I(0),n=C(()=>{const i=typeof t.value=="boolean"?"top":t.value;return[s.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[i]:Se(a.value)}:{top:c.value.top}]});De(()=>{W(s,i=>{i?window.addEventListener("scroll",g,{passive:!0}):window.removeEventListener("scroll",g)},{immediate:!0})}),Be(()=>{window.removeEventListener("scroll",g)});let u=0;function g(){const i=u>window.scrollY?"up":"down",p=o.value.getBoundingClientRect(),m=parseFloat(c.value.top??0),d=window.scrollY-Math.max(0,a.value-m),y=p.height+Math.max(a.value,m)-window.scrollY-window.innerHeight,_=parseFloat(getComputedStyle(o.value).getPropertyValue("--v-body-scroll-y"))||0;p.height<window.innerHeight-m?(t.value="top",a.value=m):i==="up"&&t.value==="bottom"||i==="down"&&t.value==="top"?(a.value=window.scrollY+p.top-_,t.value=!0):i==="down"&&y<=0?(a.value=0,t.value="bottom"):i==="up"&&d<=0&&(_?t.value!=="top"&&(a.value=-d+_+m,t.value="top"):(a.value=p.top+d,t.value="top")),u=window.scrollY}return{isStuck:t,stickyStyles:n}}const Qt=100,ea=20;function se(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function le(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let o=0;for(let s=e.length-1;s>0;s--){if(e[s].t===e[s-1].t)continue;const c=se(o),t=(e[s].d-e[s-1].d)/(e[s].t-e[s-1].t);o+=(t-c)*Math.abs(t),s===e.length-1&&(o*=.5)}return se(o)*1e3}function ta(){const e={};function o(t){Array.from(t.changedTouches).forEach(a=>{(e[a.identifier]??(e[a.identifier]=new et(ea))).push([t.timeStamp,a])})}function s(t){Array.from(t.changedTouches).forEach(a=>{delete e[a.identifier]})}function c(t){const a=e[t]?.values().reverse();if(!a)throw new Error(`No samples for touch id ${t}`);const n=a[0],u=[],g=[];for(const i of a){if(n[0]-i[0]>Qt)break;u.push({t:i[0],d:i[1].clientX}),g.push({t:i[0],d:i[1].clientY})}return{x:le(u),y:le(g),get direction(){const{x:i,y:p}=this,[m,d]=[Math.abs(i),Math.abs(p)];return m>d&&i>=0?"right":m>d&&i<=0?"left":d>m&&p>=0?"down":d>m&&p<=0?"up":aa()}}}return{addMovement:o,endTouch:s,getVelocity:c}}function aa(){throw new Error}function oa(e){let{el:o,isActive:s,isTemporary:c,width:t,touchless:a,position:n}=e;De(()=>{window.addEventListener("touchstart",A,{passive:!0}),window.addEventListener("touchmove",O,{passive:!1}),window.addEventListener("touchend",X,{passive:!0})}),Be(()=>{window.removeEventListener("touchstart",A),window.removeEventListener("touchmove",O),window.removeEventListener("touchend",X)});const u=C(()=>["left","right"].includes(n.value)),{addMovement:g,endTouch:i,getVelocity:p}=ta();let m=!1;const d=I(!1),y=I(0),_=I(0);let P;function H(l,r){return(n.value==="left"?l:n.value==="right"?document.documentElement.clientWidth-l:n.value==="top"?l:n.value==="bottom"?document.documentElement.clientHeight-l:L())-(r?t.value:0)}function N(l){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const v=n.value==="left"?(l-_.value)/t.value:n.value==="right"?(document.documentElement.clientWidth-l-_.value)/t.value:n.value==="top"?(l-_.value)/t.value:n.value==="bottom"?(document.documentElement.clientHeight-l-_.value)/t.value:L();return r?tt(v):v}function A(l){if(a.value)return;const r=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY,h=25,B=n.value==="left"?r<h:n.value==="right"?r>document.documentElement.clientWidth-h:n.value==="top"?v<h:n.value==="bottom"?v>document.documentElement.clientHeight-h:L(),V=s.value&&(n.value==="left"?r<t.value:n.value==="right"?r>document.documentElement.clientWidth-t.value:n.value==="top"?v<t.value:n.value==="bottom"?v>document.documentElement.clientHeight-t.value:L());(B||V||s.value&&c.value)&&(P=[r,v],_.value=H(u.value?r:v,s.value),y.value=N(u.value?r:v),m=_.value>-20&&_.value<80,i(l),g(l))}function O(l){const r=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY;if(m){if(!l.cancelable){m=!1;return}const B=Math.abs(r-P[0]),V=Math.abs(v-P[1]);(u.value?B>V&&B>3:V>B&&V>3)?(d.value=!0,m=!1):(u.value?V:B)>3&&(m=!1)}if(!d.value)return;l.preventDefault(),g(l);const h=N(u.value?r:v,!1);y.value=Math.max(0,Math.min(1,h)),h>1?_.value=H(u.value?r:v,!0):h<0&&(_.value=H(u.value?r:v,!1))}function X(l){if(m=!1,!d.value)return;g(l),d.value=!1;const r=p(l.changedTouches[0].identifier),v=Math.abs(r.x),h=Math.abs(r.y);(u.value?v>h&&v>400:h>v&&h>3)?s.value=r.direction===({left:"right",right:"left",top:"down",bottom:"up"}[n.value]||L()):s.value=y.value>.5}const Y=C(()=>d.value?{transform:n.value==="left"?`translateX(calc(-100% + ${y.value*t.value}px))`:n.value==="right"?`translateX(calc(100% - ${y.value*t.value}px))`:n.value==="top"?`translateY(calc(-100% + ${y.value*t.value}px))`:n.value==="bottom"?`translateY(calc(100% - ${y.value*t.value}px))`:L(),transition:"none"}:void 0);return q(d,()=>{const l=o.value?.style.transform??null,r=o.value?.style.transition??null;Ce(()=>{o.value?.style.setProperty("transform",Y.value?.transform||"none"),o.value?.style.setProperty("transition",Y.value?.transition||null)}),at(()=>{o.value?.style.setProperty("transform",l),o.value?.style.setProperty("transition",r)})}),{isDragging:d,dragProgress:y,dragStyles:Y}}function L(){throw new Error}const na=["start","end","left","right","top","bottom"],sa=fe({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>na.includes(e)},sticky:Boolean,...Me(),...we(),...wt(),...it({mobile:null}),...Ie(),...be(),...$e(),...Oe({tag:"nav"}),..._e()},"VNavigationDrawer"),la=he()({name:"VNavigationDrawer",props:sa(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,o){let{attrs:s,emit:c,slots:t}=o;const{isRtl:a}=ot(),{themeClasses:n}=pe(e),{borderClasses:u}=Te(e),{backgroundColorClasses:g,backgroundColorStyles:i}=Q(()=>e.color),{elevationClasses:p}=Re(e),{displayClasses:m,mobile:d}=nt(e),{roundedClasses:y}=Ee(e),_=vt(),P=st(e,"modelValue",null,k=>!!k),{ssrBootStyles:H}=Ct(),{scopeId:N}=bt(),A=ge(),O=I(!1),{runOpenDelay:X,runCloseDelay:Y}=St(e,k=>{O.value=k}),l=C(()=>e.rail&&e.expandOnHover&&O.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),r=C(()=>mt(e.location,a.value)),v=U(()=>e.persistent),h=C(()=>!e.permanent&&(d.value||e.temporary)),B=C(()=>e.sticky&&!h.value&&r.value!=="bottom");q(()=>e.expandOnHover&&e.rail!=null,()=>{W(O,k=>c("update:rail",!k))}),q(()=>!e.disableResizeWatcher,()=>{W(h,k=>!e.permanent&&dt(()=>P.value=!k))}),q(()=>!e.disableRouteWatcher&&!!_,()=>{W(_.currentRoute,()=>h.value&&(P.value=!1))}),W(()=>e.permanent,k=>{k&&(P.value=!0)}),e.modelValue==null&&!h.value&&(P.value=e.permanent||!d.value);const{isDragging:V,dragProgress:K}=oa({el:A,isActive:P,isTemporary:h,width:l,touchless:U(()=>e.touchless),position:r}),Ae=C(()=>{const k=h.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):l.value;return V.value?k*K.value:k}),{layoutItemStyles:te,layoutItemScrimStyles:Le}=ke({id:e.name,order:C(()=>parseInt(e.order,10)),position:r,layoutSize:Ae,elementSize:l,active:lt(P),disableTransitions:U(()=>V.value),absolute:C(()=>e.absolute||B.value&&typeof ae.value!="string")}),{isStuck:ae,stickyStyles:ze}=Jt({rootEl:A,isSticky:B,layoutItemStyles:te}),oe=Q(()=>typeof e.scrim=="string"?e.scrim:null),Ue=C(()=>({...V.value?{opacity:K.value*.2,transition:"none"}:void 0,...Le.value}));return rt({VList:{bgColor:"transparent"}}),ye(()=>{const k=t.image||e.image;return b(ct,null,[f(e.tag,j({ref:A,onMouseenter:X,onMouseleave:Y,class:["v-navigation-drawer",`v-navigation-drawer--${r.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":O.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":h.value,"v-navigation-drawer--persistent":v.value,"v-navigation-drawer--active":P.value,"v-navigation-drawer--sticky":B.value},n.value,g.value,u.value,m.value,p.value,y.value,e.class],style:[i.value,te.value,H.value,ze.value,e.style]},N,s),{default:()=>[k&&b("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?f(ht,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):f(kt,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&b("div",{class:"v-navigation-drawer__prepend"},[t.prepend?.()]),b("div",{class:"v-navigation-drawer__content"},[t.default?.()]),t.append&&b("div",{class:"v-navigation-drawer__append"},[t.append?.()])]}),f(ut,{name:"fade-transition"},{default:()=>[h.value&&(V.value||P.value)&&!!e.scrim&&b("div",j({class:["v-navigation-drawer__scrim",oe.backgroundColorClasses.value],style:[Ue.value,oe.backgroundColorStyles.value],onClick:()=>{v.value||(P.value=!1)}},N),null)]})])}),{isStuck:ae}}}),ra=ie(ue(()=>ce(()=>import("./admin-menu-Chx211s6.js"),__vite__mapDeps([7,1,2,8,4,5,9,10,11,12,13,14,3,15,16,17,18,19,20])))),ia={name:"SettingsDrawer",components:{AuthMenu:gt,OPDSDialog:Ft,RepoFooter:Wt,VersionFooter:Kt},props:{title:{type:String,required:!0}},data(){return{AdminMenu:ra}},computed:{...Pe(ee,["isUserAdmin","isAuthorized"]),...Z(M,{isSettingsDrawerOpen:e=>e.isSettingsDrawerOpen}),open:{get(){return this.isSettingsDrawerOpen||!this.isAuthorized},set(e){this.setSettingsDrawerOpen(e)}}},methods:{...G(M,["setSettingsDrawerOpen"])}},ua={class:"settingsDrawerContainer"},ca={id:"topBlock"},da={class:"settingsHeader"},va={id:"scrollFooter",class:"footer"};function ma(e,o,s,c,t,a){const n=$("AuthMenu"),u=$("OPDSDialog"),g=$("RepoFooter"),i=$("VersionFooter");return S(),T(la,{modelValue:a.open,"onUpdate:modelValue":o[0]||(o[0]=p=>a.open=p),"disable-route-watcher":"",location:"right",touchless:""},{append:w(()=>[f(xe,{id:"bottomFooter",class:"footer"},{default:w(()=>[f(i)]),_:1})]),default:w(()=>[b("div",ua,[b("div",ca,[b("header",da,[b("h3",null,D(s.title),1)]),f(J),e.isAuthorized?re(e.$slots,"panel",{key:0},void 0,!0):E("",!0),e.isAuthorized?(S(),T(J,{key:1})):E("",!0),f(n),e.isUserAdmin?(S(),T(de(t.AdminMenu),{key:2})):E("",!0),f(J)]),b("div",va,[e.isAuthorized?(S(),T(u,{key:0})):E("",!0),f(g)])])]),_:3},8,["modelValue"])}const ka=x(ia,[["render",ma],["__scopeId","data-v-0412ab42"]]);export{Sa as S,la as V,ka as a,Bt as b};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/admin-settings-button-progress-DPuwgSVv.js","assets/main-CpP-5rLh.js","assets/main-Of3aYkZ7.css","assets/admin-BQ68PA7O.js","assets/forwardRefs-CGpIPavG.js","assets/forwardRefs-C8KYLdfc.css","assets/admin-settings-button-progress-XVi7SeHr.css","assets/admin-menu-Chx211s6.js","assets/change-password-dialog-DqupgUbt.js","assets/VDialog-tf0N3lvG.js","assets/VDialog-C_zlnjF1.css","assets/VForm-Dw7aCtM5.js","assets/VSelectionControl-DoFzRlEh.js","assets/VSelectionControl-RqBzwjYi.css","assets/VForm-DxBt30-N.css","assets/change-password-dialog-DL8UMjmX.css","assets/VDivider-CTvTvFr_.js","assets/VDivider-DU47sRrT.css","assets/index-Cu_QC2K8.js","assets/index-Czf-fUM7.css","assets/admin-menu-CKlcsy9S.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as x,x as T,W as Fe,z as He,v as S,w,a6 as re,m as j,B as G,D as Z,ao as ie,C as M,G as ee,b7 as Ne,aq as ue,ab as Ye,s as $,ar as ce,a as f,H as E,y as R,A as D,I as de,b8 as We,b9 as qe,ba as ve,q as z,b,T as Xe,aL as je,bb as Ge,a0 as me,g as he,p as fe,r as ge,aO as pe,aR as I,bc as Ze,c as C,bd as q,u as ye,aT as _e,be,K as we,n as Ke,d as Je,j as Se,bf as ke,t as U,bg as Ce,E as Pe,bh as Qe,bi as De,aS as W,bj as Be,bk as et,b5 as tt,bl as at,aP as ot,bm as nt,e as st,bn as lt,f as rt,bo as it,bp as ut,F as ct,aV as dt}from"./main-CpP-5rLh.js";import{V as Ve,k as F,c as Q,z as Te,y as Re,i as Ee,d as Oe,j as $e,x as Ie,A as Me,B as vt,C as mt,l as ht}from"./forwardRefs-CGpIPavG.js";import{P as ft,d as gt}from"./unauthorized-_61uqek6.js";import{c as pt}from"./copy-to-clipboard-DoUvDJVx.js";import{j as yt}from"./VSelectionControl-DoFzRlEh.js";import{V as _t,u as bt,e as wt,f as St,d as kt}from"./VDialog-tf0N3lvG.js";import{u as Ct}from"./ssrBoot-D216TWr1.js";import{a as J}from"./VDivider-CTvTvFr_.js";const Pt={name:"ScaleButton",props:{scale:{type:Boolean,default:!1}},computed:{breakPoint(){return this.$vuetify.display.xs},density(){return this.breakPoint?"compact":"default"}}};function Dt(e,o,s,c,t,a){return S(),T(Ve,{density:a.density},Fe({_:2},[He(e.$slots,(n,u)=>({name:u,fn:w(g=>[re(e.$slots,u,j({props:n},g))])}))]),1032,["density"])}const Bt=x(Pt,[["render",Dt]]),ne=ie(ue(()=>ce(()=>import("./admin-settings-button-progress-DPuwgSVv.js"),__vite__mapDeps([0,1,2,3,4,5,6])))),Vt={name:"SettingsDrawerButton",components:{AdminSettingsButtonProgress:ne,ScaleButton:Bt},data(){return{mdiMenu:Ne,AdminSettingsButtonProgress:ne}},computed:{...Z(ee,["isUserAdmin"])},methods:{...G(M,["setSettingsDrawerOpen"]),onClick(){this.setSettingsDrawerOpen(!0)}}};function Tt(e,o,s,c,t,a){const n=$("ScaleButton");return S(),T(n,{id:"settingsDrawerButton",variant:"plain",icon:"",title:"Settings",onClick:Ye(a.onClick,["prevent"])},{default:w(()=>[f(F,null,{default:w(()=>[R(D(t.mdiMenu),1)]),_:1}),e.isUserAdmin?(S(),T(de(t.AdminSettingsButtonProgress),{key:0})):E("",!0)]),_:1},8,["onClick"])}const Sa=x(Vt,[["render",Tt],["__scopeId","data-v-cdf6ad8a"]]),Rt={name:"OPDSUrl",props:{title:{type:String,required:!0},subtitle:{type:String,default:void 0},urlPath:{type:String,required:!0}},data(){return{mdiRss:ve,showTooltip:{show:!1}}},computed:{clipBoardEnabled(){return location.protocol=="https:"},clipBoardIcon(){return this.showTooltip.show?We:qe},tooltip(){return this.clipBoardEnabled},url(){return globalThis.origin+this.urlPath}},methods:{onClickURL(){this.clipBoardEnabled&&pt(this.url,this.showTooltip)}}},Et=["title"],Ot={key:0},$t={class:"copied"},It={key:1,class:"subtitle"},Mt={class:"opdsUrl"};function xt(e,o,s,c,t,a){return S(),z("div",{class:"opdsVersion",title:a.tooltip,onClick:o[0]||(o[0]=(...n)=>a.onClickURL&&a.onClickURL(...n))},[b("h3",null,[R(D(s.title)+" ",1),a.clipBoardEnabled?(S(),z("span",Ot,[f(F,{class:"clipBoardIcon",size:"small"},{default:w(()=>[R(D(a.clipBoardIcon),1)]),_:1}),f(yt,null,{default:w(()=>[Xe(b("span",$t,"Copied",512),[[je,t.showTooltip.show]])]),_:1})])):E("",!0),s.subtitle?(S(),z("span",It,D(s.subtitle),1)):E("",!0)]),b("div",Mt,D(a.url),1)],8,Et)}const At=x(Rt,[["render",xt],["__scopeId","data-v-feac632b"]]),Lt={name:"OPDSDialog",components:{OPDSUrl:At,PlaceholderLoading:ft},data(){return{mdiRss:ve}},computed:{...Z(M,{opdsURLs:e=>e.opdsURLs})},methods:{...G(M,["loadOPDSURLs"])}},zt={key:0,id:"opds"};function Ut(e,o,s,c,t,a){const n=$("OPDSUrl"),u=$("PlaceholderLoading");return S(),T(_t,{"max-width":"30em"},{activator:w(({props:g})=>[f(Ve,j({id:"opdsButton",icon:"",size:"small",variant:"plain"},g,{onClick:e.loadOPDSURLs}),{default:w(()=>[f(F,null,{default:w(()=>[R(D(t.mdiRss),1)]),_:1}),o[0]||(o[0]=R(" OPDS "))]),_:2,__:[0]},1040,["onClick"])]),default:w(()=>[e.opdsURLs?(S(),z("div",zt,[b("h2",null,[f(F,{size:"x=small",class:"inline"},{default:w(()=>[R(D(t.mdiRss),1)]),_:1}),o[1]||(o[1]=R(" OPDS "))]),f(n,{title:"v1.2","url-path":e.opdsURLs.v1},null,8,["url-path"]),f(n,{title:"v2.0","url-path":e.opdsURLs.v2,subtitle:"Experimental and not widely or well supported by clients"},null,8,["url-path"])])):(S(),T(u,{key:1}))]),_:1})}const Ft=x(Lt,[["render",Ut],["__scopeId","data-v-5646b9a1"]]),Ht={name:"RepoFooter",data(){return{mdiOpenInNew:me,mdiSourceRepository:Ge}}},Nt={id:"repo",href:"https://github.com/ajslater/codex",title:"Codex Source Repository",target:"_blank"};function Yt(e,o,s,c,t,a){return S(),z("a",Nt,[f(F,{id:"repoIcon",size:"x-small"},{default:w(()=>[R(D(t.mdiSourceRepository),1)]),_:1}),o[0]||(o[0]=R(" repository")),f(F,{color:e.$vuetify.theme.current.colors.iconsInactive,size:"x-small"},{default:w(()=>[R(D(t.mdiOpenInNew),1)]),_:1},8,["color"])])}const Wt=x(Ht,[["render",Yt],["__scopeId","data-v-fae4fb39"]]),qt=fe({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...Me(),...we(),...Ie(),...be(),...$e(),...Oe({tag:"footer"}),..._e()},"VFooter"),xe=he()({name:"VFooter",props:qt(),setup(e,o){let{slots:s}=o;const c=ge(),{themeClasses:t}=pe(e),{backgroundColorClasses:a,backgroundColorStyles:n}=Q(()=>e.color),{borderClasses:u}=Te(e),{elevationClasses:g}=Re(e),{roundedClasses:i}=Ee(e),p=I(32),{resizeRef:m}=Ze(y=>{y.length&&(p.value=y[0].target.clientHeight)}),d=C(()=>e.height==="auto"?p.value:parseInt(e.height,10));return q(()=>e.app,()=>{const y=ke({id:e.name,order:C(()=>parseInt(e.order,10)),position:U(()=>"bottom"),layoutSize:d,elementSize:C(()=>e.height==="auto"?void 0:d.value),active:U(()=>e.app),absolute:U(()=>e.absolute)});Ce(()=>{c.value=y.layoutItemStyles.value})}),ye(()=>f(e.tag,{ref:m,class:Je(["v-footer",t.value,a.value,u.value,g.value,i.value,e.class]),style:Ke([n.value,e.app?c.value:{height:Se(e.height)},e.style])},s)),{}}}),Xt={name:"VersionFooter",data(){return{mdiOpenInNew:me,mdiContentCopy:Qe}},computed:{...Z(M,{versions:e=>e.versions}),...Pe(ee,["isUserAdmin"]),outdated:function(){return this.isUserAdmin&&this.semverGreaterThan(this.versions.latest>this.versions.installed)},versionTitle:function(){return this.outdated?`v${this.versions.latest} is available`:"up to date"}},created(){this.loadVersions()},methods:{...G(M,["loadVersions"]),semverGreaterThan(e,o){try{if(!e||!o)return!1;const s=e.split("."),c=o.split(".");for(const[t,a]of s.entries())if(+a>+c[t])return!0}catch(s){console.debug("compare codex versions",e,">",o,s)}return!1}}},jt={id:"version"},Gt={key:0,id:"latest"};function Zt(e,o,s,c,t,a){return S(),T(xe,{id:"version-footer",title:a.versionTitle},{default:w(()=>[b("div",jt,"codex v"+D(e.versions.installed),1),a.outdated?(S(),z("div",Gt," codex v"+D(e.versions.latest)+" is available ",1)):E("",!0)]),_:1},8,["title"])}const Kt=x(Xt,[["render",Zt],["__scopeId","data-v-4787569d"]]);function Jt(e){let{rootEl:o,isSticky:s,layoutItemStyles:c}=e;const t=I(!1),a=I(0),n=C(()=>{const i=typeof t.value=="boolean"?"top":t.value;return[s.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[i]:Se(a.value)}:{top:c.value.top}]});De(()=>{W(s,i=>{i?window.addEventListener("scroll",g,{passive:!0}):window.removeEventListener("scroll",g)},{immediate:!0})}),Be(()=>{window.removeEventListener("scroll",g)});let u=0;function g(){const i=u>window.scrollY?"up":"down",p=o.value.getBoundingClientRect(),m=parseFloat(c.value.top??0),d=window.scrollY-Math.max(0,a.value-m),y=p.height+Math.max(a.value,m)-window.scrollY-window.innerHeight,_=parseFloat(getComputedStyle(o.value).getPropertyValue("--v-body-scroll-y"))||0;p.height<window.innerHeight-m?(t.value="top",a.value=m):i==="up"&&t.value==="bottom"||i==="down"&&t.value==="top"?(a.value=window.scrollY+p.top-_,t.value=!0):i==="down"&&y<=0?(a.value=0,t.value="bottom"):i==="up"&&d<=0&&(_?t.value!=="top"&&(a.value=-d+_+m,t.value="top"):(a.value=p.top+d,t.value="top")),u=window.scrollY}return{isStuck:t,stickyStyles:n}}const Qt=100,ea=20;function se(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function le(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let o=0;for(let s=e.length-1;s>0;s--){if(e[s].t===e[s-1].t)continue;const c=se(o),t=(e[s].d-e[s-1].d)/(e[s].t-e[s-1].t);o+=(t-c)*Math.abs(t),s===e.length-1&&(o*=.5)}return se(o)*1e3}function ta(){const e={};function o(t){Array.from(t.changedTouches).forEach(a=>{(e[a.identifier]??(e[a.identifier]=new et(ea))).push([t.timeStamp,a])})}function s(t){Array.from(t.changedTouches).forEach(a=>{delete e[a.identifier]})}function c(t){const a=e[t]?.values().reverse();if(!a)throw new Error(`No samples for touch id ${t}`);const n=a[0],u=[],g=[];for(const i of a){if(n[0]-i[0]>Qt)break;u.push({t:i[0],d:i[1].clientX}),g.push({t:i[0],d:i[1].clientY})}return{x:le(u),y:le(g),get direction(){const{x:i,y:p}=this,[m,d]=[Math.abs(i),Math.abs(p)];return m>d&&i>=0?"right":m>d&&i<=0?"left":d>m&&p>=0?"down":d>m&&p<=0?"up":aa()}}}return{addMovement:o,endTouch:s,getVelocity:c}}function aa(){throw new Error}function oa(e){let{el:o,isActive:s,isTemporary:c,width:t,touchless:a,position:n}=e;De(()=>{window.addEventListener("touchstart",A,{passive:!0}),window.addEventListener("touchmove",O,{passive:!1}),window.addEventListener("touchend",X,{passive:!0})}),Be(()=>{window.removeEventListener("touchstart",A),window.removeEventListener("touchmove",O),window.removeEventListener("touchend",X)});const u=C(()=>["left","right"].includes(n.value)),{addMovement:g,endTouch:i,getVelocity:p}=ta();let m=!1;const d=I(!1),y=I(0),_=I(0);let P;function H(l,r){return(n.value==="left"?l:n.value==="right"?document.documentElement.clientWidth-l:n.value==="top"?l:n.value==="bottom"?document.documentElement.clientHeight-l:L())-(r?t.value:0)}function N(l){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const v=n.value==="left"?(l-_.value)/t.value:n.value==="right"?(document.documentElement.clientWidth-l-_.value)/t.value:n.value==="top"?(l-_.value)/t.value:n.value==="bottom"?(document.documentElement.clientHeight-l-_.value)/t.value:L();return r?tt(v):v}function A(l){if(a.value)return;const r=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY,h=25,B=n.value==="left"?r<h:n.value==="right"?r>document.documentElement.clientWidth-h:n.value==="top"?v<h:n.value==="bottom"?v>document.documentElement.clientHeight-h:L(),V=s.value&&(n.value==="left"?r<t.value:n.value==="right"?r>document.documentElement.clientWidth-t.value:n.value==="top"?v<t.value:n.value==="bottom"?v>document.documentElement.clientHeight-t.value:L());(B||V||s.value&&c.value)&&(P=[r,v],_.value=H(u.value?r:v,s.value),y.value=N(u.value?r:v),m=_.value>-20&&_.value<80,i(l),g(l))}function O(l){const r=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY;if(m){if(!l.cancelable){m=!1;return}const B=Math.abs(r-P[0]),V=Math.abs(v-P[1]);(u.value?B>V&&B>3:V>B&&V>3)?(d.value=!0,m=!1):(u.value?V:B)>3&&(m=!1)}if(!d.value)return;l.preventDefault(),g(l);const h=N(u.value?r:v,!1);y.value=Math.max(0,Math.min(1,h)),h>1?_.value=H(u.value?r:v,!0):h<0&&(_.value=H(u.value?r:v,!1))}function X(l){if(m=!1,!d.value)return;g(l),d.value=!1;const r=p(l.changedTouches[0].identifier),v=Math.abs(r.x),h=Math.abs(r.y);(u.value?v>h&&v>400:h>v&&h>3)?s.value=r.direction===({left:"right",right:"left",top:"down",bottom:"up"}[n.value]||L()):s.value=y.value>.5}const Y=C(()=>d.value?{transform:n.value==="left"?`translateX(calc(-100% + ${y.value*t.value}px))`:n.value==="right"?`translateX(calc(100% - ${y.value*t.value}px))`:n.value==="top"?`translateY(calc(-100% + ${y.value*t.value}px))`:n.value==="bottom"?`translateY(calc(100% - ${y.value*t.value}px))`:L(),transition:"none"}:void 0);return q(d,()=>{const l=o.value?.style.transform??null,r=o.value?.style.transition??null;Ce(()=>{o.value?.style.setProperty("transform",Y.value?.transform||"none"),o.value?.style.setProperty("transition",Y.value?.transition||null)}),at(()=>{o.value?.style.setProperty("transform",l),o.value?.style.setProperty("transition",r)})}),{isDragging:d,dragProgress:y,dragStyles:Y}}function L(){throw new Error}const na=["start","end","left","right","top","bottom"],sa=fe({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>na.includes(e)},sticky:Boolean,...Me(),...we(),...wt(),...it({mobile:null}),...Ie(),...be(),...$e(),...Oe({tag:"nav"}),..._e()},"VNavigationDrawer"),la=he()({name:"VNavigationDrawer",props:sa(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,o){let{attrs:s,emit:c,slots:t}=o;const{isRtl:a}=ot(),{themeClasses:n}=pe(e),{borderClasses:u}=Te(e),{backgroundColorClasses:g,backgroundColorStyles:i}=Q(()=>e.color),{elevationClasses:p}=Re(e),{displayClasses:m,mobile:d}=nt(e),{roundedClasses:y}=Ee(e),_=vt(),P=st(e,"modelValue",null,k=>!!k),{ssrBootStyles:H}=Ct(),{scopeId:N}=bt(),A=ge(),O=I(!1),{runOpenDelay:X,runCloseDelay:Y}=St(e,k=>{O.value=k}),l=C(()=>e.rail&&e.expandOnHover&&O.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),r=C(()=>mt(e.location,a.value)),v=U(()=>e.persistent),h=C(()=>!e.permanent&&(d.value||e.temporary)),B=C(()=>e.sticky&&!h.value&&r.value!=="bottom");q(()=>e.expandOnHover&&e.rail!=null,()=>{W(O,k=>c("update:rail",!k))}),q(()=>!e.disableResizeWatcher,()=>{W(h,k=>!e.permanent&&dt(()=>P.value=!k))}),q(()=>!e.disableRouteWatcher&&!!_,()=>{W(_.currentRoute,()=>h.value&&(P.value=!1))}),W(()=>e.permanent,k=>{k&&(P.value=!0)}),e.modelValue==null&&!h.value&&(P.value=e.permanent||!d.value);const{isDragging:V,dragProgress:K}=oa({el:A,isActive:P,isTemporary:h,width:l,touchless:U(()=>e.touchless),position:r}),Ae=C(()=>{const k=h.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):l.value;return V.value?k*K.value:k}),{layoutItemStyles:te,layoutItemScrimStyles:Le}=ke({id:e.name,order:C(()=>parseInt(e.order,10)),position:r,layoutSize:Ae,elementSize:l,active:lt(P),disableTransitions:U(()=>V.value),absolute:C(()=>e.absolute||B.value&&typeof ae.value!="string")}),{isStuck:ae,stickyStyles:ze}=Jt({rootEl:A,isSticky:B,layoutItemStyles:te}),oe=Q(()=>typeof e.scrim=="string"?e.scrim:null),Ue=C(()=>({...V.value?{opacity:K.value*.2,transition:"none"}:void 0,...Le.value}));return rt({VList:{bgColor:"transparent"}}),ye(()=>{const k=t.image||e.image;return b(ct,null,[f(e.tag,j({ref:A,onMouseenter:X,onMouseleave:Y,class:["v-navigation-drawer",`v-navigation-drawer--${r.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":O.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":h.value,"v-navigation-drawer--persistent":v.value,"v-navigation-drawer--active":P.value,"v-navigation-drawer--sticky":B.value},n.value,g.value,u.value,m.value,p.value,y.value,e.class],style:[i.value,te.value,H.value,ze.value,e.style]},N,s),{default:()=>[k&&b("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?f(ht,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):f(kt,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&b("div",{class:"v-navigation-drawer__prepend"},[t.prepend?.()]),b("div",{class:"v-navigation-drawer__content"},[t.default?.()]),t.append&&b("div",{class:"v-navigation-drawer__append"},[t.append?.()])]}),f(ut,{name:"fade-transition"},{default:()=>[h.value&&(V.value||P.value)&&!!e.scrim&&b("div",j({class:["v-navigation-drawer__scrim",oe.backgroundColorClasses.value],style:[Ue.value,oe.backgroundColorStyles.value],onClick:()=>{v.value||(P.value=!1)}},N),null)]})])}),{isStuck:ae}}}),ra=ie(ue(()=>ce(()=>import("./admin-menu-Chx211s6.js"),__vite__mapDeps([7,1,2,8,4,5,9,10,11,12,13,14,3,15,16,17,18,19,20])))),ia={name:"SettingsDrawer",components:{AuthMenu:gt,OPDSDialog:Ft,RepoFooter:Wt,VersionFooter:Kt},props:{title:{type:String,required:!0}},data(){return{AdminMenu:ra}},computed:{...Pe(ee,["isUserAdmin","isAuthorized"]),...Z(M,{isSettingsDrawerOpen:e=>e.isSettingsDrawerOpen}),open:{get(){return this.isSettingsDrawerOpen||!this.isAuthorized},set(e){this.setSettingsDrawerOpen(e)}}},methods:{...G(M,["setSettingsDrawerOpen"])}},ua={class:"settingsDrawerContainer"},ca={id:"topBlock"},da={class:"settingsHeader"},va={id:"scrollFooter",class:"footer"};function ma(e,o,s,c,t,a){const n=$("AuthMenu"),u=$("OPDSDialog"),g=$("RepoFooter"),i=$("VersionFooter");return S(),T(la,{modelValue:a.open,"onUpdate:modelValue":o[0]||(o[0]=p=>a.open=p),"disable-route-watcher":"",location:"right",touchless:""},{append:w(()=>[f(xe,{id:"bottomFooter",class:"footer"},{default:w(()=>[f(i)]),_:1})]),default:w(()=>[b("div",ua,[b("div",ca,[b("header",da,[b("h3",null,D(s.title),1)]),f(J),e.isAuthorized?re(e.$slots,"panel",{key:0},void 0,!0):E("",!0),e.isAuthorized?(S(),T(J,{key:1})):E("",!0),f(n),e.isUserAdmin?(S(),T(de(t.AdminMenu),{key:2})):E("",!0),f(J)]),b("div",va,[e.isAuthorized?(S(),T(u,{key:0})):E("",!0),f(g)])])]),_:3},8,["modelValue"])}const ka=x(ia,[["render",ma],["__scopeId","data-v-0412ab42"]]);export{Sa as S,la as V,ka as a,Bt as b};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#settingsDrawerButton[data-v-cdf6ad8a]{padding-right:max(10px,env(safe-area-inset-right) / 2)}.copied[data-v-feac632b]{font-size:small;font-weight:400;color:rgb(var(--v-theme-textSecondary))}.clipBoardIcon[data-v-feac632b]{color:rgb(var(--v-theme-iconsInactive))}.opdsVersion[data-v-feac632b]{padding:5px}.opdsVersion[data-v-feac632b]:hover{background-color:rgb(var(--v-theme-surface))}.opdsVersion:hover .clipBoardIcon[data-v-feac632b],.opdsVersion:hover .opdsUrl[data-v-feac632b]{color:rgb(var(--v-theme-textPrimary))}.opdsUrl[data-v-feac632b]{color:rgb(var(--v-theme-textSecondary))}.subtitle[data-v-feac632b]{font-size:12px;font-weight:400;color:rgb(var(--v-theme-textDisabled))}#opds[data-v-5646b9a1]{padding:20px}#opdsButton[data-v-5646b9a1]{display:block;width:100%;color:rgb(var(--v-theme-textSecondary))}.inline[data-v-5646b9a1]{display:inline-flex}#repo[data-v-fae4fb39]{display:block;width:100%;color:rgb(var(--v-theme-textDisabled))}#repo[data-v-fae4fb39]:hover{color:rgb(var(--v-theme-textPrimary))}#repoIcon[data-v-fae4fb39]{margin-right:0}#repo:hover>#repoIcon[data-v-fae4fb39]{color:rgb(var(--v-theme-textPrimary))!important}#version-footer[data-v-4787569d]{display:block;width:100%;color:rgb(var(--v-theme-textDisabled))}#latest[data-v-4787569d]{color:rgb(var(--v-theme-textSecondary))}.v-footer{align-items:center;display:flex;flex:1 1 auto;padding:8px 16px;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom}.v-footer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-footer--border{border-width:thin;box-shadow:none}.v-footer{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-footer--absolute{position:absolute}.v-footer--fixed{position:fixed}.v-footer{border-radius:0}.v-footer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-footer--rounded{border-radius:4px}.settingsDrawerContainer[data-v-0412ab42]{position:relative!important;display:flex;flex-direction:column;justify-content:space-between;height:100%;background-color:rgb(var(--v-theme-background))!important}.settingsHeader[data-v-0412ab42]{padding:10px 10px 10px 15px;background-color:rgb(var(--v-theme-surface-light))}#topBlock[data-v-0412ab42]{background-color:rgb(var(--v-theme-background))!important}[data-v-0412ab42] .v-list-item .v-icon{color:rgb(var(--v-theme-iconsInactive))!important;margin-right:.33em}.footer[data-v-0412ab42]{display:block;font-size:small;text-align:center;padding-top:0;background-color:rgb(var(--v-theme-surface));color:rgb(var(--v-theme-textDisabled))}#scrollFooter[data-v-0412ab42]{padding-bottom:0}#bottomFooter[data-v-0412ab42]{padding-bottom:calc(5px + env(safe-area-inset-bottom)/2)}.v-navigation-drawer{-webkit-overflow-scrolling:touch;background:rgb(var(--v-theme-surface));display:flex;flex-direction:column;height:100%;max-width:100%;pointer-events:auto;transition-duration:.2s;transition-property:box-shadow,transform,visibility,width,height,left,right,top,bottom;transition-timing-function:cubic-bezier(.4,0,.2,1);position:absolute}.v-navigation-drawer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-navigation-drawer--border{border-width:thin;box-shadow:none}.v-navigation-drawer{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-navigation-drawer--rounded{border-radius:4px}.v-navigation-drawer--top{top:0;border-bottom-width:thin}.v-navigation-drawer--bottom{left:0;border-top-width:thin}.v-navigation-drawer--left{top:0;left:0;right:auto;border-right-width:thin}.v-navigation-drawer--right{top:0;left:auto;right:0;border-left-width:thin}.v-navigation-drawer--floating{border:none}.v-navigation-drawer--temporary.v-navigation-drawer--active{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer--sticky{height:auto;transition:box-shadow,transform,visibility,width,height,left,right}.v-navigation-drawer .v-list{overflow:hidden}.v-navigation-drawer__content{flex:0 1 auto;height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto}.v-navigation-drawer__img{height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.v-navigation-drawer__img img:not(.v-img__img){height:inherit;object-fit:cover;width:inherit}.v-navigation-drawer__scrim{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:.2;transition:opacity .2s cubic-bezier(.4,0,.2,1);z-index:1}.v-navigation-drawer__prepend,.v-navigation-drawer__append{flex:none;overflow:hidden}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#settingsDrawerButton[data-v-cdf6ad8a]{padding-right:max(10px,env(safe-area-inset-right) / 2)}.copied[data-v-feac632b]{font-size:small;font-weight:400;color:rgb(var(--v-theme-textSecondary))}.clipBoardIcon[data-v-feac632b]{color:rgb(var(--v-theme-iconsInactive))}.opdsVersion[data-v-feac632b]{padding:5px}.opdsVersion[data-v-feac632b]:hover{background-color:rgb(var(--v-theme-surface))}.opdsVersion:hover .clipBoardIcon[data-v-feac632b],.opdsVersion:hover .opdsUrl[data-v-feac632b]{color:rgb(var(--v-theme-textPrimary))}.opdsUrl[data-v-feac632b]{color:rgb(var(--v-theme-textSecondary))}.subtitle[data-v-feac632b]{font-size:12px;font-weight:400;color:rgb(var(--v-theme-textDisabled))}#opds[data-v-5646b9a1]{padding:20px}#opdsButton[data-v-5646b9a1]{display:block;width:100%;color:rgb(var(--v-theme-textSecondary))}.inline[data-v-5646b9a1]{display:inline-flex}#repo[data-v-fae4fb39]{display:block;width:100%;color:rgb(var(--v-theme-textDisabled))}#repo[data-v-fae4fb39]:hover{color:rgb(var(--v-theme-textPrimary))}#repoIcon[data-v-fae4fb39]{margin-right:0}#repo:hover>#repoIcon[data-v-fae4fb39]{color:rgb(var(--v-theme-textPrimary))!important}#version-footer[data-v-4787569d]{display:block;width:100%;color:rgb(var(--v-theme-textDisabled))}#latest[data-v-4787569d]{color:rgb(var(--v-theme-textSecondary))}.v-footer{align-items:center;display:flex;flex:1 1 auto;padding:8px 16px;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom}.v-footer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-footer--border{border-width:thin;box-shadow:none}.v-footer{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-footer--absolute{position:absolute}.v-footer--fixed{position:fixed}.v-footer{border-radius:0}.v-footer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-footer--rounded{border-radius:4px}.settingsDrawerContainer[data-v-0412ab42]{position:relative!important;display:flex;flex-direction:column;justify-content:space-between;height:100%;background-color:rgb(var(--v-theme-background))!important}.settingsHeader[data-v-0412ab42]{padding:10px 10px 10px 15px;background-color:rgb(var(--v-theme-surface-light))}#topBlock[data-v-0412ab42]{background-color:rgb(var(--v-theme-background))!important}[data-v-0412ab42] .v-list-item .v-icon{color:rgb(var(--v-theme-iconsInactive))!important;margin-right:.33em}.footer[data-v-0412ab42]{display:block;font-size:small;text-align:center;padding-top:0;background-color:rgb(var(--v-theme-surface));color:rgb(var(--v-theme-textDisabled))}#scrollFooter[data-v-0412ab42]{padding-bottom:0}#bottomFooter[data-v-0412ab42]{padding-bottom:calc(5px + env(safe-area-inset-bottom)/2)}.v-navigation-drawer{-webkit-overflow-scrolling:touch;background:rgb(var(--v-theme-surface));display:flex;flex-direction:column;height:100%;max-width:100%;pointer-events:auto;transition-duration:.2s;transition-property:box-shadow,transform,visibility,width,height,left,right,top,bottom;transition-timing-function:cubic-bezier(.4,0,.2,1);position:absolute}.v-navigation-drawer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-navigation-drawer--border{border-width:thin;box-shadow:none}.v-navigation-drawer{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-navigation-drawer--rounded{border-radius:4px}.v-navigation-drawer--top{top:0;border-bottom-width:thin}.v-navigation-drawer--bottom{left:0;border-top-width:thin}.v-navigation-drawer--left{top:0;left:0;right:auto;border-right-width:thin}.v-navigation-drawer--right{top:0;left:auto;right:0;border-left-width:thin}.v-navigation-drawer--floating{border:none}.v-navigation-drawer--temporary.v-navigation-drawer--active{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer--sticky{height:auto;transition:box-shadow,transform,visibility,width,height,left,right}.v-navigation-drawer .v-list{overflow:hidden}.v-navigation-drawer__content{flex:0 1 auto;height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto}.v-navigation-drawer__img{height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.v-navigation-drawer__img img:not(.v-img__img){height:inherit;object-fit:cover;width:inherit}.v-navigation-drawer__scrim{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:.2;transition:opacity .2s cubic-bezier(.4,0,.2,1);z-index:1}.v-navigation-drawer__prepend,.v-navigation-drawer__append{flex:none;overflow:hidden}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{aR as t,bi as e,t as s,bn as n}from"./main-CpP-5rLh.js";function i(){const o=t(!1);return e(()=>{window.requestAnimationFrame(()=>{o.value=!0})}),{ssrBootStyles:s(()=>o.value?void 0:{transition:"none !important"}),isBooted:n(o)}}export{i as u};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{aR as t,bi as e,t as s,bn as n}from"./main-CpP-5rLh.js";function i(){const o=t(!1);return e(()=>{window.requestAnimationFrame(()=>{o.value=!0})}),{ssrBootStyles:s(()=>o.value?void 0:{transition:"none !important"}),isBooted:n(o)}}export{i as u};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.statBlock[data-v-4bb3ecd9]{display:inline-block;vertical-align:top;margin-bottom:20px;margin-right:40px}h3[data-v-4bb3ecd9]{margin-top:1em;text-align:center}.highlight-table[data-v-4bb3ecd9]{color:rgb(var(--v-theme-textSecondary))}.highlight-table tbody[data-v-4bb3ecd9]:nth-child(2n){background-color:rgb(var(--v-theme-background))!important}tr td[data-v-4bb3ecd9]:nth-child(2){text-align:right}.subtitleRow[data-v-4bb3ecd9]{height:28px!important;font-weight:700!important;background-color:rgb(var(--v-theme-surface))!important}.indent[data-v-4bb3ecd9]{padding-left:2em!important}#schemaDoc[data-v-8fe4ac31]{font-size:small;color:rgb(var(--v-theme-textSecondary));background-color:rgb(var(--v-theme-background))}#schemaDoc>td[data-v-8fe4ac31]{border-bottom:none!important}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.statBlock[data-v-4bb3ecd9]{display:inline-block;vertical-align:top;margin-bottom:20px;margin-right:40px}h3[data-v-4bb3ecd9]{margin-top:1em;text-align:center}.highlight-table[data-v-4bb3ecd9]{color:rgb(var(--v-theme-textSecondary))}.highlight-table tbody[data-v-4bb3ecd9]:nth-child(2n){background-color:rgb(var(--v-theme-background))!important}tr td[data-v-4bb3ecd9]:nth-child(2){text-align:right}.subtitleRow[data-v-4bb3ecd9]{height:28px!important;font-weight:700!important;background-color:rgb(var(--v-theme-surface))!important}.indent[data-v-4bb3ecd9]{padding-left:2em!important}#schemaDoc[data-v-8fe4ac31]{font-size:small;color:rgb(var(--v-theme-textSecondary));background-color:rgb(var(--v-theme-background))}#schemaDoc>td[data-v-8fe4ac31]{border-bottom:none!important}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as C,ae as j,q as i,b as n,a as c,A as b,w as g,v as u,a6 as I,F as f,z as p,d as K,B as w,D as h,H as B,s as y,l as _,ce as L,cf as P,cg as D,ch as v,ci as E,b8 as N,b9 as R,C as V,y as x}from"./main-CpP-5rLh.js";import{V as G}from"./VTable-C-cNChDa.js";import{C as z}from"./confirm-dialog-AMnfyuMm.js";import{c as U}from"./copy-to-clipboard-DoUvDJVx.js";import{useAdminStore as T}from"./admin-BQ68PA7O.js";import"./forwardRefs-CGpIPavG.js";import"./VDialog-tf0N3lvG.js";const F={name:"StatsTable",props:{title:{type:String,required:!0},items:{type:Object,required:!0}},data(){return{}},methods:{valueTable(e){return e&&typeof e=="object"?e:{}},tdClasses(e){return{indent:e[0]==="+"}},tdLabel(e){return e.replace(/^\+/,"")},nf(e){return typeof e=="number"?j.format(e):e}}},H={class:"statBlock"},$={key:0},q={colspan:"2",class:"subtitleRow"},M={key:1},X={class:"indent"};function Y(e,t,a,s,l,o){return u(),i("div",H,[n("h3",null,b(a.title),1),c(G,{class:"highlight-table"},{default:g(()=>[(u(!0),i(f,null,p(Object.entries(a.items),([r,d])=>(u(),i("tbody",{key:r},[typeof d=="object"?(u(),i("tr",$,[n("th",q,b(r),1)])):(u(),i("tr",M,[n("td",{class:K(o.tdClasses(r))},b(o.tdLabel(r)),3),n("td",null,b(o.nf(d)),1)])),(u(!0),i(f,null,p(Object.entries(o.valueTable(d)),([m,S])=>(u(),i("tr",{key:m},[n("td",X,b(m),1),n("td",null,b(o.nf(S)),1)]))),128))]))),128)),I(e.$slots,"default",{},void 0,!0)]),_:3})])}const J=C(F,[["render",Y],["__scopeId","data-v-4bb3ecd9"]]),k={topGroup:v,orderBy:D,fitTo:P,readingDirection:L},A={authGroupCount:"Authorization Groups",libraryCount:"Libraries",userAnonymousCount:"Anonymous Users",userRegisteredCount:"Registered Users"};Object.freeze(A);Object.freeze(k);const O=new Set(["storyArcNumbersCount","identifierTypesCount","contributorPersonsCount","contributorRolesCount"]);Object.freeze(O);const Q={name:"AdminTasksTab",components:{ConfirmDialog:z,StatsTable:J},data(){return{showTooltip:{show:!1},schemaHref:globalThis.CODEX.API_V3_PATH+"#/api/api_v3_admin_stats_retrieve"}},computed:{...h(V,{}),...h(T,{stats:e=>e.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return this.clipBoardEnabled},clipBoardIcon(){return this.showTooltip?N:R},platformTable(){const e={};for(const[t,a]of Object.entries(this.stats?.platform)){const s=this.keyToLabel(t),l=t==="system"?`${a.name} ${a.release}`:a;e[s]=l}return e},configTable(){const e={};let t="";for(const[a,s]of Object.entries(this.stats?.config)){let l;if(a=="apiKey"){t=s;continue}else l=A[a];e[l]=s}return e["API Key"]=t,e},userSettingsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.sessions)){const s={},l=k[t];for(const[r,d]of Object.entries(a)){let m;m=l?l[E(r)]:r,s[m]=d}const o=this.keyToLabel(t);e[o]=s}return e},browserGroupsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.groups)){let s=this.keyToLabel(t);s!=="Series"&&(s+="s"),e[s]=a}return e},fileTypesTable(){const e={};for(const[t,a]of Object.entries(this.stats?.fileTypes)){const s=t==="unknown"?_(t):this.keyToLabel(t).toUpperCase();e[s]=a}return e},metadataTable(){const e={};for(const[t,a]of Object.entries(this.stats?.metadata)){let s=t==="countryCount"?"Countries":this.keyToLabel(t)+"s";O.has(t)&&(s=s.replace(/^\w+ /,"+")),e[s]=a}return e}},created(){this.loadStats()},methods:{...w(T,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},onClickAPIKey(){this.clipBoardEnabled&&U(this.stats.config.apiKey,this.showTooltip)},keyToLabel(e){return e=e.replace(/Count$/,""),_(e)}}},W={key:0,id:"stats"},Z={id:"schemaDoc"},ee={colspan:"2"},te=["href"],se={colspan:"2"};function ae(e,t,a,s,l,o){const r=y("StatsTable"),d=y("ConfirmDialog");return e.stats?(u(),i("div",W,[c(r,{title:"Platform",items:o.platformTable},null,8,["items"]),c(r,{title:"Config",items:o.configTable},{default:g(()=>[n("tbody",null,[n("tr",Z,[n("td",ee,[t[0]||(t[0]=x(" The only endpoint accessible by API Key is ")),n("a",{href:l.schemaHref,target:"_blank"},"/admin/stats",8,te)])]),n("tr",null,[n("td",se,[c(d,{"button-text":"Regenerate API Key","title-text":"Regenerate",text:"API Key","confirm-text":"Regenerate",onConfirm:o.regenAPIKey},null,8,["onConfirm"])])])])]),_:1},8,["items"]),c(r,{title:"User Settings",items:o.userSettingsTable},null,8,["items"]),c(r,{title:"Browser Groups",items:o.browserGroupsTable},null,8,["items"]),c(r,{title:"File Types",items:o.fileTypesTable},null,8,["items"]),c(r,{title:"Metadata",items:o.metadataTable},null,8,["items"])])):B("",!0)}const de=C(Q,[["render",ae],["__scopeId","data-v-8fe4ac31"]]);export{de as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as C,ae as j,q as i,b as n,a as c,A as b,w as g,v as u,a6 as I,F as f,z as p,d as K,B as w,D as h,H as B,s as y,l as _,ce as L,cf as P,cg as D,ch as v,ci as E,b8 as N,b9 as R,C as V,y as x}from"./main-CpP-5rLh.js";import{V as G}from"./VTable-C-cNChDa.js";import{C as z}from"./confirm-dialog-AMnfyuMm.js";import{c as U}from"./copy-to-clipboard-DoUvDJVx.js";import{useAdminStore as T}from"./admin-BQ68PA7O.js";import"./forwardRefs-CGpIPavG.js";import"./VDialog-tf0N3lvG.js";const F={name:"StatsTable",props:{title:{type:String,required:!0},items:{type:Object,required:!0}},data(){return{}},methods:{valueTable(e){return e&&typeof e=="object"?e:{}},tdClasses(e){return{indent:e[0]==="+"}},tdLabel(e){return e.replace(/^\+/,"")},nf(e){return typeof e=="number"?j.format(e):e}}},H={class:"statBlock"},$={key:0},q={colspan:"2",class:"subtitleRow"},M={key:1},X={class:"indent"};function Y(e,t,a,s,l,o){return u(),i("div",H,[n("h3",null,b(a.title),1),c(G,{class:"highlight-table"},{default:g(()=>[(u(!0),i(f,null,p(Object.entries(a.items),([r,d])=>(u(),i("tbody",{key:r},[typeof d=="object"?(u(),i("tr",$,[n("th",q,b(r),1)])):(u(),i("tr",M,[n("td",{class:K(o.tdClasses(r))},b(o.tdLabel(r)),3),n("td",null,b(o.nf(d)),1)])),(u(!0),i(f,null,p(Object.entries(o.valueTable(d)),([m,S])=>(u(),i("tr",{key:m},[n("td",X,b(m),1),n("td",null,b(o.nf(S)),1)]))),128))]))),128)),I(e.$slots,"default",{},void 0,!0)]),_:3})])}const J=C(F,[["render",Y],["__scopeId","data-v-4bb3ecd9"]]),k={topGroup:v,orderBy:D,fitTo:P,readingDirection:L},A={authGroupCount:"Authorization Groups",libraryCount:"Libraries",userAnonymousCount:"Anonymous Users",userRegisteredCount:"Registered Users"};Object.freeze(A);Object.freeze(k);const O=new Set(["storyArcNumbersCount","identifierTypesCount","contributorPersonsCount","contributorRolesCount"]);Object.freeze(O);const Q={name:"AdminTasksTab",components:{ConfirmDialog:z,StatsTable:J},data(){return{showTooltip:{show:!1},schemaHref:globalThis.CODEX.API_V3_PATH+"#/api/api_v3_admin_stats_retrieve"}},computed:{...h(V,{}),...h(T,{stats:e=>e.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return this.clipBoardEnabled},clipBoardIcon(){return this.showTooltip?N:R},platformTable(){const e={};for(const[t,a]of Object.entries(this.stats?.platform)){const s=this.keyToLabel(t),l=t==="system"?`${a.name} ${a.release}`:a;e[s]=l}return e},configTable(){const e={};let t="";for(const[a,s]of Object.entries(this.stats?.config)){let l;if(a=="apiKey"){t=s;continue}else l=A[a];e[l]=s}return e["API Key"]=t,e},userSettingsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.sessions)){const s={},l=k[t];for(const[r,d]of Object.entries(a)){let m;m=l?l[E(r)]:r,s[m]=d}const o=this.keyToLabel(t);e[o]=s}return e},browserGroupsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.groups)){let s=this.keyToLabel(t);s!=="Series"&&(s+="s"),e[s]=a}return e},fileTypesTable(){const e={};for(const[t,a]of Object.entries(this.stats?.fileTypes)){const s=t==="unknown"?_(t):this.keyToLabel(t).toUpperCase();e[s]=a}return e},metadataTable(){const e={};for(const[t,a]of Object.entries(this.stats?.metadata)){let s=t==="countryCount"?"Countries":this.keyToLabel(t)+"s";O.has(t)&&(s=s.replace(/^\w+ /,"+")),e[s]=a}return e}},created(){this.loadStats()},methods:{...w(T,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},onClickAPIKey(){this.clipBoardEnabled&&U(this.stats.config.apiKey,this.showTooltip)},keyToLabel(e){return e=e.replace(/Count$/,""),_(e)}}},W={key:0,id:"stats"},Z={id:"schemaDoc"},ee={colspan:"2"},te=["href"],se={colspan:"2"};function ae(e,t,a,s,l,o){const r=y("StatsTable"),d=y("ConfirmDialog");return e.stats?(u(),i("div",W,[c(r,{title:"Platform",items:o.platformTable},null,8,["items"]),c(r,{title:"Config",items:o.configTable},{default:g(()=>[n("tbody",null,[n("tr",Z,[n("td",ee,[t[0]||(t[0]=x(" The only endpoint accessible by API Key is ")),n("a",{href:l.schemaHref,target:"_blank"},"/admin/stats",8,te)])]),n("tr",null,[n("td",se,[c(d,{"button-text":"Regenerate API Key","title-text":"Regenerate",text:"API Key","confirm-text":"Regenerate",onConfirm:o.regenAPIKey},null,8,["onConfirm"])])])])]),_:1},8,["items"]),c(r,{title:"User Settings",items:o.userSettingsTable},null,8,["items"]),c(r,{title:"Browser Groups",items:o.browserGroupsTable},null,8,["items"]),c(r,{title:"File Types",items:o.fileTypesTable},null,8,["items"]),c(r,{title:"Metadata",items:o.metadataTable},null,8,["items"])])):B("",!0)}const de=C(Q,[["render",ae],["__scopeId","data-v-8fe4ac31"]]);export{de as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as C,B as x,D as R,q as r,b as l,A as o,F as u,z as h,C as S,s as A,v as s,d as N,x as f,w as v,y as _,a as y}from"./main-CpP-5rLh.js";import{C as I}from"./confirm-dialog-AMnfyuMm.js";import{useAdminStore as w}from"./admin-BQ68PA7O.js";import{V as p}from"./forwardRefs-CGpIPavG.js";import{c as T}from"./VSelect-Cv8OuNtL.js";import"./VDialog-tf0N3lvG.js";import"./VSelectionControl-DoFzRlEh.js";import"./ssrBoot-D216TWr1.js";import"./VDivider-CTvTvFr_.js";import"./VCheckboxBtn-Bxf1MS02.js";const k=[{title:"Libraries",tasks:[{value:"poll",title:"Poll All Libraries",desc:"Update Libraries if changes detected"},{value:"poll_force",title:"Force Update All Libraries",desc:"Forcibly update all comics in all libraries",confirm:"This can take a long time"},{value:"force_update_all_failed_imports",title:"Update All Failed Imports",desc:"Forcibly update all failed imports in all libraries",confirm:"This can take a long time"},{value:"watchdog_sync",title:"Sync Watchdog with DB",desc:"Ensure the Watchdog file watcher is enabled per database preferences for each library"}]},{title:"Covers",tasks:[{value:"purge_comic_covers",title:"Remove Comic Covers",desc:"from every library",confirm:"Are you sure?"},{value:"create_all_comic_covers",title:"Create All Comic Covers",desc:"Pre-generate covers for every comic in every library and all custom covers",confirm:"Are you sure?"},{value:"force_update_groups",title:"Update Group Timestamps",desc:"Force the update of group timestamps. Will bust the browser cache for browser views and covers."}]},{title:"Search Index",tasks:[{value:"search_index_update",title:"Update Search Index",desc:"with recently changed comics"},{value:"search_index_optimize",title:"Optimize Search Index",desc:"Merge Search Index for optimal lookup time. Runs nightly."},{value:"search_index_rebuild",title:"Rebuild Search Index",desc:"Delete and rebuild the search index from scratch",confirm:"This can take a long time"},{value:"search_index_remove_stale",title:"Remove Stale Index Entries",desc:"Remove search index entries that are no longer in the library."},{value:"search_index_abort",title:"Abort Search Indexing",desc:"Aborts search index update and remove tasks."},{value:"search_index_clear",title:"Clear Search Index",desc:"of all entries"},{value:"db_fts_integrity_check",title:"Integrity Check Search Index",desc:"Repairs Search Index on failure. Runs nightly"},{value:"db_fts_rebuild",title:"Repair Search Index",desc:"Probably faster than Rebuild if integrity check fails."}]},{title:"Database",tasks:[{value:"db_vacuum",title:"Optimize & Compact Database",desc:"Run the sqlite3 OPTIMIZE and VACUUM pragmas. Runs nightly"},{value:"db_backup",title:"Backup Database",desc:"Runs nightly"},{value:"db_foreign_key_check",title:"Remove Illegal Foreign Keys",desc:"Check for and remove illegal foreign keys. Mark affected comics for update. Runs nightly."},{value:"db_integrity_check",title:"Check Database Integrity",desc:"Check logs for results. Runs nightly.",confirm:"Can take a while on large databases, Are you sure?"}]},{title:"Codex Software",tasks:[{value:"codex_latest_version",title:"Check for Codex Latest Version",desc:"Check PyPi for the latest version of Codex"},{value:"codex_update",title:"Update Codex",desc:"If Codex updates to a new version, it will restart",confirm:"Are you sure?"},{value:"codex_restart",title:"Restart Codex Server",desc:"Immediately",confirm:"Are you sure?"},{value:"codex_shutdown",title:"Shutdown Codex Server",desc:"Immediately",confirm:"Are you sure?"}]},{title:"Cleanup",tasks:[{value:"cleanup_fks",title:"Remove Orphan Tags",desc:"After deleting comics, unused linked objects remain in case new comics use them. Runs nightly."},{value:"cleanup_db_custom_covers",title:"Remove Orphan Database Custom Covers",desc:"Remove Custom Covers from the db that no longer represent custom cover images on disk. Runs nightly."},{value:"cleanup_sessions",title:"Cleanup Sessions",desc:"Remove corrupt and expired sessions. Runs nightly."},{value:"cleanup_covers",title:"Remove Orphan Cover Thumbnails",desc:"no longer have source comics or custom images. Runs nightly."},{value:"cleanup_bookmarks",title:"Remove Orphan Bookmarks",desc:"Owned by no session or user. Runs nightly."},{value:"adopt_folders",title:"Adopt Orphan Folders",desc:"Move orphaned folders from the top of the folder tree to under their correct parent. Runs nightly and at startup."},{value:"librarian_clear_status",title:"Clear Librarian Statuses",desc:"Mark all Librarian tasks finished."},{value:"janitor_nightly",title:"Run Nightly Maintenance",desc:"Runs several tasks above that also run nightly.",confirm:"Launches several tasks that run nightly anyway."}]},{title:"Notify",tasks:[{value:"notify_admin_flags_changed",title:"Notify Admin Flags Changed",desc:"Notify all users that admin flags have changed."},{value:"notify_bookmark_changed",title:"Notify Bookmark Changed",desc:"Notify only your user that a bookmark changed."},{value:"notify_covers_changed",title:"Notify Covers Changed",desc:"Notify all users that covers have changed."},{value:"notify_failed_imports_changed",title:"Notify Failed Imports Changed",desc:"Notify admin users that failed imports have changed"},{value:"notify_groups_changed",title:"Notify Groups Changed",desc:"Notify all users that ACL groups have changed."},{value:"notify_library_changed",title:"Notify Library Changed ",desc:"Notify all users libraries have changed."},{value:"notify_librarian_status",title:"Notify Librarian Status",desc:"Notify admin users that a librarian job status changed.."},{value:"notify_users_changed",title:"Notify Users Changed",desc:"Notify one user that their users changed or all users if a user was deleted."}]}],m=["Notify"];Object.freeze(m);const L={name:"AdminTasksTab",components:{ConfirmDialog:I},data(){return{SELECT_GROUPS:m,selectValues:{Notify:"notify_library_changed"},tasks:k}},computed:{...R(S,{formSuccess:e=>e.form.success,formErrors:e=>e.form.errors}),selectMaps(){const e={};for(const i of k)if(m.includes(i.title)){e[i.title]={};for(const n of i.tasks)e[i.title][n.value]=n}return e}},methods:{...x(w,["librarianTask"]),selectAttr(e,i){const n=this.selectValues[e];return this.selectMaps[e][n][i]}}},V={id:"tasks"},D={key:0,id:"success"},U={key:1,id:"error"},B={key:2,id:"noRecentTask"},E={key:0},O={class:"taskBox"},F={class:"taskDesc"},M={key:1,class:"taskBox"},P={class:"taskDesc"};function z(e,i,n,G,c,d){const g=A("ConfirmDialog");return s(),r("div",V,[l("div",null,[i[0]||(i[0]=l("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),l("span",null,[e.formSuccess?(s(),r("span",D,o(e.formSuccess),1)):e.formErrors&&e.formErrors.length>0?(s(),r("span",U,[(s(!0),r(u,null,h(e.formErrors,t=>(s(),r("span",{key:t},o(t),1))),128))])):(s(),r("span",B,"No recent task"))])]),(s(!0),r(u,null,h(c.tasks,t=>(s(),r("div",{key:t.title,"fixed-header":"",class:"taskGroup"},[l("h3",null,o(t.title),1),c.SELECT_GROUPS.includes(t.title)?(s(),r("div",M,[y(T,{items:t.tasks,"model-value":c.selectValues[t.title],"onUpdate:modelValue":a=>c.selectValues[t.title]=a},null,8,["items","model-value","onUpdate:modelValue"]),y(p,{block:"",onClick:a=>e.librarianTask(c.selectValues[t.title],d.selectAttr(t.title,"title"))},{default:v(()=>[_(o(d.selectAttr(t.title,"title")),1)]),_:2},1032,["onClick"]),l("div",P,o(d.selectAttr(t.title,"desc")),1)])):(s(),r("div",E,[(s(!0),r(u,null,h(t.tasks,a=>(s(),r("div",{key:a.value,class:N(["trow",{selected:!1}])},[l("div",O,[a.confirm?(s(),f(g,{key:0,"button-text":a.title,"title-text":a.title,text:a.confirm,block:!0,"confirm-text":"Confirm",onConfirm:b=>e.librarianTask(a.value,a.title)},null,8,["button-text","title-text","text","onConfirm"])):(s(),f(p,{key:1,block:"",onClick:b=>e.librarianTask(a.value,a.title)},{default:v(()=>[_(o(a.title),1)]),_:2},1032,["onClick"])),l("div",F,o(a.desc),1)])]))),128))]))]))),128))])}const $=C(L,[["render",z],["__scopeId","data-v-6e06e355"]]);export{$ as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as C,B as x,D as R,q as r,b as l,A as o,F as u,z as h,C as S,s as A,v as s,d as N,x as f,w as v,y as _,a as y}from"./main-CpP-5rLh.js";import{C as I}from"./confirm-dialog-AMnfyuMm.js";import{useAdminStore as w}from"./admin-BQ68PA7O.js";import{V as p}from"./forwardRefs-CGpIPavG.js";import{c as T}from"./VSelect-Cv8OuNtL.js";import"./VDialog-tf0N3lvG.js";import"./VSelectionControl-DoFzRlEh.js";import"./ssrBoot-D216TWr1.js";import"./VDivider-CTvTvFr_.js";import"./VCheckboxBtn-Bxf1MS02.js";const k=[{title:"Libraries",tasks:[{value:"poll",title:"Poll All Libraries",desc:"Update Libraries if changes detected"},{value:"poll_force",title:"Force Update All Libraries",desc:"Forcibly update all comics in all libraries",confirm:"This can take a long time"},{value:"force_update_all_failed_imports",title:"Update All Failed Imports",desc:"Forcibly update all failed imports in all libraries",confirm:"This can take a long time"},{value:"watchdog_sync",title:"Sync Watchdog with DB",desc:"Ensure the Watchdog file watcher is enabled per database preferences for each library"}]},{title:"Covers",tasks:[{value:"purge_comic_covers",title:"Remove Comic Covers",desc:"from every library",confirm:"Are you sure?"},{value:"create_all_comic_covers",title:"Create All Comic Covers",desc:"Pre-generate covers for every comic in every library and all custom covers",confirm:"Are you sure?"},{value:"force_update_groups",title:"Update Group Timestamps",desc:"Force the update of group timestamps. Will bust the browser cache for browser views and covers."}]},{title:"Search Index",tasks:[{value:"search_index_update",title:"Update Search Index",desc:"with recently changed comics"},{value:"search_index_optimize",title:"Optimize Search Index",desc:"Merge Search Index for optimal lookup time. Runs nightly."},{value:"search_index_rebuild",title:"Rebuild Search Index",desc:"Delete and rebuild the search index from scratch",confirm:"This can take a long time"},{value:"search_index_remove_stale",title:"Remove Stale Index Entries",desc:"Remove search index entries that are no longer in the library."},{value:"search_index_abort",title:"Abort Search Indexing",desc:"Aborts search index update and remove tasks."},{value:"search_index_clear",title:"Clear Search Index",desc:"of all entries"},{value:"db_fts_integrity_check",title:"Integrity Check Search Index",desc:"Repairs Search Index on failure. Runs nightly"},{value:"db_fts_rebuild",title:"Repair Search Index",desc:"Probably faster than Rebuild if integrity check fails."}]},{title:"Database",tasks:[{value:"db_vacuum",title:"Optimize & Compact Database",desc:"Run the sqlite3 OPTIMIZE and VACUUM pragmas. Runs nightly"},{value:"db_backup",title:"Backup Database",desc:"Runs nightly"},{value:"db_foreign_key_check",title:"Remove Illegal Foreign Keys",desc:"Check for and remove illegal foreign keys. Mark affected comics for update. Runs nightly."},{value:"db_integrity_check",title:"Check Database Integrity",desc:"Check logs for results. Runs nightly.",confirm:"Can take a while on large databases, Are you sure?"}]},{title:"Codex Software",tasks:[{value:"codex_latest_version",title:"Check for Codex Latest Version",desc:"Check PyPi for the latest version of Codex"},{value:"codex_update",title:"Update Codex",desc:"If Codex updates to a new version, it will restart",confirm:"Are you sure?"},{value:"codex_restart",title:"Restart Codex Server",desc:"Immediately",confirm:"Are you sure?"},{value:"codex_shutdown",title:"Shutdown Codex Server",desc:"Immediately",confirm:"Are you sure?"}]},{title:"Cleanup",tasks:[{value:"cleanup_fks",title:"Remove Orphan Tags",desc:"After deleting comics, unused linked objects remain in case new comics use them. Runs nightly."},{value:"cleanup_db_custom_covers",title:"Remove Orphan Database Custom Covers",desc:"Remove Custom Covers from the db that no longer represent custom cover images on disk. Runs nightly."},{value:"cleanup_sessions",title:"Cleanup Sessions",desc:"Remove corrupt and expired sessions. Runs nightly."},{value:"cleanup_covers",title:"Remove Orphan Cover Thumbnails",desc:"no longer have source comics or custom images. Runs nightly."},{value:"cleanup_bookmarks",title:"Remove Orphan Bookmarks",desc:"Owned by no session or user. Runs nightly."},{value:"adopt_folders",title:"Adopt Orphan Folders",desc:"Move orphaned folders from the top of the folder tree to under their correct parent. Runs nightly and at startup."},{value:"librarian_clear_status",title:"Clear Librarian Statuses",desc:"Mark all Librarian tasks finished."},{value:"janitor_nightly",title:"Run Nightly Maintenance",desc:"Runs several tasks above that also run nightly.",confirm:"Launches several tasks that run nightly anyway."}]},{title:"Notify",tasks:[{value:"notify_admin_flags_changed",title:"Notify Admin Flags Changed",desc:"Notify all users that admin flags have changed."},{value:"notify_bookmark_changed",title:"Notify Bookmark Changed",desc:"Notify only your user that a bookmark changed."},{value:"notify_covers_changed",title:"Notify Covers Changed",desc:"Notify all users that covers have changed."},{value:"notify_failed_imports_changed",title:"Notify Failed Imports Changed",desc:"Notify admin users that failed imports have changed"},{value:"notify_groups_changed",title:"Notify Groups Changed",desc:"Notify all users that ACL groups have changed."},{value:"notify_library_changed",title:"Notify Library Changed ",desc:"Notify all users libraries have changed."},{value:"notify_librarian_status",title:"Notify Librarian Status",desc:"Notify admin users that a librarian job status changed.."},{value:"notify_users_changed",title:"Notify Users Changed",desc:"Notify one user that their users changed or all users if a user was deleted."}]}],m=["Notify"];Object.freeze(m);const L={name:"AdminTasksTab",components:{ConfirmDialog:I},data(){return{SELECT_GROUPS:m,selectValues:{Notify:"notify_library_changed"},tasks:k}},computed:{...R(S,{formSuccess:e=>e.form.success,formErrors:e=>e.form.errors}),selectMaps(){const e={};for(const i of k)if(m.includes(i.title)){e[i.title]={};for(const n of i.tasks)e[i.title][n.value]=n}return e}},methods:{...x(w,["librarianTask"]),selectAttr(e,i){const n=this.selectValues[e];return this.selectMaps[e][n][i]}}},V={id:"tasks"},D={key:0,id:"success"},U={key:1,id:"error"},B={key:2,id:"noRecentTask"},E={key:0},O={class:"taskBox"},F={class:"taskDesc"},M={key:1,class:"taskBox"},P={class:"taskDesc"};function z(e,i,n,G,c,d){const g=A("ConfirmDialog");return s(),r("div",V,[l("div",null,[i[0]||(i[0]=l("span",{id:"lastTaskLabel"},"Last Task Queued:",-1)),l("span",null,[e.formSuccess?(s(),r("span",D,o(e.formSuccess),1)):e.formErrors&&e.formErrors.length>0?(s(),r("span",U,[(s(!0),r(u,null,h(e.formErrors,t=>(s(),r("span",{key:t},o(t),1))),128))])):(s(),r("span",B,"No recent task"))])]),(s(!0),r(u,null,h(c.tasks,t=>(s(),r("div",{key:t.title,"fixed-header":"",class:"taskGroup"},[l("h3",null,o(t.title),1),c.SELECT_GROUPS.includes(t.title)?(s(),r("div",M,[y(T,{items:t.tasks,"model-value":c.selectValues[t.title],"onUpdate:modelValue":a=>c.selectValues[t.title]=a},null,8,["items","model-value","onUpdate:modelValue"]),y(p,{block:"",onClick:a=>e.librarianTask(c.selectValues[t.title],d.selectAttr(t.title,"title"))},{default:v(()=>[_(o(d.selectAttr(t.title,"title")),1)]),_:2},1032,["onClick"]),l("div",P,o(d.selectAttr(t.title,"desc")),1)])):(s(),r("div",E,[(s(!0),r(u,null,h(t.tasks,a=>(s(),r("div",{key:a.value,class:N(["trow",{selected:!1}])},[l("div",O,[a.confirm?(s(),f(g,{key:0,"button-text":a.title,"title-text":a.title,text:a.confirm,block:!0,"confirm-text":"Confirm",onConfirm:b=>e.librarianTask(a.value,a.title)},null,8,["button-text","title-text","text","onConfirm"])):(s(),f(p,{key:1,block:"",onClick:b=>e.librarianTask(a.value,a.title)},{default:v(()=>[_(o(a.title),1)]),_:2},1032,["onClick"])),l("div",F,o(a.desc),1)])]))),128))]))]))),128))])}const $=C(L,[["render",z],["__scopeId","data-v-6e06e355"]]);export{$ as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#banner[data-v-76681126]{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);width:100%;text-align:center}#banner[data-v-76681126] .v-toolbar-title{margin:0}.v-toolbar{align-items:flex-start;display:flex;flex:none;flex-direction:column;justify-content:space-between;max-width:100%;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom,box-shadow;width:100%}.v-toolbar{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-toolbar--border{border-width:thin;box-shadow:none}.v-toolbar{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar{border-radius:0}.v-toolbar{background:rgb(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-toolbar--absolute{position:absolute}.v-toolbar--collapse{max-width:112px;overflow:hidden;border-end-end-radius:24px}.v-toolbar--collapse .v-toolbar-title{display:none}.v-toolbar--flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar--floating{display:inline-flex;width:auto}.v-toolbar--rounded{border-radius:4px}.v-toolbar__content,.v-toolbar__extension{align-items:center;display:flex;flex:0 0 auto;position:relative;transition:inherit;width:100%}.v-toolbar__content{overflow:hidden}.v-toolbar__content>.v-btn:first-child{margin-inline-start:4px}.v-toolbar__content>.v-btn:last-child{margin-inline-end:4px}.v-toolbar__content>.v-toolbar-title{margin-inline-start:20px}.v-toolbar--density-prominent .v-toolbar__content{align-items:flex-start}.v-toolbar__image{display:flex;opacity:var(--v-toolbar-image-opacity, 1);transition-property:opacity}.v-toolbar__image{position:absolute;top:0;left:0;width:100%;height:100%}.v-toolbar__prepend,.v-toolbar__append{align-items:center;align-self:stretch;display:flex}.v-toolbar__prepend{margin-inline:4px auto}.v-toolbar__append{margin-inline:auto 4px}.v-toolbar-title{flex:1 1;font-size:1.25rem;min-width:0}.v-toolbar-title{font-size:1.25rem;font-weight:400;letter-spacing:0;line-height:1.75rem;text-transform:none}.v-toolbar--density-prominent .v-toolbar-title{align-self:flex-end;padding-bottom:6px}.v-toolbar--density-prominent .v-toolbar-title{font-size:1.5rem;font-weight:400;letter-spacing:0;line-height:2.25rem;text-transform:none}.v-toolbar-title__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-toolbar-items{display:flex;height:inherit;align-self:stretch}.v-toolbar-items>.v-btn{border-radius:0}#authDialog[data-v-f5e28bf6]{padding:20px}.v-switch .v-label{padding-inline-start:10px}.v-switch__loader{display:flex}.v-switch__loader .v-progress-circular{color:rgb(var(--v-theme-surface))}.v-switch__track,.v-switch__thumb{transition:none}.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__track,.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__thumb{background-color:rgb(var(--v-theme-error));color:rgb(var(--v-theme-on-error))}.v-switch__track-true{margin-inline-end:auto}.v-selection-control:not(.v-selection-control--dirty) .v-switch__track-true{opacity:0}.v-switch__track-false{margin-inline-start:auto}.v-selection-control--dirty .v-switch__track-false{opacity:0}.v-switch__track{display:inline-flex;align-items:center;font-size:.5rem;padding:0 5px;background-color:rgb(var(--v-theme-surface-variant));border-radius:9999px;height:14px;opacity:.6;min-width:36px;cursor:pointer;transition:.2s background-color cubic-bezier(.4,0,.2,1)}.v-switch--inset .v-switch__track{border-radius:9999px;font-size:.75rem;height:32px;min-width:52px}.v-switch__thumb{align-items:center;background-color:rgb(var(--v-theme-surface-bright));color:rgb(var(--v-theme-on-surface-bright));border-radius:50%;display:flex;font-size:.75rem;height:20px;justify-content:center;width:20px;pointer-events:none;transition:.15s .05s transform cubic-bezier(0,0,.2,1),.2s color cubic-bezier(.4,0,.2,1),.2s background-color cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.v-switch:not(.v-switch--inset) .v-switch__thumb{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-switch--inset .v-switch__thumb{height:24px;width:24px;transform:scale(.6666666667)}.v-switch--inset .v-switch__thumb--filled{transform:none}.v-switch--inset .v-selection-control--dirty .v-switch__thumb{transform:none;transition:.15s .05s transform cubic-bezier(0,0,.2,1)}.v-switch.v-input{flex:0 1 auto}.v-switch .v-selection-control{min-height:var(--v-input-control-height)}.v-switch .v-selection-control__input{border-radius:50%;transition:.2s transform cubic-bezier(.4,0,.2,1);position:absolute}.v-locale--is-ltr.v-switch .v-selection-control__input,.v-locale--is-ltr .v-switch .v-selection-control__input{transform:translate(-10px)}.v-locale--is-rtl.v-switch .v-selection-control__input,.v-locale--is-rtl .v-switch .v-selection-control__input{transform:translate(10px)}.v-switch .v-selection-control__input .v-icon{position:absolute}.v-locale--is-ltr.v-switch .v-selection-control--dirty .v-selection-control__input,.v-locale--is-ltr .v-switch .v-selection-control--dirty .v-selection-control__input{transform:translate(10px)}.v-locale--is-rtl.v-switch .v-selection-control--dirty .v-selection-control__input,.v-locale--is-rtl .v-switch .v-selection-control--dirty .v-selection-control__input{transform:translate(-10px)}.v-switch.v-switch--indeterminate .v-selection-control__input{transform:scale(.8)}.v-switch.v-switch--indeterminate .v-switch__thumb{transform:scale(.75);box-shadow:none}.v-switch.v-switch--inset .v-selection-control__wrapper{width:auto}.v-switch.v-input--vertical .v-label{min-width:max-content}.v-switch.v-input--vertical .v-selection-control__wrapper{transform:rotate(-90deg)}@media (forced-colors: active){.v-switch .v-switch__loader .v-progress-circular{color:currentColor}.v-switch .v-switch__thumb{background-color:buttontext}.v-switch .v-switch__track,.v-switch .v-switch__thumb{border:1px solid;color:buttontext}.v-switch:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{background-color:highlight}.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track{background-color:highlight}.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track,.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{color:highlight}.v-switch.v-switch--inset .v-switch__track{border-width:2px}.v-switch.v-switch--inset:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{background-color:highlighttext;color:highlighttext}.v-switch.v-input--disabled .v-switch__thumb{background-color:graytext}.v-switch.v-input--disabled .v-switch__track,.v-switch.v-input--disabled .v-switch__thumb{color:graytext}.v-switch.v-switch--loading .v-switch__thumb{background-color:canvas}.v-switch.v-switch--loading.v-switch--inset .v-switch__thumb,.v-switch.v-switch--loading.v-switch--indeterminate .v-switch__thumb{border-width:0}}.codexProgressCircular[data-v-7bb4cf22]{height:50%;width:50%}.empty[data-v-c7e33c8c]{color:rgb(var(--v-theme-textDisabled))}[data-v-c7e33c8c] .v-empty-state__action-btn{background-color:rgb(var(--v-theme-primary))!important}[data-v-c7e33c8c] .v-empty-state__action-btn .v-btn__content{color:#000}.v-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:16px}.v-empty-state--start{align-items:flex-start}.v-empty-state--center{align-items:center}.v-empty-state--end{align-items:flex-end}.v-empty-state__media{text-align:center;width:100%}.v-empty-state__media .v-icon{color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity))}.v-empty-state__headline{color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));font-size:3.75rem;font-weight:300;line-height:1;text-align:center;margin-bottom:8px}.v-empty-state--mobile .v-empty-state__headline{font-size:2.125rem}.v-empty-state__title{font-size:1.25rem;font-weight:500;line-height:1.6;margin-bottom:4px;text-align:center}.v-empty-state__text{font-size:.875rem;font-weight:400;line-height:1.425;padding:0 16px;text-align:center}.v-empty-state__content{padding:24px 0}.v-empty-state__actions{display:flex;gap:8px;padding:16px}.v-empty-state__action-btn.v-btn{background-color:initial;color:initial}#unauthorized[data-v-347bd693]{padding-top:max(20px,env(safe-area-inset-top));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}#unauthorizedPlaceholder[data-v-347bd693]{position:fixed;top:25%;left:25%}.login[data-v-347bd693]{color:rgb(var(--v-theme-primary))}.login[data-v-347bd693] .v-list-item__prepend{margin-right:.25em}.v-main{flex:1 0 auto;max-width:100%;transition:.2s cubic-bezier(.4,0,.2,1);padding-left:var(--v-layout-left);padding-right:var(--v-layout-right);padding-top:var(--v-layout-top);padding-bottom:var(--v-layout-bottom)}.v-main__scroller{max-width:100%;position:relative}.v-main--scrollable{display:flex}.v-main--scrollable{position:absolute;top:0;left:0;width:100%;height:100%}.v-main--scrollable>.v-main__scroller{flex:1 1 auto;overflow-y:auto;--v-layout-left: 0px;--v-layout-right: 0px;--v-layout-top: 0px;--v-layout-bottom: 0px}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#banner[data-v-76681126]{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);width:100%;text-align:center}#banner[data-v-76681126] .v-toolbar-title{margin:0}.v-toolbar{align-items:flex-start;display:flex;flex:none;flex-direction:column;justify-content:space-between;max-width:100%;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom,box-shadow;width:100%}.v-toolbar{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-toolbar--border{border-width:thin;box-shadow:none}.v-toolbar{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar{border-radius:0}.v-toolbar{background:rgb(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-toolbar--absolute{position:absolute}.v-toolbar--collapse{max-width:112px;overflow:hidden;border-end-end-radius:24px}.v-toolbar--collapse .v-toolbar-title{display:none}.v-toolbar--flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar--floating{display:inline-flex;width:auto}.v-toolbar--rounded{border-radius:4px}.v-toolbar__content,.v-toolbar__extension{align-items:center;display:flex;flex:0 0 auto;position:relative;transition:inherit;width:100%}.v-toolbar__content{overflow:hidden}.v-toolbar__content>.v-btn:first-child{margin-inline-start:4px}.v-toolbar__content>.v-btn:last-child{margin-inline-end:4px}.v-toolbar__content>.v-toolbar-title{margin-inline-start:20px}.v-toolbar--density-prominent .v-toolbar__content{align-items:flex-start}.v-toolbar__image{display:flex;opacity:var(--v-toolbar-image-opacity, 1);transition-property:opacity}.v-toolbar__image{position:absolute;top:0;left:0;width:100%;height:100%}.v-toolbar__prepend,.v-toolbar__append{align-items:center;align-self:stretch;display:flex}.v-toolbar__prepend{margin-inline:4px auto}.v-toolbar__append{margin-inline:auto 4px}.v-toolbar-title{flex:1 1;font-size:1.25rem;min-width:0}.v-toolbar-title{font-size:1.25rem;font-weight:400;letter-spacing:0;line-height:1.75rem;text-transform:none}.v-toolbar--density-prominent .v-toolbar-title{align-self:flex-end;padding-bottom:6px}.v-toolbar--density-prominent .v-toolbar-title{font-size:1.5rem;font-weight:400;letter-spacing:0;line-height:2.25rem;text-transform:none}.v-toolbar-title__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-toolbar-items{display:flex;height:inherit;align-self:stretch}.v-toolbar-items>.v-btn{border-radius:0}#authDialog[data-v-f5e28bf6]{padding:20px}.v-switch .v-label{padding-inline-start:10px}.v-switch__loader{display:flex}.v-switch__loader .v-progress-circular{color:rgb(var(--v-theme-surface))}.v-switch__track,.v-switch__thumb{transition:none}.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__track,.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__thumb{background-color:rgb(var(--v-theme-error));color:rgb(var(--v-theme-on-error))}.v-switch__track-true{margin-inline-end:auto}.v-selection-control:not(.v-selection-control--dirty) .v-switch__track-true{opacity:0}.v-switch__track-false{margin-inline-start:auto}.v-selection-control--dirty .v-switch__track-false{opacity:0}.v-switch__track{display:inline-flex;align-items:center;font-size:.5rem;padding:0 5px;background-color:rgb(var(--v-theme-surface-variant));border-radius:9999px;height:14px;opacity:.6;min-width:36px;cursor:pointer;transition:.2s background-color cubic-bezier(.4,0,.2,1)}.v-switch--inset .v-switch__track{border-radius:9999px;font-size:.75rem;height:32px;min-width:52px}.v-switch__thumb{align-items:center;background-color:rgb(var(--v-theme-surface-bright));color:rgb(var(--v-theme-on-surface-bright));border-radius:50%;display:flex;font-size:.75rem;height:20px;justify-content:center;width:20px;pointer-events:none;transition:.15s .05s transform cubic-bezier(0,0,.2,1),.2s color cubic-bezier(.4,0,.2,1),.2s background-color cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.v-switch:not(.v-switch--inset) .v-switch__thumb{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-switch--inset .v-switch__thumb{height:24px;width:24px;transform:scale(.6666666667)}.v-switch--inset .v-switch__thumb--filled{transform:none}.v-switch--inset .v-selection-control--dirty .v-switch__thumb{transform:none;transition:.15s .05s transform cubic-bezier(0,0,.2,1)}.v-switch.v-input{flex:0 1 auto}.v-switch .v-selection-control{min-height:var(--v-input-control-height)}.v-switch .v-selection-control__input{border-radius:50%;transition:.2s transform cubic-bezier(.4,0,.2,1);position:absolute}.v-locale--is-ltr.v-switch .v-selection-control__input,.v-locale--is-ltr .v-switch .v-selection-control__input{transform:translate(-10px)}.v-locale--is-rtl.v-switch .v-selection-control__input,.v-locale--is-rtl .v-switch .v-selection-control__input{transform:translate(10px)}.v-switch .v-selection-control__input .v-icon{position:absolute}.v-locale--is-ltr.v-switch .v-selection-control--dirty .v-selection-control__input,.v-locale--is-ltr .v-switch .v-selection-control--dirty .v-selection-control__input{transform:translate(10px)}.v-locale--is-rtl.v-switch .v-selection-control--dirty .v-selection-control__input,.v-locale--is-rtl .v-switch .v-selection-control--dirty .v-selection-control__input{transform:translate(-10px)}.v-switch.v-switch--indeterminate .v-selection-control__input{transform:scale(.8)}.v-switch.v-switch--indeterminate .v-switch__thumb{transform:scale(.75);box-shadow:none}.v-switch.v-switch--inset .v-selection-control__wrapper{width:auto}.v-switch.v-input--vertical .v-label{min-width:max-content}.v-switch.v-input--vertical .v-selection-control__wrapper{transform:rotate(-90deg)}@media (forced-colors: active){.v-switch .v-switch__loader .v-progress-circular{color:currentColor}.v-switch .v-switch__thumb{background-color:buttontext}.v-switch .v-switch__track,.v-switch .v-switch__thumb{border:1px solid;color:buttontext}.v-switch:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{background-color:highlight}.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track{background-color:highlight}.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track,.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{color:highlight}.v-switch.v-switch--inset .v-switch__track{border-width:2px}.v-switch.v-switch--inset:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{background-color:highlighttext;color:highlighttext}.v-switch.v-input--disabled .v-switch__thumb{background-color:graytext}.v-switch.v-input--disabled .v-switch__track,.v-switch.v-input--disabled .v-switch__thumb{color:graytext}.v-switch.v-switch--loading .v-switch__thumb{background-color:canvas}.v-switch.v-switch--loading.v-switch--inset .v-switch__thumb,.v-switch.v-switch--loading.v-switch--indeterminate .v-switch__thumb{border-width:0}}.codexProgressCircular[data-v-7bb4cf22]{height:50%;width:50%}.empty[data-v-c7e33c8c]{color:rgb(var(--v-theme-textDisabled))}[data-v-c7e33c8c] .v-empty-state__action-btn{background-color:rgb(var(--v-theme-primary))!important}[data-v-c7e33c8c] .v-empty-state__action-btn .v-btn__content{color:#000}.v-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:16px}.v-empty-state--start{align-items:flex-start}.v-empty-state--center{align-items:center}.v-empty-state--end{align-items:flex-end}.v-empty-state__media{text-align:center;width:100%}.v-empty-state__media .v-icon{color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity))}.v-empty-state__headline{color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));font-size:3.75rem;font-weight:300;line-height:1;text-align:center;margin-bottom:8px}.v-empty-state--mobile .v-empty-state__headline{font-size:2.125rem}.v-empty-state__title{font-size:1.25rem;font-weight:500;line-height:1.6;margin-bottom:4px;text-align:center}.v-empty-state__text{font-size:.875rem;font-weight:400;line-height:1.425;padding:0 16px;text-align:center}.v-empty-state__content{padding:24px 0}.v-empty-state__actions{display:flex;gap:8px;padding:16px}.v-empty-state__action-btn.v-btn{background-color:initial;color:initial}#unauthorized[data-v-347bd693]{padding-top:max(20px,env(safe-area-inset-top));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}#unauthorizedPlaceholder[data-v-347bd693]{position:fixed;top:25%;left:25%}.login[data-v-347bd693]{color:rgb(var(--v-theme-primary))}.login[data-v-347bd693] .v-list-item__prepend{margin-right:.25em}.v-main{flex:1 0 auto;max-width:100%;transition:.2s cubic-bezier(.4,0,.2,1);padding-left:var(--v-layout-left);padding-right:var(--v-layout-right);padding-top:var(--v-layout-top);padding-bottom:var(--v-layout-bottom)}.v-main__scroller{max-width:100%;position:relative}.v-main--scrollable{display:flex}.v-main--scrollable{position:absolute;top:0;left:0;width:100%;height:100%}.v-main--scrollable>.v-main__scroller{flex:1 1 auto;overflow-y:auto;--v-layout-left: 0px;--v-layout-right: 0px;--v-layout-top: 0px;--v-layout-bottom: 0px}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as E,p as $,u as D,a as n,n as S,d as C,K as R,b as r,aO as Z,aP as ke,aR as we,c as G,f as pe,aT as ee,j as P,_ as p,D as A,E as H,G as v,x as m,H as T,v as c,N as Ve,P as Se,s as g,e as J,r as Ce,bq as Le,t as Y,br as xe,bs as Be,m as I,F as te,B as ae,k as Pe,C as Ae,J as Te,w as k,Y as W,y as Ie,bt as Ee,q as $e,ab as De,bm as Me,L as Re,W as Fe,z as Ne,a6 as Ue,bu as ze,am as We}from"./main-CpP-5rLh.js";import{d as se,C as K,V as Oe}from"./VDialog-tf0N3lvG.js";import{a as He}from"./change-password-dialog-DqupgUbt.js";import{S as Ke,V as qe}from"./VForm-Dw7aCtM5.js";import{d as oe,u as je,h as Q,k as X,l as Ge,m as Je,f as Ye,c as O}from"./VSelectionControl-DoFzRlEh.js";import{d as q,c as ne,z as Qe,y as Xe,i as Ze,j as et,x as tt,A as at,l as V,D as st,k as le,L as ot,E as ie,o as re,F as nt,q as de,V as lt}from"./forwardRefs-CGpIPavG.js";import{u as it}from"./ssrBoot-D216TWr1.js";const rt=$({text:String,...R(),...q()},"VToolbarTitle"),dt=E()({name:"VToolbarTitle",props:rt(),setup(e,t){let{slots:o}=t;return D(()=>{const a=!!(o.default||o.text||e.text);return n(e.tag,{class:C(["v-toolbar-title",e.class]),style:S(e.style)},{default:()=>[a&&r("div",{class:"v-toolbar-title__placeholder"},[o.text?o.text():e.text,o.default?.()])]})}),{}}}),ut=[null,"prominent","default","comfortable","compact"],ct=$({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:e=>ut.includes(e)},extended:Boolean,extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...at(),...R(),...tt(),...et(),...q({tag:"header"}),...ee()},"VToolbar"),mt=E()({name:"VToolbar",props:ct(),setup(e,t){let{slots:o}=t;const{backgroundColorClasses:a,backgroundColorStyles:s}=ne(()=>e.color),{borderClasses:i}=Qe(e),{elevationClasses:d}=Xe(e),{roundedClasses:u}=Ze(e),{themeClasses:l}=Z(e),{rtlClasses:b}=ke(),f=we(!!(e.extended||o.extension?.())),y=G(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),w=G(()=>f.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return pe({VBtn:{variant:"text"}}),D(()=>{const L=!!(e.title||o.title),x=!!(o.image||e.image),h=o.extension?.();return f.value=!!(e.extended||h),n(e.tag,{class:C(["v-toolbar",{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},a.value,i.value,d.value,u.value,l.value,b.value,e.class]),style:S([s.value,e.style])},{default:()=>[x&&r("div",{key:"image",class:"v-toolbar__image"},[o.image?n(V,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},o.image):n(se,{key:"image-img",cover:!0,src:e.image},null)]),n(V,{defaults:{VTabs:{height:P(y.value)}}},{default:()=>[r("div",{class:"v-toolbar__content",style:{height:P(y.value)}},[o.prepend&&r("div",{class:"v-toolbar__prepend"},[o.prepend?.()]),L&&n(dt,{key:"title",text:e.title},{text:o.title}),o.default?.(),o.append&&r("div",{class:"v-toolbar__append"},[o.append?.()])])]}),n(V,{defaults:{VTabs:{height:P(w.value)}}},{default:()=>[n(oe,null,{default:()=>[f.value&&r("div",{class:"v-toolbar__extension",style:{height:P(w.value)}},[h])]})]})]})}),{contentHeight:y,extensionHeight:w}}}),ft={name:"AppBanner",computed:{...H(v,["isBanner"]),...A(v,{banner:e=>e.adminFlags.bannerText})}};function gt(e,t,o,a,s,i){return e.isBanner?(c(),m(mt,{key:0,id:"banner",height:"36",density:"compact",flat:"",title:e.banner},null,8,["title"])):T("",!0)}const ht=p(ft,[["render",gt],["__scopeId","data-v-76681126"]]),vt={name:"AdminBrowserLink",components:{CodexListItem:K},data(){return{mdiBookshelf:Se}},computed:{...H(Ve,["lastRoute"])}};function bt(e,t,o,a,s,i){const d=g("CodexListItem");return c(),m(d,{to:e.lastRoute,"prepend-icon":s.mdiBookshelf,title:"Browser"},null,8,["to","prepend-icon"])}const yt=p(vt,[["render",bt]]),_t=$({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...Je(),...Ge()},"VSwitch"),kt=E()({name:"VSwitch",inheritAttrs:!1,props:_t(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,t){let{attrs:o,slots:a}=t;const s=J(e,"indeterminate"),i=J(e,"modelValue"),{loaderClasses:d}=st(e),{isFocused:u,focus:l,blur:b}=je(e),f=Ce(),y=Le&&window.matchMedia("(forced-colors: active)").matches,w=Y(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),L=xe(),x=Y(()=>e.id||`switch-${L}`);function h(){s.value&&(s.value=!1)}function ue(M){M.stopPropagation(),M.preventDefault(),f.value?.input?.click()}return D(()=>{const[M,ce]=Be(o),me=Q.filterProps(e),fe=X.filterProps(e);return n(Q,I({class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":s.value},d.value,e.class]},M,me,{modelValue:i.value,"onUpdate:modelValue":F=>i.value=F,id:x.value,focused:u.value,style:e.style}),{...a,default:F=>{let{id:ge,messagesId:he,isDisabled:ve,isReadonly:be,isValid:j}=F;const N={model:i,isValid:j};return n(X,I({ref:f},fe,{modelValue:i.value,"onUpdate:modelValue":[B=>i.value=B,h],id:ge.value,"aria-describedby":he.value,type:"checkbox","aria-checked":s.value?"mixed":void 0,disabled:ve.value,readonly:be.value,onFocus:l,onBlur:b},ce),{...a,default:B=>{let{backgroundColorClasses:U,backgroundColorStyles:_}=B;return r("div",{class:C(["v-switch__track",y?void 0:U.value]),style:S(_.value),onClick:ue},[a["track-true"]&&r("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](N)]),a["track-false"]&&r("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](N)])])},input:B=>{let{inputNode:U,icon:_,backgroundColorClasses:ye,backgroundColorStyles:_e}=B;return r(te,null,[U,r("div",{class:C(["v-switch__thumb",{"v-switch__thumb--filled":_||e.loading},e.inset||y?void 0:ye.value]),style:S(e.inset?void 0:_e.value)},[a.thumb?n(V,{defaults:{VIcon:{icon:_,size:"x-small"}}},{default:()=>[a.thumb({...N,icon:_})]}):n(Ye,null,{default:()=>[e.loading?n(ot,{name:"v-switch",active:!0,color:j.value===!1?void 0:w.value},{default:z=>a.loader?a.loader(z):n(ie,{active:z.isActive,color:z.color,indeterminate:!0,size:"16",width:"2"},null)}):_&&n(le,{key:String(_),icon:_,size:"x-small"},null)]})])])}})}})}),{}}}),wt={name:"AuthLoginDialog",components:{SubmitFooter:Ke,CodexListItem:K},data(){return{rules:{username:[e=>!!e||"Username is required"],password:[e=>e?this.registerMode&&e.length<this.MIN_PASSWORD_LEN?`Password must be ${this.MIN_PASSWORD_LEN} characters long`:!0:"Password is required"],passwordConfirm:[e=>e===this.credentials.password||"Passwords must match"]},formModel:{},credentials:{username:"",password:"",passwordConfirm:""},submitButtonEnabled:!1,registerMode:!1,mdiLogin:Te}},computed:{...A(Ae,{formErrors:e=>e.form.errors,formSuccess:e=>e.form.success}),...A(v,{adminFlags:e=>e.adminFlags,MIN_PASSWORD_LEN:e=>e.MIN_PASSWORD_LEN}),...Pe(v,["showLoginDialog"]),submitButtonLabel(){return this.registerMode?"Register":"Login"},loginLabel(){let e="Login";return this.adminFlags.registration&&(e+=" or Register"),e}},watch:{showLoginDialog(e){e&&(this.loadAdminFlags(),this.$refs.form&&this.$refs.form.reset())},credentials:{handler(){const e=this.$refs.form;e?e.validate().then(({valid:t})=>(this.submitButtonEnabled=t,this.submitButtonEnabled)).catch(console.error):this.submitButtonEnabled=!1},deep:!0}},mounted(){globalThis.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){globalThis.removeEventListener("keyup",this._keyUpListener)},methods:{...ae(v,["loadAdminFlags","login","register"]),doAuth(e){return this[e](this.credentials).then(()=>(this.showLoginDialog=this.formErrors&&this.formErrors.length>0,this.showLoginDialog)).catch(console.error)},submit(){this.$refs.form.validate().then(({valid:t})=>{if(!t)return;const o=this.registerMode?"register":"login";return this.doAuth(o)}).catch(console.error)},_keyUpListener(e){e.stopImmediatePropagation()}}};function pt(e,t,o,a,s,i){const d=g("CodexListItem"),u=g("SubmitFooter");return c(),m(Oe,{modelValue:e.showLoginDialog,"onUpdate:modelValue":t[7]||(t[7]=l=>e.showLoginDialog=l),origin:"center-top",transition:"slide-y-transition","max-width":"20em"},{activator:k(({props:l})=>[n(d,I(l,{"prepend-icon":s.mdiLogin,title:i.loginLabel}),null,16,["prepend-icon","title"])]),default:k(()=>[n(qe,{id:"authDialog",ref:"form"},{default:k(()=>[n(O,{modelValue:s.credentials.username,"onUpdate:modelValue":t[0]||(t[0]=l=>s.credentials.username=l),autocomplete:"username",label:"Username",rules:s.rules.username,clearable:"",autofocus:"",onKeydown:t[1]||(t[1]=W(l=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),n(O,{ref:"password",modelValue:s.credentials.password,"onUpdate:modelValue":t[2]||(t[2]=l=>s.credentials.password=l),autocomplete:s.registerMode?"new-password":"current-password",label:"Password",rules:s.rules.password,clearable:"",type:"password",onKeydown:t[3]||(t[3]=W(l=>{s.registerMode?e.$refs.passwordConfirm.focus():i.submit()},["enter"]))},null,8,["modelValue","autocomplete","rules"]),n(oe,null,{default:k(()=>[s.registerMode?(c(),m(O,{key:0,ref:"passwordConfirm",modelValue:s.credentials.passwordConfirm,"onUpdate:modelValue":t[4]||(t[4]=l=>s.credentials.passwordConfirm=l),autocomplete:"new-password",label:"Confirm Password",rules:s.rules.passwordConfirm,clearable:"",type:"password",onKeydown:W(i.submit,["enter"])},null,8,["modelValue","rules","onKeydown"])):T("",!0)]),_:1}),e.adminFlags.registration?(c(),m(kt,{key:0,modelValue:s.registerMode,"onUpdate:modelValue":t[5]||(t[5]=l=>s.registerMode=l),label:"Register"},{default:k(()=>t[8]||(t[8]=[Ie(" Register ")])),_:1,__:[8]},8,["modelValue"])):T("",!0),n(u,{verb:s.registerMode?"Register":"Login",table:"",disabled:!s.submitButtonEnabled,onSubmit:i.submit,onCancel:t[6]||(t[6]=l=>e.showLoginDialog=!1)},null,8,["verb","disabled","onSubmit"])]),_:1},512)]),_:1},8,["modelValue"])}const Vt=p(wt,[["render",pt],["__scopeId","data-v-f5e28bf6"]]),St={name:"AuthMenu",components:{AuthLoginDialog:Vt,ChangePasswordDialog:He,CodexListItem:K},props:{showChangePassword:{type:Boolean,default:!0}},data(){return{mdiLogout:Ee}},computed:{...A(v,{user:e=>e.user}),logoutTitle(){return`Logout ${this.user.username}`}},methods:{...ae(v,["logout"])}},Ct={key:0};function Lt(e,t,o,a,s,i){const d=g("CodexListItem"),u=g("ChangePasswordDialog"),l=g("AuthLoginDialog");return e.user?(c(),$e("div",Ct,[n(d,{"prepend-icon":s.mdiLogout,title:i.logoutTitle,onClick:De(e.logout,["stop"])},null,8,["prepend-icon","title","onClick"]),o.showChangePassword?(c(),m(u,{key:0,user:e.user},null,8,["user"])):T("",!0)])):(c(),m(l,{key:1}))}const xt=p(St,[["render",Lt]]),Bt={name:"PlaceholderLoading",props:{indeterminate:{type:Boolean,default:!0}}};function Pt(e,t,o,a,s,i){return c(),m(ie,I({"aria-label":"loading",class:"codexProgressCircular",indeterminate:o.indeterminate},e.$attrs),null,16,["indeterminate"])}const At=p(Bt,[["render",Pt],["__scopeId","data-v-7bb4cf22"]]),Tt=$({actionText:String,bgColor:String,color:String,icon:Re,image:String,justify:{type:String,default:"center"},headline:String,title:String,text:String,textWidth:{type:[Number,String],default:500},href:String,to:String,...R(),...de(),...nt({size:void 0}),...ee()},"VEmptyState"),It=E()({name:"VEmptyState",props:Tt(),emits:{"click:action":e=>!0},setup(e,t){let{emit:o,slots:a}=t;const{themeClasses:s}=Z(e),{backgroundColorClasses:i,backgroundColorStyles:d}=ne(()=>e.bgColor),{dimensionStyles:u}=re(e),{displayClasses:l}=Me();function b(f){o("click:action",f)}return D(()=>{const f=!!(a.actions||e.actionText),y=!!(a.headline||e.headline),w=!!(a.title||e.title),L=!!(a.text||e.text),x=!!(a.media||e.image||e.icon),h=e.size||(e.image?200:96);return r("div",{class:C(["v-empty-state",{[`v-empty-state--${e.justify}`]:!0},s.value,i.value,l.value,e.class]),style:S([d.value,u.value,e.style])},[x&&r("div",{key:"media",class:"v-empty-state__media"},[a.media?n(V,{key:"media-defaults",defaults:{VImg:{src:e.image,height:h},VIcon:{size:h,icon:e.icon}}},{default:()=>[a.media()]}):r(te,null,[e.image?n(se,{key:"image",src:e.image,height:h},null):e.icon?n(le,{key:"icon",color:e.color,size:h,icon:e.icon},null):void 0])]),y&&r("div",{key:"headline",class:"v-empty-state__headline"},[a.headline?.()??e.headline]),w&&r("div",{key:"title",class:"v-empty-state__title"},[a.title?.()??e.title]),L&&r("div",{key:"text",class:"v-empty-state__text",style:{maxWidth:P(e.textWidth)}},[a.text?.()??e.text]),a.default&&r("div",{key:"content",class:"v-empty-state__content"},[a.default()]),f&&r("div",{key:"actions",class:"v-empty-state__actions"},[n(V,{defaults:{VBtn:{class:"v-empty-state__action-btn",color:e.color??"surface-variant",href:e.href,text:e.actionText,to:e.to}}},{default:()=>[a.actions?.({props:{onClick:b}})??n(lt,{onClick:b},null)]})])])}),{}}}),Et={name:"EmptyState"};function $t(e,t,o,a,s,i){return c(),m(It,{class:"empty"},Fe({_:2},[Ne(e.$slots,(d,u)=>({name:u,fn:k(l=>[Ue(e.$slots,u,I({props:d},l),void 0,!0)])}))]),1024)}const Dt=p(Et,[["render",$t],["__scopeId","data-v-c7e33c8c"]]),Mt=$({scrollable:Boolean,...R(),...de(),...q({tag:"main"})},"VMain"),Rt=E()({name:"VMain",props:Mt(),setup(e,t){let{slots:o}=t;const{dimensionStyles:a}=re(e),{mainStyles:s}=ze(),{ssrBootStyles:i}=it();return D(()=>n(e.tag,{class:C(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:S([s.value,i.value,a.value,e.style])},{default:()=>[e.scrollable?r("div",{class:"v-main__scroller"},[o.default?.()]):o.default?.()]})),{}}}),Ft={name:"UnauthorizedEmptyState",components:{AppBanner:ht,AdminBrowserLink:yt,AuthMenu:xt,PlaceholderLoading:At,EmptyState:Dt},props:{admin:{type:Boolean,default:!1}},data(){return{mdiLockOutline:We}},computed:{...H(v,["isAuthChecked","isAuthorized","isUserAdmin"]),...A(v,{showAdminBrowserLink(e){return this.$router.currentRoute?.value?.name?.startsWith("admin")&&e.adminFlags.nonUsers},text(e){return e.adminFlags.registration?"":"Registration is disabled"}})}},Nt={class:"login"};function Ut(e,t,o,a,s,i){const d=g("AppBanner"),u=g("AdminBrowserLink"),l=g("AuthMenu"),b=g("EmptyState"),f=g("PlaceholderLoading");return c(),m(Rt,{id:"unauthorized"},{default:k(()=>[n(d),e.isAuthChecked?(c(),m(b,{key:0,class:"empty",headline:"Unauthorized",text:e.text,icon:s.mdiLockOutline},{default:k(()=>[r("div",Nt,[e.showAdminBrowserLink?(c(),m(u,{key:0})):T("",!0),n(l,{"show-change-password":!1})])]),_:1},8,["text","icon"])):(c(),m(f,{key:1,id:"unauthorizedPlaceholder"}))]),_:1})}const Gt=p(Ft,[["render",Ut],["__scopeId","data-v-347bd693"]]);export{ht as A,Dt as E,At as P,Gt as U,mt as V,dt as a,yt as b,Rt as c,xt as d};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as E,p as $,u as D,a as n,n as S,d as C,K as R,b as r,aO as Z,aP as ke,aR as we,c as G,f as pe,aT as ee,j as P,_ as p,D as A,E as H,G as v,x as m,H as T,v as c,N as Ve,P as Se,s as g,e as J,r as Ce,bq as Le,t as Y,br as xe,bs as Be,m as I,F as te,B as ae,k as Pe,C as Ae,J as Te,w as k,Y as W,y as Ie,bt as Ee,q as $e,ab as De,bm as Me,L as Re,W as Fe,z as Ne,a6 as Ue,bu as ze,am as We}from"./main-CpP-5rLh.js";import{d as se,C as K,V as Oe}from"./VDialog-tf0N3lvG.js";import{a as He}from"./change-password-dialog-DqupgUbt.js";import{S as Ke,V as qe}from"./VForm-Dw7aCtM5.js";import{d as oe,u as je,h as Q,k as X,l as Ge,m as Je,f as Ye,c as O}from"./VSelectionControl-DoFzRlEh.js";import{d as q,c as ne,z as Qe,y as Xe,i as Ze,j as et,x as tt,A as at,l as V,D as st,k as le,L as ot,E as ie,o as re,F as nt,q as de,V as lt}from"./forwardRefs-CGpIPavG.js";import{u as it}from"./ssrBoot-D216TWr1.js";const rt=$({text:String,...R(),...q()},"VToolbarTitle"),dt=E()({name:"VToolbarTitle",props:rt(),setup(e,t){let{slots:o}=t;return D(()=>{const a=!!(o.default||o.text||e.text);return n(e.tag,{class:C(["v-toolbar-title",e.class]),style:S(e.style)},{default:()=>[a&&r("div",{class:"v-toolbar-title__placeholder"},[o.text?o.text():e.text,o.default?.()])]})}),{}}}),ut=[null,"prominent","default","comfortable","compact"],ct=$({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:e=>ut.includes(e)},extended:Boolean,extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...at(),...R(),...tt(),...et(),...q({tag:"header"}),...ee()},"VToolbar"),mt=E()({name:"VToolbar",props:ct(),setup(e,t){let{slots:o}=t;const{backgroundColorClasses:a,backgroundColorStyles:s}=ne(()=>e.color),{borderClasses:i}=Qe(e),{elevationClasses:d}=Xe(e),{roundedClasses:u}=Ze(e),{themeClasses:l}=Z(e),{rtlClasses:b}=ke(),f=we(!!(e.extended||o.extension?.())),y=G(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),w=G(()=>f.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return pe({VBtn:{variant:"text"}}),D(()=>{const L=!!(e.title||o.title),x=!!(o.image||e.image),h=o.extension?.();return f.value=!!(e.extended||h),n(e.tag,{class:C(["v-toolbar",{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},a.value,i.value,d.value,u.value,l.value,b.value,e.class]),style:S([s.value,e.style])},{default:()=>[x&&r("div",{key:"image",class:"v-toolbar__image"},[o.image?n(V,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},o.image):n(se,{key:"image-img",cover:!0,src:e.image},null)]),n(V,{defaults:{VTabs:{height:P(y.value)}}},{default:()=>[r("div",{class:"v-toolbar__content",style:{height:P(y.value)}},[o.prepend&&r("div",{class:"v-toolbar__prepend"},[o.prepend?.()]),L&&n(dt,{key:"title",text:e.title},{text:o.title}),o.default?.(),o.append&&r("div",{class:"v-toolbar__append"},[o.append?.()])])]}),n(V,{defaults:{VTabs:{height:P(w.value)}}},{default:()=>[n(oe,null,{default:()=>[f.value&&r("div",{class:"v-toolbar__extension",style:{height:P(w.value)}},[h])]})]})]})}),{contentHeight:y,extensionHeight:w}}}),ft={name:"AppBanner",computed:{...H(v,["isBanner"]),...A(v,{banner:e=>e.adminFlags.bannerText})}};function gt(e,t,o,a,s,i){return e.isBanner?(c(),m(mt,{key:0,id:"banner",height:"36",density:"compact",flat:"",title:e.banner},null,8,["title"])):T("",!0)}const ht=p(ft,[["render",gt],["__scopeId","data-v-76681126"]]),vt={name:"AdminBrowserLink",components:{CodexListItem:K},data(){return{mdiBookshelf:Se}},computed:{...H(Ve,["lastRoute"])}};function bt(e,t,o,a,s,i){const d=g("CodexListItem");return c(),m(d,{to:e.lastRoute,"prepend-icon":s.mdiBookshelf,title:"Browser"},null,8,["to","prepend-icon"])}const yt=p(vt,[["render",bt]]),_t=$({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...Je(),...Ge()},"VSwitch"),kt=E()({name:"VSwitch",inheritAttrs:!1,props:_t(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,t){let{attrs:o,slots:a}=t;const s=J(e,"indeterminate"),i=J(e,"modelValue"),{loaderClasses:d}=st(e),{isFocused:u,focus:l,blur:b}=je(e),f=Ce(),y=Le&&window.matchMedia("(forced-colors: active)").matches,w=Y(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),L=xe(),x=Y(()=>e.id||`switch-${L}`);function h(){s.value&&(s.value=!1)}function ue(M){M.stopPropagation(),M.preventDefault(),f.value?.input?.click()}return D(()=>{const[M,ce]=Be(o),me=Q.filterProps(e),fe=X.filterProps(e);return n(Q,I({class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":s.value},d.value,e.class]},M,me,{modelValue:i.value,"onUpdate:modelValue":F=>i.value=F,id:x.value,focused:u.value,style:e.style}),{...a,default:F=>{let{id:ge,messagesId:he,isDisabled:ve,isReadonly:be,isValid:j}=F;const N={model:i,isValid:j};return n(X,I({ref:f},fe,{modelValue:i.value,"onUpdate:modelValue":[B=>i.value=B,h],id:ge.value,"aria-describedby":he.value,type:"checkbox","aria-checked":s.value?"mixed":void 0,disabled:ve.value,readonly:be.value,onFocus:l,onBlur:b},ce),{...a,default:B=>{let{backgroundColorClasses:U,backgroundColorStyles:_}=B;return r("div",{class:C(["v-switch__track",y?void 0:U.value]),style:S(_.value),onClick:ue},[a["track-true"]&&r("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](N)]),a["track-false"]&&r("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](N)])])},input:B=>{let{inputNode:U,icon:_,backgroundColorClasses:ye,backgroundColorStyles:_e}=B;return r(te,null,[U,r("div",{class:C(["v-switch__thumb",{"v-switch__thumb--filled":_||e.loading},e.inset||y?void 0:ye.value]),style:S(e.inset?void 0:_e.value)},[a.thumb?n(V,{defaults:{VIcon:{icon:_,size:"x-small"}}},{default:()=>[a.thumb({...N,icon:_})]}):n(Ye,null,{default:()=>[e.loading?n(ot,{name:"v-switch",active:!0,color:j.value===!1?void 0:w.value},{default:z=>a.loader?a.loader(z):n(ie,{active:z.isActive,color:z.color,indeterminate:!0,size:"16",width:"2"},null)}):_&&n(le,{key:String(_),icon:_,size:"x-small"},null)]})])])}})}})}),{}}}),wt={name:"AuthLoginDialog",components:{SubmitFooter:Ke,CodexListItem:K},data(){return{rules:{username:[e=>!!e||"Username is required"],password:[e=>e?this.registerMode&&e.length<this.MIN_PASSWORD_LEN?`Password must be ${this.MIN_PASSWORD_LEN} characters long`:!0:"Password is required"],passwordConfirm:[e=>e===this.credentials.password||"Passwords must match"]},formModel:{},credentials:{username:"",password:"",passwordConfirm:""},submitButtonEnabled:!1,registerMode:!1,mdiLogin:Te}},computed:{...A(Ae,{formErrors:e=>e.form.errors,formSuccess:e=>e.form.success}),...A(v,{adminFlags:e=>e.adminFlags,MIN_PASSWORD_LEN:e=>e.MIN_PASSWORD_LEN}),...Pe(v,["showLoginDialog"]),submitButtonLabel(){return this.registerMode?"Register":"Login"},loginLabel(){let e="Login";return this.adminFlags.registration&&(e+=" or Register"),e}},watch:{showLoginDialog(e){e&&(this.loadAdminFlags(),this.$refs.form&&this.$refs.form.reset())},credentials:{handler(){const e=this.$refs.form;e?e.validate().then(({valid:t})=>(this.submitButtonEnabled=t,this.submitButtonEnabled)).catch(console.error):this.submitButtonEnabled=!1},deep:!0}},mounted(){globalThis.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){globalThis.removeEventListener("keyup",this._keyUpListener)},methods:{...ae(v,["loadAdminFlags","login","register"]),doAuth(e){return this[e](this.credentials).then(()=>(this.showLoginDialog=this.formErrors&&this.formErrors.length>0,this.showLoginDialog)).catch(console.error)},submit(){this.$refs.form.validate().then(({valid:t})=>{if(!t)return;const o=this.registerMode?"register":"login";return this.doAuth(o)}).catch(console.error)},_keyUpListener(e){e.stopImmediatePropagation()}}};function pt(e,t,o,a,s,i){const d=g("CodexListItem"),u=g("SubmitFooter");return c(),m(Oe,{modelValue:e.showLoginDialog,"onUpdate:modelValue":t[7]||(t[7]=l=>e.showLoginDialog=l),origin:"center-top",transition:"slide-y-transition","max-width":"20em"},{activator:k(({props:l})=>[n(d,I(l,{"prepend-icon":s.mdiLogin,title:i.loginLabel}),null,16,["prepend-icon","title"])]),default:k(()=>[n(qe,{id:"authDialog",ref:"form"},{default:k(()=>[n(O,{modelValue:s.credentials.username,"onUpdate:modelValue":t[0]||(t[0]=l=>s.credentials.username=l),autocomplete:"username",label:"Username",rules:s.rules.username,clearable:"",autofocus:"",onKeydown:t[1]||(t[1]=W(l=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),n(O,{ref:"password",modelValue:s.credentials.password,"onUpdate:modelValue":t[2]||(t[2]=l=>s.credentials.password=l),autocomplete:s.registerMode?"new-password":"current-password",label:"Password",rules:s.rules.password,clearable:"",type:"password",onKeydown:t[3]||(t[3]=W(l=>{s.registerMode?e.$refs.passwordConfirm.focus():i.submit()},["enter"]))},null,8,["modelValue","autocomplete","rules"]),n(oe,null,{default:k(()=>[s.registerMode?(c(),m(O,{key:0,ref:"passwordConfirm",modelValue:s.credentials.passwordConfirm,"onUpdate:modelValue":t[4]||(t[4]=l=>s.credentials.passwordConfirm=l),autocomplete:"new-password",label:"Confirm Password",rules:s.rules.passwordConfirm,clearable:"",type:"password",onKeydown:W(i.submit,["enter"])},null,8,["modelValue","rules","onKeydown"])):T("",!0)]),_:1}),e.adminFlags.registration?(c(),m(kt,{key:0,modelValue:s.registerMode,"onUpdate:modelValue":t[5]||(t[5]=l=>s.registerMode=l),label:"Register"},{default:k(()=>t[8]||(t[8]=[Ie(" Register ")])),_:1,__:[8]},8,["modelValue"])):T("",!0),n(u,{verb:s.registerMode?"Register":"Login",table:"",disabled:!s.submitButtonEnabled,onSubmit:i.submit,onCancel:t[6]||(t[6]=l=>e.showLoginDialog=!1)},null,8,["verb","disabled","onSubmit"])]),_:1},512)]),_:1},8,["modelValue"])}const Vt=p(wt,[["render",pt],["__scopeId","data-v-f5e28bf6"]]),St={name:"AuthMenu",components:{AuthLoginDialog:Vt,ChangePasswordDialog:He,CodexListItem:K},props:{showChangePassword:{type:Boolean,default:!0}},data(){return{mdiLogout:Ee}},computed:{...A(v,{user:e=>e.user}),logoutTitle(){return`Logout ${this.user.username}`}},methods:{...ae(v,["logout"])}},Ct={key:0};function Lt(e,t,o,a,s,i){const d=g("CodexListItem"),u=g("ChangePasswordDialog"),l=g("AuthLoginDialog");return e.user?(c(),$e("div",Ct,[n(d,{"prepend-icon":s.mdiLogout,title:i.logoutTitle,onClick:De(e.logout,["stop"])},null,8,["prepend-icon","title","onClick"]),o.showChangePassword?(c(),m(u,{key:0,user:e.user},null,8,["user"])):T("",!0)])):(c(),m(l,{key:1}))}const xt=p(St,[["render",Lt]]),Bt={name:"PlaceholderLoading",props:{indeterminate:{type:Boolean,default:!0}}};function Pt(e,t,o,a,s,i){return c(),m(ie,I({"aria-label":"loading",class:"codexProgressCircular",indeterminate:o.indeterminate},e.$attrs),null,16,["indeterminate"])}const At=p(Bt,[["render",Pt],["__scopeId","data-v-7bb4cf22"]]),Tt=$({actionText:String,bgColor:String,color:String,icon:Re,image:String,justify:{type:String,default:"center"},headline:String,title:String,text:String,textWidth:{type:[Number,String],default:500},href:String,to:String,...R(),...de(),...nt({size:void 0}),...ee()},"VEmptyState"),It=E()({name:"VEmptyState",props:Tt(),emits:{"click:action":e=>!0},setup(e,t){let{emit:o,slots:a}=t;const{themeClasses:s}=Z(e),{backgroundColorClasses:i,backgroundColorStyles:d}=ne(()=>e.bgColor),{dimensionStyles:u}=re(e),{displayClasses:l}=Me();function b(f){o("click:action",f)}return D(()=>{const f=!!(a.actions||e.actionText),y=!!(a.headline||e.headline),w=!!(a.title||e.title),L=!!(a.text||e.text),x=!!(a.media||e.image||e.icon),h=e.size||(e.image?200:96);return r("div",{class:C(["v-empty-state",{[`v-empty-state--${e.justify}`]:!0},s.value,i.value,l.value,e.class]),style:S([d.value,u.value,e.style])},[x&&r("div",{key:"media",class:"v-empty-state__media"},[a.media?n(V,{key:"media-defaults",defaults:{VImg:{src:e.image,height:h},VIcon:{size:h,icon:e.icon}}},{default:()=>[a.media()]}):r(te,null,[e.image?n(se,{key:"image",src:e.image,height:h},null):e.icon?n(le,{key:"icon",color:e.color,size:h,icon:e.icon},null):void 0])]),y&&r("div",{key:"headline",class:"v-empty-state__headline"},[a.headline?.()??e.headline]),w&&r("div",{key:"title",class:"v-empty-state__title"},[a.title?.()??e.title]),L&&r("div",{key:"text",class:"v-empty-state__text",style:{maxWidth:P(e.textWidth)}},[a.text?.()??e.text]),a.default&&r("div",{key:"content",class:"v-empty-state__content"},[a.default()]),f&&r("div",{key:"actions",class:"v-empty-state__actions"},[n(V,{defaults:{VBtn:{class:"v-empty-state__action-btn",color:e.color??"surface-variant",href:e.href,text:e.actionText,to:e.to}}},{default:()=>[a.actions?.({props:{onClick:b}})??n(lt,{onClick:b},null)]})])])}),{}}}),Et={name:"EmptyState"};function $t(e,t,o,a,s,i){return c(),m(It,{class:"empty"},Fe({_:2},[Ne(e.$slots,(d,u)=>({name:u,fn:k(l=>[Ue(e.$slots,u,I({props:d},l),void 0,!0)])}))]),1024)}const Dt=p(Et,[["render",$t],["__scopeId","data-v-c7e33c8c"]]),Mt=$({scrollable:Boolean,...R(),...de(),...q({tag:"main"})},"VMain"),Rt=E()({name:"VMain",props:Mt(),setup(e,t){let{slots:o}=t;const{dimensionStyles:a}=re(e),{mainStyles:s}=ze(),{ssrBootStyles:i}=it();return D(()=>n(e.tag,{class:C(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:S([s.value,i.value,a.value,e.style])},{default:()=>[e.scrollable?r("div",{class:"v-main__scroller"},[o.default?.()]):o.default?.()]})),{}}}),Ft={name:"UnauthorizedEmptyState",components:{AppBanner:ht,AdminBrowserLink:yt,AuthMenu:xt,PlaceholderLoading:At,EmptyState:Dt},props:{admin:{type:Boolean,default:!1}},data(){return{mdiLockOutline:We}},computed:{...H(v,["isAuthChecked","isAuthorized","isUserAdmin"]),...A(v,{showAdminBrowserLink(e){return this.$router.currentRoute?.value?.name?.startsWith("admin")&&e.adminFlags.nonUsers},text(e){return e.adminFlags.registration?"":"Registration is disabled"}})}},Nt={class:"login"};function Ut(e,t,o,a,s,i){const d=g("AppBanner"),u=g("AdminBrowserLink"),l=g("AuthMenu"),b=g("EmptyState"),f=g("PlaceholderLoading");return c(),m(Rt,{id:"unauthorized"},{default:k(()=>[n(d),e.isAuthChecked?(c(),m(b,{key:0,class:"empty",headline:"Unauthorized",text:e.text,icon:s.mdiLockOutline},{default:k(()=>[r("div",Nt,[e.showAdminBrowserLink?(c(),m(u,{key:0})):T("",!0),n(l,{"show-change-password":!1})])]),_:1},8,["text","icon"])):(c(),m(f,{key:1,id:"unauthorizedPlaceholder"}))]),_:1})}const Gt=p(Ft,[["render",Ut],["__scopeId","data-v-347bd693"]]);export{ht as A,Dt as E,At as P,Gt as U,mt as V,dt as a,yt as b,Rt as c,xt as d};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as V,B as y,D as c,q as b,v as u,a as r,H as v,Y as h,s as i,M as C,b as n,w as l,G as E,ao as j,x,y as m}from"./main-CpP-5rLh.js";import{A as I,R as B,a as N,b as L,c as z}from"./relation-chips-QzwrdJWs.js";import{useAdminStore as p}from"./admin-BQ68PA7O.js";import{c as f}from"./VSelectionControl-DoFzRlEh.js";import{V as U}from"./VCheckbox-DraWPvy6.js";import{D as O}from"./datetime-column-m-oshrDM.js";import{a as Y}from"./change-password-dialog-DqupgUbt.js";import{V as k}from"./VCheckboxBtn-Bxf1MS02.js";import"./forwardRefs-CGpIPavG.js";import"./VForm-Dw7aCtM5.js";import"./VDialog-tf0N3lvG.js";import"./VSelect-Cv8OuNtL.js";import"./ssrBoot-D216TWr1.js";import"./VDivider-CTvTvFr_.js";import"./VTable-C-cNChDa.js";import"./filter-BucmWboA.js";import"./confirm-dialog-AMnfyuMm.js";const D=["username","isStaff","isActive","groups"];Object.freeze(D);const A={username:"",password:"",passwordConfirm:"",isStaff:!1,isActive:!0,groups:[]};Object.freeze(A);const G={name:"AdminUserCreateUpdateInputs",components:{AdminRelationPicker:I},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{username:[e=>!!e||"Username is required",e=>!!e&&!this.usernames.has(e.trim())||"Username already used"],password:[e=>!!e||"Password is required"],passwordConfirm:[e=>e===this.row.password||"Passwords must match"]},row:C(this.oldRow||A)}},computed:{...c(p,{groups:e=>e.groups,users:e=>e.users}),usernames(){return this.nameSet(this.users,"username",this.oldRow,!0)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=C(e)},deep:!0}},methods:{...y(p,["nameSet"])},UPDATE_KEYS:D,EMPTY_ROW:A},J={key:0};function K(e,s,g,R,o,S){const d=i("AdminRelationPicker");return u(),b("div",null,[r(f,{modelValue:o.row.username,"onUpdate:modelValue":s[0]||(s[0]=a=>o.row.username=a),autocomplete:"username",label:"Username",rules:o.rules.username,clearable:"",autofocus:"",onKeydown:s[1]||(s[1]=h(a=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),g.oldRow?v("",!0):(u(),b("div",J,[r(f,{ref:"password",modelValue:o.row.password,"onUpdate:modelValue":s[2]||(s[2]=a=>o.row.password=a),autocomplete:"new-password",label:"Password",rules:o.rules.password,clearable:"",type:"password",onKeydown:s[3]||(s[3]=h(a=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules"]),r(f,{ref:"passwordConfirm",modelValue:o.row.passwordConfirm,"onUpdate:modelValue":s[4]||(s[4]=a=>o.row.passwordConfirm=a),autocomplete:"new-password",label:"Confirm Password",rules:o.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"])])),r(U,{modelValue:o.row.isStaff,"onUpdate:modelValue":s[5]||(s[5]=a=>o.row.isStaff=a),label:"Is Staff"},null,8,["modelValue"]),r(U,{modelValue:o.row.isActive,"onUpdate:modelValue":s[6]||(s[6]=a=>o.row.isActive=a),label:"Is Active"},null,8,["modelValue"]),r(d,{modelValue:o.row.groups,"onUpdate:modelValue":s[7]||(s[7]=a=>o.row.groups=a),label:"Groups",objs:e.groups,"title-key":"name","group-type":""},null,8,["modelValue","objs"])])}const M=V(G,[["render",K]]),q={name:"AdminUsersTab",components:{AdminTable:z,AdminDeleteRowDialog:L,ChangePasswordDialog:Y,AdminCreateUpdateDialog:N,DateTimeColumn:O,RelationChips:B},data(){return{AdminUserCreateUpdateInputs:j(M),headers:[{title:"Username",key:"username",align:"start"},{title:"Staff",key:"isStaff"},{title:"Active",key:"isActive"},{title:"Groups",key:"groups"},{title:"Last Active",key:"lastActive"},{title:"Last Login",key:"lastLogin"},{title:"Joined",key:"dateJoined"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...c(p,{users:e=>e.users,groups:e=>e.groups}),...c(E,{me:e=>e.user})},mounted(){this.loadTables(["Group","User"])},methods:{...y(p,["loadTables"])}},H={class:"tabHeader"};function F(e,s,g,R,o,S){const d=i("AdminCreateUpdateDialog"),a=i("RelationChips"),w=i("DateTimeColumn"),T=i("ChangePasswordDialog"),_=i("AdminDeleteRowDialog"),P=i("AdminTable");return u(),b("div",null,[n("header",H,[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"max-width":"20em"},null,8,["inputs"])]),r(P,{"item-title":"username",headers:o.headers,items:e.users},{"no-data":l(()=>s[0]||(s[0]=[n("td",{class:"adminNoData",colspan:"100%"},[m(" No Users. "),n("div",null,[m(" This is an error. There should always be at least one Staff user."),n("br"),m(" You should not be able to see this page"),n("br"),m(" You should restart Codex with the CODEX_RESET_ADMIN=1 variable set."),n("br"),m(" See the "),n("a",{href:"https://github.com/ajslater/codex#reset-the-admin-password",target:"_blank"}," README ")])],-1)])),"item.isStaff":l(({item:t})=>[r(k,{"model-value":t.isStaff,disabled:""},null,8,["model-value"])]),"item.isActive":l(({item:t})=>[r(k,{"model-value":t.isActive,disabled:""},null,8,["model-value"])]),"item.groups":l(({item:t})=>[r(a,{pks:t.groups,objs:e.groups,"title-key":"name","group-type":""},null,8,["pks","objs"])]),"item.lastActive":l(({item:t})=>[r(w,{dttm:t.lastActive},null,8,["dttm"])]),"item.lastLogin":l(({item:t})=>[r(w,{dttm:t.lastLogin},null,8,["dttm"])]),"item.dateJoined":l(({item:t})=>[r(w,{dttm:t.dateJoined},null,8,["dttm"])]),"item.actions":l(({item:t})=>[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"old-row":t,"max-width":"20em",size:"small",density:"compact"},null,8,["inputs","old-row"]),r(T,{user:t,"is-admin-mode":!0,size:"small",density:"compact"},null,8,["user"]),e.me.id!==t.pk?(u(),x(_,{key:0,table:"User",pk:t.pk,name:t.username,size:"small",density:"compact"},null,8,["pk","name"])):v("",!0)]),_:2},1032,["headers","items"])])}const pe=V(q,[["render",F]]);export{pe as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as V,B as y,D as c,q as b,v as u,a as r,H as v,Y as h,s as i,M as C,b as n,w as l,G as E,ao as j,x,y as m}from"./main-CpP-5rLh.js";import{A as I,R as B,a as N,b as L,c as z}from"./relation-chips-QzwrdJWs.js";import{useAdminStore as p}from"./admin-BQ68PA7O.js";import{c as f}from"./VSelectionControl-DoFzRlEh.js";import{V as U}from"./VCheckbox-DraWPvy6.js";import{D as O}from"./datetime-column-m-oshrDM.js";import{a as Y}from"./change-password-dialog-DqupgUbt.js";import{V as k}from"./VCheckboxBtn-Bxf1MS02.js";import"./forwardRefs-CGpIPavG.js";import"./VForm-Dw7aCtM5.js";import"./VDialog-tf0N3lvG.js";import"./VSelect-Cv8OuNtL.js";import"./ssrBoot-D216TWr1.js";import"./VDivider-CTvTvFr_.js";import"./VTable-C-cNChDa.js";import"./filter-BucmWboA.js";import"./confirm-dialog-AMnfyuMm.js";const D=["username","isStaff","isActive","groups"];Object.freeze(D);const A={username:"",password:"",passwordConfirm:"",isStaff:!1,isActive:!0,groups:[]};Object.freeze(A);const G={name:"AdminUserCreateUpdateInputs",components:{AdminRelationPicker:I},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{username:[e=>!!e||"Username is required",e=>!!e&&!this.usernames.has(e.trim())||"Username already used"],password:[e=>!!e||"Password is required"],passwordConfirm:[e=>e===this.row.password||"Passwords must match"]},row:C(this.oldRow||A)}},computed:{...c(p,{groups:e=>e.groups,users:e=>e.users}),usernames(){return this.nameSet(this.users,"username",this.oldRow,!0)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=C(e)},deep:!0}},methods:{...y(p,["nameSet"])},UPDATE_KEYS:D,EMPTY_ROW:A},J={key:0};function K(e,s,g,R,o,S){const d=i("AdminRelationPicker");return u(),b("div",null,[r(f,{modelValue:o.row.username,"onUpdate:modelValue":s[0]||(s[0]=a=>o.row.username=a),autocomplete:"username",label:"Username",rules:o.rules.username,clearable:"",autofocus:"",onKeydown:s[1]||(s[1]=h(a=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),g.oldRow?v("",!0):(u(),b("div",J,[r(f,{ref:"password",modelValue:o.row.password,"onUpdate:modelValue":s[2]||(s[2]=a=>o.row.password=a),autocomplete:"new-password",label:"Password",rules:o.rules.password,clearable:"",type:"password",onKeydown:s[3]||(s[3]=h(a=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules"]),r(f,{ref:"passwordConfirm",modelValue:o.row.passwordConfirm,"onUpdate:modelValue":s[4]||(s[4]=a=>o.row.passwordConfirm=a),autocomplete:"new-password",label:"Confirm Password",rules:o.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"])])),r(U,{modelValue:o.row.isStaff,"onUpdate:modelValue":s[5]||(s[5]=a=>o.row.isStaff=a),label:"Is Staff"},null,8,["modelValue"]),r(U,{modelValue:o.row.isActive,"onUpdate:modelValue":s[6]||(s[6]=a=>o.row.isActive=a),label:"Is Active"},null,8,["modelValue"]),r(d,{modelValue:o.row.groups,"onUpdate:modelValue":s[7]||(s[7]=a=>o.row.groups=a),label:"Groups",objs:e.groups,"title-key":"name","group-type":""},null,8,["modelValue","objs"])])}const M=V(G,[["render",K]]),q={name:"AdminUsersTab",components:{AdminTable:z,AdminDeleteRowDialog:L,ChangePasswordDialog:Y,AdminCreateUpdateDialog:N,DateTimeColumn:O,RelationChips:B},data(){return{AdminUserCreateUpdateInputs:j(M),headers:[{title:"Username",key:"username",align:"start"},{title:"Staff",key:"isStaff"},{title:"Active",key:"isActive"},{title:"Groups",key:"groups"},{title:"Last Active",key:"lastActive"},{title:"Last Login",key:"lastLogin"},{title:"Joined",key:"dateJoined"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...c(p,{users:e=>e.users,groups:e=>e.groups}),...c(E,{me:e=>e.user})},mounted(){this.loadTables(["Group","User"])},methods:{...y(p,["loadTables"])}},H={class:"tabHeader"};function F(e,s,g,R,o,S){const d=i("AdminCreateUpdateDialog"),a=i("RelationChips"),w=i("DateTimeColumn"),T=i("ChangePasswordDialog"),_=i("AdminDeleteRowDialog"),P=i("AdminTable");return u(),b("div",null,[n("header",H,[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"max-width":"20em"},null,8,["inputs"])]),r(P,{"item-title":"username",headers:o.headers,items:e.users},{"no-data":l(()=>s[0]||(s[0]=[n("td",{class:"adminNoData",colspan:"100%"},[m(" No Users. "),n("div",null,[m(" This is an error. There should always be at least one Staff user."),n("br"),m(" You should not be able to see this page"),n("br"),m(" You should restart Codex with the CODEX_RESET_ADMIN=1 variable set."),n("br"),m(" See the "),n("a",{href:"https://github.com/ajslater/codex#reset-the-admin-password",target:"_blank"}," README ")])],-1)])),"item.isStaff":l(({item:t})=>[r(k,{"model-value":t.isStaff,disabled:""},null,8,["model-value"])]),"item.isActive":l(({item:t})=>[r(k,{"model-value":t.isActive,disabled:""},null,8,["model-value"])]),"item.groups":l(({item:t})=>[r(a,{pks:t.groups,objs:e.groups,"title-key":"name","group-type":""},null,8,["pks","objs"])]),"item.lastActive":l(({item:t})=>[r(w,{dttm:t.lastActive},null,8,["dttm"])]),"item.lastLogin":l(({item:t})=>[r(w,{dttm:t.lastLogin},null,8,["dttm"])]),"item.dateJoined":l(({item:t})=>[r(w,{dttm:t.dateJoined},null,8,["dttm"])]),"item.actions":l(({item:t})=>[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"old-row":t,"max-width":"20em",size:"small",density:"compact"},null,8,["inputs","old-row"]),r(T,{user:t,"is-admin-mode":!0,size:"small",density:"compact"},null,8,["user"]),e.me.id!==t.pk?(u(),x(_,{key:0,table:"User",pk:t.pk,name:t.username,size:"small",density:"compact"},null,8,["pk","name"])):v("",!0)]),_:2},1032,["headers","items"])])}const pe=V(q,[["render",F]]);export{pe as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="165" height="254"><path d="M145.357 174.143H19.643V95.571h125.714m0-15.714H82.5L66.786 64.143H19.643A15.66 15.66 0 0 0 3.928 79.857v94.286a15.714 15.714 0 0 0 15.715 15.714h125.714a15.714 15.714 0 0 0 15.715-15.714V95.571c0-8.721-7.072-15.714-15.715-15.714z" style="fill:gray;fill-opacity:1;stroke:#000;stroke-width:7.85656;stroke-opacity:0"/></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="220" height="254pt" preserveAspectRatio="xMidYMid" version="1.0" viewBox="0 0 165 254"><path d="M8627 12746c-65-61-89-78-235-166-66-40-137-95-201-156-54-52-104-94-110-94-24 0-8 32 48 95 69 78 137 131 240 188 144 79 37 53-249-60-304-120-322-135-446-372-45-85-66-112-80-98-3 2 20 63 51 135 73 172 72 190-1 131-22-18-117-83-212-146-112-74-180-126-192-146-11-18-36-73-55-124-35-90-86-173-105-173s-9 35 25 89c36 57 71 148 61 158-13 14-362-238-392-283-32-46-43-79-75-213-44-189-76-274-131-357-27-41-53-74-58-74-21 0-19 22 4 57 37 56 92 206 111 303 9 47 28 123 41 169 14 45 23 85 21 88-3 2-38-26-78-63-86-77-144-117-208-141-25-9-63-31-83-49s-55-42-76-53c-103-53-156-184-193-476-11-90-112-395-162-488-53-100-93-98-42 2 70 139 139 378 161 559 9 78 14 145 11 148s-54-43-114-103c-59-60-151-146-204-190-111-95-133-121-183-221-20-39-41-72-46-72-6 0-10 16-10 35s-4 35-8 35c-5 0-72-64-149-143-161-163-163-167-163-320 0-78-3-99-15-103-8-4-22 0-31 7-12 10-14 27-9 88 3 42 9 88 11 104 7 33-19 38-36 6-7-11-118-137-248-279-251-273-302-343-368-504-34-79-34-82-19-125 8-25 15-50 15-57s-33-29-74-48c-72-35-87-49-134-133-7-13-29-27-52-33-56-15-151-91-219-173-100-123-181-248-197-305-19-65-9-138 37-280 30-90 30-93 14-119l-18-27-17 21c-31 39-72 183-79 279l-6 92-51-77c-250-373-324-509-324-596 0-17-20-45-66-92-64-66-88-107-175-302-18-41-37-64-79-95-87-64-138-115-202-201-77-103-124-188-138-248-13-59-33-100-117-239-89-146-96-172-98-361-3-157-9-187-41-187-23 0-26 19-14 88 7 37 11 76 9 87-4 16-8 13-28-20-13-22-31-60-41-85s-43-97-73-160c-77-157-84-190-68-287 7-43 24-112 37-153 26-82 29-110 14-110-11 0-90 116-91 134 0 6-6 38-13 71l-13 60-31-61c-37-74-82-228-82-282 0-22 7-56 16-77 8-21 12-45 9-54-6-13-12-10-35 18-27 32-29 32-39 13-6-12-11-38-11-59 0-22-18-79-41-133-69-160-73-181-54-245 8-30 33-89 55-131 39-73 50-114 31-114-13 0-49 49-101 138-43 73-70 98-96 88-11-4-10-11 5-38 38-65 51-136 51-275 0-87 6-159 16-206 25-112 110-319 157-384 59-81 107-162 107-179 0-16-26-19-35-4-3 6-34 29-68 52s-81 60-104 81c-24 22-43 33-43 26 0-31 49-90 122-149 76-62 99-94 113-157 8-42-2-42-71-3-49 29-81 59-111 106-11 18-12 18-12-4-1-40 26-88 62-111 56-35 87-77 87-120 0-37-51-214-76-262l-13-26-208-6c-290-8-409-33-456-99-27-36-16-73 28-100 30-17 35-25 35-58 0-38 19-63 76-96 17-10 19-25 19-185-1-366-91-585-344-838-106-106-194-178-376-306-222-156-284-206-387-313C163 1080 60 910 21 751-10 627-8 598 46 415 97 238 225 93 373 42 503-3 527-4 1194 5c347 4 948 10 1336 14 820 7 750-3 874 124 117 119 173 256 183 447 6 128-11 222-61 327-96 201-203 305-696 678-260 198-437 389-525 569-67 136-105 356-105 601v144l33 17c41 22 48 32 41 69-4 25 0 34 25 53 17 12 31 31 31 41 0 33-40 70-100 92-51 18-60 25-60 46 0 39 120 396 140 417 30 31 75 14 165-64 110-96 139-110 222-110 37 0 75 5 83 10 11 7-5 10-53 10-79 0-122 18-209 89-31 25-67 53-80 62-19 14-21 19-9 33 18 22 42 20 95-8 71-38 172-51 280-36 160 21 200 30 218 48 33 33 147 206 142 214-3 5-16 13-29 18-30 11-24 39 18 80 37 36 81 50 162 50 105 0 213 39 269 95 20 20 49 75 80 153 26 67 61 143 78 168 16 25 27 49 24 51-3 3-51-29-106-71-103-78-120-86-120-62s152 177 222 223c37 25 85 64 106 88 43 49 164 285 182 355 13 55 23 81 67 186 43 101 60 113 137 94 52-12 57-12 121 16 74 32 109 66 223 214 36 47 86 107 111 133 51 54 44 53-67-5-71-37-106-42-81-12 7 8 51 35 98 61 124 66 152 87 186 137 17 25 36 48 43 50 7 3 38-6 68-19 86-38 181-65 229-65 71 0 163 34 206 76 22 21 39 41 39 45 0 5-21-2-47-14-68-31-213-30-296 2-58 23-91 47-82 60 2 5 48 6 102 3 118-5 239 16 314 54 28 14 82 54 118 88l67 63 244 6c272 7 366 21 503 76 150 60 256 144 331 264 25 40 59 81 76 92 68 45 236 254 281 350 77 163 79 403 6 528-33 55-106 123-160 148-46 20-181 27-192 9-3-5-3-10 2-10 39 0 143-25 175-41 99-51 180-165 193-274 8-61-8-194-32-270-32-102-94-205-176-291-93-99-113-105-122-36-21 165-50 242-121 321-56 62-130 102-203 108-87 8-84-12 3-26 83-14 149-49 185-100 78-110 85-318 14-430-30-47-241-127-408-155-186-30-483-47-512-28-6 4-15 21-19 37-3 17-13 38-21 47-20 22-10 35 35 49 76 22 162 102 162 151 0 14-8 9-34-20-47-51-118-85-190-90-74-6-183 13-225 39-34 21-37 46-5 41 10-2 69-4 129-4 115 0 184 16 262 62 19 11 42 20 51 20s24 11 32 24l48 72c48 72 66 140 50 190-7 21-17 39-22 39s-17-31-26-69c-44-169-177-272-350-269-116 1-171 42-119 89 26 23 94 162 85 172-4 3-31 7-59 8-29 0-71 9-94 20-51 23-283 213-283 231 0 23 27 14 131-43 408-222 622-223 749-1 32 56 38 102 17 132-12 16-15 12-21-39-21-182-134-250-283-172-55 29-87 56-126 107s-35 65 23 84c27 9 60 29 73 45 24 28 157 291 157 309 0 6-23-2-50-16-94-49-215-28-344 58-42 27-78 55-82 60-16 27 18 26 106-3 69-22 121-32 188-36 120-6 169 11 212 73 30 43 47 55 79 55s145 57 172 87c37 40 49 66 49 110 0 83-31 75-50-14-13-60-55-108-103-117-76-14-226 66-227 122 0 8 19 12 62 12 111 0 167 44 239 189 34 69 37 71 149 46 98-22 270-19 366 5 149 38 277 117 343 214 40 58 124 216 118 222-2 3-28-26-56-65-28-38-69-85-91-105-75-67-198-116-330-130-95-10-299 28-412 76-53 23-64 48-20 48 15 0 47 14 72 31 41 28 48 29 110 23 125-12 328 18 464 69 74 27 146 92 146 130 0 39-17 33-24-8-14-74-133-125-293-125-105 0-281 26-300 44-9 8-5 27 18 81 17 39 35 75 40 80 6 6 42 15 82 21 94 15 212 64 262 111 36 33 38 37 20 43-15 6-31-3-66-35-25-23-63-48-85-56-47-16-235-19-241-4-2 6 17 21 42 33s65 40 90 63l44 41 148 13c168 15 254 38 328 88 60 41 115 91 115 105 0 10-31 38-99 90-32 25-22 37 47 57 124 36 186 88 223 186 20 52 26 139 9 139-5 0-10-10-10-23 0-42-29-123-60-165-59-82-168-105-285-61-62 23-160 107-220 189-56 76-45 92 49 71 68-16 112 13 194 129 25 36 61 82 79 103 18 20 33 46 33 56 0 17-9 15-77-21-78-40-78-40-173-36-90 4-102 7-214 59-66 30-121 60-124 67-5 16 38 15 113-3 100-24 238-29 352-11 156 24 196 51 258 176 15 30 41 72 57 93 33 41 25 46-30 18-97-48-263-54-375-11-112 42-113 81-1 54 104-24 264-22 339 5 32 11 71 21 85 21s43 9 64 21c21 11 67 29 102 40 51 16 73 30 116 74 59 61 88 108 88 142 0 33-12 28-42-21-18-27-46-52-79-71-48-26-57-27-128-22-119 10-220 46-351 127-167 103-256 138-373 149-70 6-91 21-45 31 66 16 176-14 503-135 79-30 119-38 192-42 80-5 97-3 138 17 50 24 154 136 183 197 10 21 31 43 55 54 68 35 147 119 147 157 0 4-24-16-54-44-57-55-120-82-210-90-23-2-59-6-81-9-46-6-147 15-152 32-2 6 26 26 64 44 47 22 87 51 128 95 33 34 72 65 85 67 14 3 59 10 100 16 41 7 95 21 119 33 60 29 127 101 159 170 23 50 32 60 70 75 33 12 70 45 154 135 60 66 108 122 105 125s-32-4-64-15c-81-28-207-37-327-22-103 12-146 23-146 38 0 5 87 12 193 16 191 7 289 21 350 52 33 17 137 112 137 126 0 4-20 5-45 1-64-8-60 15 12 58 56 34 83 62 71 74-3 4-23-5-45-19-56-37-162-59-260-54-78 4-124 21-106 39 5 5 58 13 120 18 191 17 305 54 364 118 32 34 82 113 76 119-2 3-28-7-58-21-44-20-70-25-136-25-90 0-113 5-113 26 0 11 16 14 65 14 109 0 160 16 199 62 35 41 43 65 64 203 5 33 12 68 17 78 14 33-19 17-78-37m-2287-1350c0-8-5-27-11-43-6-15-26-98-45-183-20-85-39-159-44-164-21-21-23 10-6 119 18 125 46 227 71 263 18 25 35 29 35 8m435-18c-15-51-57-128-71-128-26 0-16 32 43 128 7 12 18 22 24 22s8-9 4-22m667-35c73-11 35-28-70-31-117-3-165 6-171 33-3 17 3 18 100 11 56-3 120-9 141-13m-274-63c37-11 92-20 130-20 73 0 105-11 85-31-17-17-94-23-151-10-68 14-165 58-157 71 9 14 21 13 93-10m-978-54c0-13-11-91-25-172-33-199-61-294-84-279-10 5 57 401 74 442 16 39 35 43 35 9m-440-403c0-10-14-54-30-98-17-44-41-122-55-173-29-103-44-142-57-142-4 0-8 9-8 21 0 24 62 264 85 329s65 105 65 63m-143-139c-3-19-24-94-46-167s-50-165-61-204c-27-94-45-97-37-5 7 74 66 299 96 368 25 57 57 62 48 8m473-608c91-19 312-106 365-144 93-65 74-100-21-37-72 48-264 121-371 140-94 18-118 29-93 45 20 13 43 12 120-4m-936-107c10-42-9-92-37-97-15-3-17 5-17 61 0 35 3 67 7 71 16 15 39-1 47-35m-8-164c12-49-112-395-142-395-21 0-17 31 10 92 25 57 76 230 76 260 0 57 44 91 56 43m1081-234c70-27 162-59 203-70 145-42 162-50 156-77-5-19-2-24 13-24 25 0 38-20 20-31-44-29-96-17-69 16 7 8 11 17 9 19-2 1-48 13-103 26-142 33-450 190-373 190 9 0 73-22 144-49m-471-211c56-21 113-45 125-53 33-22 298-111 394-132 92-21 111-31 94-51-19-24-73-27-140-8-63 17-302 112-449 178-86 39-176 52-253 37-89-17-237-24-237-11 0 17 81 50 125 50 22 0 67 9 100 20 74 24 105 20 241-30m-701 15c0-20-1-20-123-39-38-6-43-4-40 11 4 22 82 53 128 50 27-2 35-6 35-22m1967-83c7-7 2-15-13-24-34-19-374-19-408 1-22 12-23 15-9 25 20 15 416 12 430-2m-1427-167c110-29 205-68 205-84 0-17-82-13-188 9-185 37-288 50-404 50-115 0-140 7-99 30 44 23 103 29 241 25 116-3 165-9 245-30m-1098 13c6-8 9-84 7-179-3-213-33-373-65-353-10 6-4 380 7 459 11 77 29 102 51 73m-426-235c1-5 3-92 5-195 2-102 8-252 14-331 11-161 3-255-20-231-14 15-20 71-24 199-1 66-8 176-15 245-14 133-10 264 8 299 11 20 30 29 32 14m1480-292c52-21 138-61 191-89 54-28 154-74 223-103s125-58 125-64c0-25-41-48-93-53-45-3-62 1-132 37-44 22-125 71-180 110-55 38-135 94-177 123-127 87-111 102 43 39m-480-20c136-51 259-160 377-334 82-120 90-137 70-137-22 0-136 124-197 212-100 145-267 238-432 238-58 0-90 13-74 29 28 27 175 22 256-8m-248-291c58-22 193-106 217-135 22-26 1-30-38-6-123 74-279 131-359 131-24 0-43 4-43 10 0 36 126 36 223 0m-942-197c15-45 18-206 4-213-10-5-55 145-57 192-1 26 16 58 32 58 5 0 14-17 21-37m727-363c97-19 152-44 135-61-6-6-34-4-74 6-35 8-127 18-204 22-115 5-152 3-205-12-84-22-95-23-95-6 0 8 27 29 60 48l60 34 115-6c63-3 157-14 208-25m-1227-77c44-116 119-450 119-531 0-85-21-59-63 79-60 193-93 367-88 462 1 26 20 20 32-10m946-110c3-7-19-18-54-28-32-10-83-26-114-36-31-11-66-19-78-19-38 0-22 27 29 49 106 46 208 62 217 34m-1310-225c-9-23-18-55-21-70-7-33-32-37-41-8-10 31 4 77 32 111 35 41 50 25 30-33m-327-540c19-75 33-112 48-136 12-19 13-28 4-43-16-25-16-26 13-33 16-4 25-13 25-26 0-24-17-26-41-4-14 13-20 13-38 2-28-17-38-4-51 61-19 99-10 221 16 221 7 0 18-19 24-42m1960-33c274-42 373-49 469-34 52 8 88 9 96 3 153-108 217-139 330-158 69-12 70-13 79-48 19-76 5-79-181-48-168 29-247 50-608 162-175 54-347 106-382 115-35 8-63 19-63 24 0 15 89 10 260-16m-1817-437c31-95 61-191 66-213 32-125 41-169 33-177-16-16-40 28-69 132-17 58-46 157-66 220-45 146-55 210-34 210 10 0 31-51 70-172m1497 141c46-5 204-39 350-75 343-83 342-83 338-97-11-35-199-82-297-75-47 3-75 15-174 72-121 70-193 103-283 129l-52 15-87-40c-103-48-141-51-264-24-137 30-261 12-404-60-68-34-91-37-81-10 8 21 109 71 194 97 97 30 249 32 361 5l76-19 99 46c110 52 106 51 224 36m2075-9c9-15-63-56-145-84-41-13-120-30-175-36-127-15-389-10-406 7-7 7-11 15-8 17 4 5 143 21 467 57 57 6 136 19 175 29 90 22 85 22 92 10m-1097-199c79-16 146-32 149-35 23-23-81-85-190-112-83-22-237-9-237 20 0 6 17 44 37 83 45 87 35 85 241 44m-1681-172c43-6 123-26 178-45 386-134 430-144 615-144 127 0 153-7 111-30-25-13-197-13-278 0-35 6-123 29-195 51-328 101-505 132-634 112-122-18-124 28-2 52 83 17 111 17 205 4m-1193-15c3-9 6-30 6-47 1-64 30-167 95-336 37-95 65-175 61-178-14-15-36 14-89 114-94 182-142 354-117 427 12 38 34 47 44 20m1254-393c81-17 217-38 302-47 85-10 159-21 165-26 38-34-136-33-325 2-170 31-325 50-408 50-99-1-217-22-270-49-48-24-72-27-72-7 0 17 109 71 184 91 91 24 258 19 424-14m-758-152c0-40-101-292-293-736-37-84-76-183-88-220s-42-115-66-173c-103-245-203-536-324-944-57-191-75-229-106-210-11 7-17 22-16 38 2 32 60 220 115 376 22 63 64 185 93 270s71 200 93 255 81 201 130 325c50 124 114 277 142 340 63 138 147 338 201 475 76 192 119 266 119 204m1008-184c12-12-15-25-53-25-23 0-76-6-116-14-50-10-175-16-386-19-296-5-313-4-313 13 0 32 29 43 128 50 99 6 733 2 740-5m-1708-125c12-24 33-45 55-56 59-28 134-132 135-186 0-28-18-21-36 15-29 56-76 108-125 138-34 21-52 41-63 69-20 50-20 60-1 60 8 0 24-18 35-40m1835-90c12-19-14-37-94-70-78-31-140-37-148-14-4 12 178 91 214 93 12 0 25-4 28-9m-2068-52c37-42 133-186 133-200 0-23-67-81-85-74-25 9-66 110-76 184-11 86-11 112-1 112 5 0 18-10 29-22m205-334c25-55 43-111 49-155 12-86 8-171-8-176-15-5-153 268-153 303 0 44 38 114 62 114 5 0 27-39 50-86m956-190c31-6 27-31-11-69-48-48-114-59-312-50-88 3-164 10-168 14-12 12 31 60 74 81 21 11 62 24 91 28 53 8 284 5 326-4m245-21c16-9-19-37-80-65-65-29-103-36-103-18 0 19 39 88 52 93 14 6 117-2 131-10m-588-479c244-18 245-18 222-41-14-15-36-15-240-3-168 9-236 10-276 1-68-14-81-14-81 3 0 21 28 39 73 47 66 10 80 10 302-7m-32-170c10-3 16-11 14-17-2-8-55-14-163-18-122-4-169-9-202-23-32-14-46-16-54-8-23 23 31 60 112 76 30 5 267-3 293-10" style="fill:gray;fill-opacity:1" transform="matrix(.01895 0 0 -.01895 -.015 248.282)"/></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="512" height="512" class="snail_eye" style="background-color:transparent"><defs><linearGradient id="b"><stop offset="0" style="stop-color:#d97700"/><stop offset=".8" style="stop-color:#a85c00"/></linearGradient><linearGradient id="a"><stop offset="0" style="stop-color:#d97700"/><stop offset=".2" style="stop-color:#a85c00"/></linearGradient><linearGradient xlink:href="#a" id="c" x1="0" x2="512" y1="0" y2="512" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#b" id="d" x1="221.125" x2="331.379" y1="191.955" y2="382.636" gradientTransform="translate(3 3)" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#a" id="f" x1="190" x2="512" y1="190" y2="512" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#b" id="e" x1="173" x2="401" y1="155" y2="468" gradientTransform="translate(.5 .5)" gradientUnits="userSpaceOnUse"/></defs><g style="display:inline;mix-blend-mode:normal;fill:url(#c);fill-opacity:0" transform="matrix(.8 0 0 .8 51.5 51.5)"><circle cx="256" cy="256" r="256" style="display:inline;mix-blend-mode:normal;fill:#1e1e1e;fill-opacity:1;stroke-width:2;image-rendering:auto;opacity:1"/><circle cx="256" cy="256" r="69" style="display:inline;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#d);stroke-width:58.5486;stroke-dasharray:none;stroke-opacity:1"/><path d="M256 139c-93.648 0-173.75 47.591-206.182 114.803l-1.3 2.697 1.3 2.668C82.249 326.38 162.352 374 256 374s173.786-47.62 206.217-114.832l1.3-2.668-1.3-2.697C430.278 186.582 350.14 138.99 256.492 138.99Zm0 18.688c84.825 0 154.891 38.584 185.567 98.783-30.669 60.211-100.73 98.841-185.567 98.841-84.836 0-154.862-38.63-185.53-98.84 30.675-60.2 100.705-98.784 185.53-98.784" style="color:#000;fill:url(#e);fill-opacity:1;-inkscape-stroke:none"/><path d="M244.444 38.097c-8.38-7.042-8.737-20.78-.185-27.973 8.635-7.265 24.032-5.03 28.509 7.493 2.685 7.514 1.187 15.656-6.522 21.1-6.436 4.547-15.465 4.399-21.802-.62m88.784 17.66c-8.38-7.042-8.737-20.779-.185-27.973 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.399-21.802-.62m75.267 50.293c-8.38-7.042-8.737-20.78-.186-27.973 8.636-7.265 24.033-5.03 28.51 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62m50.29 75.268c-8.38-7.042-8.736-20.78-.185-27.973 8.636-7.264 24.033-5.03 28.51 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62m17.659 88.785c-8.38-7.042-8.737-20.78-.186-27.973 8.636-7.264 24.033-5.03 28.51 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62m-17.69 88.77c-8.38-7.043-8.737-20.78-.185-27.974 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.188 15.655-6.522 21.1-6.436 4.546-15.464 4.398-21.802-.62m-50.287 75.255c-8.38-7.042-8.736-20.78-.185-27.973 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.188 15.655-6.522 21.1-6.436 4.546-15.464 4.398-21.802-.62m-75.245 50.31c-8.38-7.042-8.737-20.78-.185-27.973 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.188 15.655-6.522 21.1-6.436 4.546-15.464 4.398-21.802-.62m-88.782 17.628c-8.38-7.042-8.737-20.78-.185-27.973 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62m-88.771-17.659c-8.38-7.042-8.737-20.78-.185-27.973 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62m-75.276-50.264c-8.38-7.042-8.737-20.78-.185-27.973 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62M30.13 358.866c-8.38-7.042-8.737-20.78-.185-27.973 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62m-17.657-88.772c-8.38-7.042-8.737-20.78-.185-27.973 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62m17.63-88.78c-8.38-7.043-8.736-20.78-.184-27.974 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62m50.313-75.245c-8.38-7.042-8.737-20.78-.185-27.973 8.635-7.265 24.032-5.03 28.509 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62m75.257-50.285c-8.38-7.042-8.737-20.78-.185-27.973 8.635-7.264 24.032-5.03 28.509 7.494 2.685 7.513 1.187 15.655-6.522 21.1-6.436 4.546-15.465 4.398-21.802-.62M256 0C152.527 0 59.084 62.436 19.488 158.031c-39.595 95.596-17.665 205.815 55.5 278.98 73.166 73.166 183.385 95.096 278.98 55.5C449.565 452.917 512 359.474 512 256 512 114.9 397.1 0 256 0m0 48c115.16 0 208 92.84 208 208 0 84.197-50.615 159.947-128.4 192.166-77.786 32.219-167.134 14.44-226.67-45.096S31.615 254.186 63.834 176.4C96.053 98.615 171.804 48 256 48" style="color:#000;display:inline;fill:url(#f);fill-opacity:1;paint-order:markers fill stroke"/></g></svg>
|
|
Binary file
|
|
Binary file
|