forwarding UI prettier and more usable

This commit is contained in:
or-else
2021-10-05 15:56:20 -07:00
parent a17b3d5b9c
commit 8f672405bc
15 changed files with 68 additions and 65 deletions
+11 -9
View File
@@ -216,12 +216,12 @@ class MessagesView extends React.Component {
const topic = nextProps.tinode.getTopic(nextProps.topic);
let reply = null;
if (nextProps.forwardedMessage) {
if (nextProps.forwardMessage) {
// We are forwarding a message. Show preview.
const preview = nextProps.forwardedMessage.preview;
const preview = nextProps.forwardMessage.preview;
reply = {
content: preview,
forwarded: nextProps.forwardedMessage.head.forwarded,
forwarded: nextProps.forwardMessage.head.forwarded,
seq: null
};
}
@@ -677,10 +677,10 @@ class MessagesView extends React.Component {
// sendMessage sends the message with an optional subscription to topic first.
sendMessage(msg, uploadCompletionPromise, uploader) {
let head;
if (this.props.forwardedMessage) {
if (this.props.forwardMessage) {
// We are forwarding a message.
msg = this.props.forwardedMessage.msg;
head = this.props.forwardedMessage.head;
msg = this.props.forwardMessage.msg;
head = this.props.forwardMessage.head;
this.handleCancelReply();
} else if (this.state.reply && this.state.reply.content) {
// We are replying to a message in this topic.
@@ -844,6 +844,8 @@ class MessagesView extends React.Component {
}
handlePickReply(seq, content, forwarded, senderId, senderName) {
console.log("handlePickReply", seq, content, forwarded, senderId, senderName, new Error("stacktrace"));
this.setState({reply: null});
if (!seq || !content) {
@@ -1105,12 +1107,12 @@ class MessagesView extends React.Component {
:
<SendMessage
tinode={this.props.tinode}
noInput={this.props.forwardedMessage != null}
noInput={!!this.props.forwardMessage}
disabled={!this.state.isWriter}
onKeyPress={this.sendKeyPress}
onSendMessage={this.sendMessage}
onAttachFile={this.props.forwardedMessage == null ? this.handleAttachFile : null}
onAttachImage={this.props.forwardedMessage == null ? this.handleAttachImage : null}
onAttachFile={this.props.forwardMessage ? null : this.handleAttachFile}
onAttachImage={this.props.forwardMessage ? null : this.handleAttachImage}
onError={this.props.onError}
reply={this.state.reply}
onQuoteClick={this.handleQuoteClick}
+3 -4
View File
@@ -1453,7 +1453,7 @@ class TinodeWeb extends React.Component {
Tinode.Drafty.forwardedContent(params.content) :
typeof params.content == 'string' ?
Tinode.Drafty.init(params.content) : params.content;
const preview = Tinode.Drafty.preview(content, QUOTED_REPLY_LENGTH,
const preview = Tinode.Drafty.preview(content, FORWARDED_PREVIEW_LENGTH,
undefined, params.forwarded != null);
const msg = Tinode.Drafty.append(
Tinode.Drafty.appendLineBreak(
@@ -1644,7 +1644,7 @@ class TinodeWeb extends React.Component {
<ForwardDialog
tinode={this.tinode}
contacts={this.state.chatList}
topicSelected={this.props.topicSelected}
topicSelected={this.state.topicSelected}
myUserId={this.state.myUserId}
hide={this.handleHideForwardDialog}
@@ -1752,8 +1752,7 @@ class TinodeWeb extends React.Component {
serverAddress={this.state.serverAddress}
applicationVisible={this.state.applicationVisible}
// Show the forwareded message if the user has selected a topic to forward this message to.
forwardedMessage={this.state.forwardMessage && !this.state.forwardMessage.head.forwarded.startsWith(this.stateTopicSelected) ? this.state.forwardMessage : null}
forwardMessage={this.state.forwardMessage}
onCancelForwardMessage={this.handleHideForwardDialog}
errorText={this.state.errorText}