/* Metro module 14055; source: modules/collectibles/native/FramesHeroBlock.tsx; dependencies: [31, 27, 5121, 663, 661, 33, 10020, 4501, 697, 14056, 14057, 1484, 10023, 566, 4048, 10154, 14058, 14049, 6771, 6789, 683, 4002, 14060, 14061, 10155, 10089, 4589, 4573, 4578, 1244, 9480, 6533, 5278, 6818, 6517, 14062, 8416, 14065, 2] */ import AnalyticsUtils from '../../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */ import Native from '../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */ import UseTheme from '../../../hooks/useTheme.tsx'; /* Metro dependency 4048 */ import CollectiblesCategoryStore from '../CollectiblesCategoryStore.tsx'; /* Metro dependency 5121 */ import UseAnalyticsLocations from '../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */ import AnalyticsLocation from '../../app_analytics/AnalyticsLocation.tsx'; /* Metro dependency 6789 */ import CollectiblesShopCardV2 from './CollectiblesShopCardV2.tsx'; /* Metro dependency 10020 */ import FramesEarlyAccessBadge from './FramesEarlyAccessBadge.tsx'; /* Metro dependency 10089 */ import VisibilitySensor from './VisibilitySensor.tsx'; /* Metro dependency 10155 */ import SkeletonCard from './SkeletonCard.tsx'; /* Metro dependency 14056 */ import UseGetProductsFromSkus from '../hooks/useGetProductsFromSkus.tsx'; /* Metro dependency 14058 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as CollectiblesShopConstantsModule from '../CollectiblesShopConstants.tsx'; /* Metro dependency 663 */ import * as UseNavigationNativeModule from '../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */ import * as CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as TextModule from '../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */ import * as LayerScopeNativeModule from '../../../design/components/Layers/native/LayerScope.native.tsx'; /* Metro dependency 6517 */ import * as QuestContentModule from '../../../external/discord_common/js/shared/shared-constants/QuestContent.tsx'; /* Metro dependency 6533 */ import * as UseAnalyticsLocationsModule from '../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */ import * as CollectiblesShopCardV2Module from './CollectiblesShopCardV2.tsx'; /* Metro dependency 10020 */ import * as CollectiblesAnalyticsContextModule from '../CollectiblesAnalyticsContext.tsx'; /* Metro dependency 10023 */ import * as UseTrackProductCardImpressionModule from '../hooks/useTrackProductCardImpression.tsx'; /* Metro dependency 10154 */ import * as UseFilteredAndSortedProductsModule from './hooks/useFilteredAndSortedProducts.tsx'; /* Metro dependency 14049 */ import * as CollectiblesCoachmarkScrollDismissContextModule from './CollectiblesCoachmarkScrollDismissContext.tsx'; /* Metro dependency 14057 */ function _fun106582(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106582, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14252:6, offset: 0x022e1367, size: 1123 bytes, params: 8, frame: 28 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactNativeModule; const env0_4 = value.Image; const env0_5 = value.View; value = require(661) /* metro dependency 661: Constants */; const env0_8 = value.AnalyticEvents; const env0_9 = value.UserSettingsSections; const env0_10 = value.VerticalGradient; value = require(33) /* metro dependency 33 */; const env0_11 = value.jsx; const env0_12 = value.Fragment; const env0_13 = value.jsxs; const COLLECTIBLES_SHOP_CARD_WIDTH = (CollectiblesShopCardV2Module).COLLECTIBLES_SHOP_CARD_WIDTH; value = 0.75 * COLLECTIBLES_SHOP_CARD_WIDTH; const createStyles = CreateStylesModule.createStyles; object = {}; object.heroContainer = {width: '100%'}; const object3 = {'position': 'absolute', 'top': null, 'left': 0, 'right': 0, 'paddingHorizontal': null, 'alignItems': 'flex-start', 'zIndex': 2}; let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24; object3.top = PX_24; let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object3.paddingHorizontal = PX_16; object.framesBadgeContainer = object3; const object4 = {'marginTop': -250, 'paddingTop': 240, 'paddingBottom': null, 'paddingHorizontal': null, 'flexDirection': 'row', 'alignItems': 'center', 'borderRadius': null, 'overflow': 'hidden', 'zIndex': 0}; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object4.paddingBottom = PX_16; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object4.paddingHorizontal = PX_16; object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object.framesBannerWrapper = object4; const object5 = {'position': 'absolute', 'top': 0, 'left': 0, 'right': 0, 'bottom': 0, 'resizeMode': 'stretch'}; object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object.framesBannerBackgroundImage = object5; const object6 = {flex: 1}; let PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4; object6.paddingRight = PX_4; PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24; object6.marginTop = PX_24; object.framesBannerTextContainer = object6; PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4; object.framesBannerTitle = {marginBottom: PX_4}; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object.framesBannerForegroundImage = {'width': 125, 'height': 125, 'resizeMode': 'contain', transform: [{translateY: PX_16}]}; object.heroBannerContainer = {'position': 'absolute', 'top': 0, 'left': 0, 'width': '100%', 'maxHeight': null, 'aspectRatio': 1.4883720930232558, maxHeight: 240 + value}; object.heroBannerImage = {'width': '100%', 'height': '100%', 'resizeMode': 'cover'}; object.orbsBackgroundGradient = {'position': 'absolute', 'top': 0, 'left': 0, 'bottom': 0, 'right': 0}; object.heroInfoContainer = {'display': 'flex', 'justifyContent': 'center', 'flex': 1, 'minWidth': '100%', 'maxHeight': 240, 'aspectRatio': 2.2}; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object.innerContainer = {'flexDirection': 'row', 'alignItems': 'center', 'justifyContent': 'space-between', 'paddingHorizontal': null, 'width': '100%', 'height': '100%', paddingHorizontal: PX_16}; object.heroLogoContainer = {'flex': 1, 'maxWidth': '80%', 'maxHeight': '80%'}; object.heroLogo = {'resizeMode': 'contain', 'maxHeight': '100%', 'maxWidth': '100%', 'aspectRatio': 1}; const object12 = {}; const CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT; object12.backgroundColor = CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT; const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object12.padding = PX_8; object12.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; object.heroViewAllIcon = object12; const object13 = {}; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object13.paddingHorizontal = PX_16; object13.alignItems = 'flex-start'; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object13.gap = PX_16; object.orbsInnerContainer = object13; object.orbsTitle = {'fontSize': 24, 'lineHeight': 30}; object.productCardsContainer = {zIndex: 1}; const object15 = {flexDirection: 'row'}; const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12; object15.gap = PX_12; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object15.paddingHorizontal = PX_16; object.skeletonContainer = object15; const env0_14 = Reflect.apply(createStyles, CreateStylesModule, [object]); (FileImportTrackerModule).fileFinishedImporting('modules/collectibles/native/FramesHeroBlock.tsx'); exports.default = _default_106585; function SkeletonLoading({accessibilityLabel}) { // fn#106583, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14252:2274, offset: 0x022e17ca, size: 129 bytes, params: 2, frame: 17 const styles = useStyles(); const Array = global.Array; return ( {Array.from({length: 10}).map(_fun106584)} ); function _fun106584(a0, a1) { // fn#106584, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14252:2476, offset: 0x022e184b, size: 69 bytes, params: 3, frame: 17 const COLLECTIBLES_SHOP_CARD_WIDTH = (CollectiblesShopCardV2Module).COLLECTIBLES_SHOP_CARD_WIDTH; return ; } } function _default_106585({heroBlock, bannerBlock, preferVCPrice, screen}) { // fn#106585, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14252:2555, offset: 0x022e1890, size: 2683 bytes, params: 2, frame: 49 var r21; var r26; var r14; var length; var jsxRuntimeEnv0_12Binding; var PressableOpacity; var object; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const t = (require(1244) /* metro dependency 1244: indexNative */).t; var object5; var items4; var items5; var items6; var FlashList; var object3; const COLLECTIBLES_SHOP_CARD_WIDTH = (CollectiblesShopCardV2Module).COLLECTIBLES_SHOP_CARD_WIDTH; var space; var PX_12; var FeedProductList; var object4; const useCollectiblesCoachmarkScrollDismissContext = CollectiblesCoachmarkScrollDismissContextModule.useCollectiblesCoachmarkScrollDismissContext; const handleDismissCoachmarkOnScroll = Reflect.apply(useCollectiblesCoachmarkScrollDismissContext, CollectiblesCoachmarkScrollDismissContextModule, []).handleDismissCoachmarkOnScroll; const env0_2 = (UseNavigationNativeModule).useNavigation(); const env0_3 = (CollectiblesAnalyticsContextModule).useCollectiblesAnalyticsContext(); let r30 = heroBlock.mobileHeroUrl ?? heroBlock.heroBannerUrl; const heroLogoUrl = heroBlock.heroLogoUrl; const category = (require(566) /* metro dependency 566: flux */).useStateFromStores([CollectiblesCategoryStore], function() { return CollectiblesCategoryStore.getCategory(heroBlock.categorySkuId); }); let r17 = category != null && category.isOrbsExclusive; const value3 = (UseTheme)(); const useTrackProductCardImpression = UseTrackProductCardImpressionModule.useTrackProductCardImpression; const handleCardVisibilityChange = Reflect.apply(useTrackProductCardImpression, UseTrackProductCardImpressionModule, [heroBlock.categoryStoreListingId, 'mobile_home', 'hero_block']).handleCardVisibilityChange; const styles = useStyles(); const value6 = (UseFilteredAndSortedProductsModule).useFilteredAndSortedProducts({products: env0_3.useMemo(_fun106587, [heroBlock.rankedSkuIds, (UseGetProductsFromSkus)()]), bypassAndroidUnsyncedFilter: r17}); const FEATURED_PAGE = CollectiblesMobileShopScreen.FEATURED_PAGE; const env0_6 = screen === FEATURED_PAGE; const defaultImport = UseAnalyticsLocations; const COLLECTIBLES_SHOP_HERO = (AnalyticsLocation).COLLECTIBLES_SHOP_HERO; const analyticsLocations = defaultImport(COLLECTIBLES_SHOP_HERO).analyticsLocations; if (category === undefined) { return null; } const r32 = heroBlock.mobileTitle ?? heroBlock.title; const r33 = heroBlock.mobileSummary ?? heroBlock.summary; r30 = r17 ? (require(4002) /* metro dependency 4002: shared */).isThemeDark(value3) ? importDefault(14060) /* metro dependency 14060: header_darkJpg */ : importDefault(14061) /* metro dependency 14061: header_lightJpg */ : r30; const AnalyticsLocationProvider = (UseAnalyticsLocationsModule).AnalyticsLocationProvider; const items2 = [ {((Component) => )(FramesEarlyAccessBadge)} , ]; items2[1] = ( {r30 != null && <>{r17 && ((Component) => )(importDefault(4589) /* metro dependency 4589 */)}} ); if (r17) { var viewBinding6Props = {style: styles.orbsInnerContainer}; r26 = r32 != null && {r32}; items5 = [r26]; r26 = r33 != null && r33 !== ''; r26 = r26 && {r33}; items5[1] = r26; items6 = [ {items5} , ]; items6[1] = ((Button) =>