From 640d1246f1e913f826fc1d77edb86cdb6748bb58 Mon Sep 17 00:00:00 2001 From: M1LKTEA <3494199620@qq.com> Date: Sun, 14 Jun 2026 13:00:11 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=89=B9=E9=87=8F=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E4=B8=8E=E6=8F=92=E4=BB=B6=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mdi-subset/materialdesignicons-subset.css | 1373 ----------------- .../materialdesignicons-webfont-subset.woff | Bin 19548 -> 0 bytes .../materialdesignicons-webfont-subset.woff2 | Bin 15664 -> 0 bytes .../src/components/shared/ExtensionCard.vue | 34 + .../locales/en-US/features/extension.json | 25 + .../locales/ru-RU/features/extension.json | 25 + .../locales/zh-CN/features/extension.json | 25 + .../views/extension/InstalledPluginsTab.vue | 281 +++- .../src/views/extension/useExtensionPage.js | 355 +++++ 9 files changed, 692 insertions(+), 1426 deletions(-) delete mode 100644 dashboard/src/assets/mdi-subset/materialdesignicons-subset.css delete mode 100644 dashboard/src/assets/mdi-subset/materialdesignicons-webfont-subset.woff delete mode 100644 dashboard/src/assets/mdi-subset/materialdesignicons-webfont-subset.woff2 diff --git a/dashboard/src/assets/mdi-subset/materialdesignicons-subset.css b/dashboard/src/assets/mdi-subset/materialdesignicons-subset.css deleted file mode 100644 index 406c62a36c..0000000000 --- a/dashboard/src/assets/mdi-subset/materialdesignicons-subset.css +++ /dev/null @@ -1,1373 +0,0 @@ -/* Auto-generated MDI subset – 274 icons */ -/* Do not edit manually. Run: pnpm run subset-icons */ - -@font-face { - font-family: "Material Design Icons"; - src: url("./materialdesignicons-webfont-subset.woff2") format("woff2"), - url("./materialdesignicons-webfont-subset.woff") format("woff"); - font-weight: normal; - font-style: normal; -} - -.mdi:before, -.mdi-set { - display: inline-block; - font: normal normal normal 24px/1 "Material Design Icons"; - font-size: inherit; - text-rendering: auto; - line-height: inherit; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.mdi-account::before { - content: "\F0004"; -} - -.mdi-account-circle::before { - content: "\F0009"; -} - -.mdi-account-edit::before { - content: "\F06BC"; -} - -.mdi-account-edit-outline::before { - content: "\F0FFB"; -} - -.mdi-account-heart::before { - content: "\F0899"; -} - -.mdi-account-voice::before { - content: "\F05CB"; -} - -.mdi-alert::before { - content: "\F0026"; -} - -.mdi-alert-circle::before { - content: "\F0028"; -} - -.mdi-alert-circle-outline::before { - content: "\F05D6"; -} - -.mdi-alert-outline::before { - content: "\F002A"; -} - -.mdi-api-off::before { - content: "\F1257"; -} - -.mdi-arrow-down::before { - content: "\F0045"; -} - -.mdi-arrow-down-thin::before { - content: "\F19B3"; -} - -.mdi-arrow-left::before { - content: "\F004D"; -} - -.mdi-arrow-right::before { - content: "\F0054"; -} - -.mdi-arrow-top-right-thick::before { - content: "\F09C6"; -} - -.mdi-arrow-up::before { - content: "\F005D"; -} - -.mdi-arrow-up-bold::before { - content: "\F0737"; -} - -.mdi-arrow-up-circle::before { - content: "\F0CE1"; -} - -.mdi-arrow-up-thin::before { - content: "\F19B2"; -} - -.mdi-backup-restore::before { - content: "\F006F"; -} - -.mdi-book-open-page-variant::before { - content: "\F05DA"; -} - -.mdi-book-open-variant::before { - content: "\F14F7"; -} - -.mdi-brain::before { - content: "\F09D1"; -} - -.mdi-brightness-6::before { - content: "\F00DF"; -} - -.mdi-broadcast::before { - content: "\F1720"; -} - -.mdi-broom::before { - content: "\F00E2"; -} - -.mdi-bug::before { - content: "\F00E4"; -} - -.mdi-cached::before { - content: "\F00E8"; -} - -.mdi-calendar::before { - content: "\F00ED"; -} - -.mdi-calendar-blank-outline::before { - content: "\F0B66"; -} - -.mdi-calendar-edit::before { - content: "\F08A7"; -} - -.mdi-calendar-plus::before { - content: "\F00F3"; -} - -.mdi-chat::before { - content: "\F0B79"; -} - -.mdi-chat-processing::before { - content: "\F0B7B"; -} - -.mdi-chat-remove::before { - content: "\F1411"; -} - -.mdi-check::before { - content: "\F012C"; -} - -.mdi-check-all::before { - content: "\F012D"; -} - -.mdi-check-circle::before { - content: "\F05E0"; -} - -.mdi-check-circle-outline::before { - content: "\F05E1"; -} - -.mdi-checkbox-blank-outline::before { - content: "\F0131"; -} - -.mdi-checkbox-marked::before { - content: "\F0132"; -} - -.mdi-chevron-double-left::before { - content: "\F013D"; -} - -.mdi-chevron-double-right::before { - content: "\F013E"; -} - -.mdi-chevron-down::before { - content: "\F0140"; -} - -.mdi-chevron-left::before { - content: "\F0141"; -} - -.mdi-chevron-right::before { - content: "\F0142"; -} - -.mdi-chevron-up::before { - content: "\F0143"; -} - -.mdi-chip::before { - content: "\F061A"; -} - -.mdi-circle::before { - content: "\F0765"; -} - -.mdi-circle-outline::before { - content: "\F0766"; -} - -.mdi-circle-small::before { - content: "\F09DF"; -} - -.mdi-clock-outline::before { - content: "\F0150"; -} - -.mdi-clock-time-four-outline::before { - content: "\F144E"; -} - -.mdi-close::before { - content: "\F0156"; -} - -.mdi-close-circle::before { - content: "\F0159"; -} - -.mdi-close-circle-outline::before { - content: "\F015A"; -} - -.mdi-cloud-upload::before { - content: "\F0167"; -} - -.mdi-code-braces::before { - content: "\F0169"; -} - -.mdi-code-json::before { - content: "\F0626"; -} - -.mdi-code-tags::before { - content: "\F0174"; -} - -.mdi-code-tags-check::before { - content: "\F0694"; -} - -.mdi-cog::before { - content: "\F0493"; -} - -.mdi-cog-outline::before { - content: "\F08BB"; -} - -.mdi-cogs::before { - content: "\F08D6"; -} - -.mdi-comment-question::before { - content: "\F0817"; -} - -.mdi-compare-vertical::before { - content: "\F1493"; -} - -.mdi-connection::before { - content: "\F1616"; -} - -.mdi-console::before { - content: "\F018D"; -} - -.mdi-console-line::before { - content: "\F07B7"; -} - -.mdi-content-copy::before { - content: "\F018F"; -} - -.mdi-content-save::before { - content: "\F0193"; -} - -.mdi-content-save-outline::before { - content: "\F0818"; -} - -.mdi-creation::before { - content: "\F0674"; -} - -.mdi-creation-outline::before { - content: "\F1C2B"; -} - -.mdi-cursor-default-click::before { - content: "\F0CFD"; -} - -.mdi-cursor-move::before { - content: "\F01BE"; -} - -.mdi-database::before { - content: "\F01BC"; -} - -.mdi-database-cog::before { - content: "\F164B"; -} - -.mdi-database-off::before { - content: "\F1640"; -} - -.mdi-database-refresh-outline::before { - content: "\F1634"; -} - -.mdi-database-search-outline::before { - content: "\F1636"; -} - -.mdi-delete::before { - content: "\F01B4"; -} - -.mdi-delete-outline::before { - content: "\F09E7"; -} - -.mdi-delete-sweep-outline::before { - content: "\F0C62"; -} - -.mdi-dots-hexagon::before { - content: "\F15FF"; -} - -.mdi-dots-horizontal::before { - content: "\F01D8"; -} - -.mdi-dots-vertical::before { - content: "\F01D9"; -} - -.mdi-download::before { - content: "\F01DA"; -} - -.mdi-download-outline::before { - content: "\F0B8F"; -} - -.mdi-emoticon::before { - content: "\F0C68"; -} - -.mdi-emoticon-confused::before { - content: "\F10DE"; -} - -.mdi-emoticon-confused-outline::before { - content: "\F10DF"; -} - -.mdi-export::before { - content: "\F0207"; -} - -.mdi-eye::before { - content: "\F0208"; -} - -.mdi-eye-off::before { - content: "\F0209"; -} - -.mdi-eye-outline::before { - content: "\F06D0"; -} - -.mdi-eyedropper::before { - content: "\F020A"; -} - -.mdi-file::before { - content: "\F0214"; -} - -.mdi-file-chart::before { - content: "\F0215"; -} - -.mdi-file-code-outline::before { - content: "\F102B"; -} - -.mdi-file-delimited-outline::before { - content: "\F0EA5"; -} - -.mdi-file-document::before { - content: "\F0219"; -} - -.mdi-file-document-edit-outline::before { - content: "\F0DC9"; -} - -.mdi-file-document-multiple::before { - content: "\F1517"; -} - -.mdi-file-document-outline::before { - content: "\F09EE"; -} - -.mdi-file-excel-box::before { - content: "\F021C"; -} - -.mdi-file-music-outline::before { - content: "\F0E2A"; -} - -.mdi-file-outline::before { - content: "\F0224"; -} - -.mdi-file-pdf-box::before { - content: "\F0226"; -} - -.mdi-file-powerpoint-box::before { - content: "\F0228"; -} - -.mdi-file-question-outline::before { - content: "\F1036"; -} - -.mdi-file-search-outline::before { - content: "\F0C7D"; -} - -.mdi-file-upload::before { - content: "\F0A4D"; -} - -.mdi-file-video-outline::before { - content: "\F0E2C"; -} - -.mdi-file-word-box::before { - content: "\F022D"; -} - -.mdi-filter-remove::before { - content: "\F0234"; -} - -.mdi-folder::before { - content: "\F024B"; -} - -.mdi-folder-move::before { - content: "\F0252"; -} - -.mdi-folder-multiple::before { - content: "\F0253"; -} - -.mdi-folder-open::before { - content: "\F0770"; -} - -.mdi-folder-open-outline::before { - content: "\F0DCF"; -} - -.mdi-folder-outline::before { - content: "\F0256"; -} - -.mdi-folder-plus::before { - content: "\F0257"; -} - -.mdi-folder-zip-outline::before { - content: "\F07B9"; -} - -.mdi-format-list-bulleted::before { - content: "\F0279"; -} - -.mdi-frequently-asked-questions::before { - content: "\F0EB4"; -} - -.mdi-fullscreen::before { - content: "\F0293"; -} - -.mdi-fullscreen-exit::before { - content: "\F0294"; -} - -.mdi-function-variant::before { - content: "\F0871"; -} - -.mdi-github::before { - content: "\F02A4"; -} - -.mdi-grain::before { - content: "\F0D7C"; -} - -.mdi-hand-heart::before { - content: "\F10F1"; -} - -.mdi-hand-wave-outline::before { - content: "\F1822"; -} - -.mdi-heart::before { - content: "\F02D1"; -} - -.mdi-help-circle::before { - content: "\F02D7"; -} - -.mdi-help-circle-outline::before { - content: "\F0625"; -} - -.mdi-home::before { - content: "\F02DC"; -} - -.mdi-hook::before { - content: "\F06E2"; -} - -.mdi-identifier::before { - content: "\F0EFE"; -} - -.mdi-image-outline::before { - content: "\F0976"; -} - -.mdi-import::before { - content: "\F02FA"; -} - -.mdi-information::before { - content: "\F02FC"; -} - -.mdi-information-outline::before { - content: "\F02FD"; -} - -.mdi-key::before { - content: "\F0306"; -} - -.mdi-key-outline::before { - content: "\F0DD6"; -} - -.mdi-key-plus::before { - content: "\F0309"; -} - -.mdi-key-variant::before { - content: "\F030B"; -} - -.mdi-label::before { - content: "\F0315"; -} - -.mdi-language-css3::before { - content: "\F031C"; -} - -.mdi-language-html5::before { - content: "\F031D"; -} - -.mdi-language-java::before { - content: "\F0B37"; -} - -.mdi-language-javascript::before { - content: "\F031E"; -} - -.mdi-language-markdown::before { - content: "\F0354"; -} - -.mdi-language-markdown-outline::before { - content: "\F0F5B"; -} - -.mdi-language-python::before { - content: "\F0320"; -} - -.mdi-language-typescript::before { - content: "\F06E6"; -} - -.mdi-layers-outline::before { - content: "\F09FE"; -} - -.mdi-lightbulb-outline::before { - content: "\F0336"; -} - -.mdi-lightning-bolt::before { - content: "\F140B"; -} - -.mdi-link::before { - content: "\F0337"; -} - -.mdi-link-variant::before { - content: "\F0339"; -} - -.mdi-loading::before { - content: "\F0772"; -} - -.mdi-lock::before { - content: "\F033E"; -} - -.mdi-lock-check::before { - content: "\F139A"; -} - -.mdi-lock-check-outline::before { - content: "\F16A8"; -} - -.mdi-lock-outline::before { - content: "\F0341"; -} - -.mdi-lock-plus::before { - content: "\F05FB"; -} - -.mdi-lock-plus-outline::before { - content: "\F16B2"; -} - -.mdi-magnify::before { - content: "\F0349"; -} - -.mdi-memory::before { - content: "\F035B"; -} - -.mdi-menu::before { - content: "\F035C"; -} - -.mdi-menu-down::before { - content: "\F035D"; -} - -.mdi-menu-right::before { - content: "\F035F"; -} - -.mdi-message-outline::before { - content: "\F0365"; -} - -.mdi-message-text::before { - content: "\F0369"; -} - -.mdi-microphone::before { - content: "\F036C"; -} - -.mdi-microphone-message::before { - content: "\F050A"; -} - -.mdi-minus::before { - content: "\F0374"; -} - -.mdi-minus-box::before { - content: "\F0375"; -} - -.mdi-monitor-dashboard::before { - content: "\F0A07"; -} - -.mdi-music-note-outline::before { - content: "\F0F74"; -} - -.mdi-note-text-outline::before { - content: "\F11D7"; -} - -.mdi-numeric-1::before { - content: "\F0B3A"; -} - -.mdi-numeric-1-circle::before { - content: "\F0CA0"; -} - -.mdi-numeric-2::before { - content: "\F0B3B"; -} - -.mdi-numeric-2-circle::before { - content: "\F0CA2"; -} - -.mdi-numeric-3::before { - content: "\F0B3C"; -} - -.mdi-open-in-new::before { - content: "\F03CC"; -} - -.mdi-package-variant::before { - content: "\F03D6"; -} - -.mdi-package-variant-closed::before { - content: "\F03D7"; -} - -.mdi-page-first::before { - content: "\F0600"; -} - -.mdi-page-last::before { - content: "\F0601"; -} - -.mdi-paperclip::before { - content: "\F03E2"; -} - -.mdi-pause::before { - content: "\F03E4"; -} - -.mdi-pencil::before { - content: "\F03EB"; -} - -.mdi-pencil-outline::before { - content: "\F0CB6"; -} - -.mdi-pencil-plus::before { - content: "\F0DEB"; -} - -.mdi-pencil-ruler::before { - content: "\F1353"; -} - -.mdi-phone-in-talk::before { - content: "\F03F6"; -} - -.mdi-pin::before { - content: "\F0403"; -} - -.mdi-pin-outline::before { - content: "\F0931"; -} - -.mdi-play::before { - content: "\F040A"; -} - -.mdi-play-circle-outline::before { - content: "\F040D"; -} - -.mdi-plus::before { - content: "\F0415"; -} - -.mdi-pound::before { - content: "\F0423"; -} - -.mdi-progress-check::before { - content: "\F0995"; -} - -.mdi-progress-download::before { - content: "\F0997"; -} - -.mdi-puzzle::before { - content: "\F0431"; -} - -.mdi-puzzle-outline::before { - content: "\F0A66"; -} - -.mdi-qrcode::before { - content: "\F0432"; -} - -.mdi-radiobox-blank::before { - content: "\F043D"; -} - -.mdi-radiobox-marked::before { - content: "\F043E"; -} - -.mdi-refresh::before { - content: "\F0450"; -} - -.mdi-rename-box::before { - content: "\F0455"; -} - -.mdi-reply::before { - content: "\F045A"; -} - -.mdi-reply-outline::before { - content: "\F0F20"; -} - -.mdi-restart::before { - content: "\F0709"; -} - -.mdi-restore::before { - content: "\F099B"; -} - -.mdi-robot::before { - content: "\F06A9"; -} - -.mdi-robot-off::before { - content: "\F16A7"; -} - -.mdi-robot-outline::before { - content: "\F167A"; -} - -.mdi-send-outline::before { - content: "\F1165"; -} - -.mdi-server::before { - content: "\F048B"; -} - -.mdi-server-network::before { - content: "\F048D"; -} - -.mdi-server-off::before { - content: "\F048F"; -} - -.mdi-shape-outline::before { - content: "\F0832"; -} - -.mdi-shield-check::before { - content: "\F0565"; -} - -.mdi-shield-check-outline::before { - content: "\F0CC8"; -} - -.mdi-shield-key::before { - content: "\F0BC4"; -} - -.mdi-shuffle-variant::before { - content: "\F049F"; -} - -.mdi-skip-next-circle-outline::before { - content: "\F0662"; -} - -.mdi-sort::before { - content: "\F04BA"; -} - -.mdi-sort-ascending::before { - content: "\F04BC"; -} - -.mdi-sort-variant::before { - content: "\F04BF"; -} - -.mdi-source-branch::before { - content: "\F062C"; -} - -.mdi-square-edit-outline::before { - content: "\F090C"; -} - -.mdi-star::before { - content: "\F04CE"; -} - -.mdi-star-four-points-small::before { - content: "\F1C55"; -} - -.mdi-star-half-full::before { - content: "\F04D0"; -} - -.mdi-star-outline::before { - content: "\F04D2"; -} - -.mdi-stop::before { - content: "\F04DB"; -} - -.mdi-stop-circle::before { - content: "\F0666"; -} - -.mdi-store::before { - content: "\F04DC"; -} - -.mdi-subdirectory-arrow-right::before { - content: "\F060D"; -} - -.mdi-sync::before { - content: "\F04E6"; -} - -.mdi-text::before { - content: "\F09A8"; -} - -.mdi-text-box::before { - content: "\F021A"; -} - -.mdi-text-box-outline::before { - content: "\F09ED"; -} - -.mdi-text-box-search::before { - content: "\F0EAE"; -} - -.mdi-text-box-search-outline::before { - content: "\F0EAF"; -} - -.mdi-text-search::before { - content: "\F13B8"; -} - -.mdi-theme-light-dark::before { - content: "\F050E"; -} - -.mdi-timeline-text-outline::before { - content: "\F0BD4"; -} - -.mdi-timer-outline::before { - content: "\F051B"; -} - -.mdi-timer-sand::before { - content: "\F051F"; -} - -.mdi-tools::before { - content: "\F1064"; -} - -.mdi-translate::before { - content: "\F05CA"; -} - -.mdi-trash-can-outline::before { - content: "\F0A7A"; -} - -.mdi-unfold-more-horizontal::before { - content: "\F054F"; -} - -.mdi-update::before { - content: "\F06B0"; -} - -.mdi-upload::before { - content: "\F0552"; -} - -.mdi-vector-intersection::before { - content: "\F055D"; -} - -.mdi-vector-link::before { - content: "\F0FE8"; -} - -.mdi-vector-point::before { - content: "\F01C4"; -} - -.mdi-view-dashboard::before { - content: "\F056E"; -} - -.mdi-volume-high::before { - content: "\F057E"; -} - -.mdi-weather-night::before { - content: "\F0594"; -} - -.mdi-web::before { - content: "\F059F"; -} - -.mdi-webhook::before { - content: "\F062F"; -} - -.mdi-white-balance-sunny::before { - content: "\F05A8"; -} - -.mdi-wrench::before { - content: "\F05B7"; -} - -.mdi-wrench-outline::before { - content: "\F0BE0"; -} - -.mdi-zip-box::before { - content: "\F05C4"; -} - -/* Utility classes (extracted from @mdi/font) */ -/* MaterialDesignIcons.com */ - -.mdi-blank::before { - content: "\F68C"; - visibility: hidden; -} - -.mdi-18px.mdi-set, .mdi-18px.mdi:before { - font-size: 18px; -} - -.mdi-24px.mdi-set, .mdi-24px.mdi:before { - font-size: 24px; -} - -.mdi-36px.mdi-set, .mdi-36px.mdi:before { - font-size: 36px; -} - -.mdi-48px.mdi-set, .mdi-48px.mdi:before { - font-size: 48px; -} - -.mdi-dark:before { - color: rgba(0, 0, 0, 0.54); -} - -.mdi-dark.mdi-inactive:before { - color: rgba(0, 0, 0, 0.26); -} - -.mdi-light:before { - color: white; -} - -.mdi-light.mdi-inactive:before { - color: rgba(255, 255, 255, 0.3); -} - -.mdi-rotate-45 { - /* - // Not included in production - &.mdi-flip-h:before { - -webkit-transform: scaleX(-1) rotate(45deg); - transform: scaleX(-1) rotate(45deg); - filter: FlipH; - -ms-filter: "FlipH"; - } - &.mdi-flip-v:before { - -webkit-transform: scaleY(-1) rotate(45deg); - -ms-transform: rotate(45deg); - transform: scaleY(-1) rotate(45deg); - filter: FlipV; - -ms-filter: "FlipV"; - } - */ -} - -.mdi-rotate-45:before { - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); -} - -.mdi-rotate-90 { - /* - // Not included in production - &.mdi-flip-h:before { - -webkit-transform: scaleX(-1) rotate(90deg); - transform: scaleX(-1) rotate(90deg); - filter: FlipH; - -ms-filter: "FlipH"; - } - &.mdi-flip-v:before { - -webkit-transform: scaleY(-1) rotate(90deg); - -ms-transform: rotate(90deg); - transform: scaleY(-1) rotate(90deg); - filter: FlipV; - -ms-filter: "FlipV"; - } - */ -} - -.mdi-rotate-90:before { - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} - -.mdi-rotate-135 { - /* - // Not included in production - &.mdi-flip-h:before { - -webkit-transform: scaleX(-1) rotate(135deg); - transform: scaleX(-1) rotate(135deg); - filter: FlipH; - -ms-filter: "FlipH"; - } - &.mdi-flip-v:before { - -webkit-transform: scaleY(-1) rotate(135deg); - -ms-transform: rotate(135deg); - transform: scaleY(-1) rotate(135deg); - filter: FlipV; - -ms-filter: "FlipV"; - } - */ -} - -.mdi-rotate-135:before { - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); -} - -.mdi-rotate-180 { - /* - // Not included in production - &.mdi-flip-h:before { - -webkit-transform: scaleX(-1) rotate(180deg); - transform: scaleX(-1) rotate(180deg); - filter: FlipH; - -ms-filter: "FlipH"; - } - &.mdi-flip-v:before { - -webkit-transform: scaleY(-1) rotate(180deg); - -ms-transform: rotate(180deg); - transform: scaleY(-1) rotate(180deg); - filter: FlipV; - -ms-filter: "FlipV"; - } - */ -} - -.mdi-rotate-180:before { - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} - -.mdi-rotate-225 { - /* - // Not included in production - &.mdi-flip-h:before { - -webkit-transform: scaleX(-1) rotate(225deg); - transform: scaleX(-1) rotate(225deg); - filter: FlipH; - -ms-filter: "FlipH"; - } - &.mdi-flip-v:before { - -webkit-transform: scaleY(-1) rotate(225deg); - -ms-transform: rotate(225deg); - transform: scaleY(-1) rotate(225deg); - filter: FlipV; - -ms-filter: "FlipV"; - } - */ -} - -.mdi-rotate-225:before { - -webkit-transform: rotate(225deg); - -ms-transform: rotate(225deg); - transform: rotate(225deg); -} - -.mdi-rotate-270 { - /* - // Not included in production - &.mdi-flip-h:before { - -webkit-transform: scaleX(-1) rotate(270deg); - transform: scaleX(-1) rotate(270deg); - filter: FlipH; - -ms-filter: "FlipH"; - } - &.mdi-flip-v:before { - -webkit-transform: scaleY(-1) rotate(270deg); - -ms-transform: rotate(270deg); - transform: scaleY(-1) rotate(270deg); - filter: FlipV; - -ms-filter: "FlipV"; - } - */ -} - -.mdi-rotate-270:before { - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} - -.mdi-rotate-315 { - /* - // Not included in production - &.mdi-flip-h:before { - -webkit-transform: scaleX(-1) rotate(315deg); - transform: scaleX(-1) rotate(315deg); - filter: FlipH; - -ms-filter: "FlipH"; - } - &.mdi-flip-v:before { - -webkit-transform: scaleY(-1) rotate(315deg); - -ms-transform: rotate(315deg); - transform: scaleY(-1) rotate(315deg); - filter: FlipV; - -ms-filter: "FlipV"; - } - */ -} - -.mdi-rotate-315:before { - -webkit-transform: rotate(315deg); - -ms-transform: rotate(315deg); - transform: rotate(315deg); -} - -.mdi-flip-h:before { - -webkit-transform: scaleX(-1); - transform: scaleX(-1); - filter: FlipH; - -ms-filter: "FlipH"; -} - -.mdi-flip-v:before { - -webkit-transform: scaleY(-1); - transform: scaleY(-1); - filter: FlipV; - -ms-filter: "FlipV"; -} - -.mdi-spin:before { - -webkit-animation: mdi-spin 2s infinite linear; - animation: mdi-spin 2s infinite linear; -} - -@-webkit-keyframes mdi-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} - -@keyframes mdi-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} diff --git a/dashboard/src/assets/mdi-subset/materialdesignicons-webfont-subset.woff b/dashboard/src/assets/mdi-subset/materialdesignicons-webfont-subset.woff deleted file mode 100644 index 37b58eaee453baa2001abb6fb91e37e83b0a0e70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19548 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 diff --git a/dashboard/src/assets/mdi-subset/materialdesignicons-webfont-subset.woff2 b/dashboard/src/assets/mdi-subset/materialdesignicons-webfont-subset.woff2 deleted file mode 100644 index 2a246762e8745e04acd4ce67533fd976225e9ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15664 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 W#pP=)SD7h1pDsKPdU|-r761Sfe^fL8 diff --git a/dashboard/src/components/shared/ExtensionCard.vue b/dashboard/src/components/shared/ExtensionCard.vue index 8335c47a53..66bd4dca64 100644 --- a/dashboard/src/components/shared/ExtensionCard.vue +++ b/dashboard/src/components/shared/ExtensionCard.vue @@ -25,6 +25,14 @@ const props = defineProps({ type: Boolean, default: false, }, + selectable: { + type: Boolean, + default: false, + }, + selected: { + type: Boolean, + default: false, + }, }); // 定义要发送到父组件的事件 @@ -39,6 +47,7 @@ const emit = defineEmits([ "view-changelog", "toggle-pin", "open-webui", + "select", ]); const hasPages = computed(() => { @@ -149,6 +158,7 @@ const openWebui = () => { height="100%" :ripple="false" variant="outlined" + :class="{ 'extension-card--selected': selectable && selected }" :style="{ position: 'relative', backgroundColor: @@ -231,6 +241,15 @@ const openWebui = () => {