@r3l/app
Version:
65 lines (48 loc) • 3.29 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useCurrentWarning = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = require("react");
var _reactRedux = require("react-redux");
var warnings = _interopRequireWildcard(require("./web3Warning.constants"));
var _web3Warning2 = require("./web3Warning.selectors");
var _hooks = require("../../../../web3/hooks");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var useCurrentWarning = function useCurrentWarning(_ref) {
var user = _ref.user,
canClaim = _ref.canClaim;
var _useWeb3React = (0, _hooks.useWeb3React)(),
account = _useWeb3React.account,
active = _useWeb3React.active,
chainId = _useWeb3React.chainId,
library = _useWeb3React.library,
metamask = _useWeb3React.metamask;
var _useState = (0, _react.useState)(),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
warning = _useState2[0],
setWarning = _useState2[1];
var ethAddress = user === null || user === void 0 ? void 0 : user.ethAddress[0];
var screenSize = (0, _reactRedux.useSelector)(function (state) {
return state.navigation.screenSize;
});
(0, _react.useEffect)(function () {
var updateWarnings = function updateWarnings() {
if (screenSize !== 0) return warnings.mobile;
if (!metamask) return warnings.metamask;
if (!active || !account) return warnings.connectMetamask;
if (!(0, _web3Warning2.hasCorrectNetwork)(chainId)) return warnings.network;
if (!(0, _web3Warning2.hasAccountConnected)(user)) return warnings.connection;
if (!(0, _web3Warning2.hasCorrectAccount)(user, account)) return warnings.account(ethAddress);
return null;
};
user && setWarning(updateWarnings());
}, [metamask, account, library, active, ethAddress, chainId, user, canClaim, screenSize]);
return warning;
};
exports.useCurrentWarning = useCurrentWarning;
//# sourceMappingURL=web3Warning.hooks.js.map