63 lines
2.7 KiB
TypeScript
63 lines
2.7 KiB
TypeScript
// Metro module 9944 (f9945).
|
|
import { useCallback } from "react";
|
|
import { View } from "react-native";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators";
|
|
import { addOrUpdateSavedMessage, removeSavedMessage } from "../SavedMessageHelpers.native";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import { ChatArrowRightIcon } from "../../../design/components/Icon/native/redesign/generated/ChatArrowRightIcon";
|
|
import { XSmallIcon } from "../../../design/components/Icon/native/redesign/generated/XSmallIcon";
|
|
import { PencilIcon } from "../../../design/components/Icon/native/redesign/generated/PencilIcon";
|
|
import { ContextMenu } from "../../../design/components/ContextMenu/native/ContextMenu.native";
|
|
import { IconButton } from "../../../design/components/Button/native/IconButton.native";
|
|
import Module8964 from "../../../_bundle/Module8964";
|
|
const useStyles = createStyles({
|
|
actionGroup: {
|
|
flexDirection: "row",
|
|
gap: 8
|
|
}
|
|
});
|
|
export default function ForLaterCardActionButtons(props) {
|
|
const { savedMessage, jumpToMessage } = props;
|
|
const styles = useStyles();
|
|
const callback = useCallback(() => ActionSheetActionCreators.openLazy(import("../message_reminders/native/MessageReminderDurationActionSheet"), "MessageReminderDurationActionSheet", {
|
|
createReminder: (a0) => addOrUpdateSavedMessage({
|
|
...savedMessage.saveData,
|
|
dueAt: a0
|
|
}),
|
|
removeReminder: () => removeSavedMessage({
|
|
channelId: savedMessage.saveData.channelId,
|
|
messageId: savedMessage.saveData.messageId,
|
|
displayToast: true,
|
|
isReminder: true
|
|
}),
|
|
channelId: savedMessage.saveData.channelId,
|
|
messageId: savedMessage.saveData.messageId
|
|
}), [savedMessage]);
|
|
const items = [{
|
|
label: intl.string(t["+TSRGD"]),
|
|
IconComponent: ChatArrowRightIcon,
|
|
action: () => jumpToMessage()
|
|
}, {
|
|
label: intl.string(savedMessage.saveData.dueAt != null ? t["a6gcZ/"] : t.SvXS1Z),
|
|
IconComponent: XSmallIcon,
|
|
action: () => removeSavedMessage(savedMessage.saveData),
|
|
variant: "destructive"
|
|
}];
|
|
if (savedMessage.saveData.dueAt != null) {
|
|
items.unshift({
|
|
label: intl.string(t.vrbqs1),
|
|
IconComponent: PencilIcon,
|
|
action: callback
|
|
});
|
|
}
|
|
return <View style={styles.actionGroup}>
|
|
<ContextMenu items={items} keyboardShouldPersistTaps="handled" triggerOnTap>
|
|
{(a0) => {
|
|
const { ref, ...rest } = a0;
|
|
return <IconButton ref={a0.ref} {...rest} variant="secondary" accessibilityLabel={intl.string(t.e1heBD)} size="sm" icon={Module8964} />;
|
|
}}
|
|
</ContextMenu>
|
|
</View>;
|
|
};
|