Allow quote-reply in thread view element-web (#6959)
This commit is contained in:
parent
d39002338d
commit
694ec946e2
11 changed files with 84 additions and 88 deletions
|
@ -779,7 +779,10 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
|
|||
});
|
||||
break;
|
||||
case 'reply_to_event':
|
||||
if (this.state.searchResults && payload.event.getRoomId() === this.state.roomId && !this.unmounted) {
|
||||
if (this.state.searchResults
|
||||
&& payload.event.getRoomId() === this.state.roomId
|
||||
&& !this.unmounted
|
||||
&& payload.context === TimelineRenderingType.Room) {
|
||||
this.onCancelSearchClick();
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -15,7 +15,6 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
|
||||
import { MatrixEvent } from 'matrix-js-sdk/src/models/event';
|
||||
import { Thread, ThreadEvent } from 'matrix-js-sdk/src/models/thread';
|
||||
import { EventTimelineSet } from 'matrix-js-sdk/src/models/event-timeline-set';
|
||||
import { Room } from 'matrix-js-sdk/src/models/room';
|
||||
|
@ -24,7 +23,6 @@ import BaseCard from "../views/right_panel/BaseCard";
|
|||
import { RightPanelPhases } from "../../stores/RightPanelStorePhases";
|
||||
|
||||
import ResizeNotifier from '../../utils/ResizeNotifier';
|
||||
import EventTile, { TileShape } from '../views/rooms/EventTile';
|
||||
import MatrixClientContext from '../../contexts/MatrixClientContext';
|
||||
import { _t } from '../../languageHandler';
|
||||
import { ContextMenuButton } from '../../accessibility/context_menu/ContextMenuButton';
|
||||
|
@ -34,6 +32,7 @@ import TimelinePanel from './TimelinePanel';
|
|||
import { Layout } from '../../settings/Layout';
|
||||
import { useEventEmitter } from '../../hooks/useEventEmitter';
|
||||
import AccessibleButton from '../views/elements/AccessibleButton';
|
||||
import { TileShape } from '../views/rooms/EventTile';
|
||||
|
||||
interface IProps {
|
||||
roomId: string;
|
||||
|
@ -41,18 +40,6 @@ interface IProps {
|
|||
resizeNotifier: ResizeNotifier;
|
||||
}
|
||||
|
||||
export const ThreadPanelItem: React.FC<{ event: MatrixEvent }> = ({ event }) => {
|
||||
return <EventTile
|
||||
key={event.getId()}
|
||||
mxEvent={event}
|
||||
enableFlair={false}
|
||||
showReadReceipts={false}
|
||||
as="div"
|
||||
tileShape={TileShape.Thread}
|
||||
alwaysShowTimestamps={true}
|
||||
/>;
|
||||
};
|
||||
|
||||
export enum ThreadFilterType {
|
||||
"My",
|
||||
"All"
|
||||
|
@ -230,7 +217,7 @@ const ThreadPanel: React.FC<IProps> = ({ roomId, onClose }) => {
|
|||
showReactions={true}
|
||||
className="mx_RoomView_messagePanel mx_GroupLayout"
|
||||
membersLoaded={true}
|
||||
tileShape={TileShape.ThreadPanel}
|
||||
tileShape={TileShape.Thread}
|
||||
/>
|
||||
</BaseCard>
|
||||
</RoomContext.Provider>
|
||||
|
|
|
@ -50,6 +50,7 @@ interface IProps {
|
|||
interface IState {
|
||||
thread?: Thread;
|
||||
editState?: EditorStateTransfer;
|
||||
replyToEvent?: MatrixEvent;
|
||||
}
|
||||
|
||||
@replaceableComponent("structures.ThreadView")
|
||||
|
@ -114,6 +115,13 @@ export default class ThreadView extends React.Component<IProps, IState> {
|
|||
});
|
||||
break;
|
||||
}
|
||||
case 'reply_to_event':
|
||||
if (payload.context === TimelineRenderingType.Thread) {
|
||||
this.setState({
|
||||
replyToEvent: payload.event,
|
||||
});
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -199,7 +207,7 @@ export default class ThreadView extends React.Component<IProps, IState> {
|
|||
rel_type: RelationType.Thread,
|
||||
event_id: this.state.thread.id,
|
||||
}}
|
||||
showReplyPreview={false}
|
||||
replyToEvent={this.state.replyToEvent}
|
||||
permalinkCreator={this.props.permalinkCreator}
|
||||
e2eStatus={this.props.e2eStatus}
|
||||
compact={true}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue