Multi-select forwarding and deleting
This commit is contained in:
parent
d986356eea
commit
1d549a9991
82 changed files with 2607 additions and 991 deletions
|
@ -2,6 +2,7 @@
|
|||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import React from 'react';
|
||||
import { useEscapeHandling } from '../../hooks/useEscapeHandling';
|
||||
|
||||
export type PropsType = {
|
||||
conversationId: string;
|
||||
|
@ -13,6 +14,9 @@ export type PropsType = {
|
|||
renderConversationHeader: () => JSX.Element;
|
||||
renderTimeline: () => JSX.Element;
|
||||
renderPanel: () => JSX.Element | undefined;
|
||||
isSelectMode: boolean;
|
||||
isForwardModalOpen: boolean;
|
||||
onExitSelectMode: () => void;
|
||||
};
|
||||
|
||||
export function ConversationView({
|
||||
|
@ -22,6 +26,9 @@ export function ConversationView({
|
|||
renderConversationHeader,
|
||||
renderTimeline,
|
||||
renderPanel,
|
||||
isSelectMode,
|
||||
isForwardModalOpen,
|
||||
onExitSelectMode,
|
||||
}: PropsType): JSX.Element {
|
||||
const onDrop = React.useCallback(
|
||||
(event: React.DragEvent<HTMLDivElement>) => {
|
||||
|
@ -80,6 +87,10 @@ export function ConversationView({
|
|||
[conversationId, processAttachments]
|
||||
);
|
||||
|
||||
useEscapeHandling(
|
||||
isSelectMode && !isForwardModalOpen ? onExitSelectMode : undefined
|
||||
);
|
||||
|
||||
return (
|
||||
<div className="ConversationView" onDrop={onDrop} onPaste={onPaste}>
|
||||
<div className="ConversationView__header">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue