From 185c4e22038ea0d5a1849732673f094512bf0934 Mon Sep 17 00:00:00 2001 From: MarSeventh <1193267292@qq.com> Date: Fri, 7 Mar 2025 00:24:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=9B=AE=E5=BD=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +- css/107.9e7de4c9.css.gz | Bin 6417 -> 0 bytes css/{107.9e7de4c9.css => 393.b006f9eb.css} | 2 +- css/393.b006f9eb.css.gz | Bin 0 -> 6463 bytes functions/api/manage/delete/[[path]].js | 46 +++++- functions/api/manage/list.js | 34 +++-- functions/api/manage/move/[[path]].js | 141 ++++++++++++++++++ functions/file/[[path]].js | 2 +- index.html | 2 +- index.html.gz | Bin 615 -> 616 bytes js/107.f02efbed.js.gz | Bin 38553 -> 0 bytes js/107.f02efbed.js.map | 1 - js/107.f02efbed.js.map.gz | Bin 86195 -> 0 bytes js/{107.f02efbed.js => 393.78f09ad0.js} | 4 +- js/393.78f09ad0.js.gz | Bin 0 -> 38893 bytes js/393.78f09ad0.js.map | 1 + js/393.78f09ad0.js.map.gz | Bin 0 -> 86984 bytes js/app.80a61b60.js.gz | Bin 715282 -> 0 bytes js/app.80a61b60.js.map.gz | Bin 1785791 -> 0 bytes js/{app.80a61b60.js => app.d162089f.js} | 6 +- js/app.d162089f.js.gz | Bin 0 -> 715285 bytes ...pp.80a61b60.js.map => app.d162089f.js.map} | 2 +- js/app.d162089f.js.map.gz | Bin 0 -> 1785790 bytes 23 files changed, 225 insertions(+), 24 deletions(-) delete mode 100644 css/107.9e7de4c9.css.gz rename css/{107.9e7de4c9.css => 393.b006f9eb.css} (87%) create mode 100644 css/393.b006f9eb.css.gz create mode 100644 functions/api/manage/move/[[path]].js delete mode 100644 js/107.f02efbed.js.gz delete mode 100644 js/107.f02efbed.js.map delete mode 100644 js/107.f02efbed.js.map.gz rename js/{107.f02efbed.js => 393.78f09ad0.js} (54%) create mode 100644 js/393.78f09ad0.js.gz create mode 100644 js/393.78f09ad0.js.map create mode 100644 js/393.78f09ad0.js.map.gz delete mode 100644 js/app.80a61b60.js.gz delete mode 100644 js/app.80a61b60.js.map.gz rename js/{app.80a61b60.js => app.d162089f.js} (99%) create mode 100644 js/app.d162089f.js.gz rename js/{app.80a61b60.js.map => app.d162089f.js.map} (99%) create mode 100644 js/app.d162089f.js.map.gz diff --git a/README.md b/README.md index 5f81d5b6..8318171d 100644 --- a/README.md +++ b/README.md @@ -905,11 +905,11 @@ Web端在登录页面输入你的**认证码**即可登录使用;API端需要 29. :white_check_mark:~~进行删除、加入白名单、加入黑名单等操作时,自动清除CF CDN缓存,避免延迟生效~~(2024.12.11已完成) 30. :white_check_mark:~~管理端批量选择时,记录用户选择的顺序~~(2024.12.20已完成) 31. :memo:上传图片支持自定义上传路径,支持相册功能 - - 文件夹删除功能 + - ~~文件夹删除功能~~(2025.3.6已完成) - 文件位置移动功能 - - 管理端加载更多数据时鬼打墙问题修复 - - 管理端批量操作适配文件夹 - - 管理端分页逻辑调整 + - ~~管理端加载更多数据时鬼打墙问题修复~~(2025.3.6已完成) + - ~~管理端批量操作适配文件夹~~(2025.3.6已完成) + - ~~管理端分页逻辑调整~~(2025.3.6已完成) 32. :white_check_mark:~~支持多个 Telegram Bot Token 负载均衡~~(2025.2.4已完成) 33. :white_check_mark:~~管理端提供详细的设置信息和设置方式引导~~(2025.2.5已完成) 34. :white_check_mark:~~Logo焕新、登录页面优化、设置提示项等多项展示效果优化~~(2025.2.2已完成) diff --git a/css/107.9e7de4c9.css.gz b/css/107.9e7de4c9.css.gz deleted file mode 100644 index 2df637a901fb8e139f9360c872dee62e106cc3b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6417 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 diff --git a/css/107.9e7de4c9.css b/css/393.b006f9eb.css similarity index 87% rename from css/107.9e7de4c9.css rename to css/393.b006f9eb.css index 546bcd10..7463fe30 100644 --- a/css/107.9e7de4c9.css +++ b/css/393.b006f9eb.css @@ -1 +1 @@ -.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{display:inline-flex;margin-right:32px;vertical-align:middle}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{justify-content:flex-start}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{display:block;height:auto;line-height:22px;margin-bottom:8px;text-align:left}.el-form-item__label-wrap{display:flex}.el-form-item__label{align-items:flex-start;box-sizing:border-box;color:var(--el-text-color-regular);display:inline-flex;flex:0 0 auto;font-size:var(--el-form-label-font-size);height:32px;justify-content:flex-end;line-height:32px;padding:0 12px 0 0}.el-form-item__content{align-items:center;display:flex;flex:1;flex-wrap:wrap;font-size:var(--font-size);line-height:32px;min-width:0;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;left:0;line-height:1;padding-top:2px;position:absolute;top:100%}.el-form-item__error--inline{display:inline-block;left:auto;margin-left:10px;position:relative;top:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{color:var(--el-color-danger);content:"*";margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{color:var(--el-color-danger);content:"*";margin-left:4px}.el-form-item.is-error .el-input__wrapper,.el-form-item.is-error .el-input__wrapper.is-focus,.el-form-item.is-error .el-input__wrapper:focus,.el-form-item.is-error .el-input__wrapper:hover,.el-form-item.is-error .el-select__wrapper,.el-form-item.is-error .el-select__wrapper.is-focus,.el-form-item.is-error .el-select__wrapper:focus,.el-form-item.is-error .el-select__wrapper:hover,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner.is-focus,.el-form-item.is-error .el-textarea__inner:focus,.el-form-item.is-error .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px transparent}.el-form-item.is-error .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-radio-group{flex-wrap:wrap;font-size:0}.el-radio,.el-radio-group{align-items:center;display:inline-flex}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);color:var(--el-radio-text-color);cursor:pointer;font-size:var(--el-font-size-base);font-weight:var(--el-radio-font-weight);height:32px;margin-right:30px;outline:none;position:relative;-webkit-user-select:none;user-select:none;white-space:nowrap}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.el-radio__input.is-disabled .el-radio__inner{border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled .el-radio__inner:after{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{background:var(--el-color-primary);border-color:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{background-color:var(--el-radio-input-bg-color);border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);box-sizing:border-box;cursor:pointer;display:inline-block;height:var(--el-radio-input-height);position:relative;width:var(--el-radio-input-width)}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{background-color:var(--el-color-white);border-radius:var(--el-radio-input-border-radius);content:"";height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in;width:4px}.el-radio__original{bottom:0;left:0;margin:0;opacity:0;outline:none;position:absolute;right:0;top:0;z-index:-1}.el-radio__original:focus-visible+.el-radio__inner{border-radius:var(--el-radio-input-border-radius);outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{height:12px;width:12px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:0.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{background:var(--el-popup-modal-bg-color);height:100%;left:0;opacity:var(--el-popup-modal-opacity);position:fixed;top:0;width:100%}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;margin:var(--el-dialog-margin-top,15vh) auto 50px;overflow-wrap:break-word;padding:var(--el-dialog-padding-primary);position:relative;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{bottom:0;left:0;margin:0;overflow:auto;position:fixed;right:0;top:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:48px;outline:none;padding:0;position:absolute;right:0;top:0;width:48px}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{color:var(--el-text-color-primary);font-size:var(--el-dialog-title-font-size);line-height:var(--el-dialog-font-line-height)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{box-sizing:border-box;padding-top:var(--el-dialog-padding-primary);text-align:right}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;color:var(--el-text-color-primary);font-size:var(--el-font-size-base)}.el-descriptions__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;font-size:14px;font-weight:400;line-height:23px;text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{background:var(--el-descriptions-item-bordered-label-background);color:var(--el-text-color-regular);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{align-items:center;display:flex;justify-content:space-between;margin:0 0 15px;padding:0;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);bottom:0;height:2px;left:0;list-style:none;position:absolute;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);z-index:1}.el-tabs__new-tab{align-items:center;border:1px solid var(--el-border-color);border-radius:3px;color:var(--el-text-color-primary);cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;line-height:20px;margin:10px 0 10px 10px;text-align:center;transition:all .15s;width:20px}.el-tabs__new-tab .is-icon-plus{height:inherit;transform:scale(.8);width:inherit}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:1 auto;margin-bottom:-1px;overflow:hidden;position:relative}.el-tabs__nav-wrap:after{background-color:var(--el-border-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%;z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;line-height:44px;position:absolute;text-align:center;width:20px}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;float:left;position:relative;transition:transform var(--el-transition-duration);white-space:nowrap;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{display:flex;min-width:100%}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{align-items:center;box-sizing:border-box;color:var(--el-text-color-primary);display:flex;font-size:var(--el-font-size-base);font-weight:500;height:var(--el-tabs-header-height);justify-content:center;list-style:none;padding:0 20px;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{border-radius:3px;box-shadow:0 0 2px 2px var(--el-color-primary) inset}.el-tabs__item .is-icon-close{border-radius:50%;margin-left:5px;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--el-color-primary)}.el-tabs__item:hover{cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;overflow:hidden;position:relative}.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{font-size:12px;height:14px;overflow:hidden;position:relative;right:-2px;transform-origin:100% 50%;width:0}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{border:1px solid transparent;color:var(--el-text-color-secondary);margin-top:-1px;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:var(--el-bg-color-overlay);border-left-color:var(--el-border-color);border-right-color:var(--el-border-color);color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-bottom:0;margin-top:-1px}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{bottom:auto;height:auto;top:0;width:2px}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{cursor:pointer;height:30px;line-height:30px;text-align:center;width:100%}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{bottom:auto;height:100%;top:0;width:2px}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row-reverse}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-bottom:none;border-left:none;border-right:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-radius:4px 0 0 4px;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:1px solid #fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.el-tabs--top{flex-direction:column-reverse}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);left:0;position:absolute;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);left:0;position:absolute;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform:translateX(100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInRight-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(100%);transform-origin:0 0}}@keyframes slideInLeft-enter{0%{opacity:0;transform:translateX(-100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInLeft-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(-100%);transform-origin:0 0}}.el-container{box-sizing:border-box;display:flex;flex:1;flex-basis:auto;flex-direction:row;min-width:0}.el-container.is-vertical{flex-direction:column}.el-aside{overflow:auto;width:var(--el-aside-width,300px)}.el-aside,.el-footer{box-sizing:border-box;flex-shrink:0}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;height:var(--el-footer-height);padding:var(--el-footer-padding)}.el-main{--el-main-padding:20px;box-sizing:border-box;display:block;flex:1;flex-basis:auto;overflow:auto;padding:var(--el-main-padding)}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);background-color:var(--el-card-bg-color);border:1px solid var(--el-card-border-color);border-radius:var(--el-card-border-radius);color:var(--el-text-color-primary);overflow:hidden;transition:var(--el-transition-duration)}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{border-top:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{content:"";display:table}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);font-weight:700;margin:0 9px}.el-breadcrumb__separator.el-icon{font-weight:400;margin:0 6px}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{align-items:center;display:inline-flex;float:left}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{color:var(--el-text-color-primary);font-weight:700;text-decoration:none;transition:var(--el-transition-color)}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.container[data-v-51bd8647]{background:var(--admin-container-bg-color);min-height:100vh;font-family:Arial,sans-serif;color:var(--admin-container-color);margin:0;padding:0}[data-v-51bd8647] .el-dialog{border-radius:12px;background-color:var(--dialog-bg-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--dialog-box-shadow)}.header-content[data-v-51bd8647]{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:var(--admin-header-content-bg-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--admin-header-content-border-bottom);box-shadow:var(--admin-header-content-box-shadow);transition:background-color .5s ease,box-shadow .5s ease;border-bottom-left-radius:10px;border-bottom-right-radius:10px;position:fixed;top:0;left:50%;transform:translateX(-50%);width:95%;z-index:1000;min-height:45px}@media (max-width:768px){.header-content[data-v-51bd8647]{flex-direction:column}}.header-content[data-v-51bd8647]:hover{background-color:var(--admin-header-content-hover-bg-color);box-shadow:var(--admin-header-content-hover-box-shadow)}.header-icon[data-v-51bd8647]{font-size:1.5em;cursor:pointer;transition:all .3s ease;color:var(--admin-container-color);outline:none}.header-icon[data-v-51bd8647]:hover{color:var(--admin-purple);transform:scale(1.2)}.stats[data-v-51bd8647]{font-size:1.2em;margin-right:20px;display:flex;align-items:center;background:var(--admin-dashborad-stats-bg-color);padding:5px 10px;border-radius:10px;box-shadow:var(--admin-dashboard-stats-shadow);transition:background-color .3s ease,box-shadow .3s ease;color:var(--admin-container-color)}@media (max-width:768px){.stats[data-v-51bd8647]{margin-right:0;margin-top:10px}}.stats .fa-database[data-v-51bd8647]{margin-right:10px;font-size:1.5em;transition:color .3s ease;color:inherit}.stats[data-v-51bd8647]:hover{background-color:var(--admin-dashborad-stats-hover-bg-color);box-shadow:var(--admin-dashboard-stats-hover-shadow);color:var(--admin-purple)}.stats:hover .fa-database[data-v-51bd8647]{color:var(--admin-purple)}.header-content .actions[data-v-51bd8647]{display:flex;align-items:center;gap:15px}@media (max-width:768px){.header-content .actions[data-v-51bd8647]{margin-top:10px}}.header-content .actions i[data-v-51bd8647]{font-size:1.5em;cursor:pointer;transition:color .3s,transform .3s;color:var(--admin-container-color)}.header-content .actions i[data-v-51bd8647]:hover{color:var(--admin-purple);transform:scale(1.2)}.header-content .actions .el-dropdown-link i[data-v-51bd8647]{color:var(--admin-container-color)}.header-content .actions .el-dropdown-link i[data-v-51bd8647]:hover{color:var(--admin-purple)}.header-content .actions .disabled[data-v-51bd8647]{color:#bbb;pointer-events:none}.header-content .actions .enabled[data-v-51bd8647]{color:var(--admin-purple)}.search-card[data-v-51bd8647]{margin-left:auto;margin-right:20px}@media (max-width:768px){.search-card[data-v-51bd8647]{margin-right:0;margin-left:0;margin-top:10px}}.search-card[data-v-51bd8647] .el-input__wrapper{border-radius:20px;background:var(--admin-dashboard-search-card-bg-color);box-shadow:var(--admin-dashboard-search-card-box-shadow);transition:background-color .3s}.search-card[data-v-51bd8647] .el-input__inner{width:300px;height:40px;font-size:1.2em;border:none;transition:width .3s;background:none}@media (max-width:768px){.search-card[data-v-51bd8647] .el-input__inner{width:60vw}}.search-card[data-v-51bd8647] .el-input__inner:focus{width:400px}@media (max-width:768px){.search-card[data-v-51bd8647] .el-input__inner:focus{width:80vw}}.main-container[data-v-51bd8647]{display:flex;flex-direction:column;padding:20px 60px;min-height:calc(100vh - 80px)}@media (max-width:768px){.main-container[data-v-51bd8647]{margin-top:18vh}}.content[data-v-51bd8647]{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:20px;padding:10px;padding-bottom:0;flex-grow:1;min-height:80vh}@media (max-width:768px){.content[data-v-51bd8647]{grid-template-columns:1fr;grid-template-rows:none}}.img-card[data-v-51bd8647]{width:100%;background:var(--admin-dashboard-imgcard-bg-color);border-radius:8px;box-shadow:var(--admin-dashboard-imgcard-shadow);overflow:hidden;position:relative;transition:transform .3s ease}.img-card[data-v-51bd8647]:hover{transform:scale(1.05)}.image-preview[data-v-51bd8647]{width:100%;height:18vh;-o-object-fit:cover;object-fit:cover;transition:opacity .3s ease;filter:var(--image-preview-filter)}.image-preview[data-v-51bd8647]:hover{opacity:.8}.file-short-info[data-v-51bd8647]{position:absolute;z-index:10;top:3px;left:3px;display:flex;gap:5px;align-items:start}.success-tag[data-v-51bd8647]{background-color:rgba(129,251,129,.3);color:rgba(57,174,21,.8);border:.5px solid rgba(60,255,0,.1);padding:2px 5px;border-radius:5px;font-size:.6em}.fail-tag[data-v-51bd8647]{background-color:rgba(255,0,0,.3);color:rgba(255,0,0,.8);border:.5px solid rgba(255,0,0,.1);padding:2px 5px;border-radius:5px;font-size:.6em}.info-tag[data-v-51bd8647]{background-color:hsla(0,0%,43%,.3);color:hsla(0,0%,43%,.8);border:.5px solid hsla(0,0%,43%,.1);padding:2px 5px;border-radius:5px;font-size:.6em}.file-preview[data-v-51bd8647]{width:100%;height:18vh}.file-icon[data-v-51bd8647]{height:40px;position:relative;top:6vh;opacity:.6}.file-icon-detail[data-v-51bd8647]{height:40px}.file-info[data-v-51bd8647]{padding:10px;color:#fff;text-align:center;bottom:0;box-sizing:border-box}.file-info[data-v-51bd8647],.image-overlay[data-v-51bd8647]{background:rgba(0,0,0,.6);position:absolute;left:0;width:100%;display:flex;justify-content:center;align-items:center}.image-overlay[data-v-51bd8647]{top:0;height:100%;opacity:0;transition:opacity .3s ease;pointer-events:none}.el-card:hover .image-overlay[data-v-51bd8647]{opacity:1}.overlay-buttons[data-v-51bd8647]{display:flex;pointer-events:auto}.pagination-container[data-v-51bd8647]{display:flex;justify-content:center;margin-top:20px;padding-bottom:20px}.load-more[data-v-51bd8647],.refresh-btn[data-v-51bd8647]{cursor:pointer;background-color:var(--admin-dashboard-btn-bg-color);box-shadow:var(--admin-dashboard-btn-shadow);color:var(--admin-dashboard-btn-color);border:none;transition:color .3s;margin-left:20px}.el-checkbox[data-v-51bd8647]{position:absolute;top:10px;right:10px;transform:scale(1.5);z-index:10}.video-preview[data-v-51bd8647]{width:100%;height:18vh;display:block;cursor:pointer}[data-v-51bd8647] .description-item{word-break:break-all;word-wrap:break-word}.detail-actions[data-v-51bd8647]{display:flex;justify-content:right;margin-bottom:10px}@media (max-width:768px){.detail-actions[data-v-51bd8647]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-action[data-v-51bd8647]{margin-left:0}}[data-v-51bd8647] .btn-prev{left:18px}[data-v-51bd8647] .btn-next,[data-v-51bd8647] .btn-prev{border-radius:100%;position:fixed;top:50%;scale:1.3;color:var(--admin-dashboard-btn-color)}[data-v-51bd8647] .btn-next{right:18px}@media (min-width:768px){[data-v-51bd8647] .el-pagination.is-background .btn-next,[data-v-51bd8647] .el-pagination.is-background .btn-prev{background-color:var(--admin-dashboard-btn-bg-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--admin-dashboard-btn-shadow);transition:all .3s ease}[data-v-51bd8647] .el-pagination.is-background .btn-next:hover,[data-v-51bd8647] .el-pagination.is-background .btn-prev:hover{transform:translateY(-10%);box-shadow:var(--admin-dashboard-btn-hover-shadow)}}.question-icon[data-v-51bd8647]{margin:0 3px}.breadcrumb[data-v-51bd8647]{padding:15px;background-color:var(--el-bg-color);border-radius:8px;font-size:1.2em;box-shadow:var(--admin-dashboard-stats-shadow);transition:all .3s ease}.breadcrumb[data-v-51bd8647]:hover{transform:translateY(-2px);box-shadow:var(--admin-dashboard-stats-hover-shadow)}.folder-card[data-v-51bd8647]{cursor:pointer;transition:all .3s}.folder-card[data-v-51bd8647]:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.folder-icon[data-v-51bd8647]{display:flex;justify-content:center;align-items:center;width:100%;height:18vh;color:var(--el-color-primary)}[data-v-51bd8647] .el-breadcrumb__item{cursor:pointer}[data-v-51bd8647] .el-breadcrumb__inner:hover{color:var(--el-color-primary)} \ No newline at end of file +.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{display:inline-flex;margin-right:32px;vertical-align:middle}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{justify-content:flex-start}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{display:block;height:auto;line-height:22px;margin-bottom:8px;text-align:left}.el-form-item__label-wrap{display:flex}.el-form-item__label{align-items:flex-start;box-sizing:border-box;color:var(--el-text-color-regular);display:inline-flex;flex:0 0 auto;font-size:var(--el-form-label-font-size);height:32px;justify-content:flex-end;line-height:32px;padding:0 12px 0 0}.el-form-item__content{align-items:center;display:flex;flex:1;flex-wrap:wrap;font-size:var(--font-size);line-height:32px;min-width:0;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;left:0;line-height:1;padding-top:2px;position:absolute;top:100%}.el-form-item__error--inline{display:inline-block;left:auto;margin-left:10px;position:relative;top:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{color:var(--el-color-danger);content:"*";margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{color:var(--el-color-danger);content:"*";margin-left:4px}.el-form-item.is-error .el-input__wrapper,.el-form-item.is-error .el-input__wrapper.is-focus,.el-form-item.is-error .el-input__wrapper:focus,.el-form-item.is-error .el-input__wrapper:hover,.el-form-item.is-error .el-select__wrapper,.el-form-item.is-error .el-select__wrapper.is-focus,.el-form-item.is-error .el-select__wrapper:focus,.el-form-item.is-error .el-select__wrapper:hover,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner.is-focus,.el-form-item.is-error .el-textarea__inner:focus,.el-form-item.is-error .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px transparent}.el-form-item.is-error .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-radio-group{flex-wrap:wrap;font-size:0}.el-radio,.el-radio-group{align-items:center;display:inline-flex}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);color:var(--el-radio-text-color);cursor:pointer;font-size:var(--el-font-size-base);font-weight:var(--el-radio-font-weight);height:32px;margin-right:30px;outline:none;position:relative;-webkit-user-select:none;user-select:none;white-space:nowrap}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.el-radio__input.is-disabled .el-radio__inner{border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled .el-radio__inner:after{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{background:var(--el-color-primary);border-color:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{background-color:var(--el-radio-input-bg-color);border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);box-sizing:border-box;cursor:pointer;display:inline-block;height:var(--el-radio-input-height);position:relative;width:var(--el-radio-input-width)}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{background-color:var(--el-color-white);border-radius:var(--el-radio-input-border-radius);content:"";height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in;width:4px}.el-radio__original{bottom:0;left:0;margin:0;opacity:0;outline:none;position:absolute;right:0;top:0;z-index:-1}.el-radio__original:focus-visible+.el-radio__inner{border-radius:var(--el-radio-input-border-radius);outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{height:12px;width:12px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:0.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{background:var(--el-popup-modal-bg-color);height:100%;left:0;opacity:var(--el-popup-modal-opacity);position:fixed;top:0;width:100%}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;margin:var(--el-dialog-margin-top,15vh) auto 50px;overflow-wrap:break-word;padding:var(--el-dialog-padding-primary);position:relative;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{bottom:0;left:0;margin:0;overflow:auto;position:fixed;right:0;top:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:48px;outline:none;padding:0;position:absolute;right:0;top:0;width:48px}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{color:var(--el-text-color-primary);font-size:var(--el-dialog-title-font-size);line-height:var(--el-dialog-font-line-height)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{box-sizing:border-box;padding-top:var(--el-dialog-padding-primary);text-align:right}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;color:var(--el-text-color-primary);font-size:var(--el-font-size-base)}.el-descriptions__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;font-size:14px;font-weight:400;line-height:23px;text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{background:var(--el-descriptions-item-bordered-label-background);color:var(--el-text-color-regular);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{align-items:center;display:flex;justify-content:space-between;margin:0 0 15px;padding:0;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);bottom:0;height:2px;left:0;list-style:none;position:absolute;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);z-index:1}.el-tabs__new-tab{align-items:center;border:1px solid var(--el-border-color);border-radius:3px;color:var(--el-text-color-primary);cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;line-height:20px;margin:10px 0 10px 10px;text-align:center;transition:all .15s;width:20px}.el-tabs__new-tab .is-icon-plus{height:inherit;transform:scale(.8);width:inherit}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:1 auto;margin-bottom:-1px;overflow:hidden;position:relative}.el-tabs__nav-wrap:after{background-color:var(--el-border-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%;z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;line-height:44px;position:absolute;text-align:center;width:20px}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;float:left;position:relative;transition:transform var(--el-transition-duration);white-space:nowrap;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{display:flex;min-width:100%}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{align-items:center;box-sizing:border-box;color:var(--el-text-color-primary);display:flex;font-size:var(--el-font-size-base);font-weight:500;height:var(--el-tabs-header-height);justify-content:center;list-style:none;padding:0 20px;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{border-radius:3px;box-shadow:0 0 2px 2px var(--el-color-primary) inset}.el-tabs__item .is-icon-close{border-radius:50%;margin-left:5px;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--el-color-primary)}.el-tabs__item:hover{cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;overflow:hidden;position:relative}.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{font-size:12px;height:14px;overflow:hidden;position:relative;right:-2px;transform-origin:100% 50%;width:0}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{border:1px solid transparent;color:var(--el-text-color-secondary);margin-top:-1px;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:var(--el-bg-color-overlay);border-left-color:var(--el-border-color);border-right-color:var(--el-border-color);color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-bottom:0;margin-top:-1px}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{bottom:auto;height:auto;top:0;width:2px}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{cursor:pointer;height:30px;line-height:30px;text-align:center;width:100%}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{bottom:auto;height:100%;top:0;width:2px}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row-reverse}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-bottom:none;border-left:none;border-right:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-radius:4px 0 0 4px;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:1px solid #fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.el-tabs--top{flex-direction:column-reverse}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);left:0;position:absolute;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);left:0;position:absolute;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform:translateX(100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInRight-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(100%);transform-origin:0 0}}@keyframes slideInLeft-enter{0%{opacity:0;transform:translateX(-100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInLeft-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(-100%);transform-origin:0 0}}.el-container{box-sizing:border-box;display:flex;flex:1;flex-basis:auto;flex-direction:row;min-width:0}.el-container.is-vertical{flex-direction:column}.el-aside{overflow:auto;width:var(--el-aside-width,300px)}.el-aside,.el-footer{box-sizing:border-box;flex-shrink:0}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;height:var(--el-footer-height);padding:var(--el-footer-padding)}.el-main{--el-main-padding:20px;box-sizing:border-box;display:block;flex:1;flex-basis:auto;overflow:auto;padding:var(--el-main-padding)}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);background-color:var(--el-card-bg-color);border:1px solid var(--el-card-border-color);border-radius:var(--el-card-border-radius);color:var(--el-text-color-primary);overflow:hidden;transition:var(--el-transition-duration)}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{border-top:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{content:"";display:table}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);font-weight:700;margin:0 9px}.el-breadcrumb__separator.el-icon{font-weight:400;margin:0 6px}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{align-items:center;display:inline-flex;float:left}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{color:var(--el-text-color-primary);font-weight:700;text-decoration:none;transition:var(--el-transition-color)}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.container[data-v-2a7099fc]{background:var(--admin-container-bg-color);min-height:100vh;font-family:Arial,sans-serif;color:var(--admin-container-color);margin:0;padding:0}[data-v-2a7099fc] .el-dialog{border-radius:12px;background-color:var(--dialog-bg-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--dialog-box-shadow)}.header-content[data-v-2a7099fc]{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:var(--admin-header-content-bg-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--admin-header-content-border-bottom);box-shadow:var(--admin-header-content-box-shadow);transition:background-color .5s ease,box-shadow .5s ease;border-bottom-left-radius:10px;border-bottom-right-radius:10px;position:fixed;top:0;left:50%;transform:translateX(-50%);width:95%;z-index:1000;min-height:45px}@media (max-width:768px){.header-content[data-v-2a7099fc]{flex-direction:column}}.header-content[data-v-2a7099fc]:hover{background-color:var(--admin-header-content-hover-bg-color);box-shadow:var(--admin-header-content-hover-box-shadow)}.header-icon[data-v-2a7099fc]{font-size:1.5em;cursor:pointer;transition:all .3s ease;color:var(--admin-container-color);outline:none}.header-icon[data-v-2a7099fc]:hover{color:var(--admin-purple);transform:scale(1.2)}.stats[data-v-2a7099fc]{font-size:1.2em;margin-right:20px;display:flex;align-items:center;background:var(--admin-dashborad-stats-bg-color);padding:5px 10px;border-radius:10px;box-shadow:var(--admin-dashboard-stats-shadow);transition:background-color .3s ease,box-shadow .3s ease;color:var(--admin-container-color)}@media (max-width:768px){.stats[data-v-2a7099fc]{margin-right:0;margin-top:10px}}.stats .fa-database[data-v-2a7099fc]{margin-right:10px;font-size:1.5em;transition:color .3s ease;color:inherit}.stats[data-v-2a7099fc]:hover{background-color:var(--admin-dashborad-stats-hover-bg-color);box-shadow:var(--admin-dashboard-stats-hover-shadow);color:var(--admin-purple)}.stats:hover .fa-database[data-v-2a7099fc]{color:var(--admin-purple)}.header-content .actions[data-v-2a7099fc]{display:flex;align-items:center;gap:15px}@media (max-width:768px){.header-content .actions[data-v-2a7099fc]{margin-top:10px}}.header-content .actions i[data-v-2a7099fc]{font-size:1.5em;cursor:pointer;transition:color .3s,transform .3s;color:var(--admin-container-color)}.header-content .actions i[data-v-2a7099fc]:hover{color:var(--admin-purple);transform:scale(1.2)}.header-content .actions .el-dropdown-link i[data-v-2a7099fc]{color:var(--admin-container-color)}.header-content .actions .el-dropdown-link i[data-v-2a7099fc]:hover{color:var(--admin-purple)}.header-content .actions .disabled[data-v-2a7099fc]{color:#bbb;pointer-events:none}.header-content .actions .enabled[data-v-2a7099fc]{color:var(--admin-purple)}.search-card[data-v-2a7099fc]{margin-left:auto;margin-right:20px}@media (max-width:768px){.search-card[data-v-2a7099fc]{margin-right:0;margin-left:0;margin-top:10px}}.search-card[data-v-2a7099fc] .el-input__wrapper{border-radius:20px;background:var(--admin-dashboard-search-card-bg-color);box-shadow:var(--admin-dashboard-search-card-box-shadow);transition:background-color .3s}.search-card[data-v-2a7099fc] .el-input__inner{width:300px;height:40px;font-size:1.2em;border:none;transition:width .3s;background:none}@media (max-width:768px){.search-card[data-v-2a7099fc] .el-input__inner{width:60vw}}.search-card[data-v-2a7099fc] .el-input__inner:focus{width:400px}@media (max-width:768px){.search-card[data-v-2a7099fc] .el-input__inner:focus{width:80vw}}.main-container[data-v-2a7099fc]{display:flex;flex-direction:column;padding:20px 60px;min-height:calc(100vh - 80px)}@media (max-width:768px){.main-container[data-v-2a7099fc]{margin-top:18vh}}.content[data-v-2a7099fc]{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:20px;padding:10px;padding-bottom:0;flex-grow:1;min-height:80vh}@media (max-width:768px){.content[data-v-2a7099fc]{grid-template-columns:1fr;grid-template-rows:none}}.img-card[data-v-2a7099fc]{width:100%;background:var(--admin-dashboard-imgcard-bg-color);border-radius:8px;box-shadow:var(--admin-dashboard-imgcard-shadow);overflow:hidden;position:relative;transition:transform .3s ease}.img-card[data-v-2a7099fc]:hover{transform:scale(1.05)}.image-preview[data-v-2a7099fc]{width:100%;height:18vh;-o-object-fit:cover;object-fit:cover;transition:opacity .3s ease;filter:var(--image-preview-filter)}.image-preview[data-v-2a7099fc]:hover{opacity:.8}.file-short-info[data-v-2a7099fc]{position:absolute;z-index:10;top:3px;left:3px;display:flex;gap:5px;align-items:start}.success-tag[data-v-2a7099fc]{background-color:rgba(129,251,129,.3);color:rgba(57,174,21,.8);border:.5px solid rgba(60,255,0,.1);padding:2px 5px;border-radius:5px;font-size:.6em}.fail-tag[data-v-2a7099fc]{background-color:rgba(255,0,0,.3);color:rgba(255,0,0,.8);border:.5px solid rgba(255,0,0,.1);padding:2px 5px;border-radius:5px;font-size:.6em}.info-tag[data-v-2a7099fc]{background-color:hsla(0,0%,43%,.3);color:hsla(0,0%,43%,.8);border:.5px solid hsla(0,0%,43%,.1);padding:2px 5px;border-radius:5px;font-size:.6em}.file-preview[data-v-2a7099fc]{width:100%;height:18vh}.file-icon[data-v-2a7099fc]{height:40px;position:relative;top:6vh;opacity:.6}.file-icon-detail[data-v-2a7099fc]{height:40px}.file-info[data-v-2a7099fc]{padding:10px;color:#fff;text-align:center;bottom:0;box-sizing:border-box}.file-info[data-v-2a7099fc],.image-overlay[data-v-2a7099fc]{background:rgba(0,0,0,.6);position:absolute;left:0;width:100%;display:flex;justify-content:center;align-items:center}.image-overlay[data-v-2a7099fc]{top:0;height:100%;opacity:0;transition:opacity .3s ease;pointer-events:none}.el-card:hover .image-overlay[data-v-2a7099fc]{opacity:1}.overlay-buttons[data-v-2a7099fc]{display:flex;pointer-events:auto}.pagination-container[data-v-2a7099fc]{display:flex;justify-content:center;margin-top:20px;padding-bottom:20px}.load-more[data-v-2a7099fc],.refresh-btn[data-v-2a7099fc]{cursor:pointer;background-color:var(--admin-dashboard-btn-bg-color);box-shadow:var(--admin-dashboard-btn-shadow);color:var(--admin-dashboard-btn-color);border:none;transition:color .3s;margin-left:20px}.el-checkbox[data-v-2a7099fc]{position:absolute;top:10px;right:10px;transform:scale(1.5);z-index:10}.video-preview[data-v-2a7099fc]{width:100%;height:18vh;display:block;cursor:pointer}[data-v-2a7099fc] .description-item{word-break:break-all;word-wrap:break-word}.detail-actions[data-v-2a7099fc]{display:flex;justify-content:right;margin-bottom:10px}@media (max-width:768px){.detail-actions[data-v-2a7099fc]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-action[data-v-2a7099fc]{margin-left:0}}[data-v-2a7099fc] .btn-prev{left:18px}[data-v-2a7099fc] .btn-next,[data-v-2a7099fc] .btn-prev{border-radius:100%;position:fixed;top:50%;scale:1.3;color:var(--admin-dashboard-btn-color)}[data-v-2a7099fc] .btn-next{right:18px}@media (min-width:768px){[data-v-2a7099fc] .el-pagination.is-background .btn-next,[data-v-2a7099fc] .el-pagination.is-background .btn-prev{background-color:var(--admin-dashboard-btn-bg-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--admin-dashboard-btn-shadow);transition:all .3s ease}[data-v-2a7099fc] .el-pagination.is-background .btn-next:hover,[data-v-2a7099fc] .el-pagination.is-background .btn-prev:hover{transform:translateY(-10%);box-shadow:var(--admin-dashboard-btn-hover-shadow)}}.question-icon[data-v-2a7099fc]{margin:0 3px}.breadcrumb[data-v-2a7099fc]{padding:15px;background-color:var(--el-bg-color);border-radius:8px;font-size:1.2em;box-shadow:var(--admin-dashboard-stats-shadow);transition:all .3s ease}.breadcrumb[data-v-2a7099fc]:hover{transform:translateY(-2px);box-shadow:var(--admin-dashboard-stats-hover-shadow)}.folder-card[data-v-2a7099fc]{cursor:pointer;transition:all .3s}.folder-card[data-v-2a7099fc]:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.folder-icon[data-v-2a7099fc]{display:flex;justify-content:center;align-items:center;width:100%;height:18vh;color:var(--el-color-primary)}.folder-overlay[data-v-2a7099fc]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:end;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}.folder-card:hover .folder-overlay[data-v-2a7099fc]{opacity:1}.folder-actions[data-v-2a7099fc]{position:absolute;bottom:20%;display:flex;pointer-events:auto}[data-v-2a7099fc] .el-breadcrumb__item{cursor:pointer}[data-v-2a7099fc] .el-breadcrumb__inner:hover{color:var(--el-color-primary)} \ No newline at end of file diff --git a/css/393.b006f9eb.css.gz b/css/393.b006f9eb.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..54eb93dfa66282c1d22bcf9fa039c7b2aeebda6d GIT binary patch literal 6463 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 { + return b.metadata.TimeStamp - a.metadata.TimeStamp; + }); // 解析目录下的文件和子目录 let filteredRecords = []; @@ -27,15 +38,15 @@ export async function onRequest(context) { filteredRecords.push(record); } else { // 该目录下的子文件夹 - subdirectories.add(parts[0]); + if (dir === '' || dir.endsWith('/')) { + subdirectories.add(dir + parts[0]); + } else { + subdirectories.add(dir + '/' + parts[0]); + } + } } - } } - // 按照 metadata 中的时间戳倒序排序 - filteredRecords.sort((a, b) => { - return b.metadata.TimeStamp - a.metadata.TimeStamp; - }); // sum 参数为 true 时,只返回数据总数 if (count === -1 && sum === 'true') { @@ -67,13 +78,18 @@ export async function onRequest(context) { }); } -async function getAllRecords(env) { +async function getAllRecords(env, dir) { + // 按前缀列出所有文件 let allRecords = []; let cursor = null; while (true) { const limit = 1000; - const response = await env.img_url.list({ limit, cursor }); + const response = await env.img_url.list({ + prefix: dir, + limit: limit, + cursor: cursor + }); cursor = response.cursor; const filteredRecords = response.keys.filter(item => !item.name.startsWith("manage@")); diff --git a/functions/api/manage/move/[[path]].js b/functions/api/manage/move/[[path]].js new file mode 100644 index 00000000..7b711634 --- /dev/null +++ b/functions/api/manage/move/[[path]].js @@ -0,0 +1,141 @@ +import { S3Client, DeleteObjectCommand } from "@aws-sdk/client-s3"; +import { purgeCFCache } from "../../../utils/purgeCache"; + +export async function onRequest(context) { + // Contents of context object + const { + request, // same as existing Worker API + env, // same as existing Worker API + params, // if filename includes [id] or [[path]] + waitUntil, // same as ctx.waitUntil in existing Worker API + next, // used for middleware or to fetch assets + data, // arbitrary space for passing data between middlewares + } = context; + + const url = new URL(request.url); + + // 读取目标文件夹 + const dist = url.searchParams.get('dist') + ? url.searchParams.get('dist').replace(/^\/+/, '') // 移除开头的/ + .replace(/\/{2,}/g, '/') // 替换多个连续的/为单个/ + .replace(/\/$/, '') // 移除末尾的/ + : ''; + + // 读取folder参数,判断是否为文件夹删除请求 + const folder = url.searchParams.get('folder'); + if (folder === 'true') { + try { + // 调用list API获取指定目录下的所有文件 + const folderPath = params.path.join('/'); + + const listUrl = new URL(`${url.origin}/api/manage/list?count=-1&dir=${folderPath}`); + const listRequest = new Request(listUrl, request); + + const listResponse = await fetch(listRequest); + const listData = await listResponse.json(); + + const files = listData.files; + // 调用move API移动文件夹下的所有文件 + for (const file of files) { + const encodedFileName = encodeURIComponent(file.name); + + const moveUrl = new URL(`${url.origin}/api/manage/move/${encodedFileName}?dist=${dist}`); + const moveRequest = new Request(moveUrl, request); + + await fetch(moveRequest); + } + + const directories = listData.directories; + // 调用move API移动所有子文件夹 + for (const dir of directories) { + const encodedDir = encodeURIComponent(dir); + + const moveUrl = new URL(`${url.origin}/api/manage/move/${encodedDir}?dist=${dist}&folder=true`); + const moveRequest = new Request(moveUrl, request); + + await fetch(moveRequest); + } + + // 返回成功信息 + return new Response('Folder Moved'); + + } catch (e) { + return new Response('Error: Move Folder Failed', { status: 400 }); + } + } + + // 组装 CDN URL + const cdnPath = url.pathname.replace('/api/manage/move/', ''); + const cdnUrl = `https://${url.hostname}/file/${cdnPath}`; + + // 从params中获取图片ID + let fileId = ''; + try { + // 解码params.path + params.path = decodeURIComponent(params.path); + // 从path中提取文件ID + fileId = params.path.split(',').join('/'); + } catch (e) { + return new Response('Error: Decode Image ID Failed', { status: 400 }); + } + + // 读取文件名 + const fileKey = fileId.split('/').pop(); + const newFileId = dist === '' ? fileKey : `${dist}/${fileKey}`; + + try { + // 读取图片信息 + const img = await env.img_url.getWithMetadata(fileId); + + // 如果是R2渠道的图片,需要移动R2中对应的图片 + if (img.metadata?.Channel === 'CloudflareR2') { + const R2DataBase = env.img_r2; + + // 获取原文件内容 + const object = await R2DataBase.get(fileId); + if (!object) { + return new Response('Error: R2 Object Not Found', { status: 404 }); + } + + // 复制到新位置 + await R2DataBase.put(newFileId, object.body); + + // 删除旧文件 + await R2DataBase.delete(fileId); + } + + + // 旧版 Telegram 渠道和 Telegraph 渠道不支持移动 + if (img.metadata?.Channel === 'Telegram' || img.metadata?.Channel === undefined) { + return new Response('Error: Move Image Failed', { status: 400 }); + } + + + // 其他渠道,直接修改KV中的id为newFileId + await env.img_url.put(newFileId, img.value, { metadata: img.metadata }); + + // 删除原有图片 + await env.img_url.delete(fileId); + + const info = JSON.stringify(fileId); + + // 清除CDN缓存 + await purgeCFCache(env, cdnUrl); + + // 清除api/randomFileList API缓存 + try { + const cache = caches.default; + // 通过写入一个max-age=0的response来清除缓存 + const nullResponse = new Response(null, { + headers: { 'Cache-Control': 'max-age=0' }, + }); + await cache.put(`${url.origin}/api/randomFileList`, nullResponse); + } catch (error) { + console.error('Failed to clear cache:', error); + } + + return new Response(info); + } catch (e) { + return new Response('Error: Move Image Failed', { status: 400 }); + } + } \ No newline at end of file diff --git a/functions/file/[[path]].js b/functions/file/[[path]].js index 2dc813f0..440d6e15 100644 --- a/functions/file/[[path]].js +++ b/functions/file/[[path]].js @@ -168,7 +168,7 @@ export async function onRequest(context) { // Contents of context object let TgFileID = ''; // Tg的file_id if (imgRecord.metadata?.Channel === 'Telegram') { // id为file_id + ext - TgFileID = params.id.split('.')[0]; + TgFileID = fileId.split('.')[0]; } else if (imgRecord.metadata?.Channel === 'TelegramNew') { // id为unique_id + file_name TgFileID = imgRecord.metadata?.TgFileId; diff --git a/index.html b/index.html index 1aa46180..57c67f46 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -Sanyue ImgHub