diff --git a/apps/app-frontend/src/components/ui/library/instance-group/instance-group-dnd.vue b/apps/app-frontend/src/components/ui/library/instance-group/instance-group-dnd.vue index 1c1178886..0d12c5e14 100644 --- a/apps/app-frontend/src/components/ui/library/instance-group/instance-group-dnd.vue +++ b/apps/app-frontend/src/components/ui/library/instance-group/instance-group-dnd.vue @@ -68,7 +68,7 @@ let statusPopoverFrame: number | undefined const instanceGroupDragStatusStyle = computed(() => ({ left: `${Math.min(instanceGroupDragPointer.value.x + 4, window.innerWidth - 220)}px`, - top: `${Math.min(instanceGroupDragPointer.value.y, window.innerHeight - 48)}px`, + top: `${Math.min(instanceGroupDragPointer.value.y + 4, window.innerHeight - 48)}px`, })) watch( diff --git a/apps/app-frontend/src/components/ui/library/use-library.ts b/apps/app-frontend/src/components/ui/library/use-library.ts index fabab5741..5707703a1 100644 --- a/apps/app-frontend/src/components/ui/library/use-library.ts +++ b/apps/app-frontend/src/components/ui/library/use-library.ts @@ -455,6 +455,11 @@ function createLibraryState(instances: Ref) { const target = instanceGroupDragTarget.value if (target) { const dropState = getInstanceGroupDropState(target) + const isSourceGroup = + normalizeInstanceGroupId(target) === activeInstanceGroupDrag.value?.fromGroup + if (!isSourceGroup && !dropState.canDrop && dropState.alreadyInGroup) { + return 'Already in this group' + } if (!dropState.canDrop || dropState.operation !== 'add') return const count = new Set(