Files
discord-decomp/modules/emoji_picker/native/components/EmojiPickerPremiumSearchUpsell.tsx
T
2026-11-01 12:12:55 +02:00

157 lines
5.4 KiB
TypeScript

// Metro module 9389 (f9390).
import { memo, useCallback, useRef, useEffect } from "react";
import { View } from "react-native";
import "../../../../stores/UserStore";
import "../../../../Constants";
import { SubscriptionPlans } from "../../../premium/PremiumConstants";
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
import Module712 from "../../../../_bundle/Module712";
import { getTierDisplayNameByPlanId } from "../../../../utils/PremiumUtils";
import { Icon } from "../../../../design/void/native";
import Module9390 from "../../../../_bundle/Module9390";
import { Text } from "../../../../design/components/Text/native/Text";
import { intl, t } from "../../../../intl/index.native";
import { PressableOpacity } from "../../../../design/void/Pressables/native/Pressables";
function $mk82411($env) {
return () => {
const r5 = $env;
const r1 = r5[3];
if (!r1.current) {
r1.current = true;
const r6 = $env.$parent;
const r4 = (0, r6[1])(r6[2][8]);
const PREMIUM_UPSELL_VIEWED = r6[6].PREMIUM_UPSELL_VIEWED;
const page = r5[0] != null ? r6[7].GUILD_CHANNEL : r6[7].DM_CHANNEL;
const r25 = r5[2];
const r26 = r6[9];
r4.track(PREMIUM_UPSELL_VIEWED, {
type: r6[10].EMOJI_PICKER_SEARCH,
location: {
page,
section: r6[8].EMOJI_PICKER_POPOUT
},
location_stack: r5[1],
sku_id: r25 ? r26.TIER_0 : r26.TIER_2
});
}
};
}
function $mk82412($env) {
return () => {
const r5 = $env.$parent;
const currentUser = r5[5].getCurrentUser();
if (!(currentUser == null || (0, r5[1])(r5[2][9]).canUseEmojisEverywhere(currentUser))) {
const r13 = $env;
const r14 = r5[1];
const r15 = r5[2];
r14(r15[10]).hideActionSheet();
const r21 = r14(r15[11]);
const r24 = r13[1];
const PremiumFeatureCardOrder = (0, r5[0])(r15[12]).PremiumFeatureCardOrder;
r21({
analyticsLocations: r13[0],
premiumFeatureCardOrder: r24 ? PremiumFeatureCardOrder.TIER_0_LEADING : PremiumFeatureCardOrder.TIER_2_LEADING
});
}
};
}
let env6186 = {};
const useStyles = createStyles({
container: {
paddingTop: Module712.space.PX_8
},
premiumSearchUpsell: {
height: 56,
padding: Module712.space.PX_8,
borderRadius: Module712.radii.xs,
backgroundColor: Module712.colors.BACKGROUND_BASE_LOWEST,
flexDirection: "row",
justifyContent: "space-between",
alignItems: "center",
alignContent: "center"
},
premiumSearchUpsellContent: {
flex: 0.8,
flexDirection: "row"
},
nitroIcon: {
marginRight: 8,
alignSelf: "center"
}
});
const r62 = memo(function(a0) {
let env17186;
let env17187;
const styles = useStyles();
const r21 = env17186 = {
$parent: env6186
};
env17186[0] = void 0;
env17186[1] = void 0;
const analyticsLocations = a0.analyticsLocations;
env17186[0] = analyticsLocations;
const useTier0UpsellContent = a0.useTier0UpsellContent;
env17186[1] = useTier0UpsellContent;
const callback = useCallback($mk82412(r21), [analyticsLocations, useTier0UpsellContent]);
const r24 = env17187 = {
$parent: env6186
};
env17187[0] = void 0;
env17187[1] = void 0;
env17187[2] = void 0;
const guildId = a0.guildId;
env17187[0] = guildId;
const analyticsLocations2 = a0.analyticsLocations;
env17187[1] = analyticsLocations2;
const useTier0UpsellContent2 = a0.useTier0UpsellContent;
env17187[2] = useTier0UpsellContent2;
env17187[3] = void 0;
const ref = useRef(false);
env17187[3] = ref;
useEffect($mk82411(r24), [analyticsLocations2, guildId, useTier0UpsellContent2, ref]);
return <View style={styles.container} collapsable={false}>
<PressableOpacity style={styles.premiumSearchUpsell} accessibilityRole="button" onPress={callback}>
<View style={styles.premiumSearchUpsellContent}>
<Icon style={styles.nitroIcon} source={Module9390} disableColor size={Icon.Sizes.MEDIUM} />
<Text lineClamp={2} variant="text-sm/medium" color="interactive-text-active">
{a0.useTier0UpsellContent ? intl.formatToPlainString(t.kWBwlJ, {
planName: getTierDisplayNameByPlanId(SubscriptionPlans.PREMIUM_MONTH_TIER_0)
}) : intl.string(t["5t3lw+"])}
</Text>
</View>
<Text variant="text-sm/medium" color="text-link">
{a0.useTier0UpsellContent ? intl.string(t["9CM5v9"]) : intl.string(t.pj0XBN)}
</Text>
</PressableOpacity>
</View>;
});
export const EMOJI_PICKER_PREMIUM_UPSELL_HEIGHT = 56;
export function useEmojiPickerPremiumSearchUpsellViewed(a0) {
let env17184;
const r2 = env17184 = {
$parent: env6186
};
const guildId = a0.guildId;
env17184[0] = guildId;
const analyticsLocations = a0.analyticsLocations;
env17184[1] = analyticsLocations;
const useTier0UpsellContent = a0.useTier0UpsellContent;
env17184[2] = useTier0UpsellContent;
env17184[3] = void 0;
const ref = useRef(false);
env17184[3] = ref;
useEffect($mk82411(r2), [analyticsLocations, guildId, useTier0UpsellContent, ref]);
}
export function useEmojiPickerPremiumSearchUpsellClick(a0) {
let env17185;
const r0 = env17185 = {
$parent: env6186
};
const analyticsLocations = a0.analyticsLocations;
env17185[0] = analyticsLocations;
const useTier0UpsellContent = a0.useTier0UpsellContent;
env17185[1] = useTier0UpsellContent;
return useCallback($mk82412(r0), [analyticsLocations, useTier0UpsellContent]);
}
export { r62 as PremiumSearchUpsell };