UNPKG

@nestbotics/nct_frontend_common_components

Version:

A collection of reusable React components with theme management and styling utilities

199 lines (198 loc) 7.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireWildcard(require("react")); var _material = require("@mui/material"); var _Theme = require("../../theme/Theme"); var _jsxRuntime = require("react/jsx-runtime"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } // Optional toast import - fallback to console if not available var toast; try { toast = require('react-hot-toast').default; } catch (e) { toast = { success: function success(message) { return console.log('Success:', message); }, error: function error(message) { return console.error('Error:', message); }, loading: function loading(message) { return console.log('Loading:', message); } }; } function AlertPopUp(_ref) { var deleteItem = _ref.deleteItem, params = _ref.params, setParams = _ref.setParams, data = _ref.data, onClose = _ref.onClose; var theme = (0, _material.useTheme)(); var colors = (0, _Theme.tokens)(theme.palette.mode); var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2.default)(_useState, 2), isOpen = _useState2[0], setIsOpen = _useState2[1]; var _useState3 = (0, _react.useState)(false), _useState4 = (0, _slicedToArray2.default)(_useState3, 2), isChecked = _useState4[0], setIsChecked = _useState4[1]; (0, _react.useEffect)(function () { if (deleteItem) { setIsOpen(true); } else { setIsOpen(false); } }, [deleteItem]); var handleClose = function handleClose() { setIsOpen(false); setIsChecked(false); onClose(); // Notify parent to reset state }; var handleDelete = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(params) { return _regenerator.default.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: console.log("params", params); _context.prev = 1; if (!(data.actionbtn === 'Start')) { _context.next = 9; break; } if (!deleteItem) { _context.next = 7; break; } _context.next = 6; return toast.promise(deleteItem(params)); case 6: handleClose(); case 7: _context.next = 21; break; case 9: if (!(data.actionbtn === 'Delete')) { _context.next = 16; break; } if (!deleteItem) { _context.next = 14; break; } _context.next = 13; return deleteItem(params); case 13: handleClose(); case 14: _context.next = 21; break; case 16: if (!(data.actionbtn === 'Cancel')) { _context.next = 21; break; } if (!deleteItem) { _context.next = 21; break; } _context.next = 20; return deleteItem(params); case 20: handleClose(); case 21: _context.next = 26; break; case 23: _context.prev = 23; _context.t0 = _context["catch"](1); console.error("Error:", _context.t0); case 26: handleClose(); case 27: case "end": return _context.stop(); } }, _callee, null, [[1, 23]]); })); return function handleDelete(_x) { return _ref2.apply(this, arguments); }; }(); var handleCheckboxChange = function handleCheckboxChange(e) { setIsChecked(e.target.checked); }; return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { children: isOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: "fixed inset-0 flex items-center justify-center bg-gray-800 bg-opacity-65 z-50", children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: "h-[26%] rounded-lg shadow-lg w-full max-w-md relative", style: { backgroundColor: colors.primary[400] }, children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: "bg-[#5b3a91] text-white text-center rounded-lg absolute top-[-8px] left-[21%] transform -translate-x-1/2", style: { clipPath: 'polygon(0 0, 100% 0, 90% 100%, 10% 100%)', width: 'fit-content', padding: '10px 25px' }, children: /*#__PURE__*/(0, _jsxRuntime.jsx)("h2", { className: "text-[14px] text-white font-semibold", children: data.event_name }) }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: "pl-[20px] pt-[15px] h-full flex flex-col gap-[10px] justify-center items-baseline", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("p", { className: "text-gray-700 mb-4 text-md w-full pl-1", style: { color: colors.primary[100] }, children: data.description }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: "flex items-center mb-4", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", { type: "checkbox", id: "confirm-delete", checked: isChecked, onChange: handleCheckboxChange, className: "mr-2" }), /*#__PURE__*/(0, _jsxRuntime.jsx)("label", { htmlFor: "confirm-delete", className: "text-md", style: { color: colors.primary[100] }, children: data.checkbox })] }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: "flex justify-end pl-9", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", { className: "bg-gray-300 hover:bg-gray-400 text-slate-700 font-bold py-2 px-4 rounded mr-2", onClick: handleClose, children: "Cancel" }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", { className: "bg-[#5b3a91] hover:bg-[#5b3a91e0] text-white font-bold py-2 px-4 rounded ".concat(isChecked ? '' : 'opacity-50 cursor-not-allowed'), disabled: !isChecked, onClick: function onClick() { return handleDelete(params); }, children: data.actionbtn })] })] })] }) }) }); } var _default = exports.default = AlertPopUp;