rap-react
Version:
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
55 lines (54 loc) • 1.27 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.reducer = exports.default = exports.LoaderState = void 0;
var _react = require("react");
var _LoaderContext = _interopRequireDefault(require("./LoaderContext"));
var _jsxRuntime = require("react/jsx-runtime");
const reducer = (state, _ref) => {
let {
type,
payload
} = _ref;
switch (type) {
case "status":
default:
return {
visible: payload.visible
};
}
};
exports.reducer = reducer;
const LoaderState = props => {
const [loader, dispatch] = (0, _react.useReducer)(reducer, {
visible: true
});
const updateLoaderStatus = status => {
const fn = () => {
dispatch({
type: "status",
payload: {
visible: status
}
});
};
if (status === false) {
setTimeout(() => {
fn();
}, 1000);
} else {
fn();
}
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoaderContext.default.Provider, {
value: {
loader,
updateLoaderStatus
},
children: props.children
});
};
exports.LoaderState = LoaderState;
var _default = exports.default = LoaderState;
;