124 lines
5.7 KiB
TypeScript
124 lines
5.7 KiB
TypeScript
// Metro module 9941 (f9942).
|
|
import { memo, useCallback } from "react";
|
|
import { View } from "react-native";
|
|
import PermissionStore from "../../../stores/PermissionStore";
|
|
import { AnalyticEvents, ChannelTypes, Permissions } from "../../../Constants";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { Card } from "../../../design/components/Card/native/Card.native";
|
|
import { CircleErrorIcon } from "../../../design/components/Icon/native/redesign/generated/CircleErrorIcon";
|
|
import { Text } from "../../../design/components/Text/native/Text";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import { IconButton } from "../../../design/components/Button/native/IconButton.native";
|
|
import Module4149 from "../../../_bundle/Module4149";
|
|
import { removeSavedMessage } from "../SavedMessageHelpers.native";
|
|
import { useSavedMessageChannel, savedMessageJumpToMessage } from "../SavedMessageUtils";
|
|
import ModalActionCreators from "../../../actions/ModalActionCreators";
|
|
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
|
|
import { SavedMessageSortTypes } from "../SavedMessagesTypes";
|
|
import Module3771 from "../../../_bundle/Module3771";
|
|
import validateJumpWithAlert from "../../messages/validateJumpWithAlert";
|
|
import { useStateFromStores } from "../../../_bundle/Module589";
|
|
import ForLaterCardActionButtons from "./ForLaterCardActionButtons";
|
|
import { ForLaterCardReminderHeader } from "./ForLaterCardReminderHeader";
|
|
import { ForLaterCardHeader } from "./ForLaterCardHeader";
|
|
import { ForLaterMessageRow } from "./ForLaterMessageRow";
|
|
let useStyles;
|
|
const ForLaterDeletedMessageCard = function ForLaterDeletedMessageCard(props) {
|
|
const savedMessage = props.savedMessage;
|
|
const styles = useStyles();
|
|
return <Card variant="primary" border="subtle" shadow="none" style={[styles.card, styles.deletedCard]}>
|
|
<CircleErrorIcon size="xs" color={Module712.colors.ICON_MUTED} />
|
|
<Text variant="text-md/semibold" color="mobile-text-heading-primary" style={styles.deletedText}>
|
|
{savedMessage.saveData.dueAt != null ? intl.string(t["wuQm+j"]) : intl.string(t.o572Fe)}
|
|
</Text>
|
|
<View style={styles.deletedActionButton}>
|
|
<IconButton variant="secondary" accessibilityLabel={intl.string(t.SvXS1Z)} size="sm" icon={Module4149} onPress={() => removeSavedMessage(savedMessage.saveData)} />
|
|
</View>
|
|
</Card>;
|
|
};
|
|
useStyles = createStyles({
|
|
card: {
|
|
gap: 16,
|
|
marginBottom: 16
|
|
},
|
|
cardDivider: {
|
|
marginHorizontal: -16,
|
|
height: 1,
|
|
alignSelf: "stretch",
|
|
backgroundColor: Module712.colors.BACKGROUND_MOD_MUTED
|
|
},
|
|
messagePreview: {
|
|
marginHorizontal: -16,
|
|
marginTop: -9,
|
|
marginBottom: -16,
|
|
borderBottomLeftRadius: Module712.modules.mobile.CARD_DEFAULT_RADIUS,
|
|
borderBottomRightRadius: Module712.modules.mobile.CARD_DEFAULT_RADIUS,
|
|
overflow: "hidden"
|
|
},
|
|
deletedCard: {
|
|
flexDirection: "row",
|
|
alignItems: "center",
|
|
gap: 8
|
|
},
|
|
deletedText: {
|
|
flex: 1
|
|
},
|
|
deletedActionButton: {
|
|
marginLeft: "auto"
|
|
}
|
|
});
|
|
const r59 = memo(function ForLaterMessageCard(props) {
|
|
const { savedMessage: savedMessage2, throttledNow } = props;
|
|
const styles = useStyles();
|
|
const savedMessageChannel = useSavedMessageChannel(savedMessage2);
|
|
const callback = useCallback(async () => {
|
|
L11: {
|
|
let _jumpTo2;
|
|
const jumpTo = function jumpTo() {
|
|
return _jumpTo2.apply(this, arguments);
|
|
};
|
|
_jumpTo2 = function _jumpTo() {
|
|
const r9 = async () => {
|
|
let c31994_0;
|
|
c31994_0 = void 0;
|
|
await savedMessageJumpToMessage(savedMessage2, savedMessageChannel);
|
|
ModalActionCreators.pop();
|
|
const FOR_LATER_SAVED_MESSAGE_JUMP = AnalyticEvents.FOR_LATER_SAVED_MESSAGE_JUMP;
|
|
const message = savedMessage2.message;
|
|
AnalyticsUtils.track(FOR_LATER_SAVED_MESSAGE_JUMP, {
|
|
channel_id: savedMessage2.saveData.channelId,
|
|
message_id: savedMessage2.saveData.messageId,
|
|
message_author_id: message == null ? void 0 : message.author.id,
|
|
type: savedMessage2.saveData.dueAt != null ? SavedMessageSortTypes.REMINDER : SavedMessageSortTypes.BOOKMARK,
|
|
due_duration: savedMessage2.saveData.dueAt != null ? Module3771().diff(savedMessage2.saveData.dueAt) : void 0
|
|
});
|
|
};
|
|
_jumpTo2 = r9;
|
|
return r9.apply(this, arguments);
|
|
};
|
|
if (validateJumpWithAlert(savedMessage2.message, jumpTo)) {
|
|
await jumpTo();
|
|
break L11;
|
|
}
|
|
return void 0;
|
|
}
|
|
}, [savedMessage2, savedMessageChannel]);
|
|
const stateFromStores = useStateFromStores([PermissionStore], () => savedMessageChannel?.type === ChannelTypes.UNKNOWN || (!!(savedMessageChannel == null ? void 0 : savedMessageChannel.isPrivate()) || PermissionStore.can(Permissions.VIEW_CHANNEL, savedMessageChannel)));
|
|
if (savedMessage2.message != null && savedMessageChannel != null && stateFromStores) {
|
|
const actions = <ForLaterCardActionButtons savedMessage={savedMessage2} jumpToMessage={callback} />;
|
|
const r1 = savedMessage2.saveData.dueAt != null;
|
|
return <Card variant="primary" border="subtle" shadow="none" style={styles.card} onPress={callback}>
|
|
{r1 ? <ForLaterCardReminderHeader savedMessage={savedMessage2} throttledNow={throttledNow} actions={actions} /> : null}
|
|
<ForLaterCardHeader channel={savedMessageChannel} actions={r1 ? null : actions} />
|
|
<View style={styles.cardDivider} />
|
|
<View style={styles.messagePreview}>
|
|
<ForLaterMessageRow message={savedMessage2.message} lineClamp={2} maxHeight={250} />
|
|
</View>
|
|
</Card>;
|
|
}
|
|
return <ForLaterDeletedMessageCard savedMessage={savedMessage2} />;
|
|
});
|
|
export default r59;
|
|
export { ForLaterDeletedMessageCard };
|