// Metro module 15387 (f15388). import _asyncToGenerator from "../../../_bundle/_asyncToGenerator"; import { useMemo, useCallback, useState } from "react"; import { View } from "react-native"; import AccessibilityStore from "../../a11y/AccessibilityStore"; import GuildStore from "../../../stores/GuildStore"; import ICYMIStore from "../ICYMIStore"; import { GuildFeatures, AnalyticsPages, AnalyticsSections, AnalyticsObjects } from "../../../Constants"; import { jsx } from "react/jsx-runtime"; import { createICYMIStyles } from "./createICYMIStyles"; import Module712 from "../../../_bundle/Module712"; import { useStateFromStores, useStateFromStoresArray } from "../../../_bundle/Module589"; import AvatarUtils from "../../../utils/AvatarUtils"; import { fromClientDiscoverableGuild } from "../../../utils/GuildRecordUtils"; import ClipView, { CutoutShape } from "../../../design/components/Icon/native/ClipView"; import FastImage from "../../../components_native/common/FastImage"; import GuildIcon, { GuildIconSizes } from "../../guild/native/GuildIcon"; import ICYMIActionCreators from "../ICYMIActionCreators"; import ToastActionCreators from "../../toast/native/ToastActionCreators"; import { intl, t } from "../../../intl/index.native"; import GuildActionCreators from "../../../actions/GuildActionCreators"; import { Text } from "../../../design/components/Text/native/Text"; import { Button } from "../../../design/components/Button/native/Button.native"; import { Separator } from "./ICYMIShared"; import FastestList_android from "../../fastest_list/FastestList.android"; function $mk116937($env) { return function*() { let env31760 = { $parent: $env }; env31760[1] = 0; env31760[2] = 0; const r22 = env31760.$parent; env31760[0] = r22; yield ICYMIActionCreators.reloadICYMITab(); const r43 = env31760[0].$parent; yield (0, r43[1])(r43[2][17]).getGuildChannelScores(); const r65 = env31760[0].$parent; (0, r65[1])(r65[2][17]).getRecommendedGuilds(); }; } let FeaturedServer, RecommendedGuildsRow, c10939_17; let env10939 = {}; const CutoutGuildBanner = function CutoutGuildBanner(props) { const guild = props.guild; const r14 = c10939_17(); const stateFromStores = useStateFromStores([AccessibilityStore], () => AccessibilityStore.useReducedMotion); const r24 = stateFromStores ? !stateFromStores : guild.features.has(GuildFeatures.ANIMATED_BANNER); const source = guild.banner != null ? AvatarUtils.getAnimatableSourceWithFallback(r24, (a0) => AvatarUtils.getGuildBannerSource({ id: guild.id, banner: guild.banner }, a0)) : void 0; return {guild.banner != null ? : } fromClientDiscoverableGuild(guild), [guild])} size={GuildIconSizes.LARGE} animate={!stateFromStores} /> ; }; FeaturedServer = function FeaturedServer(props) { let setState; const guild2 = props.guild; setState = void 0; const r9 = c10939_17(); const stateFromStores = useStateFromStores([GuildStore], () => GuildStore.getGuild(guild2.id) != null); const callback = useCallback(async () => { let c28015_0, c28015_1; L14: { let env30874; c28015_1 = void 0; const r10 = env30874 = { $parent: env10939 }; c28015_0 = r10; env30874[0] = void 0; setState(true); ICYMIActionCreators.itemInteracted("recommended_guilds", "recommended_guilds", "press_join_guild"); ICYMIActionCreators.feedItemActioned({ itemId: guild2.id, itemType: "recommended_guilds", actionParameters: { actionGestureType: "press", actionTargetElement: "item_container", actionIntentType: "join", actionDestinationType: "guild" } }); if (await ICYMIActionCreators.gravityJoinGuild([guild2.id], "recommended_guilds")) { const r69 = c28015_0; env30874[0] = { state: { analyticsSource: { page: AnalyticsPages.ICYMI, section: AnalyticsSections.ICYMI_RECOMMENDED_SERVERS, object: AnalyticsObjects.LIST_ITEM } } }; ICYMIActionCreators.addedRecommendedGuild(); ICYMIActionCreators.fetchDehydrated({ isReloading: true, forceRefresh: true }).then((0, _asyncToGenerator)($mk116937(r69))); await GuildActionCreators.transitionToGuildSync(guild2.id, { ...env30874[0] }); (0, setState)(false); break L14; } (0, setState)(false); ToastActionCreators.open({ key: "RecommeendedServersRow", content: intl.string(t.CG4Hks) }); return void 0; } }, [guild2.id]); let loading; [loading, setState] = useState(false); return {guild2.name} {guild2.description}