This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

@@ -0,0 +1,154 @@
// Metro module 14796 (f14797).
import { useCallback } from "react";
import { View } from "react-native";
import { AnalyticEvents } from "../../../Constants";
import { CollectiblesMobileShopScreen } from "../../collectibles/CollectiblesShopConstants";
import { ContentDismissActionType, DismissibleContentGroupName } from "../../dismissible_content/DismissibleContentConstants";
import { RewardFilterTypes } from "../../quests/QuestConstants";
import MobileVisualRefreshExperiment from "../../themes/experiments/MobileVisualRefreshExperiment";
import { PressableOpacity } from "../../../design/void/Pressables/native/Pressables";
import { Text } from "../../../design/components/Text/native/Text";
import { intl, t } from "../../../intl/index.native";
import SelectedDismissibleContent from "../../dismissible_content/native/SelectedDismissibleContent";
import { DismissibleContent } from "../../../_bundle/Module1358";
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
import { openQuestHome } from "../../quests/native/QuestUtils.native";
import { QuestContent } from "../../quests/QuestTypes";
import OrbOnboardingPill from "./OrbOnboardingPill";
import { useFetchVirtualCurrencyBalance } from "../hooks/index";
import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators";
import AnalyticsLocation from "../../app_analytics/AnalyticsLocation";
import { openCollectiblesShopMobile } from "../../collectibles/CollectiblesActionCreators";
import BalanceWidgetPillButton from "./BalanceWidgetPillButton";
import { UNSAFE_isDismissibleContentDismissed } from "../../dismissible_content/DismissibleContentUnsafeUtils";
import { Ellipsis } from "../../../design/components/Button/native/ButtonEllipsis.native";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
let OrbsOnboardingMenuDismissibleContent, BalanceWidgetMenu, useStyles;
const BalanceWidget = function BalanceWidget(props) {
const { onPress: onPress2, style: style2, accessibilityLabel, accessibilityState, children: children2 } = props;
const styles = useStyles(MobileVisualRefreshExperiment("BalanceWidgetMenu"));
return <PressableOpacity onPress={onPress2} style={[styles.pressable, style2]} accessible accessibilityRole="button" accessibilityLabel={accessibilityLabel} accessibilityState={accessibilityState} activeOpacity={0.8}>
<Text variant="text-sm/semibold" color="text-default" style={styles.label}>
{intl.string(t.gGtZpz)}
</Text>
<View style={styles.pill}>{children2}</View>
</PressableOpacity>;
};
OrbsOnboardingMenuDismissibleContent = function OrbsOnboardingMenuDismissibleContent(props) {
const style = props.style;
return <SelectedDismissibleContent contentTypes={[DismissibleContent.VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL]} groupName={DismissibleContentGroupName.VIRTUAL_CURRENCY_MOBILE_ONBOARDING}>
{({ visibleContent, markAsDismissed }) => {
if (visibleContent === DismissibleContent.VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL) {
const handleOnboardingPress = () => {
markAsDismissed(ContentDismissActionType.TAKE_ACTION);
AnalyticsUtils.track(AnalyticEvents.USER_PROFILE_ACTION, {
profile_action: "ORBS_BALANCE_PRESSED"
});
openQuestHome({
filter: RewardFilterTypes.VIRTUAL_CURRENCY,
fromContent: QuestContent.MOBILE_ORBS_ONBOARDING_DC
});
};
return <BalanceWidget onPress={handleOnboardingPress} style={style} accessibilityLabel={intl.string(t.Kt2QDh)}>
<OrbOnboardingPill onPress={handleOnboardingPress} accessible={false} />
</BalanceWidget>;
}
return null;
}}
</SelectedDismissibleContent>;
};
BalanceWidgetMenu = function BalanceWidgetMenu(props) {
const style2 = props.style;
const balance = useFetchVirtualCurrencyBalance().balance;
const callback = useCallback(() => {
AnalyticsUtils.track(AnalyticEvents.USER_PROFILE_ACTION, {
profile_action: "ORBS_BALANCE_PRESSED"
});
ActionSheetActionCreators.openLazy(() => import("./BalanceWidgetActionSheet").then((result) => result.default), "BalanceWidgetMenu", {
balance,
primaryButtonConfig: {
buttonText: intl.string(t.WrzJBf),
onButtonPress: () => {
AnalyticsUtils.track(AnalyticEvents.ORB_BALANCE_ACTION_SHEET_ACTION, {
type: "GO_TO_SHOP",
source: AnalyticsLocation.YOU_SCREEN,
balance
});
ActionSheetActionCreators.hideActionSheet();
openCollectiblesShopMobile({
analyticsLocations: [AnalyticsLocation.COLLECTIBLES_SHOP],
analyticsSource: AnalyticsLocation.COLLECTIBLES_SHOP,
screen: CollectiblesMobileShopScreen.ORBS
});
}
},
secondaryButtonConfig: {
buttonText: intl.string(t.SymzJC),
onButtonPress: () => {
AnalyticsUtils.track(AnalyticEvents.ORB_BALANCE_ACTION_SHEET_ACTION, {
type: "GO_TO_QUEST_HOME",
source: AnalyticsLocation.YOU_SCREEN,
balance
});
ActionSheetActionCreators.hideActionSheet();
openQuestHome({
mergeExistingRoutes: true,
filter: RewardFilterTypes.VIRTUAL_CURRENCY,
fromContent: QuestContent.ORBS_BALANCE_MENU
});
}
},
source: AnalyticsLocation.YOU_SCREEN
});
}, [balance]);
const zPaLL9 = t.zPaLL9;
let balance2 = balance == null ? void 0 : balance.toString();
if (balance2 == null) {
balance2 = "";
}
return <BalanceWidget onPress={callback} style={style2} accessibilityLabel={intl.formatToPlainString(zPaLL9, {
balance: balance2
})}>
<BalanceWidgetPillButton balance={balance} onPress={callback} accessible={false} />
</BalanceWidget>;
};
useStyles = createStyles((a0) => ({
pressable: {
flex: 1,
flexDirection: "row",
alignItems: "center",
flexWrap: "wrap",
gap: Module712.space.PX_8,
...a0 ? {
paddingHorizontal: Module712.space.PX_8,
paddingVertical: Module712.space.PX_8
} : {
padding: 16
},
borderRadius: a0 ? Module712.radii.md : Module712.radii.lg
},
label: {
flex: 1
},
pill: {
alignItems: "center"
},
loadingContainer: {
height: 36,
justifyContent: "center"
}
}));
export default function BalanceWidgetMenuWrapper(props) {
const styles = useStyles(MobileVisualRefreshExperiment("BalanceWidgetMenu"));
const balance2 = useFetchVirtualCurrencyBalance().balance;
const r30 = UNSAFE_isDismissibleContentDismissed(DismissibleContent.VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL);
return balance2 == null ? <BalanceWidget onPress={() => {}} style={props.style} accessibilityLabel={intl.string(t.cKwv4k)} accessibilityState={{
busy: true
}}>
<View style={styles.loadingContainer}>
<Ellipsis variant="primary" size="sm" />
</View>
</BalanceWidget> : !(balance2 > 0) && !r30 ? <OrbsOnboardingMenuDismissibleContent {...props} /> : <BalanceWidgetMenu {...props} />;
};
export { OrbsOnboardingMenuDismissibleContent };