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

110 lines
6.6 KiB
TypeScript

/* Metro module 10970; source: modules/stickers/native/Sticker.tsx; dependencies: [31, 27, 1310, 33, 4785, 4643, 1244, 8242, 10971, 5475, 4002, 6740, 6741, 2] */
function _fun84022(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11156:6, offset: 0x01f3482e, size: 193 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = getStickerAssetUrl_84023;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).PixelRatio;
const themeStore = importDefault(1310) /* metro dependency 1310: ThemeStore */;
const env0_5 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/stickers/native/Sticker.tsx');
exports.default = _default_84024;
exports.getStickerAssetUrl = closure;
}
function getStickerAssetUrl_84023(a0, a1, a2) { // fn#84023, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11156:149, offset: 0x01f348ef, size: 258 bytes, params: 4, frame: 19
var r1;
var moduleValue;
var getStickerAssetUrl;
var object2;
const format_type = a0.format_type;
var value;
const StickerFormat = (require(4785) /* metro dependency 4785: StickersTypes */).StickerFormat;
const LOTTIE = StickerFormat.LOTTIE;
if (format_type === LOTTIE) {
value = require(4643) /* metro dependency 4643: StickersUtils */;
value = value.getStickerAssetUrl(a0);
r1 = value;
} else if (a0.format_type === StickerFormat.APNG) {
value = require(4643) /* metro dependency 4643: StickersUtils */;
value = value.getStickerAssetUrl(a0, {isPreview: !a2, size: a1});
r1 = value;
} else {
moduleValue = require(4643) /* metro dependency 4643: StickersUtils */;
getStickerAssetUrl = moduleValue.getStickerAssetUrl;
object2 = {isPreview: !a2};
object2.size = PixelRatio.getPixelSizeForLayoutSize(a1);
r1 = Reflect.apply(getStickerAssetUrl, moduleValue, [a0, object2]);
}
return r1 ?? '';
}
function _default_84024({sticker, size, animated, opaque}) { // fn#84024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11156:476, offset: 0x01f349f1, size: 691 bytes, params: 2, frame: 25
var moduleValue;
var id;
var moduleValue2;
var defaultImport;
var moduleValue3;
var NativeLottieView;
var NativeLottieRenderMode;
animated = animated === undefined || animated;
opaque = opaque === undefined || opaque;
const r7 = opaque ? 1 : 0.3;
const stickerAssetUrl_84023 = getStickerAssetUrl_84023(sticker, size, animated);
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const rk6pOw = (require(1244) /* metro dependency 1244: indexNative */).t.rk6pOw;
let object2 = {};
object2.stickerName = sticker.name;
const value3 = Reflect.apply(formatToPlainString, intl, [rk6pOw, object2]);
let format_type = sticker.format_type;
const StickerFormat = (require(4785) /* metro dependency 4785: StickersTypes */).StickerFormat;
const LOTTIE = StickerFormat.LOTTIE;
if (format_type === LOTTIE) {
NativeLottieView = importDefault(8242) /* metro dependency 8242: NativeLottieView */;
var defaultImport2Props = {url: stickerAssetUrl_84023, asset: sticker.id ?? '', width: size, height: size,
opacity: r7};
NativeLottieRenderMode = (require(8242) /* metro dependency 8242: NativeLottieView */).NativeLottieRenderMode;
defaultImport2Props.renderMode = animated ? NativeLottieRenderMode.LOOP : NativeLottieRenderMode.STILL;
defaultImport2Props.accessibilityLabel = value3;
return <NativeLottieView {...defaultImport2Props} />;
}
format_type = sticker.format_type;
const APNG = StickerFormat.APNG;
if (format_type !== APNG) {
defaultImport = importDefault(5475) /* metro dependency 5475: FastImage */;
var defaultImportProps = {resizeMode: 'contain', style: {height: size, width: size, opacity: r7}};
moduleValue3 = require(4002) /* metro dependency 4002: shared */;
defaultImportProps.placeholder = moduleValue3.isThemeDark(ThemeStore.theme) ? importDefault(6740) /* metro dependency 6740 */ : importDefault(6741) /* metro dependency 6741 */;
defaultImportProps.source = {uri: stickerAssetUrl_84023};
defaultImportProps.accessible = true;
defaultImportProps.accessibilityLabel = value3;
return ((Component) => <Component {...defaultImportProps} />)(defaultImport);
}
if ('type' in sticker) {
moduleValue = require(4643) /* metro dependency 4643: StickersUtils */;
if (moduleValue.isGuildSticker(sticker)) {
object2 = {};
object2.style = {height: size, width: size, opacity: r7};
object2.url = stickerAssetUrl_84023;
id = sticker.id;
moduleValue2 = require(4643) /* metro dependency 4643: StickersUtils */;
object2.name = '' + id + '.' + moduleValue2.getStickerExtensionFromFormatType(sticker.format_type);
object2.accessibilityLabel = value3;
return ((Component) => <Component {...object2} />)(importDefault(10971) /* metro dependency 10971: NativeAPNGView */);
}
defaultImport = importDefault(5475) /* metro dependency 5475: FastImage */;
var defaultImportProps = {resizeMode: 'contain', style: {height: size, width: size, opacity: r7}};
moduleValue3 = require(4002) /* metro dependency 4002: shared */;
defaultImportProps.placeholder = moduleValue3.isThemeDark(ThemeStore.theme) ? importDefault(6740) /* metro dependency 6740 */ : importDefault(6741) /* metro dependency 6741 */;
defaultImportProps.source = {uri: stickerAssetUrl_84023};
defaultImportProps.accessible = true;
defaultImportProps.accessibilityLabel = value3;
return ((Component) => <Component {...defaultImportProps} />)(defaultImport);
}
return ((Component) => <Component style={{height: size, width: size,
opacity: r7}} url={stickerAssetUrl_84023} name={'' + sticker.id + '.' + (require(4643) /* metro dependency 4643: StickersUtils */).getStickerExtensionFromFormatType(sticker.format_type)} accessibilityLabel={value3} />)(importDefault(10971) /* metro dependency 10971: NativeAPNGView */);
}