- {{
- item.display_name && item.display_name.length
- ? item.display_name
- : item.name
- }}
+ {{ item.display_name && item.display_name.length ? item.display_name : item.name }}
+
+
{{ item.name }}
-
-
{{ tm("status.system") }}
+
+
+ {{ tm("status.system") }}
+
+ {{ isPinned(item.name) ? 'mdi-pin' : 'mdi-pin-outline' }}
+
+
-
-
+ togglePin(extension)"
+ class="rounded-lg"
+ style="background-color: rgb(var(--v-theme-mcpCardBg))"
+ @configure="openExtensionConfig(extension.name)"
@uninstall="
(ext, options) => uninstallExtension(ext.name, options)
"
@@ -770,4 +893,94 @@ const {
transform: translateY(-4px) scale(1.05);
box-shadow: 0 12px 20px rgba(var(--v-theme-primary), 0.4);
}
+
+.pinned-plugins h3 {
+ font-weight: 600;
+}
+
+.pinned-list {
+ gap: 12px;
+}
+
+.pinned-item {
+ flex: 1 1 180px;
+ max-width: 320px;
+ height: 76px;
+ border-radius: 10px;
+ background: rgba(0, 0, 0, 0.04);
+ box-shadow: 0 1px 4px rgba(16,24,40,0.04);
+}
+
+.pinned-avatar {
+ display: inline-flex;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ cursor: pointer;
+ border-radius: 12px;
+}
+
+.pinned-avatar img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ display: block;
+}
+
+.pinned-card-wrapper {
+ position: relative;
+ display: inline-block;
+ width: 72px;
+ height: 72px;
+}
+
+.pin-btn {
+ position: absolute;
+ top: 6px;
+ right: 6px;
+ z-index: 5;
+}
+
+.pinned-item-skeleton {
+ width: 72px;
+ height: 72px;
+ border-radius: 10px;
+}
+
+.pinned-item {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ transition: transform 0.2s ease, opacity 0.2s ease;
+}
+
+.is-dragging {
+ opacity: 0.5;
+ transform: scale(0.95);
+ cursor: grabbing;
+}
+
+[draggable="true"] {
+ cursor: grab;
+}
+
+[draggable="true"]:active {
+ cursor: grabbing;
+}
+
+.list-move,
+.list-enter-active,
+.list-leave-active {
+ transition: all 0.3s ease;
+}
+
+.list-enter-from,
+.list-leave-to {
+ opacity: 0;
+ transform: scale(0.6);
+}
+
+.list-leave-active {
+ position: absolute;
+}
diff --git a/dashboard/src/views/persona/FolderBreadcrumb.vue b/dashboard/src/views/persona/FolderBreadcrumb.vue
index 9e4c57b606..cb88193e0e 100644
--- a/dashboard/src/views/persona/FolderBreadcrumb.vue
+++ b/dashboard/src/views/persona/FolderBreadcrumb.vue
@@ -1,19 +1,12 @@
-
-
- mdi-folder-outline
-
-
-
- mdi-home
- {{ item.title }}
-
-
-
- mdi-chevron-right
-
-
+