// Metro module 7936 (f7937). import { useCallback, useMemo, useState } from "react"; import { View } from "react-native"; import CollectiblesPurchaseStore from "../../collectibles/CollectiblesPurchaseStore"; import { isAvatarDecorationRecord } from "../../collectibles/records/AvatarDecorationRecord"; import GuildMemberStore from "../../../stores/GuildMemberStore"; import { AnalyticEvents } from "../../../Constants"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import usePendingAvatarSettings from "../hooks/usePendingAvatarSettings"; import { getPendingAvatarSrc } from "../../recent_avatars/RecentAvatarUtils"; import { useBottomSheetRef } from "../../../design/components/Sheet/native/useBottomSheetRef"; import useAnalyticsLocations, { AnalyticsLocationProvider } from "../../app_analytics/useAnalyticsLocations"; import AnalyticsLocation from "../../app_analytics/AnalyticsLocation"; import AnalyticsUtils from "../../../utils/AnalyticsUtils"; import { ThemeContextProvider } from "../../../_bundle/Module3901"; import { BottomSheet } from "../../../design/components/Sheet/native/BottomSheet.native"; import { Text } from "../../../design/components/Text/native/Text"; import { intl, t } from "../../../intl/index.native"; import EditCollectiblesCTAButton from "./EditCollectiblesCTAButton"; import { useGetOrFetchCollectiblesCategoriesAndPurchases } from "../../collectibles/hooks/useFetchCollectiblesCategoriesAndPurchases"; import { useStateFromStores } from "../../../_bundle/Module589"; import useAvatarDecorationSections from "../../collectibles/avatar_decorations/useAvatarDecorationSections"; import { getProfilePreviewValue } from "../../profile_customization/ProfileCustomizationUtils"; import { EditAvatarDecorationRow } from "../../collectibles/avatar_decorations/native/EditAvatarDecorationSection"; import EditCollectiblesPreviewDetails from "./EditCollectiblesPreviewDetails"; import { EditCollectiblesPickerList } from "../../collectibles/native/EditCollectiblesPickerList"; import useCollectiblesData from "../../collectibles/hooks/useCollectiblesData"; import HeaderAvatar from "../../profile_customization/native/HeaderAvatar"; import { AvatarSizes } from "../../../design/void/native"; import AvatarGrid from "../../collectibles/avatar_decorations/native/AvatarGrid"; let useStyles, AvatarDecorationSectionPreview; const EditAvatarDecorationInner = function EditAvatarDecorationInner(props) { const { pendingAvatarSrc, user, selectedAvatarDecoration, setSelectedAvatarDecoration, guildId, isTryItOut: isTryItOut2 = false } = props; const isTryItOut = isTryItOut2; useGetOrFetchCollectiblesCategoriesAndPurchases(); const stateFromStores = useStateFromStores([CollectiblesPurchaseStore], () => CollectiblesPurchaseStore.isFetching); const avatarDecorationSections = useAvatarDecorationSections(); const profilePreviewValue = getProfilePreviewValue({ pendingValue: selectedAvatarDecoration, userValue: user?.avatarDecoration, guildValue: useStateFromStores([GuildMemberStore], () => guildId != null ? GuildMemberStore.getMember(guildId, user.id) : null)?.avatarDecoration, guildId }); const callback = useCallback((a0) => , [setSelectedAvatarDecoration, guildId, isTryItOut]); return <> {[, , ]} ; }; AvatarDecorationSectionPreview = function AvatarDecorationSectionPreview(props) { const { previewSkuId, user: user2, guildId: guildId2, pendingAvatarSrc } = props; const styles = useStyles(); const collectiblesData = useCollectiblesData(previewSkuId); const { product, purchase } = collectiblesData; const memo = useMemo(() => { let r3 = product == null ? void 0 : product.items[0]; if (r3 == null) { r3 = purchase == null ? void 0 : purchase.items[0]; } return isAvatarDecorationRecord(r3) ? r3 : null; }, [purchase, product]); return ; }; useStyles = createStyles({ container: { flex: 1, backgroundColor: Module712.colors.MOBILE_ACTIONSHEET_BACKGROUND }, bounceOffset: { position: "absolute", top: -250, height: 250, right: 0, left: 0 }, title: { alignSelf: "center", color: Module712.colors.MOBILE_TEXT_HEADING_PRIMARY, margin: 25 }, avatarDisplayContainer: { flexDirection: "row", width: "100%", justifyContent: "center", alignItems: "center", paddingVertical: 16 } }); export default function EditAvatarDecorationActionSheet(props) { const { user: user2, guildId: guildId2, currentAvatarDecoration, isTryItOut: isTryItOut2 } = props; let analyticsLocations = props.analyticsLocations; const styles = useStyles(); const pendingAvatarSettings = usePendingAvatarSettings({ analyticsLocations, isTryItOut: isTryItOut2, guildId: guildId2 }); const { pendingAvatar, setPendingAvatarDecoration } = pendingAvatarSettings; const pendingAvatarSrc = getPendingAvatarSrc({ userId: user2.id, image: pendingAvatar }); const [state, setSelectedAvatarDecoration2] = useState(currentAvatarDecoration); const bottomSheetRef = useBottomSheetRef().bottomSheetRef; if (analyticsLocations == null) { analyticsLocations = []; } const analyticsLocations2 = useAnalyticsLocations(analyticsLocations, AnalyticsLocation.EDIT_AVATAR_DECORATION_SHEET).analyticsLocations; const callback = useCallback(() => { AnalyticsUtils.track(AnalyticEvents.OPEN_POPOUT, { type: AnalyticsLocation.EDIT_AVATAR_DECORATION_SHEET, is_fullscreen: true }); }, []); const callback2 = useCallback(() => { let r3 = state; if (state == null) { r3 = null; } setPendingAvatarDecoration(r3); }, [state, setPendingAvatarDecoration]); return {intl.string(t.HykynS)} ; };