Fix modifier move: use Shift key and dataTransfer data instead of effectAllowed

This commit is contained in:
John Mizerek 2026-01-14 12:57:34 -08:00
parent ff6e4f2a36
commit f40d5c1f93

View file

@ -4,6 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Menu Builder - Payfrit</title>
<link rel="icon" type="image/svg+xml" href="favicon.svg">
<link rel="stylesheet" href="portal.css">
<style>
/* Menu Builder Specific Styles */
@ -3263,8 +3264,10 @@
e.dataTransfer.setData('parentId', card.dataset.parentId);
e.dataTransfer.setData('depth', card.dataset.depth);
e.dataTransfer.setData('source', 'modifier');
// Default is copy, hold Ctrl+Alt for move
e.dataTransfer.effectAllowed = (e.ctrlKey && e.altKey) ? 'move' : 'copy';
// Default is copy, hold Shift for move
const isMove = e.shiftKey;
e.dataTransfer.setData('isMove', isMove ? 'true' : 'false');
e.dataTransfer.effectAllowed = isMove ? 'move' : 'copy';
card.classList.add('dragging');
});
@ -3302,7 +3305,7 @@
const draggedParentId = e.dataTransfer.getData('parentId');
const targetModId = card.dataset.modifierId;
const targetParentId = card.dataset.parentId;
const isMove = e.dataTransfer.effectAllowed === 'move';
const isMove = e.dataTransfer.getData('isMove') === 'true';
if (draggedModId && targetModId && draggedModId !== targetModId) {
const position = card.classList.contains('drop-before') ? 'before' : 'after';
@ -3347,7 +3350,7 @@
const draggedModId = e.dataTransfer.getData('modifierId');
const draggedParentId = e.dataTransfer.getData('parentId');
const targetItemId = card.dataset.itemId;
const isMove = e.dataTransfer.effectAllowed === 'move';
const isMove = e.dataTransfer.getData('isMove') === 'true';
if (draggedModId && targetItemId) {
if (isMove) {