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; 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);