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,54 @@
// Metro module 7969 (f7970).
import { useMemo } from "react";
import { View } from "react-native";
import AccessibilityStore from "../../../a11y/AccessibilityStore";
import { useStateFromStores } from "../../../../_bundle/defaultAreStatesEqual";
import { getAvatarDecorationURL } from "../../../../utils/AvatarUtils";
import { isAndroid } from "../../../../utils/PlatformUtils";
import ClipView from "../../../../design/components/Icon/native/ClipView";
import Module6208 from "../../../../_bundle/Module6208";
import FastImage from "../../../../components_native/common/FastImage";
export default function CutoutableAvatarDecoration(props) {
const { size, avatarDecoration, decorationStyle, animate, cutout } = props;
const stateFromStores = useStateFromStores([AccessibilityStore], () => AccessibilityStore.useReducedMotion);
const memo = useMemo(() => {
let canAnimate = animate;
if (animate) {
canAnimate = !stateFromStores;
}
if (canAnimate) {
canAnimate = avatarDecoration != null;
}
let uri = getAvatarDecorationURL({
avatarDecoration,
canAnimate,
size
});
if (uri == null) {
uri = "";
}
return {
avatarDecorationUrl: uri,
sizeStyle: {
width: size,
height: size
},
style: [{
width: size,
height: size
}, decorationStyle],
shouldAnimate: canAnimate,
source: {
uri
}
};
}, [animate, size, avatarDecoration, decorationStyle, stateFromStores]);
const { shouldAnimate, avatarDecorationUrl, style, sizeStyle, source } = memo;
return avatarDecoration == null ? null : avatarDecorationUrl == null ? null : isAndroid() && shouldAnimate ? cutout != null ? <ClipView style={style} cutouts={cutout.nativeCutouts}>
<Module6208 url={avatarDecorationUrl} style={sizeStyle} />
</ClipView> : <View style={style} pointerEvents="none">
<Module6208 url={avatarDecorationUrl} style={sizeStyle} />
</View> : cutout != null ? <ClipView style={style} cutouts={cutout.nativeCutouts}>
<FastImage source={source} style={sizeStyle} />
</ClipView> : <FastImage source={source} style={style} />;
};