Feat/better hotkeys scope (#526)

* Working version

* fix

* Fixed console log

* Fix lint

* wip

* Fix

* Fix

* consolelog

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Lucas Bordeau
2023-07-08 03:53:05 +02:00
committed by GitHub
parent 611cda1f41
commit 66dcc9b2e1
77 changed files with 1240 additions and 454 deletions

View File

@ -1,16 +1,17 @@
import { useCallback, useEffect, useState } from 'react';
import { useHotkeys } from 'react-hotkeys-hook';
import { useNavigate } from 'react-router-dom';
import { getOperationName } from '@apollo/client/utilities';
import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
import { Key } from 'ts-key-enum';
import { SubTitle } from '@/auth/components/ui/SubTitle';
import { Title } from '@/auth/components/ui/Title';
import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { currentUserState } from '@/auth/states/currentUserState';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
import { captureHotkeyTypeInFocusState } from '@/hotkeys/states/captureHotkeyTypeInFocusState';
import { useScopedHotkeys } from '@/hotkeys/hooks/useScopedHotkeys';
import { InternalHotkeysScope } from '@/hotkeys/types/internal/InternalHotkeysScope';
import { MainButton } from '@/ui/components/buttons/MainButton';
import { ImageInput } from '@/ui/components/inputs/ImageInput';
import { TextInput } from '@/ui/components/inputs/TextInput';
@ -48,9 +49,6 @@ export function CreateProfile() {
const onboardingStatus = useOnboardingStatus();
const [currentUser] = useRecoilState(currentUserState);
const [, setCaptureHotkeyTypeInFocus] = useRecoilState(
captureHotkeyTypeInFocusState,
);
const [updateUser] = useUpdateUserMutation();
@ -85,29 +83,18 @@ export function CreateProfile() {
throw errors;
}
setCaptureHotkeyTypeInFocus(false);
navigate('/');
} catch (error) {
console.error(error);
}
}, [
currentUser?.id,
firstName,
lastName,
navigate,
setCaptureHotkeyTypeInFocus,
updateUser,
]);
}, [currentUser?.id, firstName, lastName, navigate, updateUser]);
useHotkeys(
'enter',
useScopedHotkeys(
Key.Enter,
() => {
handleCreate();
},
{
enableOnContentEditable: true,
enableOnFormTags: true,
},
InternalHotkeysScope.Modal,
[handleCreate],
);
@ -117,10 +104,6 @@ export function CreateProfile() {
}
}, [onboardingStatus, navigate]);
useEffect(() => {
setCaptureHotkeyTypeInFocus(true);
}, [setCaptureHotkeyTypeInFocus]);
return (
<>
<Title>Create profile</Title>