// Metro module 15013 (f15014).
import { PureComponent, Fragment } from "react";
import { Animated, TouchableWithoutFeedback, View } from "react-native";
import AccessibilityStore from "../../modules/a11y/AccessibilityStore";
import { Fonts } from "../../Constants";
import { createLegacyClassComponentStyles } from "../../design/components/Styles/native/createStyles";
import TextStyles from "../../modules/rebrand/native/TextStyles";
import Module712 from "../../_bundle/Module712";
import { hexWithOpacity } from "../../utils/ColorUtils";
import { ThemeContext } from "../../_bundle/Module3901";
import { triggerHapticFeedback } from "../../modules/haptics/HapticUtils.native";
import HapticFeedbackTypes from "../../modules/haptics/HapticFeedbackTypes";
import { LegacyText } from "../../design/void/native";
import { intl, t } from "../../intl/index.native";
import { useStateFromStores } from "../../_bundle/Module589";
import { TransitionGroup } from "../../_bundle/Module10391";
const styles = createLegacyClassComponentStyles({
unreadText: {
...TextStyles(Fonts.DISPLAY_SEMIBOLD, Module712.unsafe_rawColors.WHITE, 12, {
uppercase: true
})
},
unread: {
margin: 8,
height: 24,
justifyContent: "center",
alignItems: "center",
borderRadius: Module712.radii.md,
backgroundColor: hexWithOpacity(Module712.unsafe_rawColors.PRIMARY_400, 0.9)
},
mention: {
backgroundColor: hexWithOpacity(Module712.unsafe_rawColors.RED_400, 0.9)
}
});
class UnreadBar extends PureComponent {
static defaultProps = {
bottom: false
};
static contextType = ThemeContext;
state = {
active: false
};
animation = new Animated.Value(0);
handlePress = () => {
const props = this.props;
const { item, onPress } = props;
triggerHapticFeedback(HapticFeedbackTypes.IMPACT_LIGHT);
this.hide();
onPress(item);
};
handlePressIn = () => {
this.setState({
active: true
});
};
handlePressOut = () => {
this.setState({
active: false
});
};
componentWillEnter(a0) {
this.show(a0);
}
componentWillLeave(a0) {
this.hide(a0);
}
show(a0) {
Animated.spring(this.animation, {
toValue: 1,
friction: 15,
tension: 250,
useNativeDriver: true
}).start(a0);
}
hide(a0) {
Animated.spring(this.animation, {
toValue: 0,
friction: 15,
tension: 250,
useNativeDriver: true
}).start(a0);
}
getAnimatedStyle() {
let r16, r30;
const props = this.props;
const { bottom, contentInset, useReducedMotion } = props;
const active = this.state.active;
let left = contentInset.left;
if (left == null) {
left = 0;
}
let right = contentInset.right;
if (right == null) {
right = 0;
}
const r7 = {
position: "absolute",
left,
right
};
const r9 = bottom ? "bottom" : "top";
if (bottom) {
let bottom2 = contentInset.bottom;
if (bottom2 == null) {
bottom2 = 0;
}
r16 = bottom2;
} else {
r16 = contentInset.top;
if (r16 == null) {
r16 = 0;
}
}
r7[r9] = r16;
const r18 = {
...r7,
opacity: this.animation
};
if (useReducedMotion) {
r30 = r18;
} else {
r18.transform = [{
translateY: this.animation.interpolate({
inputRange: [0, 1],
outputRange: [bottom ? 72 : -72, active ? 1 : 0]
})
}];
r30 = r18;
}
return r30;
}
render() {
const r12 = styles(this.context);
const props = this.props;
const { compact, item } = props;
const { mention, section } = item;
const View2 = Animated.View;
return
{compact ? intl.string(t.y2b7CA) : mention ? intl.string(t["8zH0LJ"]) : intl.string(t.FCRiT3)}
;
}
}
export default function UnreadBars(props) {
const { scrollToLocation, beforeItem, afterItem, compact = false, contentInset = {
top: 0,
left: 0,
right: 0,
bottom: 0
} } = props;
const handlePress2 = function handlePress(a0) {
scrollToLocation({
section: a0.section,
item: a0.row,
animated: true
});
};
const stateFromStores = useStateFromStores([AccessibilityStore], () => AccessibilityStore.useReducedMotion);
return
{beforeItem != null ? : null}
{afterItem != null ? : null}
;
};