react-native-multiple-modals
Version:
Native implementation with the ability to display multiple Modals
24 lines (23 loc) • 676 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useModalRegistry = useModalRegistry;
var _react = require("react");
const currentModals = new Set();
function useModalRegistry(modalId) {
const [modals, setModals] = (0, _react.useState)(new Set(currentModals));
(0, _react.useEffect)(() => {
currentModals.add(modalId);
setModals(new Set(currentModals));
return () => {
currentModals.delete(modalId);
setModals(new Set(currentModals));
};
}, [modalId]);
return {
modals,
isBackdropVisible: modals.size > 0 && Array.from(modals)[0] === modalId
};
}
//# sourceMappingURL=useModalRegistry.js.map