This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

@@ -0,0 +1,42 @@
// Metro module 7935 (f7936).
import { DECORATION_TO_AVATAR_RATIO } from "../AvatarDecorationConstants";
import { AVATAR_SIZE_MAP, CutoutType } from "../../../../design/void/native";
import ActionSheetActionCreators from "../../../action_sheet/native/ActionSheetActionCreators";
export function getDecorationSizeForAvatarSize(a0) {
return typeof a0 !== "number" ? AVATAR_SIZE_MAP[a0] * DECORATION_TO_AVATAR_RATIO : a0 * DECORATION_TO_AVATAR_RATIO;
}
export function getDecorationCutoutForAvatarCutout(a0, a1) {
let r3 = a0;
if (a0 != null) {
let inset = a0.inset;
if (inset == null) {
inset = 0;
}
const nativeCutouts = a0.nativeCutouts;
r3 = {
direction: a0.direction,
radius: a0.radius,
inset: inset + a1,
imageType: CutoutType.RECTANGULAR,
nativeCutouts: nativeCutouts == null ? void 0 : nativeCutouts.map((nativeCutout) => {
const r3 = nativeCutout.x;
return {
...nativeCutout,
x: r3 + a1,
y: nativeCutout.y + a1
};
})
};
}
return r3;
}
export function openAvatarDecorationActionSheet({ user, guildId, currentAvatarDecoration, isTryItOut, analyticsLocations }) {
ActionSheetActionCreators.hideActionSheet();
ActionSheetActionCreators.openLazy(import("../../../user_profile/native/EditAvatarDecorationActionSheet"), "Edit Avatar Decoration", {
user,
guildId,
currentAvatarDecoration,
isTryItOut,
analyticsLocations
});
}
@@ -0,0 +1,63 @@
// Metro module 7990 (f7991).
import { View } from "react-native";
import AccessibilityStore from "../../../a11y/AccessibilityStore";
import PresenceStore from "../../../../stores/PresenceStore";
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
import Module712 from "../../../../_bundle/Module712";
import { useStateFromStores } from "../../../../_bundle/Module589";
import { Avatar, AvatarSizes } from "../../../../design/void/native";
import { getAvatarSource } from "../../../profile_customization/native/ProfileCustomizationUtils";
let useStyles;
const GridAvatar = function GridAvatar(props) {
const { user, guildId, size, showStatus, pendingAvatarSrc } = props;
let pendingAvatarDecoration = props.pendingAvatarDecoration;
const styles = useStyles();
const stateFromStores = useStateFromStores([PresenceStore], () => PresenceStore.getStatus(user.id));
const stateFromStores2 = useStateFromStores([AccessibilityStore], () => AccessibilityStore.useReducedMotion);
if (pendingAvatarDecoration === void 0) {
pendingAvatarDecoration = user.avatarDecoration;
}
const r33 = {
avatarDecoration: pendingAvatarDecoration,
status: showStatus ? stateFromStores : void 0,
statusStyle: styles.avatarStatusStyle,
size
};
return <Avatar {...pendingAvatarSrc !== void 0 ? {
source: getAvatarSource(user, guildId, pendingAvatarSrc, stateFromStores2),
...r33
} : {
user,
guildId,
...r33
}} />;
};
useStyles = createStyles({
avatarRow: {
flexDirection: "row",
alignItems: "center",
justifyContent: "space-around"
},
avatarStatusStyle: {
backgroundColor: Module712.colors.BACKGROUND_SURFACE_HIGH
},
gridContainer: {
width: 108,
height: 108,
justifyContent: "space-around",
marginLeft: 28
}
});
export default function AvatarGrid(props) {
const styles = useStyles();
return <View style={styles.gridContainer}>
<View style={styles.avatarRow}>
<GridAvatar size={AvatarSizes.NORMAL} {...props} />
<GridAvatar size={AvatarSizes.NORMAL} showStatus {...props} />
</View>
<View style={styles.avatarRow}>
<GridAvatar size={AvatarSizes.REFRESH_MEDIUM_32} {...props} />
<GridAvatar size={AvatarSizes.REFRESH_MEDIUM_32} showStatus {...props} />
</View>
</View>;
};
@@ -0,0 +1,60 @@
// Metro module 7962 (f7963).
import { memo, useCallback } from "react";
import { View } from "react-native";
import { isAvatarDecorationRecord } from "../../records/AvatarDecorationRecord";
import { AVATAR_DECORATION_SIZE } from "../AvatarDecorationConstants";
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
import { GUTTER_SIZE, ROW_SIZE } from "../../native/useCollectibleListLayout";
import { NONE_ITEM, SHOP_ITEM } from "../useAvatarDecorationSections";
import { EditCollectiblesListItemNone, EditCollectiblesListItemShop, EditCollectiblesListItemProduct } from "../../native/CollectiblesEditUserProfileListItems";
import AnalyticsLocation from "../../../app_analytics/AnalyticsLocation";
import CutoutableAvatarDecoration from "../../native/components/CutoutableAvatarDecoration";
let Component;
const useStyles = createStyles({
row: {
flexDirection: "row",
alignItems: "center",
justifyContent: "space-between",
paddingHorizontal: GUTTER_SIZE
},
rowSpacer: {
height: GUTTER_SIZE
}
});
const r44 = memo((a0) => {
const { items, selectedSkuId, setSelectedAvatarDecoration, guildId, isTryItOut: isTryItOut2 = false } = a0;
const isTryItOut = isTryItOut2;
const size = a0.size;
const styles = useStyles();
const callback = useCallback(() => {
setSelectedAvatarDecoration(null);
}, [setSelectedAvatarDecoration]);
return <>
<View style={styles.row}>
{[...items, null, null].slice(0, ROW_SIZE).map((item, index) => {
if (item === NONE_ITEM) {
return <EditCollectiblesListItemNone key="none" size={size} onPress={callback} isSelected={selectedSkuId == null} asDefault={guildId != null} />;
}
if (item === SHOP_ITEM) {
return <EditCollectiblesListItemShop key="shop" size={size} analyticsSource={AnalyticsLocation.EDIT_AVATAR_DECORATION_SHEET} />;
}
if (isAvatarDecorationRecord(item)) {
return <Component key={item.skuId} avatarDecoration={item} isSelected={selectedSkuId === item.skuId} setSelectedAvatarDecoration={setSelectedAvatarDecoration} isTryItOut={isTryItOut} size={size} />;
}
return <View key={index} style={{
height: size,
width: size
}} />;
})}
</View>
<View style={styles.rowSpacer} />
</>;
});
r44.displayName = "EditAvatarDecorationRow";
Component = memo(({ avatarDecoration, isSelected, setSelectedAvatarDecoration: setSelectedAvatarDecoration2, isTryItOut: isTryItOut2 = false, size: size2 }) => <EditCollectiblesListItemProduct skuId={avatarDecoration.skuId} isSelected={isSelected} onPress={useCallback(() => {
setSelectedAvatarDecoration2(avatarDecoration);
}, [setSelectedAvatarDecoration2, avatarDecoration])} size={size2} isTryItOut={isTryItOut2} accessibilityLabel={avatarDecoration.label}>
<CutoutableAvatarDecoration avatarDecoration={avatarDecoration} size={AVATAR_DECORATION_SIZE} animate={isSelected} />
</EditCollectiblesListItemProduct>);
Component.displayName = "EditAvatarDecorationItem";
export { r44 as EditAvatarDecorationRow };