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

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

Loading…
Cancel
Save