UNPKG

@ducor/react

Version:

admin template ui interface

40 lines (39 loc) 1.61 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { useEffect, useState } from "react"; var Move = function (_a) { var onChange = _a.onChange; var _b = useState(false), dragStart = _b[0], setDragStart = _b[1]; var handleChange = function (x, y) { // Determine if the position is on the left side of the viewport var isLeft = x < window.innerWidth / 2; onChange(dragStart, isLeft, y); var data = { dragStart: dragStart, isLeft: isLeft, y: y, timestamp: new Date().getTime(), windowWidth: window.innerWidth, windowHeight: window.innerHeight, }; //save to localstorage localStorage.setItem("customizerPosition", JSON.stringify(data)); }; useEffect(function () { var data = localStorage.getItem("customizerPosition"); if (data) { var parsedData = JSON.parse(data); if (window.innerWidth === parsedData.windowWidth && window.innerHeight === parsedData.windowHeight && parsedData.isLeft && parsedData.y) { onChange(parsedData.dragStart, parsedData.isLeft, parsedData.y); } } }, []); return (_jsx("button", { className: " bg-gray-200 cursor-grab", draggable: true, onDragStart: function (e) { setDragStart(true); }, onDragEnd: function (e) { setDragStart(false); handleChange(e.clientX, e.clientY); }, children: _jsx("i", { className: "feather-more-horizontal" }) })); }; export default Move;