625 lines
27 KiB
TypeScript
625 lines
27 KiB
TypeScript
/* Metro module 10252; source: design/void/CutoutableAvatarImage/native/CutoutableAvatarImage.tsx; dependencies: [31, 27, 10253, 33, 3, 1423, 10254, 4017, 7599, 4577, 5475, 10255, 491, 7744, 628, 2] */
|
|
import Logger from '../../../../modules/debug/Logger.tsx'; /* Metro dependency 3 */
|
|
import ReanimatedRexport from '../../../../modules/reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
|
|
import FastImage from '../../../../components_native/common/FastImage.tsx'; /* Metro dependency 5475 */
|
|
import ClipView from '../../../components/Icon/native/ClipView.tsx'; /* Metro dependency 7599 */
|
|
import defaultImport22 from '../../../../by-id/module-07744.js'; /* Metro dependency 7744 */
|
|
import GetReactNativeSVGImageSource from '../../../../modules/svg/native/getReactNativeSVGImageSource.tsx'; /* Metro dependency 10255 */
|
|
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
|
|
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
|
|
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
|
|
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
|
|
import * as Module00491Module from '../../../../by-id/module-00491.js'; /* Metro dependency 491 */
|
|
import * as ReanimatedRexportModule from '../../../../modules/reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
|
|
import * as ClipViewModule from '../../../components/Icon/native/ClipView.tsx'; /* Metro dependency 7599 */
|
|
import * as ChannelAnimationConstantsModule from '../../../../modules/main_tabs_v2/native/shared_components/guild_channels/ChannelAnimationConstants.tsx'; /* Metro dependency 10253 */
|
|
|
|
function _fun79619(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79619, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:6, offset: 0x01e5a4ad, size: 2022 bytes, params: 8, frame: 26
|
|
const env0_0 = require;
|
|
let Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
let value = ReactModule;
|
|
const value6 = new (Logger)('UIKit - AvatarImage');
|
|
object = {XXSMALL: 'xxsmall', XSMALL: 'xsmall', SMALL: 'small', NORMAL: 'normal', LARGE: 'large', XLARGE: 'xlarge',
|
|
XLARGE_72: 'xlarge72', XXLARGE: 'xxlarge', PROFILE: 'profile', REFRESH_MEDIUM_32: 'refreshMedium32',
|
|
XXSMALL_10: 'xsmall10', XSMALL_20: 'xsmall20', SIZE_16: 'size16', LARGE_48: 'large48',
|
|
EDIT_AVATAR_DECORATION: 'editAvatarDecoration', GIFT_START: 'giftStart', GIFT_SUCCESS: 'giftSuccess',
|
|
YOUBAR_60: 'youBar60', TABS_22: 'tabs22'};
|
|
Object = global.Object;
|
|
const freeze = Object.freeze;
|
|
let XXSMALL_10 = object.XXSMALL_10;
|
|
let SIZE_16 = object.SIZE_16;
|
|
let XXSMALL = object.XXSMALL;
|
|
let XSMALL_20 = object.XSMALL_20;
|
|
let XSMALL = object.XSMALL;
|
|
let SMALL = object.SMALL;
|
|
let NORMAL = object.NORMAL;
|
|
let LARGE_48 = object.LARGE_48;
|
|
let LARGE = object.LARGE;
|
|
let XLARGE = object.XLARGE;
|
|
let XLARGE_72 = object.XLARGE_72;
|
|
let XXLARGE = object.XXLARGE;
|
|
let PROFILE = object.PROFILE;
|
|
let EDIT_AVATAR_DECORATION = object.EDIT_AVATAR_DECORATION;
|
|
let GIFT_START = object.GIFT_START;
|
|
let GIFT_SUCCESS = object.GIFT_SUCCESS;
|
|
let REFRESH_MEDIUM_32 = object.REFRESH_MEDIUM_32;
|
|
let YOUBAR_60 = object.YOUBAR_60;
|
|
let TABS_22 = object.TABS_22;
|
|
const value8 = Reflect.apply(freeze, Object, [{[XXSMALL_10]: 10, [SIZE_16]: 16, [XXSMALL]: 18, [XSMALL_20]: 20,
|
|
[XSMALL]: 24, [SMALL]: 30, [NORMAL]: 40, [LARGE_48]: 48, [LARGE]: 50, [XLARGE]: 64, [XLARGE_72]: 72,
|
|
[XXLARGE]: 80, [PROFILE]: 128, [EDIT_AVATAR_DECORATION]: 144, [GIFT_START]: 184, [GIFT_SUCCESS]: 236,
|
|
[REFRESH_MEDIUM_32]: 32, [YOUBAR_60]: 60, [TABS_22]: 22}]);
|
|
const object3 = {image: {'width': '100%', 'height': '100%'}};
|
|
const object4 = {};
|
|
XXSMALL = object.XXSMALL;
|
|
object4.width = value8[XXSMALL];
|
|
XXSMALL = object.XXSMALL;
|
|
object4.height = value8[XXSMALL];
|
|
XXSMALL = object.XXSMALL;
|
|
object4.borderRadius = value8[XXSMALL] / 2;
|
|
object3.xxsmall = object4;
|
|
const object5 = {};
|
|
XXSMALL_10 = object.XXSMALL_10;
|
|
object5.width = value8[XXSMALL_10];
|
|
XXSMALL_10 = object.XXSMALL_10;
|
|
object5.height = value8[XXSMALL_10];
|
|
XXSMALL_10 = object.XXSMALL_10;
|
|
object5.borderRadius = value8[XXSMALL_10] / 2;
|
|
object3.xsmall10 = object5;
|
|
const object6 = {};
|
|
XSMALL_20 = object.XSMALL_20;
|
|
object6.width = value8[XSMALL_20];
|
|
XSMALL_20 = object.XSMALL_20;
|
|
object6.height = value8[XSMALL_20];
|
|
XSMALL_20 = object.XSMALL_20;
|
|
object6.borderRadius = value8[XSMALL_20] / 2;
|
|
object3.xsmall20 = object6;
|
|
const object7 = {};
|
|
XSMALL = object.XSMALL;
|
|
object7.width = value8[XSMALL];
|
|
XSMALL = object.XSMALL;
|
|
object7.height = value8[XSMALL];
|
|
XSMALL = object.XSMALL;
|
|
object7.borderRadius = value8[XSMALL] / 2;
|
|
object3.xsmall = object7;
|
|
const object8 = {};
|
|
SMALL = object.SMALL;
|
|
object8.width = value8[SMALL];
|
|
SMALL = object.SMALL;
|
|
object8.height = value8[SMALL];
|
|
SMALL = object.SMALL;
|
|
object8.borderRadius = value8[SMALL] / 2;
|
|
object3.small = object8;
|
|
const object9 = {};
|
|
NORMAL = object.NORMAL;
|
|
object9.width = value8[NORMAL];
|
|
NORMAL = object.NORMAL;
|
|
object9.height = value8[NORMAL];
|
|
NORMAL = object.NORMAL;
|
|
object9.borderRadius = value8[NORMAL] / 2;
|
|
object3.normal = object9;
|
|
const object10 = {};
|
|
LARGE = object.LARGE;
|
|
object10.width = value8[LARGE];
|
|
LARGE = object.LARGE;
|
|
object10.height = value8[LARGE];
|
|
LARGE = object.LARGE;
|
|
object10.borderRadius = value8[LARGE] / 2;
|
|
object3.large = object10;
|
|
const object11 = {};
|
|
XLARGE = object.XLARGE;
|
|
object11.width = value8[XLARGE];
|
|
XLARGE = object.XLARGE;
|
|
object11.height = value8[XLARGE];
|
|
XLARGE = object.XLARGE;
|
|
object11.borderRadius = value8[XLARGE] / 2;
|
|
object3.xlarge = object11;
|
|
const object12 = {};
|
|
XLARGE_72 = object.XLARGE_72;
|
|
object12.width = value8[XLARGE_72];
|
|
XLARGE_72 = object.XLARGE_72;
|
|
object12.height = value8[XLARGE_72];
|
|
XLARGE_72 = object.XLARGE_72;
|
|
object12.borderRadius = value8[XLARGE_72] / 2;
|
|
object3.xlarge72 = object12;
|
|
const object13 = {};
|
|
XXLARGE = object.XXLARGE;
|
|
object13.width = value8[XXLARGE];
|
|
XXLARGE = object.XXLARGE;
|
|
object13.height = value8[XXLARGE];
|
|
XXLARGE = object.XXLARGE;
|
|
object13.borderRadius = value8[XXLARGE] / 2;
|
|
object3.xxlarge = object13;
|
|
const object14 = {};
|
|
REFRESH_MEDIUM_32 = object.REFRESH_MEDIUM_32;
|
|
object14.width = value8[REFRESH_MEDIUM_32];
|
|
REFRESH_MEDIUM_32 = object.REFRESH_MEDIUM_32;
|
|
object14.height = value8[REFRESH_MEDIUM_32];
|
|
REFRESH_MEDIUM_32 = object.REFRESH_MEDIUM_32;
|
|
object14.borderRadius = value8[REFRESH_MEDIUM_32] / 2;
|
|
object3.refreshMedium32 = object14;
|
|
const object15 = {};
|
|
PROFILE = object.PROFILE;
|
|
object15.width = value8[PROFILE];
|
|
PROFILE = object.PROFILE;
|
|
object15.height = value8[PROFILE];
|
|
PROFILE = object.PROFILE;
|
|
object15.borderRadius = value8[PROFILE] / 2;
|
|
object3.profile = object15;
|
|
const object16 = {};
|
|
SIZE_16 = object.SIZE_16;
|
|
object16.width = value8[SIZE_16];
|
|
SIZE_16 = object.SIZE_16;
|
|
object16.height = value8[SIZE_16];
|
|
SIZE_16 = object.SIZE_16;
|
|
object16.borderRadius = value8[SIZE_16] / 2;
|
|
object3.size16 = object16;
|
|
const object17 = {};
|
|
LARGE_48 = object.LARGE_48;
|
|
object17.width = value8[LARGE_48];
|
|
LARGE_48 = object.LARGE_48;
|
|
object17.height = value8[LARGE_48];
|
|
LARGE_48 = object.LARGE_48;
|
|
object17.borderRadius = value8[LARGE_48] / 2;
|
|
object3.large48 = object17;
|
|
const object18 = {};
|
|
EDIT_AVATAR_DECORATION = object.EDIT_AVATAR_DECORATION;
|
|
object18.width = value8[EDIT_AVATAR_DECORATION];
|
|
EDIT_AVATAR_DECORATION = object.EDIT_AVATAR_DECORATION;
|
|
object18.height = value8[EDIT_AVATAR_DECORATION];
|
|
EDIT_AVATAR_DECORATION = object.EDIT_AVATAR_DECORATION;
|
|
object18.borderRadius = value8[EDIT_AVATAR_DECORATION] / 2;
|
|
object3.editAvatarDecoration = object18;
|
|
const object19 = {};
|
|
GIFT_START = object.GIFT_START;
|
|
object19.width = value8[GIFT_START];
|
|
GIFT_START = object.GIFT_START;
|
|
object19.height = value8[GIFT_START];
|
|
GIFT_START = object.GIFT_START;
|
|
object19.borderRadius = value8[GIFT_START] / 2;
|
|
object3.giftStart = object19;
|
|
const object20 = {};
|
|
GIFT_SUCCESS = object.GIFT_SUCCESS;
|
|
object20.width = value8[GIFT_SUCCESS];
|
|
GIFT_SUCCESS = object.GIFT_SUCCESS;
|
|
object20.height = value8[GIFT_SUCCESS];
|
|
GIFT_SUCCESS = object.GIFT_SUCCESS;
|
|
object20.borderRadius = value8[GIFT_SUCCESS] / 2;
|
|
object3.giftSuccess = object20;
|
|
const object21 = {};
|
|
YOUBAR_60 = object.YOUBAR_60;
|
|
object21.width = value8[YOUBAR_60];
|
|
YOUBAR_60 = object.YOUBAR_60;
|
|
object21.height = value8[YOUBAR_60];
|
|
YOUBAR_60 = object.YOUBAR_60;
|
|
object21.borderRadius = value8[YOUBAR_60] / 2;
|
|
object3.youBar60 = object21;
|
|
const object22 = {};
|
|
TABS_22 = object.TABS_22;
|
|
object22.width = value8[TABS_22];
|
|
TABS_22 = object.TABS_22;
|
|
object22.height = value8[TABS_22];
|
|
TABS_22 = object.TABS_22;
|
|
object22.borderRadius = value8[TABS_22] / 2;
|
|
object3.tabs22 = object22;
|
|
const object23 = {RIGHT: 0};
|
|
object23[0] = 'RIGHT';
|
|
object23.BOTTOM_RIGHT = 1;
|
|
object23[1] = 'BOTTOM_RIGHT';
|
|
object23.BOTTOM_LEFT = 2;
|
|
object23[2] = 'BOTTOM_LEFT';
|
|
const object24 = {RECTANGULAR: 0};
|
|
object24[0] = 'RECTANGULAR';
|
|
object24.CIRCULAR = 1;
|
|
object24[1] = 'CIRCULAR';
|
|
const env0_13 = (ReanimatedRexport).createAnimatedComponent(ClipView);
|
|
const env0_14 = {code: "function CutoutableAvatarImageTsx1(){const{animate,cutout,CutoutShape,withSpring,CHANNEL_SPRING_CONFIG}=this.__closure;const animated=!animate?'animate-never':undefined;const animatedCutout=cutout.shape===CutoutShape.RoundedRect?{shape:CutoutShape.RoundedRect,x:withSpring(cutout.x,CHANNEL_SPRING_CONFIG,animated),y:withSpring(cutout.y,CHANNEL_SPRING_CONFIG,animated),width:withSpring(cutout.width,CHANNEL_SPRING_CONFIG,animated),height:withSpring(cutout.height,CHANNEL_SPRING_CONFIG,animated),cornerRadius:withSpring(cutout.cornerRadius,CHANNEL_SPRING_CONFIG,animated)}:{shape:CutoutShape.Circle,x:withSpring(cutout.x,CHANNEL_SPRING_CONFIG,animated),y:withSpring(cutout.y,CHANNEL_SPRING_CONFIG,animated),size:withSpring(cutout.size,CHANNEL_SPRING_CONFIG,animated)};return{cutouts:[animatedCutout]};}"};
|
|
value = value.memo(_fun79623, customShallowEqual);
|
|
(FileImportTrackerModule).fileFinishedImporting('design/void/CutoutableAvatarImage/native/CutoutableAvatarImage.tsx');
|
|
exports.default = value;
|
|
exports.AvatarSizes = object;
|
|
exports.AVATAR_SIZE_MAP = value8;
|
|
exports.styles = object3;
|
|
exports.CutoutDirection = object23;
|
|
exports.CutoutType = object24;
|
|
function NativeCutoutAvatarImage({animate, cutout, source, style}) { // fn#79620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:3747, offset: 0x01e5ac93, size: 282 bytes, params: 2, frame: 21
|
|
animate = !(animate === undefined) && animate;
|
|
const useAnimatedProps = ReanimatedRexportModule.useAnimatedProps;
|
|
const NativeCutoutAvatarImageH2 = NativeCutoutAvatarImageH;
|
|
const object = {animate: animate, cutout: cutout};
|
|
const CutoutShape = (ClipViewModule).CutoutShape;
|
|
object.CutoutShape = CutoutShape;
|
|
object.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring;
|
|
object.CHANNEL_SPRING_CONFIG = CHANNEL_SPRING_CONFIG;
|
|
NativeCutoutAvatarImageH2.__closure = object;
|
|
NativeCutoutAvatarImageH2.__workletHash = 11368409055559;
|
|
NativeCutoutAvatarImageH2.__initData = env0_14;
|
|
return ((Component) => <Component style={style} animatedProps={Reflect.apply(useAnimatedProps,
|
|
ReanimatedRexportModule,
|
|
[NativeCutoutAvatarImageH2])}>{((Component) => <Component style={env0_10.image} source={(GetReactNativeSVGImageSource)(source)} usesSmallCache />)(FastImage)}</Component>)(env0_13);
|
|
function NativeCutoutAvatarImageH() { // fn#79621, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:3859, owner: NativeCutoutAvatarImage.h, offset: 0x01e5adad, size: 457 bytes, params: 1, frame: 25
|
|
var r2;
|
|
var object2;
|
|
var moduleValue;
|
|
var withSpring;
|
|
var object3;
|
|
var moduleValue2;
|
|
var value;
|
|
const r7 = animate ? undefined : 'animate-never';
|
|
const shape = cutout.shape;
|
|
const CutoutShape = (ClipViewModule).CutoutShape;
|
|
const RoundedRect = CutoutShape.RoundedRect;
|
|
if (shape === RoundedRect) {
|
|
object3 = {};
|
|
object3.shape = CutoutShape.RoundedRect;
|
|
moduleValue2 = require(4577) /* metro dependency 4577: spring */;
|
|
withSpring = moduleValue2.withSpring;
|
|
cutoutBinding = cutout;
|
|
object3.x = Reflect.apply(withSpring, moduleValue2, [cutoutBinding.x, CHANNEL_SPRING_CONFIG, r7]);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object3.y = value.withSpring(cutoutBinding.y, CHANNEL_SPRING_CONFIG, r7);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object3.width = value.withSpring(cutoutBinding.width, CHANNEL_SPRING_CONFIG, r7);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object3.height = value.withSpring(cutoutBinding.height, CHANNEL_SPRING_CONFIG, r7);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object3.cornerRadius = value.withSpring(cutoutBinding.cornerRadius, CHANNEL_SPRING_CONFIG, r7);
|
|
r2 = object3;
|
|
} else {
|
|
object2 = {};
|
|
object2.shape = CutoutShape.Circle;
|
|
moduleValue = require(4577) /* metro dependency 4577: spring */;
|
|
withSpring = moduleValue.withSpring;
|
|
cutoutBinding = cutout;
|
|
object2.x = Reflect.apply(withSpring, moduleValue, [cutoutBinding.x, CHANNEL_SPRING_CONFIG, r7]);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object2.y = value.withSpring(cutoutBinding.y, CHANNEL_SPRING_CONFIG, r7);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object2.size = value.withSpring(cutoutBinding.size, CHANNEL_SPRING_CONFIG, r7);
|
|
r2 = object2;
|
|
}
|
|
return {cutouts: [r2]};
|
|
}
|
|
|
|
}
|
|
|
|
function CutoutAvatarImage({cutout, size, source, style}) { // fn#79622, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:4604, offset: 0x01e5af76, size: 1183 bytes, params: 2, frame: 39
|
|
var r28;
|
|
var r9;
|
|
var r8;
|
|
var value7;
|
|
var value9;
|
|
const Rect = (require(7744) /* metro dependency 7744 */).Rect;
|
|
var color;
|
|
let value = size / 2;
|
|
const r26 = cutout.radius ?? value;
|
|
const r2 = cutout.inset ?? 0;
|
|
const r11 = cutout.imageType ?? env0_12.CIRCULAR;
|
|
const value5 = size - r2;
|
|
let CIRCULAR = env0_12.CIRCULAR;
|
|
let r27 = r11 !== CIRCULAR ? size : value;
|
|
const direction = cutout.direction;
|
|
const BOTTOM_RIGHT = env0_11.BOTTOM_RIGHT;
|
|
if (BOTTOM_RIGHT === direction) {
|
|
value9 = size - r26 - r2;
|
|
r27 = size - r26 - r2;
|
|
r28 = value9;
|
|
} else if (env0_11.BOTTOM_LEFT !== direction) {
|
|
r28 = value5;
|
|
} else {
|
|
value7 = r26 + r2;
|
|
r27 = size - r26 - r2;
|
|
r28 = value7;
|
|
}
|
|
const value11 = (Module00491Module).v4();
|
|
const tintColor = StyleSheet.flatten(style).tintColor;
|
|
if (source == null) {
|
|
const Image = (require(7744) /* metro dependency 7744 */).Image;
|
|
r9 = (
|
|
<Image
|
|
x="0"
|
|
y="0"
|
|
height="100%"
|
|
width="100%"
|
|
href={(importDefault(10255) /* metro dependency 10255: getReactNativeSVGImageSource */)(source)}
|
|
mask={'url(#' + value11 + ')'}
|
|
/>
|
|
);
|
|
} else if (tintColor != null) {
|
|
const ForeignObject = (require(7744) /* metro dependency 7744 */).ForeignObject;
|
|
r9 = (
|
|
<ForeignObject
|
|
x="0"
|
|
y="0"
|
|
height="100%"
|
|
width="100%"
|
|
mask={'url(#' + value11 + ')'}
|
|
>
|
|
{((Component) => <Component style={{tintColor: tintColor}} source={(importDefault(10255) /* metro dependency 10255: getReactNativeSVGImageSource */)(source)} usesSmallCache />)(importDefault(5475) /* metro dependency 5475: FastImage */)}
|
|
</ForeignObject>
|
|
);
|
|
} else {
|
|
const Image2 = (require(7744) /* metro dependency 7744 */).Image;
|
|
r9 = (
|
|
<Image2
|
|
x="0"
|
|
y="0"
|
|
height="100%"
|
|
width="100%"
|
|
href={(importDefault(10255) /* metro dependency 10255: getReactNativeSVGImageSource */)(source)}
|
|
mask={'url(#' + value11 + ')'}
|
|
/>
|
|
);
|
|
}
|
|
const defaultImport2 = defaultImport22;
|
|
const Defs = (require(7744) /* metro dependency 7744 */).Defs;
|
|
const Mask = (require(7744) /* metro dependency 7744 */).Mask;
|
|
CIRCULAR = env0_12.CIRCULAR;
|
|
const r23 = (
|
|
r11 === CIRCULAR
|
|
? (
|
|
<Circle
|
|
cx={value}
|
|
cy={value}
|
|
r={value}
|
|
fill="white"
|
|
/>
|
|
)
|
|
: (
|
|
<Rect
|
|
x={0}
|
|
y={0}
|
|
height={size}
|
|
width={size}
|
|
fill="white"
|
|
/>
|
|
)
|
|
);
|
|
var Circle = (require(7744) /* metro dependency 7744 */).Circle;
|
|
const items2 = [
|
|
<Defs>
|
|
<Mask
|
|
width={size}
|
|
height={size}
|
|
id={value11}
|
|
>
|
|
{r23}
|
|
<Circle
|
|
cx={r28}
|
|
cy={r27}
|
|
r={r26}
|
|
fill="black"
|
|
/>
|
|
</Mask>
|
|
</Defs>,
|
|
r9,
|
|
];
|
|
let border = cutout.border;
|
|
if (border != null) {
|
|
if (r11 === env0_12.CIRCULAR) {
|
|
border = cutout.border;
|
|
color = border.color;
|
|
border = cutout.border;
|
|
value = (
|
|
<Circle
|
|
cx={value}
|
|
cy={value}
|
|
r={value}
|
|
fill="none"
|
|
mask={'url(#' + value11 + ')'}
|
|
stroke={color}
|
|
strokeWidth={border.width}
|
|
/>
|
|
);
|
|
r9 = value;
|
|
} else {
|
|
border = cutout.border;
|
|
color = border.color;
|
|
border = cutout.border;
|
|
r9 = (
|
|
<Rect
|
|
x={0}
|
|
y={0}
|
|
height={size}
|
|
width={size}
|
|
fill="none"
|
|
mask={'url(#' + value11 + ')'}
|
|
stroke={color}
|
|
strokeWidth={border.width}
|
|
/>
|
|
);
|
|
}
|
|
r8 = r9;
|
|
} else {
|
|
r8 = null;
|
|
}
|
|
items2[2] = r8;
|
|
return (
|
|
<View style={style}>
|
|
{((Component) => <Component height="100%" width="100%">{items2}</Component>)(defaultImport2)}
|
|
</View>
|
|
);
|
|
}
|
|
|
|
function _fun79623(a0) { // fn#79623, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:5839, offset: 0x01e5b415, size: 632 bytes, params: 2, frame: 28
|
|
var r8;
|
|
var r12;
|
|
var r1;
|
|
var defaultImport;
|
|
var makeSource;
|
|
var defaultImport2;
|
|
var nativeCutouts;
|
|
const animate = a0.animate;
|
|
const cutout = a0.cutout;
|
|
let size = a0.size;
|
|
const style = a0.style;
|
|
let value = typeof size === 'number';
|
|
const r5 = value ? size : env0_9[size];
|
|
const r7 = value ? [{width: size, height: size}, style] : [env0_10[size], style];
|
|
const object = {};
|
|
copyDataProperties(object, a0, undefined);
|
|
object['animate'] = animate === true && cutout == null;
|
|
object['size'] = r5;
|
|
const source = object.source;
|
|
let user = object.user;
|
|
const channel = object.channel;
|
|
const guildId = object.guildId;
|
|
const animate2 = object.animate;
|
|
size = object.size;
|
|
if (source != null) {
|
|
r8 = typeof source !== 'function' ? source : source(animate2);
|
|
} else if (user != null) {
|
|
r8 = user.getAvatarSource(guildId, animate2, size);
|
|
} else if (channel != null) {
|
|
value = require(10254) /* metro dependency 10254: getChannelIcon */;
|
|
value = value.getChannelIconURL(channel, size);
|
|
r8 = typeof value === 'number' || value == null ? value : {uri: value};
|
|
} else {
|
|
env0_8.warn('No image found from provided data');
|
|
r8 = undefined;
|
|
}
|
|
if (r8 == null) {
|
|
return null;
|
|
}
|
|
user = object.user;
|
|
const disablePlaceholder = object.disablePlaceholder;
|
|
value = undefined;
|
|
if (user == null) {
|
|
r12 = value;
|
|
} else if (disablePlaceholder) {
|
|
r12 = value;
|
|
} else {
|
|
defaultImport = importDefault(1423) /* metro dependency 1423: AvatarUtils */;
|
|
makeSource = defaultImport.makeSource;
|
|
defaultImport2 = importDefault(1423) /* metro dependency 1423: AvatarUtils */;
|
|
r12 = Reflect.apply(makeSource, defaultImport, [defaultImport2.getDefaultAvatarURL(user.id,
|
|
user.discriminator)]);
|
|
}
|
|
if (cutout != null) {
|
|
nativeCutouts = cutout.nativeCutouts;
|
|
r1 = (
|
|
(nativeCutouts == null ? value : nativeCutouts.length) === 1
|
|
? (
|
|
<NativeCutoutAvatarImage
|
|
animate={animate}
|
|
cutout={cutout.nativeCutouts[0]}
|
|
source={r8}
|
|
style={r7}
|
|
/>
|
|
)
|
|
: (
|
|
<CutoutAvatarImage
|
|
style={r7}
|
|
size={r5}
|
|
animate={animate}
|
|
cutout={cutout}
|
|
source={r8}
|
|
/>
|
|
)
|
|
);
|
|
} else {
|
|
value = ((Component) => <Component style={r7} source={r8} placeholder={typeof r12 !== 'number' ? value : r12} usesSmallCache key="image" />)(importDefault(5475) /* metro dependency 5475: FastImage */);
|
|
r1 = value;
|
|
}
|
|
return r1;
|
|
}
|
|
|
|
function customShallowEqual(a0, a1) { // fn#79624, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:6829, offset: 0x01e5b68d, size: 280 bytes, params: 3, frame: 20
|
|
var r0;
|
|
var r1;
|
|
var source;
|
|
var source2;
|
|
var value2;
|
|
var value3;
|
|
var Array;
|
|
var value4;
|
|
var value5;
|
|
var length;
|
|
var length2;
|
|
var value6;
|
|
var defaultImport2;
|
|
var property;
|
|
var value7;
|
|
let value = environment;
|
|
if ((importDefault(628) /* metro dependency 628: shallowEqual */)(a0, a1, ['source'])) {
|
|
source = a0.source;
|
|
source2 = a1.source;
|
|
if (source === source2) {
|
|
return true;
|
|
}
|
|
value2 = typeof source2;
|
|
if (value2 === 'number') {
|
|
reducibleJoin5: while (true) {
|
|
if (typeof source === 'number') {
|
|
return false;
|
|
}
|
|
break reducibleJoin5;
|
|
}
|
|
}
|
|
value3 = typeof source;
|
|
if (value2 !== value3) {
|
|
return false;
|
|
}
|
|
Array = global.Array;
|
|
if (Array.isArray(source2)) {
|
|
Array = global.Array;
|
|
reducibleJoin8: while (true) {
|
|
if (Array.isArray(source)) {
|
|
length = source.length;
|
|
length2 = source2.length;
|
|
if (length !== length2) {
|
|
return false;
|
|
}
|
|
length = source.length;
|
|
value6 = 0;
|
|
if (value6 < length) {
|
|
r1 = value6;
|
|
reducibleLoop15: while (true) {
|
|
defaultImport2 = importDefault(628) /* metro dependency 628: shallowEqual */;
|
|
property = source[r1];
|
|
if (!defaultImport2(property, source2[r1])) {
|
|
return false;
|
|
}
|
|
value7 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
|
|
length = source.length;
|
|
if (!(value7 < length)) {
|
|
return true;
|
|
}
|
|
r1 = value7;
|
|
continue reducibleLoop15;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
break reducibleJoin8;
|
|
}
|
|
}
|
|
value4 = value2 !== 'object';
|
|
reducibleJoin10: while (true) {
|
|
if (value4) {
|
|
r0 = value4;
|
|
break reducibleJoin10;
|
|
}
|
|
value5 = value3 !== 'object';
|
|
r0 = value5;
|
|
break reducibleJoin10;
|
|
}
|
|
reducibleJoin12: while (true) {
|
|
if (r0) {
|
|
break reducibleJoin12;
|
|
}
|
|
value = (importDefault(628) /* metro dependency 628: shallowEqual */)(source2, source);
|
|
r0 = value;
|
|
break reducibleJoin12;
|
|
}
|
|
return r0;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
global.__d(_fun79619, 10252, [31, 27, 10253, 33, 3, 1423, 10254, 4017, 7599, 4577, 5475, 10255, 491, 7744, 628,
|
|
2]) /* metro module 10252, dependencies: [31, 27, 10253, 33, 3, 1423, 10254, 4017, 7599, 4577, 5475, 10255, 491, 7744, 628, 2] */;
|