// Metro module 11904 (f11905).
import { useMemo } from "react";
import { ActivityIndicator, View } from "react-native";
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
import Module712 from "../../../../_bundle/Module712";
import { Stack } from "../../../../design/components/Stack/native/Stack.native";
import { CircleErrorIcon } from "../../../../design/components/Icon/native/redesign/generated/CircleErrorIcon";
import { Text } from "../../../../design/components/Text/native/Text";
import CollectiblesShopCheckoutDetails from "../../../collectibles/native/CollectiblesShopCheckoutDetails";
import { intl, t } from "../../../../intl/index.native";
import OrbCheckoutAmountTag from "../../native/OrbCheckoutAmountTag";
import { useOrbCheckoutModalContext } from "../OrbCheckoutModalContext";
import { getOrbCheckoutDisclaimerMessage } from "../OrbCheckoutUtils";
import useTheme from "../../../../hooks/useTheme";
import { useVirtualCurrencyBalance } from "../../hooks/useVirtualCurrencyBalance";
import { Button } from "../../../../design/components/Button/native/Button.native";
import { isThemeDark } from "../../../../design/shared";
import { OrbsIcon } from "../../../../design/components/Icon/native/redesign/generated/OrbsIcon";
const useStyles = createStyles({
topRowWrapper: {
width: "100%",
marginBottom: 10
},
rowWrapper: {
width: "100%",
marginVertical: 10
},
rowDetailsContainer: {
borderRadius: Module712.radii.lg,
backgroundColor: Module712.colors.BACKGROUND_MOD_SUBTLE,
padding: Module712.space.PX_16
},
orbPaymentSourceDetails: {
flexDirection: "row",
justifyContent: "space-between",
alignItems: "center"
},
sectionTitle: {
marginBottom: Module712.space.PX_8
},
spinner: {
paddingVertical: Module712.space.PX_16,
alignItems: "center"
},
disclaimer: {
opacity: 0.5
},
errorCard: {
borderRadius: Module712.radii.sm,
padding: Module712.space.PX_12,
backgroundColor: Module712.colors.BACKGROUND_FEEDBACK_CRITICAL
}
});
export function OrbCheckoutErrorCard(props) {
const error = props.error;
return
{error}
;
}
export function OrbCheckoutOrderSummary(props) {
const product = props.product;
const styles = useStyles();
const r18 = product == null ?
: ;
return
{intl.string(t.hws7bC)}
{r18}
;
}
export function OrbCheckoutPaymentSourceDetails(props) {
const orbBalance = props.orbBalance;
const styles = useStyles();
return
{intl.string(t["zLch/S"])}
{intl.string(t.y0WGqP)}
;
}
export function OrbCheckoutLegalFinePrint() {
const styles = useStyles();
const skuId = useOrbCheckoutModalContext().skuId;
return
{useMemo(() => getOrbCheckoutDisclaimerMessage(skuId), [skuId])}
;
}
export function OrbCheckoutPurchaseButton(props) {
const onPress = props.onPress;
const theme = useTheme();
const orbCheckoutModalContext = useOrbCheckoutModalContext();
let isRedeeming = orbCheckoutModalContext.isRedeeming;
const orbProductContext = orbCheckoutModalContext.orbProductContext;
const virtualCurrencyBalance = useVirtualCurrencyBalance();
const orbPriceAmount = orbProductContext?.orbPriceAmount;
const props2 = {
variant: isThemeDark(theme) ? "primary-overlay" : "primary",
size: "lg",
text: intl.string(t["zLch/S"]),
icon: ,
iconPosition: "start",
loading: isRedeeming,
onPress,
disabled: null
};
if (!isRedeeming) {
isRedeeming = orbPriceAmount == null;
}
if (!isRedeeming) {
isRedeeming = virtualCurrencyBalance == null;
}
if (!isRedeeming) {
isRedeeming = virtualCurrencyBalance < orbPriceAmount;
}
props2.disabled = isRedeeming;
return ;
}