UNPKG

@livelike/react-native

Version:

LiveLike React Native package

45 lines 1.59 kB
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import React from 'react'; import { Platform, StyleSheet, View } from 'react-native'; import { DEFAULT_BANNER_AUTO_HIDE_TIMEOUT, useAutoHideBannerEffect, useBanner, useStyles } from '../../hooks'; import { LLChatBannerItem } from './LLChatBannerItem'; export function LLChatBanner(_ref) { let { styles: stylesProp, bannerAutoHideTimeout = DEFAULT_BANNER_AUTO_HIDE_TIMEOUT, BannerItemComponent = LLChatBannerItem } = _ref; const bannerStyles = useStyles({ componentStylesFn: getAppBannerStyles, stylesProp }); const { banners } = useBanner(); useAutoHideBannerEffect({ bannerAutoHideTimeout }); return /*#__PURE__*/React.createElement(View, { style: bannerStyles.bannerContainer }, banners.map(item => /*#__PURE__*/React.createElement(BannerItemComponent, _extends({ key: item.id }, item)))); } const getAppBannerStyles = _ref2 => { let { theme } = _ref2; return StyleSheet.create({ bannerContainer: { display: 'flex', flexDirection: 'column', position: 'absolute', top: Platform.OS === 'ios' ? 50 : 70, left: 12, backgroundColor: 'transparent', marginBottom: 15, zIndex: 1 } }); }; //# sourceMappingURL=LLChatBanner.js.map