// Metro module 5139 (f5140). import _slicedToArray from "../../../_bundle/_slicedToArray"; import { useCallback, useState, useEffect, useLayoutEffect } from "react"; import { StyleSheet, View } from "react-native"; import AccessibilityStore from "../../a11y/AccessibilityStore"; import MemberVerificationFormStore from "../../guild_member_verification/MemberVerificationFormStore"; import ChannelStore from "../../../stores/ChannelStore"; import GuildStore from "../../../stores/GuildStore"; import SelectedChannelStore from "../../../stores/SelectedChannelStore"; import GuildOnboardingPromptsStore from "../GuildOnboardingPromptsStore"; import { OnboardingPromptType } from "../GuildOnboardingPromptsConstants"; import { GuildOnboardingModalStates } from "./GuildOnboardingConstants"; import { AnalyticEvents, MarketingURLs, Routes } from "../../../Constants"; import { transitionTo } from "../../routing/router_utils"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import { NAV_BAR_HEIGHT } from "../../../design/components/Navigator/native/NavigatorConstants.native"; import Module712 from "../../../_bundle/Module712"; import { getPaletteForAvatar } from "../../../utils/ImageUtils"; import { rgbToHex, hexWithOpacity } from "../../../utils/ColorUtils"; import FastImage from "../../../components_native/common/FastImage"; import Module4611 from "../../../_bundle/Module4611"; import { VerticalGradient } from "../../../ConstantsIOS"; import { useStateFromStores, useStateFromStoresArray } from "../../../_bundle/Module589"; import useSafeAreaInsets_native from "../../safe_area/useSafeAreaInsets.native"; import { useNavigation } from "../../../design/components/Navigator/native/useNavigation.native"; import * as _ReanimatedRexport from "../../reanimated/ReanimatedRexport"; import ReanimatedRexport, { useSharedValue, useAnimatedStyle } from "../../reanimated/ReanimatedRexport"; import GuildOnboardingActionCreators from "../GuildOnboardingActionCreators"; import { showRulesInOnboarding } from "../GuildOnboardingUtils"; import AvatarUtils from "../../../utils/AvatarUtils"; import getDevicePixelRatio_native from "../../../utils/getDevicePixelRatio.native"; import AnalyticsUtils from "../../../utils/AnalyticsUtils"; import { collectGuildAnalyticsMetadata } from "../../app_analytics/AppAnalyticsUtils"; import * as _timing from "../../../design/animation/reanimated/timing/timing"; import { getHeaderCloseButton, getHeaderBackButton } from "../../../design/components/Navigator/native/NavigatorHeader.native"; import { SafeAreaPaddingView } from "../../../components_native/common/SafeAreaView"; import { MultipleChoicePrompt, DropdownPrompt } from "./GuildOnboardingPrompt"; import { assertNever } from "../../../utils/GlobalUtils"; import LottieAnimationView from "../../../components_native/common/LottieAnimationView"; import { Text } from "../../../design/components/Text/native/Text"; import { t, intl } from "../../../intl/index.native"; let useStyles, BackgroundImageGradient, __initData, __initData2, __initData3, __initData4, __initData5; let _getBackgroundGradientColor = function _getBackgroundGradientColor() { const r8 = async (c25362_0) => { let c25362_2; c25362_2 = void 0; let c29467_0 = await getPaletteForAvatar(c25362_0); let c29467_1 = (0, _slicedToArray)(c29467_0[0], 3); let c29467_2 = c29467_1[0]; let c29467_3 = c29467_1[1]; let c29467_4 = c29467_1[2]; return rgbToHex(c29467_2, c29467_3, c29467_4); }; _getBackgroundGradientColor = r8; return r8.apply(this, arguments); }; BackgroundImageGradient = function BackgroundImageGradient(props) { const { splashUrl, color } = props; const styles = useStyles(); return <> ; }; useStyles = createStyles({ flex: { flex: 1 }, container: { display: "flex", flex: 1, flexGrow: 1, marginTop: NAV_BAR_HEIGHT, marginBottom: Module712.space.PX_16, backgroundColor: Module712.colors.BACKGROUND_BASE_LOWER }, subtitle: { marginBottom: Module712.space.PX_16, opacity: 0.8 }, onboardingTitle: { textAlign: "center" }, onboardingPolicy: { position: "absolute", paddingHorizontal: Module712.space.PX_16, display: "flex", justifyContent: "center", width: "100%", marginBottom: Module712.space.PX_16 }, onboardingPolicyText: { textAlign: "center" }, landingOverlay: { position: "absolute", width: "100%", height: "100%", display: "flex", justifyContent: "center" }, artWrapper: { height: 350, position: "relative", display: "flex", flexDirection: "row", alignItems: "center", justifyContent: "center" }, landingBody: { alignItems: "center", marginTop: -24, paddingHorizontal: Module712.space.PX_16 }, backgroundImage: { position: "absolute", height: "50%", width: "100%", top: 0 }, backgroundColorGradient: { position: "absolute", height: "100%", width: "100%", top: 0 }, darkColorGradient: { position: "absolute", height: "100%", width: "100%", top: 0 } }); __initData = { code: "function GuildOnboardingPromptsTsx1(){const{showPrompts,withTiming,Easing,useReducedMotion}=this.__closure;const rawOpacity=showPrompts.get()?0:1;const opacity=withTiming(rawOpacity,{duration:300,easing:Easing.out(Easing.ease)});const rawTranslateY=!useReducedMotion&&showPrompts.get()?-80:0;const translateY=withTiming(rawTranslateY,{duration:300,easing:Easing.out(Easing.ease)});return{opacity:opacity,transform:[{translateY:translateY}]};}" }; __initData2 = { code: "function GuildOnboardingPromptsTsx2(){const{showPrompts,withDelay,withTiming,Easing,useReducedMotion}=this.__closure;const rawOpacity=showPrompts.get()?0:1;const opacity=withDelay(200,withTiming(rawOpacity,{duration:300,easing:Easing.out(Easing.ease)}));const rawTranslateY=!useReducedMotion&&showPrompts.get()?-80:0;const translateY=withDelay(200,withTiming(rawTranslateY,{duration:300,easing:Easing.out(Easing.ease)}));return{opacity:opacity,transform:[{translateY:translateY}]};}" }; __initData3 = { code: "function GuildOnboardingPromptsTsx3(){const{showPrompts,withDelay,withTiming,Easing}=this.__closure;const rawOpacity=showPrompts.get()?0:1;const opacity=withDelay(200,withTiming(rawOpacity,{duration:300,easing:Easing.out(Easing.ease)}));return{opacity:opacity};}" }; __initData4 = { code: "function GuildOnboardingPromptsTsx4(){const{showPrompts,withDelay,withTiming,Easing}=this.__closure;const rawOpacity=showPrompts.get()?0:1;const opacity=withDelay(200,withTiming(rawOpacity,{duration:300,easing:Easing.out(Easing.ease)}));return{opacity:opacity};}" }; __initData5 = { code: "function GuildOnboardingPromptsTsx5(){const{showPrompts,withDelay,withTiming,Easing,useReducedMotion}=this.__closure;const rawOpacity=showPrompts.get()?1:0;const opacity=withDelay(600,withTiming(rawOpacity,{duration:300,easing:Easing.out(Easing.ease)}));const rawTranslateY=!useReducedMotion&&!showPrompts.get()?80:0;const translateY=withDelay(600,withTiming(rawTranslateY,{duration:300,easing:Easing.out(Easing.ease)}));return{opacity:opacity,transform:[{translateY:translateY}]};}" }; export default function GuildOnboardingPrompt(props) { let stateFromStores2, c14698_7, c14698_8, navigation, skipped, c14698_11, sharedValue, callback, stateFromStores3, stateFromStoresArray, required, c14698_17, setState, guildSplashURL, required2; const { guildId, currentPromptIdx, prompts, selectOption, onClose, landingAnimation } = props; let isFirstOpen = props.isFirstOpen; const backShouldLeaveGuild = props.backShouldLeaveGuild; stateFromStores2 = void 0; c14698_7 = void 0; c14698_8 = void 0; navigation = void 0; skipped = void 0; c14698_11 = void 0; sharedValue = void 0; callback = void 0; stateFromStores3 = void 0; stateFromStoresArray = void 0; required = void 0; c14698_17 = void 0; setState = void 0; guildSplashURL = void 0; required2 = void 0; const styles = useStyles(); const stateFromStores = useStateFromStores([MemberVerificationFormStore], () => MemberVerificationFormStore.getRulesPrompt(guildId)); stateFromStores2 = useStateFromStores([AccessibilityStore], () => AccessibilityStore.useReducedMotion); const bottom = useSafeAreaInsets_native().bottom; const r5 = useStateFromStores([GuildOnboardingPromptsStore], () => GuildOnboardingPromptsStore.getOnboardingConnections(guildId)).length > 0; c14698_7 = r5; if (isFirstOpen) { isFirstOpen = currentPromptIdx === 0; } if (isFirstOpen) { isFirstOpen = !r5; } c14698_8 = isFirstOpen; navigation = useNavigation(); skipped = prompts.length > 0; const currentPrompt = prompts[currentPromptIdx]; c14698_11 = currentPrompt; sharedValue = useSharedValue(!isFirstOpen); callback = useCallback(() => { GuildOnboardingActionCreators.completeOnboarding(guildId, prompts); }, [guildId, prompts]); stateFromStores3 = useStateFromStores([GuildStore], () => GuildStore.getGuild(guildId)); stateFromStoresArray = useStateFromStoresArray([GuildOnboardingPromptsStore], () => c14698_11 != null ? GuildOnboardingPromptsStore.getOnboardingResponsesForPrompt(guildId, c14698_11.id) : [], [guildId, currentPrompt]); required = stateFromStoresArray.length === 0 && currentPrompt?.required; const lastPrompt = currentPromptIdx + 1 >= prompts.length && !showRulesInOnboarding(stateFromStores3, stateFromStores); c14698_17 = lastPrompt; let color; [color, setState] = useState(Module712.unsafe_rawColors.PRIMARY_800); guildSplashURL = stateFromStores3 != null ? AvatarUtils.getGuildSplashURL({ id: stateFromStores3.id, splash: stateFromStores3.splash, size: 400 * getDevicePixelRatio_native() }) : null; useEffect(() => { if (guildSplashURL != null) { (function getBackgroundGradientColor() { return _getBackgroundGradientColor.apply(this, arguments); })(guildSplashURL).then((result) => { setState(result); }); } }, [guildSplashURL]); useEffect(() => { if (c14698_8) { AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_VIEWED, { ...collectGuildAnalyticsMetadata(guildId), step: -1, required: true }); AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_COMPLETED, { ...collectGuildAnalyticsMetadata(guildId), step: -1, skipped, is_final_step: false, in_onboarding: true }); } }, [guildId, skipped, stateFromStores, isFirstOpen]); useEffect(() => { if (c14698_8) { setTimeout(() => { if (skipped) { sharedValue.set(true); return void 0; } onClose(); callback(); }, 2000); } }, [sharedValue, isFirstOpen, skipped, r5, onClose, callback, guildId]); useEffect(() => { if (!(c14698_8 || skipped)) { onClose(); } }, [isFirstOpen, skipped, onClose]); required2 = skipped ? prompts[0].required : skipped; useEffect(() => { if (currentPromptIdx === 0) { AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_VIEWED, { ...collectGuildAnalyticsMetadata(guildId), step: 0, required: required2 }); } }, [guildId, required2, currentPromptIdx]); const ot = function ot() { return { opacity: _timing.withTiming(sharedValue.get() ? 0 : 1, { duration: 300, easing: _ReanimatedRexport.Easing.out(_ReanimatedRexport.Easing.ease) }), transform: [{ translateY: _timing.withTiming(stateFromStores2 ? 0 : sharedValue.get() ? -80 : 0, { duration: 300, easing: _ReanimatedRexport.Easing.out(_ReanimatedRexport.Easing.ease) }) }] }; }; ot.__closure = { showPrompts: sharedValue, withTiming: _timing.withTiming, Easing: _ReanimatedRexport.Easing, useReducedMotion: stateFromStores2 }; ot.__workletHash = 6820086589932; ot.__initData = __initData; const animatedStyle = useAnimatedStyle(ot); const st = function st() { return { opacity: _ReanimatedRexport.withDelay(200, _timing.withTiming(sharedValue.get() ? 0 : 1, { duration: 300, easing: _ReanimatedRexport.Easing.out(_ReanimatedRexport.Easing.ease) })), transform: [{ translateY: _ReanimatedRexport.withDelay(200, _timing.withTiming(stateFromStores2 ? 0 : sharedValue.get() ? -80 : 0, { duration: 300, easing: _ReanimatedRexport.Easing.out(_ReanimatedRexport.Easing.ease) })) }] }; }; st.__closure = { showPrompts: sharedValue, withDelay: _ReanimatedRexport.withDelay, withTiming: _timing.withTiming, Easing: _ReanimatedRexport.Easing, useReducedMotion: stateFromStores2 }; st.__workletHash = 3034833873876; st.__initData = __initData2; const animatedStyle2 = useAnimatedStyle(st); const rt = function rt() { return { opacity: _ReanimatedRexport.withDelay(200, _timing.withTiming(sharedValue.get() ? 0 : 1, { duration: 300, easing: _ReanimatedRexport.Easing.out(_ReanimatedRexport.Easing.ease) })) }; }; rt.__closure = { showPrompts: sharedValue, withDelay: _ReanimatedRexport.withDelay, withTiming: _timing.withTiming, Easing: _ReanimatedRexport.Easing }; rt.__workletHash = 2795589385440; rt.__initData = __initData3; const animatedStyle3 = useAnimatedStyle(rt); const lt = function lt() { return { opacity: _ReanimatedRexport.withDelay(200, _timing.withTiming(sharedValue.get() ? 0 : 1, { duration: 300, easing: _ReanimatedRexport.Easing.out(_ReanimatedRexport.Easing.ease) })) }; }; lt.__closure = { showPrompts: sharedValue, withDelay: _ReanimatedRexport.withDelay, withTiming: _timing.withTiming, Easing: _ReanimatedRexport.Easing }; lt.__workletHash = 13481450530727; lt.__initData = __initData4; const animatedStyle4 = useAnimatedStyle(lt); const ct = function ct() { return { opacity: _ReanimatedRexport.withDelay(600, _timing.withTiming(sharedValue.get() ? 1 : 0, { duration: 300, easing: _ReanimatedRexport.Easing.out(_ReanimatedRexport.Easing.ease) })), transform: [{ translateY: _ReanimatedRexport.withDelay(600, _timing.withTiming(stateFromStores2 ? 0 : sharedValue.get() ? 0 : 80, { duration: 300, easing: _ReanimatedRexport.Easing.out(_ReanimatedRexport.Easing.ease) })) }] }; }; ct.__closure = { showPrompts: sharedValue, withDelay: _ReanimatedRexport.withDelay, withTiming: _timing.withTiming, Easing: _ReanimatedRexport.Easing, useReducedMotion: stateFromStores2 }; ct.__workletHash = 14018549800735; ct.__initData = __initData5; const animatedStyle5 = useAnimatedStyle(ct); useLayoutEffect(() => { navigation.setOptions({ headerLeft: currentPromptIdx === 0 && !c14698_7 ? getHeaderCloseButton(() => { AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_COMPLETED, { ...collectGuildAnalyticsMetadata(guildId), step: 0, skipped: true, back: false, options_selected: 0, in_onboarding: true, is_final_step: false }); if (backShouldLeaveGuild) { const channel = ChannelStore.getChannel(SelectedChannelStore.getLastSelectedChannelId()); if (channel != null && channel.guild_id !== guildId) { transitionTo(Routes.CHANNEL(channel.guild_id, channel.id)); } else { transitionTo(Routes.ME, { navigationReplace: true }); } onClose(); } else { onClose(); } }) : currentPromptIdx === 0 && c14698_7 ? getHeaderBackButton(() => { AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_COMPLETED, { ...collectGuildAnalyticsMetadata(guildId), step: 0, skipped: false, back: true, options_selected: stateFromStoresArray.length, in_onboarding: true, is_final_step: false }); navigation.pop(); }, true) : getHeaderBackButton(() => { AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_COMPLETED, { ...collectGuildAnalyticsMetadata(guildId), step: currentPromptIdx, skipped: false, back: true, options_selected: stateFromStoresArray.length, in_onboarding: true, is_final_step: false }); AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_VIEWED, { ...collectGuildAnalyticsMetadata(guildId), step: currentPromptIdx - 1, required: prompts[currentPromptIdx - 1].required }); navigation.pop(); }, true) }); }, [navigation, currentPromptIdx, stateFromStoresArray, guildId, prompts, onClose, backShouldLeaveGuild, r5]); let r241 = null; if (skipped) { const r242 = currentPrompt == null; r241 = null; if (!r242) { const handleOnPress = function handleOnPress() { if (!required) { if (c14698_17) { navigation.push(GuildOnboardingModalStates.COMPLETED); } else { AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_COMPLETED, { ...collectGuildAnalyticsMetadata(guildId), step: currentPromptIdx, options_selected: stateFromStoresArray.length, skipped: stateFromStoresArray.length === 0, back: false, in_onboarding: true, is_final_step: false }); if (currentPromptIdx < prompts.length - 1) { AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_VIEWED, { ...collectGuildAnalyticsMetadata(guildId), step: currentPromptIdx + 1, required: prompts[currentPromptIdx + 1].required }); } if (currentPromptIdx + 1 < prompts.length) { navigation.push(GuildOnboardingModalStates.PROMPT, { currentPrompt: currentPromptIdx + 1 }); } else if (showRulesInOnboarding(stateFromStores3, stateFromStores)) { navigation.push(GuildOnboardingModalStates.RULES); } } } }; const type = currentPrompt.type; if (OnboardingPromptType.MULTIPLE_CHOICE === type) { r241 = ; } else if (OnboardingPromptType.DROPDOWN === type) { r241 = ; } else { assertNever(currentPrompt.type); r241 = void 0; } } } const r264 = [ {r241} , ,]; const r314 = [ {guildSplashURL != null ? : null} , , ,]; const O2bQlD = t.O2bQlD; let guildName = stateFromStores3?.name; if (guildName == null) { guildName = ""; } r314[2] = {intl.format(O2bQlD, { guildName })} {intl.string(t["Alcl/e"])} ; r264[1] = {r314} {intl.format(t.kI6UoD, { privacyLink: MarketingURLs.PRIVACY })} ; return {r264}; };