diff --git a/frontend/src/views/home/LoggedInView.vue b/frontend/src/views/home/LoggedInView.vue index e61e838..b35dcc4 100644 --- a/frontend/src/views/home/LoggedInView.vue +++ b/frontend/src/views/home/LoggedInView.vue @@ -68,7 +68,7 @@ v-if="dragOverIndex === index && draggedIndex !== null && draggedIndex !== index" class="dashboard-grid-cell dashboard-drop-indicator" @dragover.prevent="setDropTarget(index)" - @drop.prevent="onDrop(index)" + @drop.prevent.stop="onDrop(index)" >
@@ -115,7 +115,7 @@ v-if="dragOverIndex === widgets.length && draggedIndex !== null" class="dashboard-grid-cell dashboard-drop-indicator" @dragover.prevent="onGridDragover" - @drop.prevent="onGridDrop" + @drop.prevent.stop="onGridDrop" > @@ -277,8 +277,9 @@ export default { async onGridDrop() { if (this.draggedIndex == null) return; const from = this.draggedIndex; - const to = this.widgets.length; - if (from === to || from === to - 1) { + // Wenn Drop auf Grid landet: zuletzt angezeigte Einfügeposition nutzen (sonst ans Ende) + const to = this.dragOverIndex != null ? this.dragOverIndex : this.widgets.length; + if (from === to || to < 0 || to > this.widgets.length) { this.draggedIndex = null; this.dragOverIndex = null; return;