fix: improve item control handling in Cursor and DragItems modes

This commit is contained in:
Abhinav Kumar
2025-07-04 22:28:29 +05:30
parent a72978fc59
commit 02fae7558c
2 changed files with 5 additions and 2 deletions

View File

@@ -93,7 +93,7 @@ const mousedown: ModeActionsAction = ({
})
);
uiState.actions.setItemControls(itemAtTile);
} else {
uiState.actions.setMode(
produce(uiState.mode, (draft) => {
@@ -142,7 +142,9 @@ export const Cursor: ModeActions = {
mouseup: ({ uiState, isRendererInteraction }) => {
if (uiState.mode.type !== 'CURSOR' || !isRendererInteraction) return;
if (uiState.mode.mousedownItem) {
const hasMoved = uiState.mouse.mousedown && hasMovedTile(uiState.mouse);
if (uiState.mode.mousedownItem && !hasMoved) {
if (uiState.mode.mousedownItem.type === 'ITEM') {
uiState.actions.setItemControls({
type: 'ITEM',

View File

@@ -113,6 +113,7 @@ export const DragItems: ModeActions = {
dragItems(uiState.mode.items, uiState.mouse.position.tile, delta, scene);
},
mouseup: ({ uiState }) => {
uiState.actions.setItemControls(null);
uiState.actions.setMode({
type: 'CURSOR',
showCursor: true,