@livelike/react-native
Version:
LiveLike React Native package
58 lines • 1.65 kB
JavaScript
import React from 'react';
import { StyleSheet, View } from 'react-native';
import { useLoadWidgetRewardsEffect, useStyles, useWidgetRewards, useWidgetRewardsEffect } from '../../hooks';
import { LLWidgetReward } from './LLWidgetReward';
export function LLWidgetRewards(_ref) {
let {
widgetId,
RewardComponent = LLWidgetReward,
RewardComponentStyles,
styles: stylesProp
} = _ref;
const rewardStyles = useStyles({
componentStylesFn: getWidgetRewardsStyles,
stylesProp
});
const widgetRewards = useWidgetRewards({
widgetId
});
const {
slideInOutStyles
} = useWidgetRewardsEffect({
widgetId
});
useLoadWidgetRewardsEffect({
widgetId
});
if (!(widgetRewards !== null && widgetRewards !== void 0 && widgetRewards.length)) {
return undefined;
}
return /*#__PURE__*/React.createElement(View, {
style: rewardStyles.container
}, widgetRewards === null || widgetRewards === void 0 ? void 0 : widgetRewards.map((widgetReward, index) => /*#__PURE__*/React.createElement(RewardComponent, {
key: widgetReward.reward_item_id,
multipleReward: widgetRewards.length > 1,
widgetReward: widgetReward,
slideInOutStyle: slideInOutStyles[index],
widgetId: widgetId,
styles: RewardComponentStyles
})));
}
const getWidgetRewardsStyles = _ref2 => {
let {
theme
} = _ref2;
return StyleSheet.create({
container: {
display: 'flex',
flex: 1,
alignSelf: 'center',
height: 22,
overflow: 'hidden',
flexDirection: 'column',
marginBottom: 16,
marginLeft: 16
}
});
};
//# sourceMappingURL=LLWidgetRewards.js.map