codex 1.6.2__py3-none-any.whl → 1.6.4__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.

Files changed (513) hide show
  1. codex/exceptions.py +42 -16
  2. codex/librarian/importer/importer.py +1 -1
  3. codex/librarian/janitor/cleanup.py +2 -4
  4. codex/librarian/janitor/update.py +10 -9
  5. codex/librarian/search/merge.py +37 -40
  6. codex/librarian/search/remove.py +30 -26
  7. codex/librarian/search/update.py +47 -38
  8. codex/librarian/stats.py +177 -0
  9. codex/librarian/watchdog/events.py +2 -2
  10. codex/serializers/admin/__init__.py +1 -0
  11. codex/serializers/admin/flags.py +15 -0
  12. codex/serializers/admin/groups.py +38 -0
  13. codex/serializers/admin/libraries.py +90 -0
  14. codex/serializers/admin/stats.py +126 -0
  15. codex/serializers/admin/tasks.py +16 -0
  16. codex/serializers/admin/users.py +40 -0
  17. codex/serializers/fields.py +30 -0
  18. codex/serializers/reader.py +8 -3
  19. codex/settings/settings.py +3 -3
  20. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js +1 -0
  21. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js.br +0 -0
  22. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js.gz +0 -0
  23. codex/static_root/assets/VCheckbox-DtXDauZz.js +1 -0
  24. codex/static_root/assets/VCheckbox-DtXDauZz.js.br +0 -0
  25. codex/static_root/assets/VCheckbox-DtXDauZz.js.gz +0 -0
  26. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js +1 -0
  27. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js.br +0 -0
  28. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js.gz +0 -0
  29. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js +1 -0
  30. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js.br +0 -0
  31. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js.gz +0 -0
  32. codex/static_root/assets/{VCombobox-CGyBgdqr.2f85598cc1a4.js → VCombobox-DZmum3X-.330883d59742.js} +1 -1
  33. codex/static_root/assets/VCombobox-DZmum3X-.330883d59742.js.br +0 -0
  34. codex/static_root/assets/VCombobox-DZmum3X-.330883d59742.js.gz +0 -0
  35. codex/static_root/assets/{VCombobox-CGyBgdqr.js → VCombobox-DZmum3X-.js} +1 -1
  36. codex/static_root/assets/VCombobox-DZmum3X-.js.br +0 -0
  37. codex/static_root/assets/VCombobox-DZmum3X-.js.gz +0 -0
  38. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js +1 -0
  39. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js.br +0 -0
  40. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js.gz +0 -0
  41. codex/static_root/assets/VDialog-DUdNpXLj.js +1 -0
  42. codex/static_root/assets/VDialog-DUdNpXLj.js.br +0 -0
  43. codex/static_root/assets/VDialog-DUdNpXLj.js.gz +0 -0
  44. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js +1 -0
  45. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js.br +0 -0
  46. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js.gz +0 -0
  47. codex/static_root/assets/VExpansionPanels-CurqcyFg.js +1 -0
  48. codex/static_root/assets/VExpansionPanels-CurqcyFg.js.br +0 -0
  49. codex/static_root/assets/VExpansionPanels-CurqcyFg.js.gz +0 -0
  50. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js +1 -0
  51. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js.br +0 -0
  52. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js.gz +0 -0
  53. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js +1 -0
  54. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js.br +0 -0
  55. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js.gz +0 -0
  56. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js +1 -0
  57. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js.br +0 -0
  58. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js.gz +0 -0
  59. codex/static_root/assets/VSelect-FYWbH55D.js +1 -0
  60. codex/static_root/assets/VSelect-FYWbH55D.js.br +0 -0
  61. codex/static_root/assets/VSelect-FYWbH55D.js.gz +0 -0
  62. codex/static_root/assets/{VSelectionControl-DXxRmssH.js → VSelectionControl-CUlT3cc_.63f60240eb49.js} +1 -1
  63. codex/static_root/assets/VSelectionControl-CUlT3cc_.63f60240eb49.js.br +0 -0
  64. codex/static_root/assets/VSelectionControl-CUlT3cc_.63f60240eb49.js.gz +0 -0
  65. codex/static_root/assets/{VSelectionControl-DXxRmssH.252890f79cc6.js → VSelectionControl-CUlT3cc_.js} +1 -1
  66. codex/static_root/assets/VSelectionControl-CUlT3cc_.js.br +0 -0
  67. codex/static_root/assets/VSelectionControl-CUlT3cc_.js.gz +0 -0
  68. codex/static_root/assets/{VSlideGroup-DYJ3EYZI.a2542c5f90c4.js → VSlideGroup-CRJazQeR.cb89b2222518.js} +1 -1
  69. codex/static_root/assets/VSlideGroup-CRJazQeR.cb89b2222518.js.br +0 -0
  70. codex/static_root/assets/VSlideGroup-CRJazQeR.cb89b2222518.js.gz +0 -0
  71. codex/static_root/assets/{VSlideGroup-DYJ3EYZI.js → VSlideGroup-CRJazQeR.js} +1 -1
  72. codex/static_root/assets/VSlideGroup-CRJazQeR.js.br +0 -0
  73. codex/static_root/assets/VSlideGroup-CRJazQeR.js.gz +0 -0
  74. codex/static_root/assets/{VTable-BveGtxei.7f76f4ef812b.js → VTable-DtyBEZ5i.6848f15ea03f.js} +1 -1
  75. codex/static_root/assets/VTable-DtyBEZ5i.6848f15ea03f.js.br +0 -0
  76. codex/static_root/assets/VTable-DtyBEZ5i.6848f15ea03f.js.gz +0 -0
  77. codex/static_root/assets/{VTable-BveGtxei.js → VTable-DtyBEZ5i.js} +1 -1
  78. codex/static_root/assets/VTable-DtyBEZ5i.js.br +0 -0
  79. codex/static_root/assets/VTable-DtyBEZ5i.js.gz +0 -0
  80. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js +1 -0
  81. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js.br +0 -0
  82. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js.gz +0 -0
  83. codex/static_root/assets/VTextField-DEiVah7O.js +1 -0
  84. codex/static_root/assets/VTextField-DEiVah7O.js.br +0 -0
  85. codex/static_root/assets/VTextField-DEiVah7O.js.gz +0 -0
  86. codex/static_root/assets/{VWindowItem-FBuIO_rT.8610c7e83905.js → VWindowItem-BVIaHO-S.419e4ecf523d.js} +1 -1
  87. codex/static_root/assets/VWindowItem-BVIaHO-S.419e4ecf523d.js.br +0 -0
  88. codex/static_root/assets/VWindowItem-BVIaHO-S.419e4ecf523d.js.gz +0 -0
  89. codex/static_root/assets/{VWindowItem-FBuIO_rT.js → VWindowItem-BVIaHO-S.js} +1 -1
  90. codex/static_root/assets/VWindowItem-BVIaHO-S.js.br +0 -0
  91. codex/static_root/assets/VWindowItem-BVIaHO-S.js.gz +0 -0
  92. codex/static_root/assets/{admin-B8Bp2Uih.82c98714bcf1.css → admin-D4sw3N4T.b590f88a62cf.css} +1 -1
  93. codex/static_root/assets/admin-D4sw3N4T.b590f88a62cf.css.br +0 -0
  94. codex/static_root/assets/admin-D4sw3N4T.b590f88a62cf.css.gz +0 -0
  95. codex/static_root/assets/{admin-B8Bp2Uih.css → admin-D4sw3N4T.css} +1 -1
  96. codex/static_root/assets/admin-D4sw3N4T.css.br +0 -0
  97. codex/static_root/assets/admin-D4sw3N4T.css.gz +0 -0
  98. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js +1 -0
  99. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js.br +0 -0
  100. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js.gz +0 -0
  101. codex/static_root/assets/admin-S53JleJt.js +1 -0
  102. codex/static_root/assets/admin-S53JleJt.js.br +0 -0
  103. codex/static_root/assets/admin-S53JleJt.js.gz +0 -0
  104. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js +56 -0
  105. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js.br +0 -0
  106. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js.gz +0 -0
  107. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js +56 -0
  108. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js.br +0 -0
  109. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js.gz +0 -0
  110. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js +1 -0
  111. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js.br +0 -0
  112. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js.gz +0 -0
  113. codex/static_root/assets/browser-BHHgqDP7.js +1 -0
  114. codex/static_root/assets/browser-BHHgqDP7.js.br +0 -0
  115. codex/static_root/assets/browser-BHHgqDP7.js.gz +0 -0
  116. codex/static_root/assets/{browser-DP9eEJ0M.css → browser-Cy0OgQJC.css} +1 -1
  117. codex/static_root/assets/browser-Cy0OgQJC.css.br +0 -0
  118. codex/static_root/assets/browser-Cy0OgQJC.css.gz +0 -0
  119. codex/static_root/assets/{browser-DP9eEJ0M.276e8636f8fc.css → browser-Cy0OgQJC.fabbd1aaffcf.css} +1 -1
  120. codex/static_root/assets/browser-Cy0OgQJC.fabbd1aaffcf.css.br +0 -0
  121. codex/static_root/assets/browser-Cy0OgQJC.fabbd1aaffcf.css.gz +0 -0
  122. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js +1 -0
  123. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js.br +0 -0
  124. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js.gz +0 -0
  125. codex/static_root/assets/change-password-dialog-Du1bwEt1.js +1 -0
  126. codex/static_root/assets/change-password-dialog-Du1bwEt1.js.br +0 -0
  127. codex/static_root/assets/change-password-dialog-Du1bwEt1.js.gz +0 -0
  128. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js +1 -0
  129. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js.br +0 -0
  130. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js.gz +0 -0
  131. codex/static_root/assets/confirm-dialog-eKN71B8a.js +1 -0
  132. codex/static_root/assets/confirm-dialog-eKN71B8a.js.br +0 -0
  133. codex/static_root/assets/confirm-dialog-eKN71B8a.js.gz +0 -0
  134. codex/static_root/assets/{datetime-column-uaXWFgF_.29c6d50b483e.js → datetime-column-CWp600fz.e8a969126bf5.js} +1 -1
  135. codex/static_root/assets/datetime-column-CWp600fz.e8a969126bf5.js.br +0 -0
  136. codex/static_root/assets/datetime-column-CWp600fz.e8a969126bf5.js.gz +0 -0
  137. codex/static_root/assets/{datetime-column-uaXWFgF_.js → datetime-column-CWp600fz.js} +1 -1
  138. codex/static_root/assets/datetime-column-CWp600fz.js.br +0 -0
  139. codex/static_root/assets/datetime-column-CWp600fz.js.gz +0 -0
  140. codex/static_root/assets/{filter-DS84uTvk.4fbebd4832bc.js → filter-_XbKRiIR.2c7ac68a2d03.js} +1 -1
  141. codex/static_root/assets/filter-_XbKRiIR.2c7ac68a2d03.js.br +0 -0
  142. codex/static_root/assets/filter-_XbKRiIR.2c7ac68a2d03.js.gz +0 -0
  143. codex/static_root/assets/{filter-DS84uTvk.js → filter-_XbKRiIR.js} +1 -1
  144. codex/static_root/assets/filter-_XbKRiIR.js.br +0 -0
  145. codex/static_root/assets/filter-_XbKRiIR.js.gz +0 -0
  146. codex/static_root/assets/flag-tab-DBqpLKi7.css +1 -0
  147. codex/static_root/assets/flag-tab-DBqpLKi7.css.br +0 -0
  148. codex/static_root/assets/flag-tab-DBqpLKi7.css.gz +0 -0
  149. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css +1 -0
  150. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.br +0 -0
  151. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.gz +0 -0
  152. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js +1 -0
  153. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js.br +0 -0
  154. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js.gz +0 -0
  155. codex/static_root/assets/flag-tab-DR_nY0Jg.js +1 -0
  156. codex/static_root/assets/flag-tab-DR_nY0Jg.js.br +0 -0
  157. codex/static_root/assets/flag-tab-DR_nY0Jg.js.gz +0 -0
  158. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js +1 -0
  159. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js.br +0 -0
  160. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js.gz +0 -0
  161. codex/static_root/assets/group-tab-JKsMHOmK.js +1 -0
  162. codex/static_root/assets/group-tab-JKsMHOmK.js.br +0 -0
  163. codex/static_root/assets/group-tab-JKsMHOmK.js.gz +0 -0
  164. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js +1 -0
  165. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js.br +0 -0
  166. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js.gz +0 -0
  167. codex/static_root/assets/http-error-Bw1wUv3U.js +1 -0
  168. codex/static_root/assets/http-error-Bw1wUv3U.js.br +0 -0
  169. codex/static_root/assets/http-error-Bw1wUv3U.js.gz +0 -0
  170. codex/static_root/assets/{library-tab-BN0SfPcH.913e236f625e.css → library-tab-BygwYPnO.94e92aa60bf2.css} +1 -1
  171. codex/static_root/assets/library-tab-BygwYPnO.94e92aa60bf2.css.br +0 -0
  172. codex/static_root/assets/library-tab-BygwYPnO.94e92aa60bf2.css.gz +0 -0
  173. codex/static_root/assets/{library-tab-BN0SfPcH.css → library-tab-BygwYPnO.css} +1 -1
  174. codex/static_root/assets/library-tab-BygwYPnO.css.br +0 -0
  175. codex/static_root/assets/library-tab-BygwYPnO.css.gz +0 -0
  176. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js +1 -0
  177. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js.br +0 -0
  178. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js.gz +0 -0
  179. codex/static_root/assets/library-tab-D9GTugZ6.js +1 -0
  180. codex/static_root/assets/library-tab-D9GTugZ6.js.br +0 -0
  181. codex/static_root/assets/library-tab-D9GTugZ6.js.gz +0 -0
  182. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js +6 -0
  183. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js.br +0 -0
  184. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js.gz +0 -0
  185. codex/static_root/assets/main-BJiV8IG3.js +6 -0
  186. codex/static_root/assets/main-BJiV8IG3.js.br +0 -0
  187. codex/static_root/assets/main-BJiV8IG3.js.gz +0 -0
  188. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js +1 -0
  189. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js.br +0 -0
  190. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js.gz +0 -0
  191. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js +1 -0
  192. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js.br +0 -0
  193. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js.gz +0 -0
  194. codex/static_root/assets/{pdf-doc-C-4EM9-d.ce9cf66bd4c3.js → pdf-doc-BLxZLD38.4cf9622c535f.js} +1 -1
  195. codex/static_root/assets/pdf-doc-BLxZLD38.4cf9622c535f.js.br +0 -0
  196. codex/static_root/assets/pdf-doc-BLxZLD38.4cf9622c535f.js.gz +0 -0
  197. codex/static_root/assets/{pdf-doc-C-4EM9-d.js → pdf-doc-BLxZLD38.js} +1 -1
  198. codex/static_root/assets/pdf-doc-BLxZLD38.js.br +0 -0
  199. codex/static_root/assets/pdf-doc-BLxZLD38.js.gz +0 -0
  200. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js +2 -0
  201. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js.br +0 -0
  202. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js.gz +0 -0
  203. codex/static_root/assets/reader-D2O_yHTW.js +2 -0
  204. codex/static_root/assets/reader-D2O_yHTW.js.br +0 -0
  205. codex/static_root/assets/reader-D2O_yHTW.js.gz +0 -0
  206. codex/static_root/assets/{reader-DOQuhDYO.css → reader-YbzUiD0T.css} +1 -1
  207. codex/static_root/assets/reader-YbzUiD0T.css.br +0 -0
  208. codex/static_root/assets/reader-YbzUiD0T.css.gz +0 -0
  209. codex/static_root/assets/{reader-DOQuhDYO.df559ad29ab3.css → reader-YbzUiD0T.efb15835b39d.css} +1 -1
  210. codex/static_root/assets/reader-YbzUiD0T.efb15835b39d.css.br +0 -0
  211. codex/static_root/assets/reader-YbzUiD0T.efb15835b39d.css.gz +0 -0
  212. codex/static_root/assets/{relation-chips-Bsc-gUxE.98e65384c3c9.css → relation-chips-BGitp3yx.b3e7d178a615.css} +1 -1
  213. codex/static_root/assets/relation-chips-BGitp3yx.b3e7d178a615.css.br +0 -0
  214. codex/static_root/assets/relation-chips-BGitp3yx.b3e7d178a615.css.gz +0 -0
  215. codex/static_root/assets/{relation-chips-Bsc-gUxE.css → relation-chips-BGitp3yx.css} +1 -1
  216. codex/static_root/assets/relation-chips-BGitp3yx.css.br +0 -0
  217. codex/static_root/assets/relation-chips-BGitp3yx.css.gz +0 -0
  218. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js +1 -0
  219. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js.br +0 -0
  220. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js.gz +0 -0
  221. codex/static_root/assets/relation-chips-CmeSIsRq.js +1 -0
  222. codex/static_root/assets/relation-chips-CmeSIsRq.js.br +0 -0
  223. codex/static_root/assets/relation-chips-CmeSIsRq.js.gz +0 -0
  224. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js +2 -0
  225. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js.br +0 -0
  226. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js.gz +0 -0
  227. codex/static_root/assets/settings-drawer-XH4sNDNT.js +2 -0
  228. codex/static_root/assets/settings-drawer-XH4sNDNT.js.br +0 -0
  229. codex/static_root/assets/settings-drawer-XH4sNDNT.js.gz +0 -0
  230. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js +1 -0
  231. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js.br +0 -0
  232. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js.gz +0 -0
  233. codex/static_root/assets/stats-tab-BGxkeKnY.js +1 -0
  234. codex/static_root/assets/stats-tab-BGxkeKnY.js.br +0 -0
  235. codex/static_root/assets/stats-tab-BGxkeKnY.js.gz +0 -0
  236. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css +1 -0
  237. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css.br +0 -0
  238. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css.gz +0 -0
  239. codex/static_root/assets/stats-tab-CI0u-X7Y.css +1 -0
  240. codex/static_root/assets/stats-tab-CI0u-X7Y.css.br +0 -0
  241. codex/static_root/assets/stats-tab-CI0u-X7Y.css.gz +0 -0
  242. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js +1 -0
  243. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js.br +0 -0
  244. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js.gz +0 -0
  245. codex/static_root/assets/task-tab-B74Kah_b.js +1 -0
  246. codex/static_root/assets/task-tab-B74Kah_b.js.br +0 -0
  247. codex/static_root/assets/task-tab-B74Kah_b.js.gz +0 -0
  248. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js +1 -0
  249. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js.br +0 -0
  250. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js.gz +0 -0
  251. codex/static_root/assets/unauthorized-BF45der6.js +1 -0
  252. codex/static_root/assets/unauthorized-BF45der6.js.br +0 -0
  253. codex/static_root/assets/unauthorized-BF45der6.js.gz +0 -0
  254. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js +1 -0
  255. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js.br +0 -0
  256. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js.gz +0 -0
  257. codex/static_root/assets/user-tab-BP2TTPg5.js +1 -0
  258. codex/static_root/assets/user-tab-BP2TTPg5.js.br +0 -0
  259. codex/static_root/assets/user-tab-BP2TTPg5.js.gz +0 -0
  260. codex/static_root/{manifest.80e911824648.json → manifest.7033f9a22987.json} +230 -242
  261. codex/static_root/manifest.7033f9a22987.json.br +0 -0
  262. codex/static_root/manifest.7033f9a22987.json.gz +0 -0
  263. codex/static_root/manifest.json +230 -242
  264. codex/static_root/manifest.json.br +0 -0
  265. codex/static_root/manifest.json.gz +0 -0
  266. codex/static_root/staticfiles.json +1 -1
  267. codex/urls/root.py +12 -2
  268. codex/views/admin/api_key.py +1 -1
  269. codex/views/admin/flag.py +1 -1
  270. codex/views/admin/group.py +1 -1
  271. codex/views/admin/library.py +1 -1
  272. codex/views/admin/stats.py +41 -155
  273. codex/views/admin/tasks.py +1 -1
  274. codex/views/admin/user.py +1 -1
  275. codex/views/browser/browser.py +4 -1
  276. codex/views/browser/filters/field.py +15 -6
  277. codex/views/browser/paginate.py +61 -11
  278. codex/views/browser/validate.py +7 -5
  279. codex/views/opds/binary.py +1 -3
  280. codex/views/opds/const.py +10 -0
  281. codex/views/opds/util.py +10 -0
  282. codex/views/opds/v1/entry/entry.py +14 -18
  283. codex/views/opds/v1/feed.py +10 -24
  284. codex/views/opds/v1/links.py +1 -0
  285. codex/views/reader/arcs.py +65 -53
  286. codex/views/reader/books.py +38 -38
  287. codex/views/reader/init.py +7 -5
  288. codex/views/reader/reader.py +0 -2
  289. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/METADATA +18 -7
  290. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/RECORD +293 -289
  291. codex/serializers/admin.py +0 -268
  292. codex/settings/logging.py +0 -20
  293. codex/static_root/assets/VCheckbox-DUxuAZcY.46ab94043464.js +0 -1
  294. codex/static_root/assets/VCheckbox-DUxuAZcY.46ab94043464.js.br +0 -0
  295. codex/static_root/assets/VCheckbox-DUxuAZcY.46ab94043464.js.gz +0 -0
  296. codex/static_root/assets/VCheckbox-DUxuAZcY.js +0 -1
  297. codex/static_root/assets/VCheckbox-DUxuAZcY.js.br +0 -0
  298. codex/static_root/assets/VCheckbox-DUxuAZcY.js.gz +0 -0
  299. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.0cbde4eb9a65.js +0 -1
  300. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.0cbde4eb9a65.js.br +0 -0
  301. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.0cbde4eb9a65.js.gz +0 -0
  302. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.js +0 -1
  303. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.js.br +0 -0
  304. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.js.gz +0 -0
  305. codex/static_root/assets/VCombobox-CGyBgdqr.2f85598cc1a4.js.br +0 -0
  306. codex/static_root/assets/VCombobox-CGyBgdqr.2f85598cc1a4.js.gz +0 -0
  307. codex/static_root/assets/VCombobox-CGyBgdqr.js.br +0 -0
  308. codex/static_root/assets/VCombobox-CGyBgdqr.js.gz +0 -0
  309. codex/static_root/assets/VDialog-DTWAoZBU.b8c4c276e9b2.js +0 -1
  310. codex/static_root/assets/VDialog-DTWAoZBU.b8c4c276e9b2.js.br +0 -0
  311. codex/static_root/assets/VDialog-DTWAoZBU.b8c4c276e9b2.js.gz +0 -0
  312. codex/static_root/assets/VDialog-DTWAoZBU.js +0 -1
  313. codex/static_root/assets/VDialog-DTWAoZBU.js.br +0 -0
  314. codex/static_root/assets/VDialog-DTWAoZBU.js.gz +0 -0
  315. codex/static_root/assets/VExpansionPanels-D4psrz4h.b55b901da65f.js +0 -1
  316. codex/static_root/assets/VExpansionPanels-D4psrz4h.b55b901da65f.js.br +0 -0
  317. codex/static_root/assets/VExpansionPanels-D4psrz4h.b55b901da65f.js.gz +0 -0
  318. codex/static_root/assets/VExpansionPanels-D4psrz4h.js +0 -1
  319. codex/static_root/assets/VExpansionPanels-D4psrz4h.js.br +0 -0
  320. codex/static_root/assets/VExpansionPanels-D4psrz4h.js.gz +0 -0
  321. codex/static_root/assets/VRadioGroup-BY572TP-.6d47a94795de.js +0 -1
  322. codex/static_root/assets/VRadioGroup-BY572TP-.6d47a94795de.js.br +0 -2
  323. codex/static_root/assets/VRadioGroup-BY572TP-.6d47a94795de.js.gz +0 -0
  324. codex/static_root/assets/VRadioGroup-BY572TP-.js +0 -1
  325. codex/static_root/assets/VRadioGroup-BY572TP-.js.br +0 -2
  326. codex/static_root/assets/VRadioGroup-BY572TP-.js.gz +0 -0
  327. codex/static_root/assets/VSelect-Bnhj5kBc.fdcd87c9e253.js +0 -1
  328. codex/static_root/assets/VSelect-Bnhj5kBc.fdcd87c9e253.js.br +0 -0
  329. codex/static_root/assets/VSelect-Bnhj5kBc.fdcd87c9e253.js.gz +0 -0
  330. codex/static_root/assets/VSelect-Bnhj5kBc.js +0 -1
  331. codex/static_root/assets/VSelect-Bnhj5kBc.js.br +0 -0
  332. codex/static_root/assets/VSelect-Bnhj5kBc.js.gz +0 -0
  333. codex/static_root/assets/VSelectionControl-DXxRmssH.252890f79cc6.js.br +0 -0
  334. codex/static_root/assets/VSelectionControl-DXxRmssH.252890f79cc6.js.gz +0 -0
  335. codex/static_root/assets/VSelectionControl-DXxRmssH.js.br +0 -0
  336. codex/static_root/assets/VSelectionControl-DXxRmssH.js.gz +0 -0
  337. codex/static_root/assets/VSlideGroup-DYJ3EYZI.a2542c5f90c4.js.br +0 -0
  338. codex/static_root/assets/VSlideGroup-DYJ3EYZI.a2542c5f90c4.js.gz +0 -0
  339. codex/static_root/assets/VSlideGroup-DYJ3EYZI.js.br +0 -0
  340. codex/static_root/assets/VSlideGroup-DYJ3EYZI.js.gz +0 -0
  341. codex/static_root/assets/VTable-BveGtxei.7f76f4ef812b.js.br +0 -0
  342. codex/static_root/assets/VTable-BveGtxei.7f76f4ef812b.js.gz +0 -0
  343. codex/static_root/assets/VTable-BveGtxei.js.br +0 -0
  344. codex/static_root/assets/VTable-BveGtxei.js.gz +0 -0
  345. codex/static_root/assets/VTextField-BayL7C1D.6e53c61b3760.js +0 -1
  346. codex/static_root/assets/VTextField-BayL7C1D.6e53c61b3760.js.br +0 -0
  347. codex/static_root/assets/VTextField-BayL7C1D.6e53c61b3760.js.gz +0 -0
  348. codex/static_root/assets/VTextField-BayL7C1D.js +0 -1
  349. codex/static_root/assets/VTextField-BayL7C1D.js.br +0 -0
  350. codex/static_root/assets/VTextField-BayL7C1D.js.gz +0 -0
  351. codex/static_root/assets/VWindowItem-FBuIO_rT.8610c7e83905.js.br +0 -0
  352. codex/static_root/assets/VWindowItem-FBuIO_rT.8610c7e83905.js.gz +0 -0
  353. codex/static_root/assets/VWindowItem-FBuIO_rT.js.br +0 -0
  354. codex/static_root/assets/VWindowItem-FBuIO_rT.js.gz +0 -0
  355. codex/static_root/assets/admin-B8Bp2Uih.82c98714bcf1.css.br +0 -0
  356. codex/static_root/assets/admin-B8Bp2Uih.82c98714bcf1.css.gz +0 -0
  357. codex/static_root/assets/admin-B8Bp2Uih.css.br +0 -0
  358. codex/static_root/assets/admin-B8Bp2Uih.css.gz +0 -0
  359. codex/static_root/assets/admin-BH6uiYBb.d51c720fa05c.js +0 -1
  360. codex/static_root/assets/admin-BH6uiYBb.d51c720fa05c.js.br +0 -0
  361. codex/static_root/assets/admin-BH6uiYBb.d51c720fa05c.js.gz +0 -0
  362. codex/static_root/assets/admin-BH6uiYBb.js +0 -1
  363. codex/static_root/assets/admin-BH6uiYBb.js.br +0 -0
  364. codex/static_root/assets/admin-BH6uiYBb.js.gz +0 -0
  365. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.7c409b430d79.js +0 -30
  366. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.7c409b430d79.js.br +0 -0
  367. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.7c409b430d79.js.gz +0 -0
  368. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.js +0 -30
  369. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.js.br +0 -0
  370. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.js.gz +0 -0
  371. codex/static_root/assets/browser-BVciW8XB.ab1d75272aa7.js +0 -1
  372. codex/static_root/assets/browser-BVciW8XB.ab1d75272aa7.js.br +0 -0
  373. codex/static_root/assets/browser-BVciW8XB.ab1d75272aa7.js.gz +0 -0
  374. codex/static_root/assets/browser-BVciW8XB.js +0 -1
  375. codex/static_root/assets/browser-BVciW8XB.js.br +0 -0
  376. codex/static_root/assets/browser-BVciW8XB.js.gz +0 -0
  377. codex/static_root/assets/browser-DP9eEJ0M.276e8636f8fc.css.br +0 -0
  378. codex/static_root/assets/browser-DP9eEJ0M.276e8636f8fc.css.gz +0 -0
  379. codex/static_root/assets/browser-DP9eEJ0M.css.br +0 -0
  380. codex/static_root/assets/browser-DP9eEJ0M.css.gz +0 -0
  381. codex/static_root/assets/change-password-dialog-B-Sd5U5p.adf0a0f02866.js +0 -1
  382. codex/static_root/assets/change-password-dialog-B-Sd5U5p.adf0a0f02866.js.br +0 -0
  383. codex/static_root/assets/change-password-dialog-B-Sd5U5p.adf0a0f02866.js.gz +0 -0
  384. codex/static_root/assets/change-password-dialog-B-Sd5U5p.js +0 -1
  385. codex/static_root/assets/change-password-dialog-B-Sd5U5p.js.br +0 -0
  386. codex/static_root/assets/change-password-dialog-B-Sd5U5p.js.gz +0 -0
  387. codex/static_root/assets/confirm-dialog-CYEBgtj5.a5f142656c12.js +0 -1
  388. codex/static_root/assets/confirm-dialog-CYEBgtj5.a5f142656c12.js.br +0 -0
  389. codex/static_root/assets/confirm-dialog-CYEBgtj5.a5f142656c12.js.gz +0 -0
  390. codex/static_root/assets/confirm-dialog-CYEBgtj5.js +0 -1
  391. codex/static_root/assets/confirm-dialog-CYEBgtj5.js.br +0 -0
  392. codex/static_root/assets/confirm-dialog-CYEBgtj5.js.gz +0 -0
  393. codex/static_root/assets/datetime-column-uaXWFgF_.29c6d50b483e.js.br +0 -0
  394. codex/static_root/assets/datetime-column-uaXWFgF_.29c6d50b483e.js.gz +0 -0
  395. codex/static_root/assets/datetime-column-uaXWFgF_.js.br +0 -0
  396. codex/static_root/assets/datetime-column-uaXWFgF_.js.gz +0 -0
  397. codex/static_root/assets/filter-DS84uTvk.4fbebd4832bc.js.br +0 -0
  398. codex/static_root/assets/filter-DS84uTvk.4fbebd4832bc.js.gz +0 -0
  399. codex/static_root/assets/filter-DS84uTvk.js.br +0 -0
  400. codex/static_root/assets/filter-DS84uTvk.js.gz +0 -0
  401. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css +0 -1
  402. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css.br +0 -0
  403. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css.gz +0 -0
  404. codex/static_root/assets/flag-tab-BNwbLfrN.css +0 -1
  405. codex/static_root/assets/flag-tab-BNwbLfrN.css.br +0 -0
  406. codex/static_root/assets/flag-tab-BNwbLfrN.css.gz +0 -0
  407. codex/static_root/assets/flag-tab-iJTJldQ1.213201f8e03b.js +0 -1
  408. codex/static_root/assets/flag-tab-iJTJldQ1.213201f8e03b.js.br +0 -0
  409. codex/static_root/assets/flag-tab-iJTJldQ1.213201f8e03b.js.gz +0 -0
  410. codex/static_root/assets/flag-tab-iJTJldQ1.js +0 -1
  411. codex/static_root/assets/flag-tab-iJTJldQ1.js.br +0 -0
  412. codex/static_root/assets/flag-tab-iJTJldQ1.js.gz +0 -0
  413. codex/static_root/assets/group-tab-DdmGE4gB.48ef83a4c7cd.js +0 -1
  414. codex/static_root/assets/group-tab-DdmGE4gB.48ef83a4c7cd.js.br +0 -0
  415. codex/static_root/assets/group-tab-DdmGE4gB.48ef83a4c7cd.js.gz +0 -0
  416. codex/static_root/assets/group-tab-DdmGE4gB.js +0 -1
  417. codex/static_root/assets/group-tab-DdmGE4gB.js.br +0 -0
  418. codex/static_root/assets/group-tab-DdmGE4gB.js.gz +0 -0
  419. codex/static_root/assets/http-error-HtOe8jPa.141ad665f81d.js +0 -1
  420. codex/static_root/assets/http-error-HtOe8jPa.141ad665f81d.js.br +0 -0
  421. codex/static_root/assets/http-error-HtOe8jPa.141ad665f81d.js.gz +0 -0
  422. codex/static_root/assets/http-error-HtOe8jPa.js +0 -1
  423. codex/static_root/assets/http-error-HtOe8jPa.js.br +0 -0
  424. codex/static_root/assets/http-error-HtOe8jPa.js.gz +0 -0
  425. codex/static_root/assets/library-tab-BN0SfPcH.913e236f625e.css.br +0 -0
  426. codex/static_root/assets/library-tab-BN0SfPcH.913e236f625e.css.gz +0 -0
  427. codex/static_root/assets/library-tab-BN0SfPcH.css.br +0 -0
  428. codex/static_root/assets/library-tab-BN0SfPcH.css.gz +0 -0
  429. codex/static_root/assets/library-tab-DLAJV6j2.dae6292bbf28.js +0 -1
  430. codex/static_root/assets/library-tab-DLAJV6j2.dae6292bbf28.js.br +0 -0
  431. codex/static_root/assets/library-tab-DLAJV6j2.dae6292bbf28.js.gz +0 -0
  432. codex/static_root/assets/library-tab-DLAJV6j2.js +0 -1
  433. codex/static_root/assets/library-tab-DLAJV6j2.js.br +0 -0
  434. codex/static_root/assets/library-tab-DLAJV6j2.js.gz +0 -0
  435. codex/static_root/assets/main-BjGE3kSi.22c1b19a9e19.js +0 -32
  436. codex/static_root/assets/main-BjGE3kSi.22c1b19a9e19.js.br +0 -0
  437. codex/static_root/assets/main-BjGE3kSi.22c1b19a9e19.js.gz +0 -0
  438. codex/static_root/assets/main-BjGE3kSi.js +0 -32
  439. codex/static_root/assets/main-BjGE3kSi.js.br +0 -0
  440. codex/static_root/assets/main-BjGE3kSi.js.gz +0 -0
  441. codex/static_root/assets/pagination-toolbar-C8CSryCU.9b61f95fd710.js +0 -1
  442. codex/static_root/assets/pagination-toolbar-C8CSryCU.9b61f95fd710.js.br +0 -0
  443. codex/static_root/assets/pagination-toolbar-C8CSryCU.9b61f95fd710.js.gz +0 -0
  444. codex/static_root/assets/pagination-toolbar-C8CSryCU.js +0 -1
  445. codex/static_root/assets/pagination-toolbar-C8CSryCU.js.br +0 -0
  446. codex/static_root/assets/pagination-toolbar-C8CSryCU.js.gz +0 -0
  447. codex/static_root/assets/pdf-doc-C-4EM9-d.ce9cf66bd4c3.js.br +0 -0
  448. codex/static_root/assets/pdf-doc-C-4EM9-d.ce9cf66bd4c3.js.gz +0 -0
  449. codex/static_root/assets/pdf-doc-C-4EM9-d.js.br +0 -0
  450. codex/static_root/assets/pdf-doc-C-4EM9-d.js.gz +0 -0
  451. codex/static_root/assets/reader-C5OTEQ7N.fae52c1fee51.js +0 -2
  452. codex/static_root/assets/reader-C5OTEQ7N.fae52c1fee51.js.br +0 -0
  453. codex/static_root/assets/reader-C5OTEQ7N.fae52c1fee51.js.gz +0 -0
  454. codex/static_root/assets/reader-C5OTEQ7N.js +0 -2
  455. codex/static_root/assets/reader-C5OTEQ7N.js.br +0 -0
  456. codex/static_root/assets/reader-C5OTEQ7N.js.gz +0 -0
  457. codex/static_root/assets/reader-DOQuhDYO.css.br +0 -0
  458. codex/static_root/assets/reader-DOQuhDYO.css.gz +0 -0
  459. codex/static_root/assets/reader-DOQuhDYO.df559ad29ab3.css.br +0 -0
  460. codex/static_root/assets/reader-DOQuhDYO.df559ad29ab3.css.gz +0 -0
  461. codex/static_root/assets/relation-chips-Bsc-gUxE.98e65384c3c9.css.br +0 -0
  462. codex/static_root/assets/relation-chips-Bsc-gUxE.98e65384c3c9.css.gz +0 -0
  463. codex/static_root/assets/relation-chips-Bsc-gUxE.css.br +0 -0
  464. codex/static_root/assets/relation-chips-Bsc-gUxE.css.gz +0 -0
  465. codex/static_root/assets/relation-chips-C4LQSHRc.3c85433df91c.js +0 -1
  466. codex/static_root/assets/relation-chips-C4LQSHRc.3c85433df91c.js.br +0 -0
  467. codex/static_root/assets/relation-chips-C4LQSHRc.3c85433df91c.js.gz +0 -0
  468. codex/static_root/assets/relation-chips-C4LQSHRc.js +0 -1
  469. codex/static_root/assets/relation-chips-C4LQSHRc.js.br +0 -0
  470. codex/static_root/assets/relation-chips-C4LQSHRc.js.gz +0 -0
  471. codex/static_root/assets/settings-drawer-aTAAoX2A.2f21008ade35.js +0 -2
  472. codex/static_root/assets/settings-drawer-aTAAoX2A.2f21008ade35.js.br +0 -0
  473. codex/static_root/assets/settings-drawer-aTAAoX2A.2f21008ade35.js.gz +0 -0
  474. codex/static_root/assets/settings-drawer-aTAAoX2A.js +0 -2
  475. codex/static_root/assets/settings-drawer-aTAAoX2A.js.br +0 -0
  476. codex/static_root/assets/settings-drawer-aTAAoX2A.js.gz +0 -0
  477. codex/static_root/assets/stats-tab-B4yKuY0c.a5728396494b.css +0 -1
  478. codex/static_root/assets/stats-tab-B4yKuY0c.a5728396494b.css.br +0 -0
  479. codex/static_root/assets/stats-tab-B4yKuY0c.a5728396494b.css.gz +0 -0
  480. codex/static_root/assets/stats-tab-B4yKuY0c.css +0 -1
  481. codex/static_root/assets/stats-tab-B4yKuY0c.css.br +0 -0
  482. codex/static_root/assets/stats-tab-B4yKuY0c.css.gz +0 -0
  483. codex/static_root/assets/stats-tab-DL4J3pvZ.b9056e70a70f.js +0 -1
  484. codex/static_root/assets/stats-tab-DL4J3pvZ.b9056e70a70f.js.br +0 -0
  485. codex/static_root/assets/stats-tab-DL4J3pvZ.b9056e70a70f.js.gz +0 -0
  486. codex/static_root/assets/stats-tab-DL4J3pvZ.js +0 -1
  487. codex/static_root/assets/stats-tab-DL4J3pvZ.js.br +0 -0
  488. codex/static_root/assets/stats-tab-DL4J3pvZ.js.gz +0 -0
  489. codex/static_root/assets/task-tab-0t7ZJlwL.1ff1cc14a6aa.js +0 -1
  490. codex/static_root/assets/task-tab-0t7ZJlwL.1ff1cc14a6aa.js.br +0 -0
  491. codex/static_root/assets/task-tab-0t7ZJlwL.1ff1cc14a6aa.js.gz +0 -0
  492. codex/static_root/assets/task-tab-0t7ZJlwL.js +0 -1
  493. codex/static_root/assets/task-tab-0t7ZJlwL.js.br +0 -0
  494. codex/static_root/assets/task-tab-0t7ZJlwL.js.gz +0 -0
  495. codex/static_root/assets/to-case-BCB751sX.4afb5ae1b77d.js +0 -1
  496. codex/static_root/assets/to-case-BCB751sX.js +0 -1
  497. codex/static_root/assets/unauthorized-Ovy_BO5R.598527e8e4fe.js +0 -1
  498. codex/static_root/assets/unauthorized-Ovy_BO5R.598527e8e4fe.js.br +0 -0
  499. codex/static_root/assets/unauthorized-Ovy_BO5R.598527e8e4fe.js.gz +0 -0
  500. codex/static_root/assets/unauthorized-Ovy_BO5R.js +0 -1
  501. codex/static_root/assets/unauthorized-Ovy_BO5R.js.br +0 -0
  502. codex/static_root/assets/unauthorized-Ovy_BO5R.js.gz +0 -0
  503. codex/static_root/assets/user-tab-Cdspo8ie.8e886a1a28e8.js +0 -1
  504. codex/static_root/assets/user-tab-Cdspo8ie.8e886a1a28e8.js.br +0 -0
  505. codex/static_root/assets/user-tab-Cdspo8ie.8e886a1a28e8.js.gz +0 -0
  506. codex/static_root/assets/user-tab-Cdspo8ie.js +0 -1
  507. codex/static_root/assets/user-tab-Cdspo8ie.js.br +0 -0
  508. codex/static_root/assets/user-tab-Cdspo8ie.js.gz +0 -0
  509. codex/static_root/manifest.80e911824648.json.br +0 -0
  510. codex/static_root/manifest.80e911824648.json.gz +0 -0
  511. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/LICENSE +0 -0
  512. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/WHEEL +0 -0
  513. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/entry_points.txt +0 -0
@@ -1 +1 @@
1
- .invisible[data-v-355452b0]{visibility:hidden}#titleBar[data-v-355452b0]{top:0;width:100%;padding-top:env(safe-area-inset-top);padding-left:calc(48px + env(safe-area-inset-left)/2);padding-right:0;z-index:10}.drawerMargin[data-v-355452b0]{width:calc(100% - 256px)!important}#tabContainer[data-v-f7a7ae94]{padding-top:48px}.adminTabs[data-v-f7a7ae94]{position:fixed;width:100%;z-index:10;background-color:rgb(var(--v-theme-surface))}[data-v-f7a7ae94] .tabHeader{padding:10px}#tabItems[data-v-f7a7ae94]{margin-top:54px}.tabItemContainer[data-v-f7a7ae94]{width:100%;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}#noLibraries[data-v-f7a7ae94]{text-align:center;padding:1em}.drawerMargin[data-v-f7a7ae94]{width:calc(100% - 256px)!important}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}}
1
+ .invisible[data-v-355452b0]{visibility:hidden}#titleBar[data-v-355452b0]{top:0;width:100%;padding-top:env(safe-area-inset-top);padding-left:calc(48px + env(safe-area-inset-left)/2);padding-right:0;z-index:10}.drawerMargin[data-v-355452b0]{width:calc(100% - 256px)!important}#tabContainer[data-v-9a6023ab]{padding-top:48px}.adminTabs[data-v-9a6023ab]{position:fixed;width:100%;z-index:10;background-color:rgb(var(--v-theme-surface))}[data-v-9a6023ab] .tabHeader{padding:10px}#tabItems[data-v-9a6023ab]{margin-top:54px}.tabItemContainer[data-v-9a6023ab]{width:100%;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}#noLibraries[data-v-9a6023ab]{text-align:center;padding:1em}.drawerMargin[data-v-9a6023ab]{width:calc(100% - 256px)!important}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}}
@@ -1 +1 @@
1
- .invisible[data-v-355452b0]{visibility:hidden}#titleBar[data-v-355452b0]{top:0;width:100%;padding-top:env(safe-area-inset-top);padding-left:calc(48px + env(safe-area-inset-left)/2);padding-right:0;z-index:10}.drawerMargin[data-v-355452b0]{width:calc(100% - 256px)!important}#tabContainer[data-v-f7a7ae94]{padding-top:48px}.adminTabs[data-v-f7a7ae94]{position:fixed;width:100%;z-index:10;background-color:rgb(var(--v-theme-surface))}[data-v-f7a7ae94] .tabHeader{padding:10px}#tabItems[data-v-f7a7ae94]{margin-top:54px}.tabItemContainer[data-v-f7a7ae94]{width:100%;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}#noLibraries[data-v-f7a7ae94]{text-align:center;padding:1em}.drawerMargin[data-v-f7a7ae94]{width:calc(100% - 256px)!important}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}}
1
+ .invisible[data-v-355452b0]{visibility:hidden}#titleBar[data-v-355452b0]{top:0;width:100%;padding-top:env(safe-area-inset-top);padding-left:calc(48px + env(safe-area-inset-left)/2);padding-right:0;z-index:10}.drawerMargin[data-v-355452b0]{width:calc(100% - 256px)!important}#tabContainer[data-v-9a6023ab]{padding-top:48px}.adminTabs[data-v-9a6023ab]{position:fixed;width:100%;z-index:10;background-color:rgb(var(--v-theme-surface))}[data-v-9a6023ab] .tabHeader{padding:10px}#tabItems[data-v-9a6023ab]{margin-top:54px}.tabItemContainer[data-v-9a6023ab]{width:100%;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}#noLibraries[data-v-9a6023ab]{text-align:center;padding:1em}.drawerMargin[data-v-9a6023ab]{width:calc(100% - 256px)!important}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}}
@@ -0,0 +1 @@
1
+ import{_ as x,Z as v,$ as m,Y as p,a0 as f,T as i,al as j,am as M,an as re,ao as ie,ap as R,X as J,E as le,F as B,aq as K,ar as de,P as I,as as ce,r as q,h as $,S as W,at as H,V as P,au as A,av as ue,aw as me,ax as be,i as fe,ay as Z,az as ve,aA as pe,aB as we,aC as ge,aD as h,aE as _e,aF as he,L as ye,aG as Te,D as E,W as Ve,l as Se,aH as k,aI as X,aJ as Ae,aK as xe,aL as Ce,aM as De,q as ke}from"./admin-drawer-panel-CnAnGx7w.js";import{S as $e,V as Pe,a as Be,b as Ie}from"./settings-drawer-XH4sNDNT.js";import{u as We}from"./main-BJiV8IG3.js";import{m as Le,V as z,a as Ue,b as G}from"./VWindowItem-BVIaHO-S.js";import{m as Ee,V as Y}from"./VSlideGroup-CRJazQeR.js";import{U as Me,V as ze}from"./unauthorized-BF45der6.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDialog-DUdNpXLj.js";import"./change-password-dialog-Du1bwEt1.js";import"./VTextField-DEiVah7O.js";import"./VSelectionControl-CUlT3cc_.js";const Ge={name:"AdminTitleToolbar",components:{SettingsDrawerButton:$e},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}}};function Re(e,s,l,t,o,r){const a=v("SettingsDrawerButton");return m(),p(Be,{id:"titleBar",class:M(["codexToolbar",{drawerMargin:!r.mdAndDown}]),density:"compact",elevation:"8"},{default:f(()=>[i(Pe,{class:"codexToolbarTitle"},{default:f(()=>[j(" Codex Administration ")]),_:1}),(m(),p(a,{key:r.mdAndDown,class:M({invisible:!r.mdAndDown}),disabled:!r.mdAndDown},null,8,["class","disabled"]))]),_:1},8,["class"])}const Fe=x(Ge,[["render",Re],["__scopeId","data-v-355452b0"]]),Oe={name:"AdminSettingsPanel",components:{DrawerItem:re},data(){return{mdiBookshelf:ie}},computed:{...R(We,["lastRoute"])}};function Ne(e,s,l,t,o,r){const a=v("DrawerItem");return m(),p(a,{to:e.lastRoute,"prepend-icon":o.mdiBookshelf,title:"Browser"},null,8,["to","prepend-icon"])}const qe=x(Oe,[["render",Ne]]),He={name:"AdminSettingsDrawer",components:{SettingsDrawer:Ie,AdminSettingsPanel:qe},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{mdAndDown(e){e||this.setSettingsDrawerOpen(!0)}},mounted(){this.mdAndDown||this.setSettingsDrawerOpen(!0)},methods:{...J(le,["setSettingsDrawerOpen"])}};function Xe(e,s,l,t,o,r){const a=v("AdminSettingsPanel"),n=v("SettingsDrawer");return m(),p(n,{title:"Admin",temporary:r.mdAndDown},{panel:f(()=>[i(a)]),_:1},8,["temporary"])}const Ye=x(He,[["render",Xe]]),F=Symbol.for("vuetify:v-tabs"),je=B({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...K(de({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),Q=I()({name:"VTab",props:je(),setup(e,s){let{slots:l,attrs:t}=s;const{textColorClasses:o,textColorStyles:r}=ce(e,"sliderColor"),a=q(),n=q(),u=$(()=>e.direction==="horizontal"),_=$(()=>{var w,d;return((d=(w=a.value)==null?void 0:w.group)==null?void 0:d.isSelected.value)??!1});function L(w){var c,g;let{value:d}=w;if(d){const b=(g=(c=a.value)==null?void 0:c.$el.parentElement)==null?void 0:g.querySelector(".v-tab--selected .v-tab__slider"),U=n.value;if(!b||!U)return;const ee=getComputedStyle(b).color,y=b.getBoundingClientRect(),T=U.getBoundingClientRect(),C=u.value?"x":"y",D=u.value?"X":"Y",O=u.value?"right":"bottom",V=u.value?"width":"height",te=y[C],ae=T[C],S=te>ae?y[O]-T[O]:y[C]-T[C],se=Math.sign(S)>0?u.value?"right":"bottom":Math.sign(S)<0?u.value?"left":"top":"center",oe=(Math.abs(S)+(Math.sign(S)<0?y[V]:T[V]))/Math.max(y[V],T[V])||0,ne=y[V]/T[V]||0,N=1.5;me(U,{backgroundColor:[ee,"currentcolor"],transform:[`translate${D}(${S}px) scale${D}(${ne})`,`translate${D}(${S/N}px) scale${D}(${(oe-1)/N+1})`,"none"],transformOrigin:Array(3).fill(se)},{duration:225,easing:be})}}return W(()=>{const w=H.filterProps(e);return i(H,A({symbol:F,ref:a,class:["v-tab",e.class],style:e.style,tabindex:_.value?0:-1,role:"tab","aria-selected":String(_.value),active:!1},w,t,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":L}),{...l,default:()=>{var d;return i(P,null,[((d=l.default)==null?void 0:d.call(l))??e.text,!e.hideSlider&&i("div",{ref:n,class:["v-tab__slider",o.value],style:r.value},null)])}})}),ue({},a)}}),Je=B({...K(Le(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),Ke=I()({name:"VTabsWindow",props:Je(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:l}=s;const t=fe(F,null),o=Z(e,"modelValue"),r=$({get(){var a;return o.value!=null||!t?o.value:(a=t.items.value.find(n=>t.selected.value.includes(n.id)))==null?void 0:a.value},set(a){o.value=a}});return W(()=>{const a=z.filterProps(e);return i(z,A({_as:"VTabsWindow"},a,{modelValue:r.value,"onUpdate:modelValue":n=>r.value=n,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),l)}),{}}}),Ze=B({...Ue()},"VTabsWindowItem"),Qe=I()({name:"VTabsWindowItem",props:Ze(),setup(e,s){let{slots:l}=s;return W(()=>{const t=G.filterProps(e);return i(G,A({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),l)}),{}}});function et(e){return e?e.map(s=>Te(s)?s:{text:s,value:s}):[]}const tt=B({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...Ee({mandatory:"force",selectedClass:"v-tab-item--selected"}),...ve(),...pe()},"VTabs"),at=I()({name:"VTabs",props:tt(),emits:{"update:modelValue":e=>!0},setup(e,s){let{attrs:l,slots:t}=s;const o=Z(e,"modelValue"),r=$(()=>et(e.items)),{densityClasses:a}=we(e),{backgroundColorClasses:n,backgroundColorStyles:u}=ge(h(e,"bgColor")),{scopeId:_}=_e();return he({VTab:{color:h(e,"color"),direction:h(e,"direction"),stacked:h(e,"stacked"),fixed:h(e,"fixedTabs"),sliderColor:h(e,"sliderColor"),hideSlider:h(e,"hideSlider")}}),W(()=>{const L=Y.filterProps(e),w=!!(t.window||e.items.length>0);return i(P,null,[i(Y,A(L,{modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,class:["v-tabs",`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--stacked":e.stacked},a.value,n.value,e.class],style:[{"--v-tabs-height":ye(e.height)},u.value,e.style],role:"tablist",symbol:F},_,l),{default:()=>{var d;return[((d=t.default)==null?void 0:d.call(t))??r.value.map(c=>{var g;return((g=t.tab)==null?void 0:g.call(t,{item:c}))??i(Q,A(c,{key:c.text,value:c.value}),{default:t[`tab.${c.value}`]?()=>{var b;return(b=t[`tab.${c.value}`])==null?void 0:b.call(t,{item:c})}:void 0})})]}}),w&&i(Ke,A({modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,key:"tabs-window"},_),{default:()=>{var d;return[r.value.map(c=>{var g;return((g=t.item)==null?void 0:g.call(t,{item:c}))??i(Qe,{value:c.value},{default:()=>{var b;return(b=t[`item.${c.value}`])==null?void 0:b.call(t,{item:c})}})}),(d=t.window)==null?void 0:d.call(t)]}})])}),{}}}),st={name:"AdminTabs",data(){return{activeTab:"Libraries",tabs:["Users","Groups","Libraries","Flags","Tasks","Stats"]}},computed:{...R(E,["comicLibrariesEmpty"]),...Ve(E,{librariesLoaded:e=>!!e.libraries}),mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{$route(e){const l=e.path.split("/").at(-1);this.activeTab=Se.startCase(l)}},mounted(){this.librariesLoaded||this.loadTables(["Library"])},methods:{...J(E,["loadTables"])}},ot={id:"tabContainer"},nt={key:0,id:"noLibraries"};function rt(e,s,l,t,o,r){const a=v("router-view");return m(),k("div",ot,[i(at,{class:M(["adminTabs",{drawerMargin:!r.mdAndDown}]),grow:"","show-arrows":""},{default:f(()=>[(m(!0),k(P,null,X(o.tabs,n=>(m(),p(Q,{key:n,modelValue:o.activeTab,"onUpdate:modelValue":s[0]||(s[0]=u=>o.activeTab=u),to:n.toLowerCase()},{default:f(()=>[j(Ae(n),1)]),_:2},1032,["modelValue","to"]))),128))]),_:1},8,["class"]),i(z,{id:"tabItems",modelValue:o.activeTab,"onUpdate:modelValue":s[1]||(s[1]=n=>o.activeTab=n),touch:!1},{default:f(()=>[(m(!0),k(P,null,X(o.tabs,n=>(m(),p(a,{key:n},{default:f(({Component:u})=>[i(G,{value:n,class:"tabItemContainer"},{default:f(()=>[(m(),p(xe(u)))]),_:2},1032,["value"])]),_:2},1024))),128))]),_:1},8,["modelValue"]),e.comicLibrariesEmpty?Ce("",!0):(m(),k("div",nt," Codex has no libraries. Select the Libraries tab and add a comic library. "))])}const it=x(st,[["render",rt],["__scopeId","data-v-9a6023ab"]]),lt={name:"MainAdmin",components:{AdminTitleToolbar:Fe,AdminTabs:it,AdminSettingsDrawer:Ye,Unauthorized:Me},data(){return{mdiLogin:De}},computed:{...R(ke,["isUserAdmin"])}};function dt(e,s,l,t,o,r){const a=v("AdminTitleToolbar"),n=v("AdminTabs"),u=v("AdminSettingsDrawer"),_=v("Unauthorized");return e.isUserAdmin?(m(),p(ze,{key:0},{default:f(()=>[i(a),i(n),i(u)]),_:1})):(m(),p(_,{key:1}))}const Tt=x(lt,[["render",dt]]);export{Tt as default};
@@ -0,0 +1 @@
1
+ import{_ as x,Z as v,$ as m,Y as p,a0 as f,T as i,al as j,am as M,an as re,ao as ie,ap as R,X as J,E as le,F as B,aq as K,ar as de,P as I,as as ce,r as q,h as $,S as W,at as H,V as P,au as A,av as ue,aw as me,ax as be,i as fe,ay as Z,az as ve,aA as pe,aB as we,aC as ge,aD as h,aE as _e,aF as he,L as ye,aG as Te,D as E,W as Ve,l as Se,aH as k,aI as X,aJ as Ae,aK as xe,aL as Ce,aM as De,q as ke}from"./admin-drawer-panel-CnAnGx7w.js";import{S as $e,V as Pe,a as Be,b as Ie}from"./settings-drawer-XH4sNDNT.js";import{u as We}from"./main-BJiV8IG3.js";import{m as Le,V as z,a as Ue,b as G}from"./VWindowItem-BVIaHO-S.js";import{m as Ee,V as Y}from"./VSlideGroup-CRJazQeR.js";import{U as Me,V as ze}from"./unauthorized-BF45der6.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDialog-DUdNpXLj.js";import"./change-password-dialog-Du1bwEt1.js";import"./VTextField-DEiVah7O.js";import"./VSelectionControl-CUlT3cc_.js";const Ge={name:"AdminTitleToolbar",components:{SettingsDrawerButton:$e},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}}};function Re(e,s,l,t,o,r){const a=v("SettingsDrawerButton");return m(),p(Be,{id:"titleBar",class:M(["codexToolbar",{drawerMargin:!r.mdAndDown}]),density:"compact",elevation:"8"},{default:f(()=>[i(Pe,{class:"codexToolbarTitle"},{default:f(()=>[j(" Codex Administration ")]),_:1}),(m(),p(a,{key:r.mdAndDown,class:M({invisible:!r.mdAndDown}),disabled:!r.mdAndDown},null,8,["class","disabled"]))]),_:1},8,["class"])}const Fe=x(Ge,[["render",Re],["__scopeId","data-v-355452b0"]]),Oe={name:"AdminSettingsPanel",components:{DrawerItem:re},data(){return{mdiBookshelf:ie}},computed:{...R(We,["lastRoute"])}};function Ne(e,s,l,t,o,r){const a=v("DrawerItem");return m(),p(a,{to:e.lastRoute,"prepend-icon":o.mdiBookshelf,title:"Browser"},null,8,["to","prepend-icon"])}const qe=x(Oe,[["render",Ne]]),He={name:"AdminSettingsDrawer",components:{SettingsDrawer:Ie,AdminSettingsPanel:qe},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{mdAndDown(e){e||this.setSettingsDrawerOpen(!0)}},mounted(){this.mdAndDown||this.setSettingsDrawerOpen(!0)},methods:{...J(le,["setSettingsDrawerOpen"])}};function Xe(e,s,l,t,o,r){const a=v("AdminSettingsPanel"),n=v("SettingsDrawer");return m(),p(n,{title:"Admin",temporary:r.mdAndDown},{panel:f(()=>[i(a)]),_:1},8,["temporary"])}const Ye=x(He,[["render",Xe]]),F=Symbol.for("vuetify:v-tabs"),je=B({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...K(de({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),Q=I()({name:"VTab",props:je(),setup(e,s){let{slots:l,attrs:t}=s;const{textColorClasses:o,textColorStyles:r}=ce(e,"sliderColor"),a=q(),n=q(),u=$(()=>e.direction==="horizontal"),_=$(()=>{var w,d;return((d=(w=a.value)==null?void 0:w.group)==null?void 0:d.isSelected.value)??!1});function L(w){var c,g;let{value:d}=w;if(d){const b=(g=(c=a.value)==null?void 0:c.$el.parentElement)==null?void 0:g.querySelector(".v-tab--selected .v-tab__slider"),U=n.value;if(!b||!U)return;const ee=getComputedStyle(b).color,y=b.getBoundingClientRect(),T=U.getBoundingClientRect(),C=u.value?"x":"y",D=u.value?"X":"Y",O=u.value?"right":"bottom",V=u.value?"width":"height",te=y[C],ae=T[C],S=te>ae?y[O]-T[O]:y[C]-T[C],se=Math.sign(S)>0?u.value?"right":"bottom":Math.sign(S)<0?u.value?"left":"top":"center",oe=(Math.abs(S)+(Math.sign(S)<0?y[V]:T[V]))/Math.max(y[V],T[V])||0,ne=y[V]/T[V]||0,N=1.5;me(U,{backgroundColor:[ee,"currentcolor"],transform:[`translate${D}(${S}px) scale${D}(${ne})`,`translate${D}(${S/N}px) scale${D}(${(oe-1)/N+1})`,"none"],transformOrigin:Array(3).fill(se)},{duration:225,easing:be})}}return W(()=>{const w=H.filterProps(e);return i(H,A({symbol:F,ref:a,class:["v-tab",e.class],style:e.style,tabindex:_.value?0:-1,role:"tab","aria-selected":String(_.value),active:!1},w,t,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":L}),{...l,default:()=>{var d;return i(P,null,[((d=l.default)==null?void 0:d.call(l))??e.text,!e.hideSlider&&i("div",{ref:n,class:["v-tab__slider",o.value],style:r.value},null)])}})}),ue({},a)}}),Je=B({...K(Le(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),Ke=I()({name:"VTabsWindow",props:Je(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:l}=s;const t=fe(F,null),o=Z(e,"modelValue"),r=$({get(){var a;return o.value!=null||!t?o.value:(a=t.items.value.find(n=>t.selected.value.includes(n.id)))==null?void 0:a.value},set(a){o.value=a}});return W(()=>{const a=z.filterProps(e);return i(z,A({_as:"VTabsWindow"},a,{modelValue:r.value,"onUpdate:modelValue":n=>r.value=n,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),l)}),{}}}),Ze=B({...Ue()},"VTabsWindowItem"),Qe=I()({name:"VTabsWindowItem",props:Ze(),setup(e,s){let{slots:l}=s;return W(()=>{const t=G.filterProps(e);return i(G,A({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),l)}),{}}});function et(e){return e?e.map(s=>Te(s)?s:{text:s,value:s}):[]}const tt=B({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...Ee({mandatory:"force",selectedClass:"v-tab-item--selected"}),...ve(),...pe()},"VTabs"),at=I()({name:"VTabs",props:tt(),emits:{"update:modelValue":e=>!0},setup(e,s){let{attrs:l,slots:t}=s;const o=Z(e,"modelValue"),r=$(()=>et(e.items)),{densityClasses:a}=we(e),{backgroundColorClasses:n,backgroundColorStyles:u}=ge(h(e,"bgColor")),{scopeId:_}=_e();return he({VTab:{color:h(e,"color"),direction:h(e,"direction"),stacked:h(e,"stacked"),fixed:h(e,"fixedTabs"),sliderColor:h(e,"sliderColor"),hideSlider:h(e,"hideSlider")}}),W(()=>{const L=Y.filterProps(e),w=!!(t.window||e.items.length>0);return i(P,null,[i(Y,A(L,{modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,class:["v-tabs",`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--stacked":e.stacked},a.value,n.value,e.class],style:[{"--v-tabs-height":ye(e.height)},u.value,e.style],role:"tablist",symbol:F},_,l),{default:()=>{var d;return[((d=t.default)==null?void 0:d.call(t))??r.value.map(c=>{var g;return((g=t.tab)==null?void 0:g.call(t,{item:c}))??i(Q,A(c,{key:c.text,value:c.value}),{default:t[`tab.${c.value}`]?()=>{var b;return(b=t[`tab.${c.value}`])==null?void 0:b.call(t,{item:c})}:void 0})})]}}),w&&i(Ke,A({modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,key:"tabs-window"},_),{default:()=>{var d;return[r.value.map(c=>{var g;return((g=t.item)==null?void 0:g.call(t,{item:c}))??i(Qe,{value:c.value},{default:()=>{var b;return(b=t[`item.${c.value}`])==null?void 0:b.call(t,{item:c})}})}),(d=t.window)==null?void 0:d.call(t)]}})])}),{}}}),st={name:"AdminTabs",data(){return{activeTab:"Libraries",tabs:["Users","Groups","Libraries","Flags","Tasks","Stats"]}},computed:{...R(E,["comicLibrariesEmpty"]),...Ve(E,{librariesLoaded:e=>!!e.libraries}),mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{$route(e){const l=e.path.split("/").at(-1);this.activeTab=Se.startCase(l)}},mounted(){this.librariesLoaded||this.loadTables(["Library"])},methods:{...J(E,["loadTables"])}},ot={id:"tabContainer"},nt={key:0,id:"noLibraries"};function rt(e,s,l,t,o,r){const a=v("router-view");return m(),k("div",ot,[i(at,{class:M(["adminTabs",{drawerMargin:!r.mdAndDown}]),grow:"","show-arrows":""},{default:f(()=>[(m(!0),k(P,null,X(o.tabs,n=>(m(),p(Q,{key:n,modelValue:o.activeTab,"onUpdate:modelValue":s[0]||(s[0]=u=>o.activeTab=u),to:n.toLowerCase()},{default:f(()=>[j(Ae(n),1)]),_:2},1032,["modelValue","to"]))),128))]),_:1},8,["class"]),i(z,{id:"tabItems",modelValue:o.activeTab,"onUpdate:modelValue":s[1]||(s[1]=n=>o.activeTab=n),touch:!1},{default:f(()=>[(m(!0),k(P,null,X(o.tabs,n=>(m(),p(a,{key:n},{default:f(({Component:u})=>[i(G,{value:n,class:"tabItemContainer"},{default:f(()=>[(m(),p(xe(u)))]),_:2},1032,["value"])]),_:2},1024))),128))]),_:1},8,["modelValue"]),e.comicLibrariesEmpty?Ce("",!0):(m(),k("div",nt," Codex has no libraries. Select the Libraries tab and add a comic library. "))])}const it=x(st,[["render",rt],["__scopeId","data-v-9a6023ab"]]),lt={name:"MainAdmin",components:{AdminTitleToolbar:Fe,AdminTabs:it,AdminSettingsDrawer:Ye,Unauthorized:Me},data(){return{mdiLogin:De}},computed:{...R(ke,["isUserAdmin"])}};function dt(e,s,l,t,o,r){const a=v("AdminTitleToolbar"),n=v("AdminTabs"),u=v("AdminSettingsDrawer"),_=v("Unauthorized");return e.isUserAdmin?(m(),p(ze,{key:0},{default:f(()=>[i(a),i(n),i(u)]),_:1})):(m(),p(_,{key:1}))}const Tt=x(lt,[["render",dt]]);export{Tt as default};