From f0154402be8c263a9e5e91f2710af6c050320311 Mon Sep 17 00:00:00 2001 From: rowanchen-com Date: Mon, 2 Mar 2026 20:09:17 +0800 Subject: [PATCH 1/2] Optimize sorting-related issues, disable the "favorite stars" function during sorting, and optimize sorting behavior caused by DOM conflicts. --- frontend/src/views/app-store/installed/app/card.vue | 2 ++ frontend/src/views/app-store/installed/app/header.vue | 10 +++++++++- frontend/src/views/app-store/installed/index.vue | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/app-store/installed/app/card.vue b/frontend/src/views/app-store/installed/app/card.vue index 57a1c6b9d43b..efacd1ae63d5 100644 --- a/frontend/src/views/app-store/installed/app/card.vue +++ b/frontend/src/views/app-store/installed/app/card.vue @@ -15,6 +15,7 @@ :installed="installed" :mode="mode" :defaultLink="defaultLink" + :sortMode="sortMode" @open-backups="$emit('openBackups')" @open-log="$emit('openLog')" @open-terminal="$emit('openTerminal')" @@ -51,6 +52,7 @@ interface Props { mode: string; defaultLink: string; currentNode: string; + sortMode?: boolean; } defineProps(); diff --git a/frontend/src/views/app-store/installed/app/header.vue b/frontend/src/views/app-store/installed/app/header.vue index 5abc827fe41f..8517d684a8b7 100644 --- a/frontend/src/views/app-store/installed/app/header.vue +++ b/frontend/src/views/app-store/installed/app/header.vue @@ -86,11 +86,18 @@ size="large" icon="StarFilled" type="warning" + :disabled="sortMode" @click="$emit('favoriteInstall')" > - + @@ -151,6 +158,7 @@ import { App } from '@/api/interface/app'; interface Props { installed: App.AppInstalled; mode: string; + sortMode?: boolean; } defineProps(); diff --git a/frontend/src/views/app-store/installed/index.vue b/frontend/src/views/app-store/installed/index.vue index 58fe87cd76e1..5e8c2708920f 100644 --- a/frontend/src/views/app-store/installed/index.vue +++ b/frontend/src/views/app-store/installed/index.vue @@ -68,6 +68,7 @@ :mode="mode" :defaultLink="defaultLink" :currentNode="currentNode" + :sortMode="sortMode" @open-detail="openDetail(installed.appKey)" @open-backups="openBackups(installed)" @open-log="openLog(installed)" @@ -469,6 +470,10 @@ const enterSortMode = async () => { return fromFav === toFav; }, onEnd: (evt: any) => { + const el = evt.from; + el.removeChild(evt.item); + el.insertBefore(evt.item, el.children[evt.oldIndex] || null); + const list = [...data.value]; const [moved] = list.splice(evt.oldIndex, 1); list.splice(evt.newIndex, 0, moved); From 886853295fba122a4c2aaf1de30947536a7ada06 Mon Sep 17 00:00:00 2001 From: rowanchen-com Date: Mon, 2 Mar 2026 23:53:15 +0800 Subject: [PATCH 2/2] fix: prevent app icon from being squished in detail drawer --- frontend/src/views/app-store/detail/index.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/views/app-store/detail/index.vue b/frontend/src/views/app-store/detail/index.vue index 68800d4e332d..2eb6ad1ebb94 100644 --- a/frontend/src/views/app-store/detail/index.vue +++ b/frontend/src/views/app-store/detail/index.vue @@ -168,6 +168,7 @@ defineExpose({ } .icon { + flex-shrink: 0; width: 180px; height: 180px; background-color: #ffffff;