/* Metro module 8417; source: modules/profile_customization/native/HeaderAvatar.tsx; dependencies: [31, 27, 4502, 1945, 4396, 661, 33, 4501, 697, 1305, 566, 8418, 8402, 8419, 8420, 5278, 2] */ function _fun66858(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#66858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8602:6, offset: 0x01c0d012, size: 291 bytes, params: 8, frame: 21 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); importAll(31) /* metro dependency 31 */; const env0_3 = (require(27) /* metro dependency 27 */).View; const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */; const guildMemberStore = importDefault(1945) /* metro dependency 1945: GuildMemberStore */; const presenceStore = importDefault(4396) /* metro dependency 4396: PresenceStore */; const env0_7 = (require(661) /* metro dependency 661: Constants */).ActivityTypes; const env0_8 = (require(33) /* metro dependency 33 */).jsx; const createStylesModule = require(4501) /* metro dependency 4501: createStyles */; const createStyles = createStylesModule.createStyles; const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH; const env0_9 = Reflect.apply(createStyles, createStylesModule, [{avatarStatusStyle: {backgroundColor: BACKGROUND_SURFACE_HIGH}}]); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/profile_customization/native/HeaderAvatar.tsx'); exports.default = HeaderAvatar; } function HeaderAvatar(a0) { // fn#66859, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8602:386, offset: 0x01c0d135, size: 705 bytes, params: 2, frame: 35 const user = a0.user; const guildId = a0.guildId; const disableStatus = a0.disableStatus; const env0_2 = a0.pendingAvatarSrc; const pendingAvatarDecoration = a0.pendingAvatarDecoration; const style = a0.style; const statusStyle = a0.statusStyle; const onPress = a0.onPress; const size = a0.size; const value = undefined; const r14 = size !== value ? size : (require(1305) /* metro dependency 1305: native */).AvatarSizes.XXLARGE; let animate = a0.animate; animate = animate === value || animate; const object2 = {'user': 0, 'guildId': 0, 'disableStatus': 0, 'pendingAvatarSrc': 0, 'pendingAvatarDecoration': 0, 'style': 0, 'statusStyle': 0, 'onPress': 0, 'size': 0, 'animate': 0}; const value4 = null; silentSetPrototypeOf(object2, value4, undefined); const value5 = copyDataProperties({}, a0, object2, undefined); const styles = useStyles(); const id = user.id; const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore], function() { return AccessibilityStore.useReducedMotion; }); const {isMobileOnline, status, activities} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([PresenceStore], function() { var object = {}; object.isMobileOnline = PresenceStore.isMobileOnline(id); object.status = PresenceStore.getStatus(id); object.activities = PresenceStore.getActivities(id); object.customStatusActivity = PresenceStore.findActivity(id, _fun66862); return object; }, [id]); const value8 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildMemberStore], _fun66863); const defaultImport = importDefault(8418) /* metro dependency 8418: useAvatarDecorationIfNotExpired */; const profileCustomizationUtilsModule = require(8402) /* metro dependency 8402: ProfileCustomizationUtils */; const getProfilePreviewValue = profileCustomizationUtilsModule.getProfilePreviewValue; const value9 = defaultImport(Reflect.apply(getProfilePreviewValue, profileCustomizationUtilsModule, [{pendingValue: pendingAvatarDecoration, userValue: value4 == user ? value : user.avatarDecoration, guildValue: value4 == value8 ? value : value8.avatarDecoration, guildId: guildId}])); const object4 = {isMobileOnline: isMobileOnline, size: r14}; object4.status = disableStatus ? value4 : status; object4.statusStyle = [styles.avatarStatusStyle, statusStyle]; object4.streaming = (importDefault(8419) /* metro dependency 8419: isStreaming */)(activities); object4.animate = animate && !useReducedMotion; object4.avatarDecoration = value9; const closure = renderAvatar; if (value4 != onPress) { const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity; return ( {closure()} ); } else { return ( {closure()} ); } } function _fun66861() { // fn#66861, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8602:692, offset: 0x01c0d3f6, size: 103 bytes, params: 1, frame: 14 const getStatus = PresenceStore.getStatus; const getActivities = PresenceStore.getActivities; return {isMobileOnline: PresenceStore.isMobileOnline(id), status: Reflect.apply(getStatus, PresenceStore, [id]), activities: Reflect.apply(getActivities, PresenceStore, [id]), customStatusActivity: PresenceStore.findActivity(id, function({type}) { return type === ActivityTypes.CUSTOM_STATUS; })}; } function _fun66863() { // fn#66863, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8602:942, offset: 0x01c0d478, size: 45 bytes, params: 1, frame: 14 const guildIdBinding = guildId; const value2 = null; return value2 != guildIdBinding ? GuildMemberStore.getMember(guildId, id) : value2; } function renderAvatar() { // fn#66864, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8602:1287, owner: HeaderAvatar.renderAvatar, offset: 0x01c0d4a5, size: 154 bytes, params: 1, frame: 23 var r0; var object2; var userBinding; var guildIdBinding; var getAvatarSource; let value = environment.__proto__; const Avatar = (require(1305) /* metro dependency 1305: native */).Avatar; let pendingAvatarSrcBinding = pendingAvatarSrc; if (pendingAvatarSrcBinding !== undefined) { object2 = {}; value = require(8420) /* metro dependency 8420: ProfileCustomizationUtils */; getAvatarSource = value.getAvatarSource; userBinding = user; guildIdBinding = guildId; pendingAvatarSrcBinding = pendingAvatarSrc; object2.source = Reflect.apply(getAvatarSource, value, [userBinding, guildIdBinding, pendingAvatarSrcBinding, useReducedMotion]); copyDataProperties(object2, env0_5, pendingAvatarSrcBinding); r0 = object2; } else { object2 = {}; object2.user = user; object2.guildId = guildId; copyDataProperties(object2, env0_5, undefined); r0 = object2; } return ; }