Files
discord-decomp/modules/notification_center/native/ForYouMentionPlaceholder.tsx
T
2026-11-01 12:12:55 +02:00

78 lines
2.5 KiB
TypeScript

// Metro module 15287 (f15288).
import { View } from "react-native";
import AccessibilityStore from "../../a11y/AccessibilityStore";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import { useStateFromStores } from "../../../_bundle/Module589";
import ReanimatedRexport, { useSharedValue, withRepeat, Easing, useAnimatedStyle } from "../../reanimated/ReanimatedRexport";
import { withTiming } from "../../../design/animation/reanimated/timing/timing";
const useStyles = createStyles({
placeholder: {
flexDirection: "row",
marginBottom: 16,
marginHorizontal: 24
},
placeholderImage: {
backgroundColor: Module712.colors.BACKGROUND_MOD_STRONG,
height: 52,
width: 52,
borderRadius: 26,
marginEnd: 12
},
placeholderText: {
backgroundColor: Module712.colors.BACKGROUND_MOD_STRONG,
height: 15,
borderRadius: Module712.radii.sm,
marginRight: 12,
marginBottom: 4
},
placeholderTextContainer: {
flexDirection: "row",
flexWrap: "wrap"
},
placeholderBody: {
backgroundColor: Module712.colors.BACKGROUND_MOD_STRONG,
height: 40,
borderRadius: Module712.radii.sm,
marginTop: 4
}
});
let c10864_8 = [70, 50];
const __initData = {
code: "function ForYouMentionPlaceholderTsx1(){const{reducedMotion,opacity}=this.__closure;return{opacity:reducedMotion?0.7:opacity.get()};}"
};
export function ForYouMentionPlaceholder() {
let sharedValue;
const styles = useStyles();
const stateFromStores = useStateFromStores([AccessibilityStore], () => AccessibilityStore.useReducedMotion);
sharedValue = useSharedValue(0.3);
sharedValue.set(withRepeat(withTiming(0.7, {
duration: 1000,
easing: Easing.inOut(Easing.ease)
}), -1, true));
const y = function y() {
return {
opacity: stateFromStores ? 0.7 : sharedValue.get()
};
};
y.__closure = {
reducedMotion: stateFromStores,
opacity: sharedValue
};
y.__workletHash = 8828208724188;
y.__initData = __initData;
return <ReanimatedRexport.View style={[styles.placeholder, useAnimatedStyle(y)]}>
<View style={styles.placeholderImage} />
<View>
<View style={styles.placeholderTextContainer}>
{c10864_8.map((item, index) => <View key={index} style={[styles.placeholderText, {
width: `${item}%`
}]} />)}
</View>
<View style={[styles.placeholderBody, {
width: "85%"
}]} />
</View>
</ReanimatedRexport.View>;
}