@livelike/react-native
Version:
LiveLike React Native package
33 lines (32 loc) • 964 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DEFAULT_BANNER_AUTO_HIDE_TIMEOUT = void 0;
exports.useAutoHideBannerEffect = useAutoHideBannerEffect;
var _react = require("react");
var _store = require("../store");
var _useBanner = require("./useBanner");
const DEFAULT_BANNER_AUTO_HIDE_TIMEOUT = exports.DEFAULT_BANNER_AUTO_HIDE_TIMEOUT = 4000;
function useAutoHideBannerEffect(_ref) {
let {
bannerAutoHideTimeout = DEFAULT_BANNER_AUTO_HIDE_TIMEOUT
} = _ref;
const {
banners
} = (0, _useBanner.useBanner)();
(0, _react.useEffect)(() => {
let timeout;
if (banners.length) {
timeout = setTimeout(() => {
_store.bannerStoreActions.updateBannerItems(banners.slice(1));
}, bannerAutoHideTimeout);
}
return () => {
if (timeout) {
clearTimeout(timeout);
}
};
}, [banners, bannerAutoHideTimeout]);
}
//# sourceMappingURL=useAutoHideBannerEffect.js.map