diff --git a/src/View/ChatPages/messagePage.css b/src/View/ChatPages/messagePage.css index 21b6ba70..f7906ff9 100644 --- a/src/View/ChatPages/messagePage.css +++ b/src/View/ChatPages/messagePage.css @@ -28,6 +28,23 @@ overflow: auto; } +#message-page .reply-header { + width: 100%; + padding-left: var(--content-padding); + gap: var(--gap-in-controls); + + display: flex; + align-items: center; + justify-content: space-between; + + background: var(--surface); +} + +#message-page .reply-header span { + width: 100%; + flex: 1; +} + /* composer */ #message-page #composer { display: flex; @@ -259,6 +276,10 @@ gap: 5px; } +#message-page[reply-view] :is(.reply-link, .inline-reply) { + display: none; +} + .message-bubble > .message-reaction-row { padding: var(--gap-between-tiles); display: none !important; diff --git a/src/View/ChatPages/messagePage.tsx b/src/View/ChatPages/messagePage.tsx index e75c39ce..01037ab7 100644 --- a/src/View/ChatPages/messagePage.tsx +++ b/src/View/ChatPages/messagePage.tsx @@ -72,8 +72,10 @@ export function MessagePage( ViewController.setFocusWithDelay(); }); + const isInReplyView = React.createProxyState([messagePageViewModel.replyViewSelectedMessage], ()=>messagePageViewModel.replyViewSelectedMessage.value != undefined); + return ( -
+
diff --git a/src/View/Components/replyLink.tsx b/src/View/Components/replyLink.tsx index 0ae79c64..3dc1c8e0 100644 --- a/src/View/Components/replyLink.tsx +++ b/src/View/Components/replyLink.tsx @@ -6,7 +6,7 @@ export function ReplyLink(coreViewModel: CoreViewModel, chatMessageViewModel: Ch const isHidden = React.createProxyState([chatMessageViewModel.replyCount], ()=>chatMessageViewModel.replyCount.value == 0); function select() { - chatMessageViewModel.messagePageViewModel.replyViewSelectedMessage.value = chatMessageViewModel; + chatMessageViewModel.messagePageViewModel.setReplyView(chatMessageViewModel); } return ( diff --git a/src/View/Components/replyViewHeader.tsx b/src/View/Components/replyViewHeader.tsx index 9a6498cf..80c3356d 100644 --- a/src/View/Components/replyViewHeader.tsx +++ b/src/View/Components/replyViewHeader.tsx @@ -5,7 +5,8 @@ import MessagePageViewModel from "../../ViewModel/Pages/messagePageViewModel"; export function ReplyViewHeader(coreViewModel: CoreViewModel, messagePageViewModel: MessagePageViewModel) { const isHidden = React.createProxyState([messagePageViewModel.replyViewSelectedMessage], ()=>messagePageViewModel.replyViewSelectedMessage.value == undefined); - const label = React.createProxyState([messagePageViewModel.replyViewSelectedMessage], ()=>coreViewModel.translations.chatPage.message.replyHeaderLabel(messagePageViewModel.replyViewSelectedMessage.value.sender)); + const label = React.createProxyState([messagePageViewModel.replyViewSelectedMessage], ()=>messagePageViewModel.replyViewSelectedMessage.value == undefined ? "" : coreViewModel.translations.chatPage.message.replyHeaderLabel(messagePageViewModel.replyViewSelectedMessage.value.sender)); + const message = React.createProxyState([messagePageViewModel.replyViewSelectedMessage], ()=>messagePageViewModel.replyViewSelectedMessage.value == undefined ? "" : messagePageViewModel.replyViewSelectedMessage.value.body.value); return (
+