// Metro module 15354 (f15355). import { useCallback, useState, useRef, useEffect } from "react"; import { StyleSheet, View } from "react-native"; import AccessibilityStore from "../../../a11y/AccessibilityStore"; import GuildStore from "../../../../stores/GuildStore"; import ICYMIPopularGuildsStore from "../../ICYMIPopularGuildsStore"; import { GuildFeatures } from "../../../../Constants"; import { createICYMIStyles } from "../createICYMIStyles"; import Module712 from "../../../../_bundle/Module712"; import GuildIcon, { GuildIconSizes } from "../../../guild/native/GuildIcon"; import { ServerIcon } from "../../../../design/components/Icon/native/redesign/generated/ServerIcon"; import ReanimatedRexport, { useAnimatedStyle } from "../../../reanimated/ReanimatedRexport"; import * as _timing from "../../../../design/animation/reanimated/timing/timing"; import FastestList_android from "../../../fastest_list/FastestList.android"; import { useStateFromStores, useStateFromStoresArray } from "../../../../_bundle/Module589"; import AvatarUtils from "../../../../utils/AvatarUtils"; import ClipView, { CutoutShape } from "../../../../design/components/Icon/native/ClipView"; import FastImage from "../../../../components_native/common/FastImage"; import { PressableHighlight } from "../../../../design/void/Pressables/native/Pressables"; import { Text } from "../../../../design/components/Text/native/Text"; import { Button } from "../../../../design/components/Button/native/Button.native"; import { CircleCheckIcon } from "../../../../design/components/Icon/native/redesign/generated/CircleCheckIcon"; import { intl, t } from "../../../../intl/index.native"; import useSafeAreaInsets_native from "../../../safe_area/useSafeAreaInsets.native"; import { ICYMIAnalytics } from "../../ICYMIAnalytics"; import ICYMIActionCreators from "../../ICYMIActionCreators"; import ToastActionCreators from "../../../toast/native/ToastActionCreators"; import ModalActionCreators from "../../../../actions/ModalActionCreators"; import { ICYMI_INFO_MODAL_KEY, ICYMI_DISCOVERABLE_GUILDS_PAGE_SIZE } from "./ICYMIInfoModalTypes"; import { MasonryFlashList } from "../../../../_bundle/noop_6676"; let SELECTED_SERVER_SIZE_WITH_BORDER, styles, __initData, SelectedServersRow, CutoutGuildBanner, FeaturedServer; const SelectedServerIcon = function SelectedServerIcon(props) { const { guild: guild3, index } = props; const r13 = styles(); const r2 = index < 3; return {guild3 != null ? : r2 ? : null} ; }; SelectedServersRow = function SelectedServersRow(props) { let state, setState, ref; const selectedGuilds = props.selectedGuilds; state = void 0; setState = void 0; ref = void 0; const r7 = styles(); const callback2 = useCallback((a0, a1) => , [selectedGuilds]); [state, setState] = useState(selectedGuilds.length); ref = useRef(null); useEffect(() => { if (state < selectedGuilds.length) { const current = ref.current; if (current != null) { current.scrollToLocation({ animated: true, section: 0, item: selectedGuilds.length }); } setState(selectedGuilds.length); } else if (state !== selectedGuilds.length) { setState(selectedGuilds.length); } }, [state, selectedGuilds.length]); const _ = function _() { return { opacity: _timing.withTiming(selectedGuilds.length > 0 ? 1 : 0), height: _timing.withTiming(selectedGuilds.length > 0 ? SELECTED_SERVER_SIZE_WITH_BORDER : 0), marginTop: _timing.withTiming(selectedGuilds.length > 0 ? Module712.space.PX_24 : 0) }; }; _.__closure = { withTiming: _timing.withTiming, selectedGuilds, SELECTED_SERVER_SIZE_WITH_BORDER, tokens: Module712 }; _.__workletHash = 2911488630455; _.__initData = __initData; return = 3 ? selectedGuilds.length + 1 : 3]} insetStart={Module712.space.PX_24} insetEnd={Module712.space.PX_12} renderItem={callback2} estimatedListSize="windowSize" itemSize={SELECTED_SERVER_SIZE_WITH_BORDER + Module712.space.PX_12} horizontal listId="selected-servers-list" showsHorizontalScrollIndicator={false} /> ; }; CutoutGuildBanner = function CutoutGuildBanner(props) { const guild = props.guild; const r15 = styles(); const stateFromStores2 = useStateFromStores([AccessibilityStore], () => AccessibilityStore.useReducedMotion); const r24 = stateFromStores2 ? !stateFromStores2 : 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 ? : } ; }; FeaturedServer = function FeaturedServer(props) { const { guild: guild2, selected, loading, handlePress } = props; const r10 = styles(); const stateFromStores2 = useStateFromStores([GuildStore], () => GuildStore.getGuild(guild2.id) != null); const callback2 = useCallback(() => { handlePress(guild2); }, [guild2, handlePress]); const r42 = [, ,]; const r50 = [{guild2.name}, {guild2.description},