fix: enable use of escape on modals

feat: confirm modal when enter is pressed

fix: fix linter issues

fix: update rebase and fix lint issues

fix: remove duplicate code
pull/3061/head
Keejef 1 year ago
parent 2274667e2d
commit 9b7908026f

@ -57,11 +57,10 @@ import { isAudio } from '../../types/MIME';
import { HTMLDirection } from '../../util/i18n';
import { NoticeBanner } from '../NoticeBanner';
import { SessionSpinner } from '../basic/SessionSpinner';
import { deleteMessagesByIdForEveryone } from '../../interactions/conversations/unsendingInteractions';
import { RightPanel, StyledRightPanelContainer } from './right-panel/RightPanel';
const DEFAULT_JPEG_QUALITY = 0.85;
import { deleteMessagesByIdForEveryone } from '../../interactions/conversations/unsendingInteractions';
// tslint:disable: jsx-curly-spacing
interface State {
isDraggingFile: boolean;
}
@ -353,11 +352,14 @@ export class SessionConversation extends React.Component<Props, State> {
if (selectionMode) {
window.inboxStore?.dispatch(resetSelectedMessageIds());
}
break;
break;
case 'Backspace':
case 'Delete':
if (selectionMode) {
void deleteMessagesByIdForEveryone(this.props.selectedMessages, this.props.selectedConversationKey);
void deleteMessagesByIdForEveryone(
this.props.selectedMessages,
this.props.selectedConversationKey
);
}
break;
default:

@ -2,6 +2,7 @@ import { shell } from 'electron';
import React, { Dispatch, useEffect, useState } from 'react';
import { useDispatch } from 'react-redux';
import styled from 'styled-components';
import useKey from 'react-use/lib/useKey';
import { useLastMessage } from '../../hooks/useParamSelector';
import { MessageInteraction } from '../../interactions';
import {
@ -119,6 +120,14 @@ export const SessionConfirm = (props: SessionConfirmDialogProps) => {
}
};
useKey('Enter', () => {
void onClickOkHandler();
});
useKey('Escape', () => {
onClickCancelHandler();
});
useEffect(() => {
if (isLoading) {
if (conversationId && lastMessage?.interactionType) {

Loading…
Cancel
Save