/* Metro module 14067; source: modules/collectibles/native/HeroBlock.tsx; dependencies: [31, 27, 5121, 663, 661, 33, 10020, 4501, 697, 14056, 14057, 1484, 10023, 566, 4048, 10154, 3860, 4000, 14058, 14049, 6771, 6789, 683, 4002, 14060, 14061, 10155, 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 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 UseTokenModule from '../../../design/tokens/native/useToken.tsx'; /* Metro dependency 3860 */ import * as ColorUtilsModule from '../../../utils/ColorUtils.tsx'; /* Metro dependency 4000 */ import * as CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ 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 _fun106642(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106642, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14264:6, offset: 0x022e3c6a, size: 786 bytes, params: 8, frame: 24 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%'}; 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.fadeOutGradient = {'position': 'absolute', 'bottom': 0, 'height': '50%', 'width': '100%', 'zIndex': 1}; object.heroInfoContainer = {'display': 'flex', 'justifyContent': 'center', 'flex': 1, 'minWidth': '100%', 'maxHeight': 240, 'aspectRatio': 2.2}; let 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 object5 = {}; const CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT; object5.backgroundColor = CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT; const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object5.padding = PX_8; object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; object.heroViewAllIcon = object5; const object6 = {}; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object6.paddingHorizontal = PX_16; object6.alignItems = 'flex-start'; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object6.gap = PX_16; object.orbsInnerContainer = object6; object.orbsTitle = {'fontSize': 24, 'lineHeight': 30}; object.productCardsContainer = {zIndex: 1}; const object8 = {flexDirection: 'row'}; const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12; object8.gap = PX_12; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object8.paddingHorizontal = PX_16; object.skeletonContainer = object8; const env0_14 = Reflect.apply(createStyles, CreateStylesModule, [object]); (FileImportTrackerModule).fileFinishedImporting('modules/collectibles/native/HeroBlock.tsx'); exports.default = _default_106645; function SkeletonLoading_106643({accessibilityLabel}) { // fn#106643, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14264:1585, offset: 0x022e3f7c, size: 129 bytes, params: 2, frame: 17 const styles = useStyles(); const Array = global.Array; return ( {Array.from({length: 10}).map(_fun106644)} ); function _fun106644(a0, a1) { // fn#106644, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14264:1787, offset: 0x022e184b, size: 69 bytes, params: 3, frame: 17 const COLLECTIBLES_SHOP_CARD_WIDTH = (CollectiblesShopCardV2Module).COLLECTIBLES_SHOP_CARD_WIDTH; return ; } } function _default_106645({heroBlock, preferVCPrice, screen}) { // fn#106645, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14264:1866, offset: 0x022e3ffd, size: 2510 bytes, params: 2, frame: 50 var r18; var r11; var r28; var r15; var length; var jsxRuntimeEnv0_12Binding; var items2; 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 items5; var items6; var items7; 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 r32 = 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 r16 = 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(); let useToken = UseTokenModule.useToken; const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW; const value4 = Reflect.apply(useToken, UseTokenModule, [BACKGROUND_BASE_LOW]); const hexToRgbaString = ColorUtilsModule.hexToRgbaString; const value5 = Reflect.apply(hexToRgbaString, ColorUtilsModule, [ColorUtilsModule.hexWithOpacity(value4, 0)]); useToken = UseTokenModule.useToken; const BACKGROUND_BASE_LOWEST = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWEST; const value6 = Reflect.apply(useToken, UseTokenModule, [BACKGROUND_BASE_LOWEST]); const value9 = (UseFilteredAndSortedProductsModule).useFilteredAndSortedProducts({products: env0_3.useMemo(_fun106647, [heroBlock.rankedSkuIds, (UseGetProductsFromSkus)()]), bypassAndroidUnsyncedFilter: r16}); 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 r33 = heroBlock.mobileTitle ?? heroBlock.title; const r34 = heroBlock.mobileSummary ?? heroBlock.summary; r32 = r16 ? (require(4002) /* metro dependency 4002: shared */).isThemeDark(value3) ? importDefault(14060) /* metro dependency 14060: header_darkJpg */ : importDefault(14061) /* metro dependency 14061: header_lightJpg */ : r32; const AnalyticsLocationProvider = (UseAnalyticsLocationsModule).AnalyticsLocationProvider; const value10 = r32 != null; if (value10) { jsxRuntimeEnv0_12Binding = jsxRuntimeEnv0_12; items2 = [ r16 && ((Component) => )(importDefault(4589) /* metro dependency 4589 */), ]; items2[1] = ; items2[2] = ((Component) => )(importDefault(4589) /* metro dependency 4589 */); r11 = ( <> {items2} ); } else { r11 = value10; } const items4 = [ {r11} , ]; if (r16) { var viewBinding6Props = {style: styles.orbsInnerContainer}; r28 = r33 != null && ((Text) => {r33})((require(4573) /* metro dependency 4573: Text */).Text); items6 = [r28]; r28 = r34 != null && r34 !== ''; r28 = r28 && ((Text) => {r34})((require(4573) /* metro dependency 4573: Text */).Text); items6[1] = r28; items7 = [ {items6} , ]; items7[1] = ((Button) =>