diff --git a/src/components/CoordinatesBox.jsx b/src/components/CoordinatesBox.jsx index 61d4b96..3750225 100644 --- a/src/components/CoordinatesBox.jsx +++ b/src/components/CoordinatesBox.jsx @@ -17,7 +17,7 @@ function renderCoordinates(cell) { const CoordinatesBox = () => { const view = useSelector((state) => state.canvas.view); - const hover = useSelector((state) => state.gui.hover); + const hover = useSelector((state) => state.canvas.hover); const dispatch = useDispatch(); return ( diff --git a/src/controls/PixelPainterControls.js b/src/controls/PixelPainterControls.js index b199874..5467d83 100644 --- a/src/controls/PixelPainterControls.js +++ b/src/controls/PixelPainterControls.js @@ -391,7 +391,7 @@ class PixelPlainterControls { const { deltaY } = event; const { store } = this; const state = store.getState(); - const { hover } = state.gui; + const { hover } = state.canvas; let zoompoint = null; if (hover) { zoompoint = hover; @@ -427,7 +427,7 @@ class PixelPlainterControls { lastPosY - (deltaY / scale), ])); } else { - const { hover } = state.gui; + const { hover } = state.canvas; const screenCoor = screenToWorld( state, this.viewport, @@ -580,7 +580,7 @@ class PixelPlainterControls { case 'Control': case 'Shift': { const state = store.getState(); - const { hover } = state.gui; + const { hover } = state.canvas; if (hover) { if (event.key === 'Control') { // ctrl diff --git a/src/controls/keypress.js b/src/controls/keypress.js index 86f967d..6e1634c 100644 --- a/src/controls/keypress.js +++ b/src/controls/keypress.js @@ -83,7 +83,7 @@ function createKeyPressHandler(store) { : t`Unmuted Sound`)); return; case 'r': { - const { hover } = store.getState().gui; + const { hover } = store.getState().canvas; const text = hover.join('_'); copy(text); store.dispatch(notify(t`Copied!`)); diff --git a/src/store/reducers/canvas.js b/src/store/reducers/canvas.js index 11314bd..4c81d81 100644 --- a/src/store/reducers/canvas.js +++ b/src/store/reducers/canvas.js @@ -32,6 +32,7 @@ export type CanvasState = { historicalCanvasSize: number, historicalDate: string, historicalTime: string, + hover: Array, // object with all canvas informations from all canvases like colors and size canvases: Object, // last canvas view, scale, selectedColor and viewscale @@ -138,6 +139,7 @@ const initialState = { historicalDate: null, historicalTime: null, showHiddenCanvases: false, + hover: null, prevCanvasCoords: {}, }; @@ -261,6 +263,21 @@ export default function canvasReducer( }; } + case 'SET_HOVER': { + const { hover } = action; + return { + ...state, + hover, + }; + } + + case 'UNSET_HOVER': { + return { + ...state, + hover: null, + }; + } + case 'SELECT_CANVAS': { let { canvasId } = action; const { canvases, prevCanvasCoords, canvasId: prevCanvasId } = state; diff --git a/src/store/reducers/gui.js b/src/store/reducers/gui.js index 7e45474..98e0752 100644 --- a/src/store/reducers/gui.js +++ b/src/store/reducers/gui.js @@ -1,7 +1,6 @@ const initialState = { showGrid: false, showPixelNotify: false, - hover: null, autoZoomIn: false, isPotato: false, isLightGrid: false, @@ -110,21 +109,6 @@ export default function gui( }; } - case 'SET_HOVER': { - const { hover } = action; - return { - ...state, - hover, - }; - } - - case 'UNSET_HOVER': { - return { - ...state, - hover: null, - }; - } - case 'TOGGLE_MUTE': return { ...state, diff --git a/src/store/sharedReducers.js b/src/store/sharedReducers.js index 22606de..1ae88b5 100644 --- a/src/store/sharedReducers.js +++ b/src/store/sharedReducers.js @@ -27,7 +27,6 @@ const guiPersist = persistReducer({ storage, version: CURRENT_VERSION, migrate, - blacklist: ['hover'], }, gui); const ranksPersist = persistReducer({ diff --git a/src/ui/Renderer2D.js b/src/ui/Renderer2D.js index 70ec66f..a6b7935 100644 --- a/src/ui/Renderer2D.js +++ b/src/ui/Renderer2D.js @@ -419,7 +419,6 @@ class Renderer { const { showGrid, showPixelNotify, - hover, isPotato, isLightGrid, } = state.gui; @@ -430,6 +429,7 @@ class Renderer { view, viewscale, canvasSize, + hover, } = state.canvas; const [x, y] = view; diff --git a/src/ui/Renderer3D.js b/src/ui/Renderer3D.js index c1451c7..2f2cf86 100644 --- a/src/ui/Renderer3D.js +++ b/src/ui/Renderer3D.js @@ -429,7 +429,7 @@ class Renderer { onDocumentMouseDownOrTouchStart() { this.pressTime = Date.now(); const state = this.store.getState(); - this.mouseMoveStart = state.gui.hover; + this.mouseMoveStart = state.canvas.hover; } onDocumentTouchMove() { @@ -501,7 +501,7 @@ class Renderer { const state = store.getState(); const [px, py, pz] = mouseMoveStart; - const [qx, qy, qz] = state.gui.hover; + const [qx, qy, qz] = state.canvas.hover; if (px !== qx || py !== qy || pz !== qz) { return; } @@ -587,7 +587,7 @@ class Renderer { } const [px, py, pz] = this.mouseMoveStart; - const [qx, qy, qz] = state.gui.hover; + const [qx, qy, qz] = state.canvas.hover; if (px !== qx || py !== qy || pz !== qz) { return; } diff --git a/src/ui/render2Delements.js b/src/ui/render2Delements.js index da5bb2f..1de0b98 100644 --- a/src/ui/render2Delements.js +++ b/src/ui/render2Delements.js @@ -15,7 +15,7 @@ export function renderPlaceholder( ) { const viewportCtx = $viewport.getContext('2d'); - const { hover } = state.gui; + const { hover } = state.canvas; const { palette, selectedColor } = state.canvas; const [sx, sy] = worldToScreen(state, $viewport, hover); @@ -49,7 +49,7 @@ export function renderPotatoPlaceholder( ) { const viewportCtx = $viewport.getContext('2d'); - const { hover } = state.gui; + const { hover } = state.canvas; const { palette, selectedColor } = state.canvas; const [sx, sy] = worldToScreen(state, $viewport, hover);