Don't warn about the effects of redacting state events when redacting non-state-events (#11071)

t3chguy/dedup-icons-17oct
Michael Telatynski 2023-06-14 09:49:17 +01:00 committed by GitHub
parent 788c1c8f13
commit 3f52de2f5b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 6 deletions

View File

@ -15,6 +15,7 @@ limitations under the License.
*/
import React from "react";
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
import { _t } from "../../../languageHandler";
import ConfirmRedactDialog from "./ConfirmRedactDialog";
@ -23,6 +24,7 @@ import BaseDialog from "./BaseDialog";
import Spinner from "../elements/Spinner";
interface IProps {
event: MatrixEvent;
redact: () => Promise<void>;
onFinished: (success?: boolean) => void;
}
@ -91,7 +93,7 @@ export default class ConfirmAndWaitRedactDialog extends React.PureComponent<IPro
);
}
} else {
return <ConfirmRedactDialog onFinished={this.onParentFinished} />;
return <ConfirmRedactDialog event={this.props.event} onFinished={this.onParentFinished} />;
}
}
}

View File

@ -26,6 +26,7 @@ import ErrorDialog from "./ErrorDialog";
import TextInputDialog from "./TextInputDialog";
interface IProps {
event: MatrixEvent;
onFinished(success?: false, reason?: void): void;
onFinished(success: true, reason?: string): void;
}
@ -35,14 +36,16 @@ interface IProps {
*/
export default class ConfirmRedactDialog extends React.Component<IProps> {
public render(): React.ReactNode {
let description = _t("Are you sure you wish to remove (delete) this event?");
if (this.props.event.isState()) {
description += " " + _t("Note that removing room changes like this could undo the change.");
}
return (
<TextInputDialog
onFinished={this.props.onFinished}
title={_t("Confirm Removal")}
description={_t(
"Are you sure you wish to remove (delete) this event? " +
"Note that if you delete a room name or topic change, it could undo the change.",
)}
description={description}
placeholder={_t("Reason (optional)")}
focus
button={_t("Remove")}
@ -68,6 +71,7 @@ export function createRedactEventDialog({
Modal.createDialog(
ConfirmRedactDialog,
{
event: mxEvent,
onFinished: async (proceed, reason): Promise<void> => {
if (!proceed) return;

View File

@ -79,6 +79,7 @@ export default class EditHistoryMessage extends React.PureComponent<IProps, ISta
Modal.createDialog(
ConfirmAndWaitRedactDialog,
{
event,
redact: async () => {
await cli.redactEvent(event.getRoomId()!, event.getId()!);
},

View File

@ -2739,8 +2739,9 @@
"Changelog": "Changelog",
"You cannot delete this message. (%(code)s)": "You cannot delete this message. (%(code)s)",
"Removing…": "Removing…",
"Are you sure you wish to remove (delete) this event?": "Are you sure you wish to remove (delete) this event?",
"Note that removing room changes like this could undo the change.": "Note that removing room changes like this could undo the change.",
"Confirm Removal": "Confirm Removal",
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.",
"Reason (optional)": "Reason (optional)",
"Clear all data in this session?": "Clear all data in this session?",
"Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.",