decord/source/modules/user_profile/native/EditUserProfileAvatar.tsx

171 lines
6.2 KiB
TypeScript
Raw Normal View History

2026-07-27 11:26:19 +00:00
// Module ID: 13642
// Function ID: 104839
2026-07-20 16:05:17 +00:00
// Name: EditUserProfileAvatar
2026-07-27 11:26:19 +00:00
// Dependencies: [31, 4123, 33, 4131, 5462, 5482, 3777, 7876, 7890, 13643, 4099, 13644, 1935, 13645, 13645, 7874, 7882, 566, 3992, 4132, 7915, 4661, 1212, 13646, 1273, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
2026-07-27 11:26:19 +00:00
// Module 13642 (EditUserProfileAvatar)
2026-07-23 10:11:24 +00:00
import result from "result";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import jsxProd from "jsxProd";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
let closure_5;
let closure_6;
const require = arg1;
({ jsx: closure_5, jsxs: closure_6 } = jsxProd);
let closure_7 = _createForOfIteratorHelperLoose.createStyles({ editIcon: { position: "absolute", right: -3 } });
2026-07-20 16:05:17 +00:00
let closure_8 = { code: "function EditUserProfileAvatarTsx1(){const{rotation}=this.__closure;return{transform:[{rotateZ:rotation.get()+\"deg\"}]};}" };
2026-07-23 10:11:24 +00:00
let result = require("jsxProd").fileFinishedImporting("modules/user_profile/native/EditUserProfileAvatar.tsx");
2026-07-20 16:05:17 +00:00
export default function EditUserProfileAvatar(user) {
let avatarStyle;
let disabled;
let editIconStyle;
let pendingAvatarDecoration;
let setPendingAvatar;
let statusStyle;
let style;
user = user.user;
let flag = user.disableStatus;
({ disabled, statusStyle, style, avatarStyle, editIconStyle } = user);
if (flag === undefined) {
flag = true;
}
let flag2 = user.isTryItOut;
if (flag2 === undefined) {
flag2 = false;
}
let flag3 = user.autoStartEditFlow;
if (flag3 === undefined) {
flag3 = false;
}
const size = user.size;
2026-07-23 10:11:24 +00:00
let analyticsLocations;
let c4;
2026-07-20 16:05:17 +00:00
let pendingAvatar;
setPendingAvatar = undefined;
2026-07-23 10:11:24 +00:00
let avatarDecoration;
let c8;
2026-07-20 16:05:17 +00:00
let callback;
let closure_10;
let sharedValue;
2026-07-23 10:11:24 +00:00
let tmp = avatarDecoration();
analyticsLocations = flag2(flag3[4])(flag2(flag3[5]).EDIT_AVATAR).analyticsLocations;
let obj = flag2(flag3[6]);
2026-07-20 16:05:17 +00:00
const tmp3 = !obj.canUseAnimatedAvatar(user) && !flag2;
2026-07-23 10:11:24 +00:00
c4 = tmp3;
2026-07-20 16:05:17 +00:00
obj = { isTryItOut: flag2, analyticsLocations };
2026-07-23 10:11:24 +00:00
const tmp4 = flag2(flag3[7])(obj);
2026-07-20 16:05:17 +00:00
pendingAvatar = tmp4.pendingAvatar;
({ pendingAvatarDecoration, setPendingAvatar } = tmp4);
2026-07-23 10:11:24 +00:00
let obj2 = user(flag3[8]);
2026-07-20 16:05:17 +00:00
obj = { userId: user.id, image: pendingAvatar };
2026-07-23 10:11:24 +00:00
avatarDecoration = pendingAvatarDecoration;
2026-07-20 16:05:17 +00:00
const pendingAvatarSrc = obj2.getPendingAvatarSrc(obj);
if (undefined === pendingAvatarDecoration) {
avatarDecoration = user.avatarDecoration;
}
const obj1 = { isTryItOut: flag2, analyticsLocations };
2026-07-23 10:11:24 +00:00
const tmp6 = flag2(flag3[9])(obj1);
c8 = tmp6;
let items = [user, analyticsLocations, pendingAvatar, setPendingAvatar, tmp6, tmp3, avatarDecoration, flag2];
callback = analyticsLocations.useCallback(() => {
2026-07-20 16:05:17 +00:00
let obj = flag2(flag3[10]);
obj = {
2026-07-23 10:11:24 +00:00
showAnimatedAvatarUpsell: c4,
2026-07-20 16:05:17 +00:00
handleRemoveAvatarSelect() {
2026-07-23 10:11:24 +00:00
flag2(flag3[10]).hideActionSheet();
outer1_6(null);
2026-07-20 16:05:17 +00:00
},
2026-07-23 10:11:24 +00:00
handleUploadAvatarSelect: c8,
2026-07-20 16:05:17 +00:00
handleUploadGIFAvatarSelect() {
2026-07-23 10:11:24 +00:00
let obj = flag2(flag3[10]);
2026-07-20 16:05:17 +00:00
obj.hideActionSheet();
obj = {};
2026-07-23 10:11:24 +00:00
const obj2 = flag2(flag3[10]);
obj.profileAssetType = user(flag3[14]).ProfileAssetType.AVATAR;
const GIFSelectionContext = user(flag3[14]).GIFSelectionContext;
obj.selectionContext = outer1_1 ? GIFSelectionContext.PROFILE_TRY_IT_OUT : GIFSelectionContext.PROFILE_EDIT;
obj2.openLazy(user(flag3[12])(flag3[13], flag3.paths), "Select GIF Avatar", obj);
2026-07-20 16:05:17 +00:00
},
handleEditAvatarDecorationSelect() {
2026-07-23 10:11:24 +00:00
let obj = user(flag3[15]);
obj = { user: outer1_0, currentAvatarDecoration: outer1_7, analyticsLocations: outer1_3 };
2026-07-20 16:05:17 +00:00
const result = obj.openAvatarDecorationActionSheet(obj);
}
};
const tmp = user(flag3[12])(flag3[11], flag3.paths);
obj.showRemoveAvatar = user(flag3[16]).showRemoveAvatar(pendingAvatar, user.avatar);
obj.openLazy(tmp, "Change Avatar", obj);
}, items);
2026-07-23 10:11:24 +00:00
closure_10 = analyticsLocations.useRef(false);
2026-07-20 16:05:17 +00:00
const items1 = [user, flag3, callback];
2026-07-23 10:11:24 +00:00
const effect = analyticsLocations.useEffect(() => {
2026-07-20 16:05:17 +00:00
let tmp = flag3;
if (flag3) {
tmp = !ref.current;
}
if (tmp) {
ref.current = true;
callback();
}
}, items1);
2026-07-23 10:11:24 +00:00
let obj5 = user(flag3[17]);
const items2 = [c4];
const stateFromStores = obj5.useStateFromStores(items2, () => _undefined.useReducedMotion);
const tmp2 = flag2(flag3[4]);
sharedValue = user(flag3[18]).useSharedValue(0);
const obj7 = user(flag3[18]);
2026-07-20 16:05:17 +00:00
const fn = function z() {
let obj = {};
obj = { rotateZ: "" + sharedValue.get() + "deg" };
const items = [obj];
obj.transform = items;
return obj;
};
fn.__closure = { rotation: sharedValue };
fn.__workletHash = 13368223692459;
2026-07-23 10:11:24 +00:00
fn.__initData = c8;
2026-07-20 16:05:17 +00:00
const items3 = [sharedValue];
2026-07-23 10:11:24 +00:00
const animatedStyle = user(flag3[18]).useAnimatedStyle(fn);
const effect1 = analyticsLocations.useEffect(() => {
2026-07-20 16:05:17 +00:00
let obj = user(flag3[18]);
obj = { duration: 3000 };
const Easing = user(flag3[18]).Easing;
obj.easing = Easing.inOut(user(flag3[18]).Easing.quad);
const result = sharedValue.set(obj.withRepeat(user(flag3[19]).withTiming(360, obj), -1));
2026-07-23 10:11:24 +00:00
return () => user(flag3[18]).cancelAnimation(outer1_11);
2026-07-20 16:05:17 +00:00
}, items3);
obj2 = { style: avatarStyle, user, pendingAvatarSrc, pendingAvatarDecoration, statusStyle, disableStatus: flag, size };
2026-07-23 10:11:24 +00:00
const tmp13 = pendingAvatar(flag2(flag3[20]), obj2);
2026-07-20 16:05:17 +00:00
const obj3 = { style, disabled, onPress: callback, accessibilityRole: "button" };
2026-07-23 10:11:24 +00:00
const intl = user(flag3[22]).intl;
obj3.accessibilityLabel = intl.string(user(flag3[22]).t.MUgHIN);
2026-07-20 16:05:17 +00:00
let tmp15 = tmp13;
if (flag2) {
tmp15 = tmp13;
if (null == pendingAvatarDecoration) {
tmp15 = tmp13;
if (!stateFromStores) {
const obj4 = { style: animatedStyle, children: tmp13 };
2026-07-23 10:11:24 +00:00
tmp15 = pendingAvatar(flag2(flag3[18]).View, obj4);
2026-07-20 16:05:17 +00:00
}
}
}
const items4 = [tmp15, ];
obj5 = { style: items5 };
2026-07-23 10:11:24 +00:00
items5 = [tmp.editIcon, editIconStyle];
const obj8 = user(flag3[18]);
2026-07-20 16:05:17 +00:00
const tmp14 = setPendingAvatar;
const tmp20 = pendingAvatar;
let str = "xs";
2026-07-23 10:11:24 +00:00
if (size === user(flag3[24]).AvatarSizes.EDIT_AVATAR_DECORATION) {
2026-07-20 16:05:17 +00:00
str = "sm";
}
obj5.size = str;
2026-07-23 10:11:24 +00:00
items4[1] = tmp20(flag2(flag3[23]), obj5);
2026-07-20 16:05:17 +00:00
obj3.children = items4;
2026-07-23 10:11:24 +00:00
return tmp14(user(flag3[21]).PressableOpacity, obj3);
2026-07-20 16:05:17 +00:00
};