Files
discord-decomp/sources/modules/user_profile/native/UserProfileUpsellCard.tsx
T
2026-07-27 16:20:00 +03:00

90 lines
5.5 KiB
TypeScript

/* Metro module 13231; source: modules/user_profile/native/UserProfileUpsellCard.tsx; dependencies: [31, 27, 6816, 7047, 33, 4501, 697, 1305, 7954, 4573, 4589, 676, 2] */
function _fun100914(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#100914, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13421:6, offset: 0x021ffec5, size: 421 bytes, params: 8, frame: 24
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_3 = value.View;
const env0_4 = value.ScrollView;
const PROFILE_SIDE_PADDING = (require(6816) /* metro dependency 6816: Constants */).PROFILE_SIDE_PADDING;
const env0_5 = (require(7047) /* metro dependency 7047: ColorConstants */).Gradients;
value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object3 = {};
const object5 = {'marginTop': 8, 'flexShrink': 0, 'borderRadius': null, 'gap': 4};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object3.upsellButton = object5;
object3.titleContainer = {'flexDirection': 'row', 'alignItems': 'center', 'gap': 4, 'marginBottom': 4};
object3.linearGradient = {'width': '100%', 'height': '100%', 'position': 'absolute', 'overflow': 'hidden'};
object3.outer = {marginHorizontal: PROFILE_SIDE_PADDING - 1};
const object6 = {};
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object6.backgroundColor = BACKGROUND_SURFACE_HIGH;
object3.scroll = object6;
object3.inner = {'paddingVertical': 12, 'paddingHorizontal': 14};
const env0_8 = Reflect.apply(createStyles, value, [object3]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_profile/native/UserProfileUpsellCard.tsx');
exports.default = UserProfileUpsellCard;
}
function UserProfileUpsellCard({style, children, ctaText, headerText, showLinearGradient, onPress}) { // fn#100915, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13421:750, offset: 0x0220006a, size: 544 bytes, params: 2, frame: 36
const styles = useStyles();
const GradientBorder = (require(1305) /* metro dependency 1305: native */).GradientBorder;
const items2 = [styles.outer, style];
const GradientBorder2 = (require(1305) /* metro dependency 1305: native */).GradientBorder;
const Direction = GradientBorder2.Direction;
const HORIZONTAL = Direction.HORIZONTAL;
const PREMIUM_TIER_2 = Gradients.PREMIUM_TIER_2;
const lg = (importDefault(697) /* metro dependency 697: native */).radii.lg;
const r10 = headerText != null ? <View style={styles.titleContainer}>{((NitroWheelIcon) => <NitroWheelIcon color={(importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TEXT_HEADING_PRIMARY} size="xs" />)((require(7954) /* metro dependency 7954: NitroWheelIcon */).NitroWheelIcon)}{((Text) => <Text variant="heading-sm/bold">{headerText}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}</View> : null;
const ShinyButton = (require(1305) /* metro dependency 1305: native */).ShinyButton;
const ButtonColors = (require(1305) /* metro dependency 1305: native */).ButtonColors;
const GREEN = ButtonColors.GREEN;
return (
<GradientBorder
borderWidth={1}
style={items2}
direction={HORIZONTAL}
colors={PREMIUM_TIER_2}
borderRadius={lg}
>
<ScrollView
bounces={false}
style={styles.scroll}
contentContainerStyle={styles.inner}
>
{r10}
{children}
<ShinyButton
style={styles.upsellButton}
onPress={onPress}
text={ctaText}
color={GREEN}
renderIcon={renderIcon}
renderLinearGradient={showLinearGradient ? _fun100917 : undefined}
/>
</ScrollView>
</GradientBorder>
);
}
function UserProfileUpsellCardRenderIcon() { // fn#100916, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13421:1423, owner: UserProfileUpsellCard.renderIcon, offset: 0x0220028a, size: 57 bytes, params: 1, frame: 13
const NitroWheelIcon = (require(7954) /* metro dependency 7954: NitroWheelIcon */).NitroWheelIcon;
return <NitroWheelIcon color="white" size="xs" />;
}
function _fun100917() { // fn#100917, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13421:1502, offset: 0x022002c3, size: 135 bytes, params: 1, frame: 18
const defaultImport = importDefault(4589) /* metro dependency 4589 */;
const items2 = [styles.linearGradient];
const {START, END} = (require(676) /* metro dependency 676: ConstantsIOS */).HorizontalGradient;
const PREMIUM_TIER_2_TRI_COLOR = Gradients.PREMIUM_TIER_2_TRI_COLOR;
return ((Component) => <Component style={items2} start={START} end={END} colors={PREMIUM_TIER_2_TRI_COLOR} />)(defaultImport);
}