// Metro module 6217 (f6218).
import _slicedToArray from "../../../_bundle/_slicedToArray";
import { useState, useMemo, useCallback } from "react";
import { View, ActivityIndicator } from "react-native";
import { useNativeCheckoutStore } from "../../checkout/native/NativeCheckoutStore";
import LocaleStore from "../../user_settings/LocaleStore";
import IAPStore_android from "../../../stores/native/IAPStore.android";
import { reset, setMobileWebRedirectCheckoutStatus, usePremiumPlanPurchasedStore, setInitiatedPurchaseFromNewFlow } from "./PremiumPlanPurchasedStore";
import { SubscriptionPlans, DISCOUNTS, SubscriptionPlanInfo, PRICE_PLACEHOLDER, SubscriptionIntervalTypes, PremiumTypes, PremiumSubscriptionSKUs, PREMIUM_PLAN_SELECTION_ACTION_SHEET_KEY } from "../PremiumConstants";
import { AnalyticEvents, AnalyticsObjects, AnalyticsObjectTypes, MarketingURLs, HelpdeskArticles } from "../../../Constants";
import { TitleStyleType } from "../../../design/void/Form/native/FormConstants";
import { ItemPurchaseType, EUR_TO_HRK_CONVERSION_RATE } from "../../payments/PaymentConstants";
import { CurrencyCodes, PaymentGateways } from "../../../_bundle/Module505";
import { jsx } from "react/jsx-runtime";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import PremiumUtils, { getTierDisplayNameByPlanId, castPremiumSubscriptionAsSkuId } from "../../../utils/PremiumUtils";
import { Text } from "../../../design/components/Text/native/Text";
import { intl, t } from "../../../intl/index.native";
import Module38 from "../../../_bundle/Module38";
import PremiumPlanActionSheetHeader from "./PremiumPlanActionSheetHeader";
import { formatPercent } from "../../../utils/NumberUtils";
import { useStateFromStores } from "../../../_bundle/Module589";
import { useCheckoutPlanPriceString } from "./hooks/useCheckoutPlanPriceString";
import { formatRate, formatPrice } from "../../../utils/PriceUtils";
import { Button } from "../../../design/components/Button/native/Button.native";
import { useHandlePremiumPurchase } from "./handlePremiumPurchase.android";
import { useIsPaymentsBlocked } from "../../billing/experiments/BlockedPaymentsCountryExperiment";
import useTheme from "../../../hooks/useTheme";
import { usePremiumTrialOffer } from "../hooks/usePremiumTrialOffer.android";
import { usePremiumDiscountOffer } from "../hooks/usePremiumDiscountOffer.android";
import { useDiscountedPremiumProductInfo } from "./hooks/useDiscountedPremiumProductInfo";
import { useBottomSheetRef } from "../../../design/components/Sheet/native/useBottomSheetRef";
import useAnalyticsLocations from "../../app_analytics/useAnalyticsLocations";
import AnalyticsLocation from "../../app_analytics/AnalyticsLocation";
import useInitialValue from "../../../hooks/useInitialValue";
import { getNewAnalyticsLoadId, getBasePurchaseFlowAnalyticsFields, PaymentFlowStep, getPaymentFlowStepAnalyticsFields } from "./PremiumAnalyticsUtils";
import * as _MobileWebRedirectCheckoutUtils from "../../payments/utils/MobileWebRedirectCheckoutUtils";
import { getCustomCheckoutFlowForAnalytics } from "../../payments/utils/MobileWebRedirectCheckoutUtils";
import useMountEffect from "../../../hooks/useMountEffect";
import { trackPaymentFlowStartedAnalyticsAndCTP } from "../../experiments/trigger_points/PaymentFlowStartedTriggerPoint";
import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators";
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
import { goToStandalonePremiumCheckoutFromMobileApp } from "../../payments/native/utils/BillingStandaloneNativeUtils";
import { isMetaQuest } from "../../device/MetaQuestUtils.android";
import AlertActionCreators from "../../../actions/native/AlertActionCreators";
import InvalidGooglePlayPurchase from "../../billing/errors/InvalidGooglePlayPurchase";
import { fetchSubscriptions } from "../../billing/actions/BillingActionCreators";
import { getSubscriptionItemsForProduct, getPremiumBundlesWithPredicate } from "./PremiumBundledPlansUtils";
import { isThemeDark } from "../../../design/shared";
import Module6315 from "../../../_bundle/Module6315";
import Module6316 from "../../../_bundle/Module6316";
import Module6317 from "../../../_bundle/Module6317";
import Module6318 from "../../../_bundle/Module6318";
import Module6319 from "../../../_bundle/Module6319";
import Module6320 from "../../../_bundle/Module6320";
import { isAndroid, isIOS } from "../../../utils/PlatformUtils";
import HelpdeskUtils from "../../../utils/HelpdeskUtils";
import { BottomSheet } from "../../../design/components/Sheet/native/BottomSheet.native";
import BlockedPaymentsCountryDisplay from "../../billing/native/BlockedPaymentsCountryDisplay";
import { ActionSheetHeaderBar } from "../../../design/components/Sheet/native/ActionSheetHeaderBar.native";
import FastImage from "../../../components_native/common/FastImage";
import FormSection from "../../../design/void/Form/native/FormSection";
import PaymentFlowWarningMessage from "../../billing/native/PaymentFlowWarningMessage";
import { RadioGroup } from "../../../design/void/native";
import { NitroACOMSubscriptionExperiment } from "../../billing/native/ACOMExperiments";
import { useIsEligibleForBogoOffer } from "./hooks/useIsEligibleForBogoOffer.android";
import NativeCheckoutStoreProvider from "../../checkout/native/stores/NativeCheckoutStoreProvider";
function $mk78038($env) {
return ({ additionalPlans, isDeprecated, numPremiumGuild, premiumTier }) => additionalPlans.length === 0 && !isDeprecated && numPremiumGuild === 0 && premiumTier === $env[0];
}
function $mk114907($env) {
return () => {
if (isMetaQuest()) {
(0, reset)();
ActionSheetActionCreators.hideActionSheet();
} else {
const r9 = $env;
(0, setMobileWebRedirectCheckoutStatus)("in_mobile_web");
AnalyticsUtils.track(AnalyticEvents.PAYMENT_FLOW_STEP, r9[4]);
}
};
}
function $mk114908($env) {
return () => {
AlertActionCreators.show({
title: intl.string(t.NrBVjw),
body: intl.string(t["gD+grx"]),
hideActionSheet: true
});
};
}
let PlanOptionBadgeComponent, PlanOption, PremiumPlanSelectionActionSheetCTA, PremiumPlanSelectionActionSheet, _excluded, useStyles;
let env3945 = {};
const Header = function Header(props) {
let premiumType2 = props.premiumType;
const { isPaymentSuccess, selectedPremiumType, trialOffer, discountOffer } = props;
const styles = useStyles();
const r23 = (0, useNativeCheckoutStore)((a0) => ({
orderRequired: a0.orderRequired,
orderRecord: a0.orderRecord
}));
const { orderRequired, orderRecord } = r23;
if (premiumType2 == null && !isPaymentSuccess) {
return
{intl.string(t.vLz3Zs)}
;
}
if (isPaymentSuccess) {
premiumType2 = selectedPremiumType;
}
Module38(premiumType2 != null, "If isPaymentSuccess is true, a value must be given for selectedPremiumType. Or premiumType must be given.");
let r44 = trialOffer != null && premiumType2 != null;
if (r44) {
let r51 = trialOffer.subscription_trial?.sku_id === PremiumUtils.getSkuIdForPremiumType(premiumType2);
if (r51) {
let r3 = !orderRequired;
if (orderRequired) {
const trial_id = trialOffer.trial_id;
const r4 = orderRecord == null;
let r53 = void 0;
if (!r4) {
const subscriptionFacet = orderRecord.subscriptionFacet;
r53 = subscriptionFacet == null ? void 0 : subscriptionFacet.subscriptionPreview?.subscriptionTrialId;
}
r3 = trial_id === r53;
}
r51 = r3;
}
r44 = r51;
}
return (0, jsx)(PremiumPlanActionSheetHeader, {
premiumType: premiumType2,
trialOffer: r44 ? trialOffer : null,
discountOffer
});
};
PlanOptionBadgeComponent = function PlanOptionBadgeComponent(props) {
const { text, backgroundColorType = "green" } = props;
const styles = useStyles();
const style = [styles.planOptionDiscount, ,];
const r1 = backgroundColorType === "white";
style[1] = r1 ? styles.planOptionDiscountWhite : null;
return
{text}
;
};
PlanOption = function PlanOption(props) {
let r30, r222;
const { premiumItem, selectedProductId, optionNeedsProductNameLabel: optionNeedsProductNameLabel2 } = props;
let customBadgeComponent = props.customBadgeComponent;
const { trialOffer, discountOffer, discountedPriceString: discountedPriceString2 } = props;
let userIsEligibleForBogoPromotion2 = props.userIsEligibleForBogoPromotion;
if (userIsEligibleForBogoPromotion2 === void 0) {
userIsEligibleForBogoPromotion2 = false;
}
const selectedPremiumType = props.selectedPremiumType;
const styles = useStyles();
const [state, setState] = useState(0);
const stateFromStores = useStateFromStores([IAPStore_android], () => IAPStore_android.getProduct(premiumItem.productId));
let price = useCheckoutPlanPriceString(premiumItem.productId, stateFromStores);
const r60 = (0, useNativeCheckoutStore)((a0) => ({
orderRequired: a0.orderRequired,
orderRecord: a0.orderRecord
}));
const { orderRequired, orderRecord } = r60;
const premiumTier = premiumItem.premiumTier;
let r4 = trialOffer != null && premiumTier != null;
if (r4) {
let r68 = trialOffer.subscription_trial?.sku_id === PremiumUtils.getSkuIdForPremiumType(premiumTier);
if (r68) {
let r6 = !orderRequired;
if (orderRequired) {
const trial_id = trialOffer.trial_id;
const r7 = orderRecord == null;
let r70 = void 0;
if (!r7) {
const subscriptionFacet = orderRecord.subscriptionFacet;
r70 = subscriptionFacet == null ? void 0 : subscriptionFacet.subscriptionPreview?.subscriptionTrialId;
}
r6 = trial_id === r70;
}
r68 = r6;
}
r4 = r68;
}
const tierDisplayNameByPlanId = getTierDisplayNameByPlanId(premiumItem.basePlanId);
const intervalString = PremiumUtils.getIntervalString(premiumItem.interval, false);
const basePlanId = premiumItem.basePlanId;
const PREMIUM_YEAR_TIER_2 = SubscriptionPlans.PREMIUM_YEAR_TIER_2;
const r31 = r4 || discountOffer != null || (userIsEligibleForBogoPromotion2 ? basePlanId === PREMIUM_YEAR_TIER_2 : userIsEligibleForBogoPromotion2);
const r41 = r31 ? null : DISCOUNTS[premiumItem.basePlanId];
if (userIsEligibleForBogoPromotion2) {
userIsEligibleForBogoPromotion2 = premiumItem.basePlanId === SubscriptionPlans.PREMIUM_MONTH_TIER_2;
}
const productId2 = premiumItem.productId;
const r35 = stateFromStores == null ? CurrencyCodes.USD : stateFromStores.currencyCode.toLowerCase() in CurrencyCodes ? stateFromStores.currencyCode.toLowerCase() : CurrencyCodes.USD;
const r104 = SubscriptionPlanInfo[premiumItem.basePlanId];
const discountedPrice = discountedPriceString2 != null ? formatRate(discountedPriceString2, r104.interval, r104.intervalCount) : null;
if (r4) {
r30 = intl.formatToPlainString(t.hXcaLT, {
price: formatPrice(0, r35, {
minimumFractionDigits: 0,
maximumFractionDigits: 0
})
});
} else {
r30 = discountedPriceString2;
if (r30 == null) {
r30 = price == null ? PRICE_PLACEHOLDER : price;
}
}
const regularPrice = formatRate(price == null ? PRICE_PLACEHOLDER : price, r104.interval, r104.intervalCount);
const style = state > 0 ? [styles.planOptionPriceContainer, {
transform: [{
translateY: state / 2
}]
}] : styles.planOptionPriceContainer;
const variant = discountOffer == null ? r4 ? "text-lg/medium" : "text-md/medium" : "text-lg/medium";
const r148 = productId2 === selectedProductId;
let color = "interactive-text-default";
const r159 = [
{optionNeedsProductNameLabel2 ? `${tierDisplayNameByPlanId} ${intervalString}` : intervalString}
, ,];
if (customBadgeComponent == null) {
customBadgeComponent = r31 ? null : userIsEligibleForBogoPromotion2 ? : r41 != null ? : null;
}
const r202 = [
{customBadgeComponent}
{r30}
, , ,];
let r203 = null;
if (r4) {
const color2 = r148 ? "text-default" : "interactive-text-default";
if (premiumItem.interval === SubscriptionIntervalTypes.YEAR) {
const ECT4A5 = t.ECT4A5;
if (price == null) {
price = PRICE_PLACEHOLDER;
}
r222 = intl.formatToPlainString(ECT4A5, {
price
});
} else {
r222 = intl.formatToPlainString(t.v9QeON, {
price: price == null ? PRICE_PLACEHOLDER : price
});
}
r203 = {r222};
}
r202[1] = r203;
const props2 = {
style: styles.discountSubTextContainer,
onLayout: (a0) => {
const height = a0.nativeEvent.layout.height;
if (height !== state) {
setState(height);
}
},
children: null
};
const r235 = discountedPrice != null;
let r236 = null;
if (r235) {
const r237 = discountOffer != null;
r236 = null;
if (r237) {
const r238 = selectedPremiumType == null;
r236 = null;
if (r238) {
const color3 = r148 ? "text-default" : "interactive-text-default";
const r251 = t["02Gmgm"];
let numMonths = discountOffer.discount?.userUsageLimit;
if (numMonths == null) {
numMonths = 1;
}
r236 =
{intl.formatToPlainString(r251, {
discountedPrice,
numMonths
})}
;
}
}
}
const children = [r236, ,];
let r258 = discountedPriceString2 != null && discountOffer != null;
if (r258) {
if (r148) {
color = "text-default";
}
const r270 = t["vZk+c/"];
let numMonths2 = discountOffer.discount?.userUsageLimit;
if (numMonths2 == null) {
numMonths2 = 1;
}
r258 =
{intl.formatToPlainString(r270, {
regularPrice,
numMonths: numMonths2
})}
;
}
children[1] = r258;
props2.children = children;
r202[2] = ;
r159[1] = {r202};
return {r159};
};
PremiumPlanSelectionActionSheetCTA = function PremiumPlanSelectionActionSheetCTA(props) {
const { isPaymentSuccess, onClose: onClose2, ctaText, onStartPayment, shouldUseMobileWebRedirectCheckout, disabled, loading } = props;
if (isPaymentSuccess) {
return ;
}
return