UNPKG

@livelike/react-native

Version:

LiveLike React Native package

57 lines (56 loc) 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useWidgetRewardsEffect = void 0; var _react = require("react"); var _reactNative = require("react-native"); var _useWidgetRewards = require("./useWidgetRewards"); const useWidgetRewardsEffect = _ref => { let { widgetId } = _ref; const widgetRewards = (0, _useWidgetRewards.useWidgetRewards)({ widgetId }); const [posYs, setPosys] = (0, _react.useState)([]); (0, _react.useEffect)(() => { if (widgetRewards && (widgetRewards === null || widgetRewards === void 0 ? void 0 : widgetRewards.length) > 1) { const animations = []; const posYs = widgetRewards.map(() => { const posY = new _reactNative.Animated.Value(0); const rewardAnimation = _reactNative.Animated.timing(posY, { toValue: 10, duration: 2000, useNativeDriver: true }); animations.push(rewardAnimation); return posY; }); const rewardAnimation = _reactNative.Animated.loop(_reactNative.Animated.sequence(animations)); rewardAnimation.start(); setPosys(posYs); return () => { rewardAnimation.reset(); }; } }, [widgetRewards]); const slideInOutStyles = (0, _react.useMemo)(() => { if (!(widgetRewards !== null && widgetRewards !== void 0 && widgetRewards.length) || !posYs.length || widgetRewards.length !== posYs.length) { return []; } return widgetRewards.map((reward, i) => { return { translateY: posYs[i].interpolate({ inputRange: [0, 1, 9, 10], outputRange: [20, 0, 0, -20] }) }; }); }, [posYs, widgetRewards === null || widgetRewards === void 0 ? void 0 : widgetRewards.length]); return { slideInOutStyles }; }; exports.useWidgetRewardsEffect = useWidgetRewardsEffect; //# sourceMappingURL=useWidgetRewardsEffect.js.map