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

69 lines
4.3 KiB
TypeScript

/* Metro module 12186; source: modules/premium/native/PremiumPerkCarousel.tsx; dependencies: [57, 31, 27, 33, 4501, 7562, 4573, 7939, 1305, 2] */
function _fun93367(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93367, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12372:6, offset: 0x020b13bd, size: 288 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
const env0_8 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({title: {marginLeft: 24},
indicators: {marginBottom: -36}, carousel: {marginTop: 16}, carouselCard: {marginLeft: 8},
lastCarouselCard: {marginRight: 8}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/native/PremiumPerkCarousel.tsx');
exports.default = PremiumPerkCarousel;
}
function PremiumPerkCarousel({title, perks, style, onItemChange}) { // fn#93368, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12372:411, offset: 0x020b14dd, size: 518 bytes, params: 2, frame: 29
const styles = useStyles();
const premiumPerkCardModule = require(7562) /* metro dependency 7562: PremiumPerkCard */;
const usePerkCardHeight = premiumPerkCardModule.usePerkCardHeight;
const PerkCardVariant = premiumPerkCardModule.PerkCardVariant;
let NARROW = PerkCardVariant.NARROW;
const value2 = Reflect.apply(usePerkCardHeight, premiumPerkCardModule, [NARROW]);
const binding = env0_4;
const [property, env0_3] = env0_3Binding(binding.useState(0), 2);
const value5 = binding.useCallback(_fun93369, [property, onItemChange]);
const PERK_CARD_SIZES = premiumPerkCardModule.PERK_CARD_SIZES;
NARROW = PerkCardVariant.NARROW;
const width = PERK_CARD_SIZES[NARROW].width;
var env0_4 = perks.length;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const items2 = [<Text style={styles.title} variant="heading-xl/extrabold" color="mobile-text-heading-primary">{title}</Text>];
items2[1] = ((Component) => <Component style={[styles.carousel,
{height: value2 + 8}]} width={width} onPageChange={value5} pageIndictor={false} scrollViewProps={{'overScrollMode': 'always',
'snapToInterval': null, 'snapToStart': true, 'snapToAlignment': 'start', 'decelerationRate': 'normal',
snapToInterval: width + 8 + 0.2}}>{perks.map(_fun93370)}</Component>)(importDefault(7939) /* metro dependency 7939: Carousel */);
const CarouselPagination = (require(1305) /* metro dependency 1305: native */).CarouselPagination;
items2[2] = <CarouselPagination containerStyle={styles.indicators} numberOfItems={perks.length} currentIndex={property} />;
return (
<View style={style}>
{items2}
</View>
);
}
function _fun93369(a0) { // fn#93369, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12372:608, offset: 0x020b16e3, size: 48 bytes, params: 2, frame: 13
if (a0 !== env0_2) {
env0_3(a0);
if (onItemChange != null) {
onItemChange(a0);
}
}
}
function _fun93370(a0, a1) { // fn#93370, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12372:1091, offset: 0x020b1713, size: 148 bytes, params: 3, frame: 20
const items2 = [styles.carouselCard];
items2[1] = length - 1 !== a1 ? null : styles.lastCarouselCard;
const PremiumPerkCard = importDefault(7562) /* metro dependency 7562: PremiumPerkCard */;
const defaultImportProps = {...a0};
const PerkCardVariant = (require(7562) /* metro dependency 7562: PremiumPerkCard */).PerkCardVariant;
const NARROW = PerkCardVariant.NARROW;
defaultImportProps['variant'] = NARROW;
defaultImportProps['style'] = items2;
return <PremiumPerkCard {...defaultImportProps} key={a1} />;
}