* On Company Show, I can select an existing person and add it to the company Co-authored-by: Matheus <matheus_benini@hotmail.com> Co-authored-by: v1b3m <vibenjamin6@gmail.com> * Add requested changes Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Matheus <matheus_benini@hotmail.com> * Add excludePersonIds Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Matheus <matheus_benini@hotmail.com> * Add hotkey support * Fix popin placement and fix company show mobile * Fix popin placement and fix company show mobile --------- Co-authored-by: Matheus <matheus_benini@hotmail.com> Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Charles Bochet <charles@twenty.com>
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { useState } from 'react';
|
|
import { useRecoilCallback } from 'recoil';
|
|
|
|
import { currentHotkeyScopeState } from '../states/internal/currentHotkeyScopeState';
|
|
import { CustomHotkeyScopes } from '../types/CustomHotkeyScope';
|
|
import { HotkeyScope } from '../types/HotkeyScope';
|
|
|
|
import { useSetHotkeyScope } from './useSetHotkeyScope';
|
|
|
|
export function usePreviousHotkeyScope() {
|
|
const [previousHotkeyScope, setPreviousHotkeyScope] =
|
|
useState<HotkeyScope | null>();
|
|
|
|
const setHotkeyScope = useSetHotkeyScope();
|
|
|
|
function goBackToPreviousHotkeyScope() {
|
|
if (previousHotkeyScope) {
|
|
setHotkeyScope(
|
|
previousHotkeyScope.scope,
|
|
previousHotkeyScope.customScopes,
|
|
);
|
|
}
|
|
}
|
|
|
|
const setHotkeyScopeAndMemorizePreviousScope = useRecoilCallback(
|
|
({ snapshot }) =>
|
|
(scope: string, customScopes?: CustomHotkeyScopes) => {
|
|
const currentHotkeyScope = snapshot
|
|
.getLoadable(currentHotkeyScopeState)
|
|
.valueOrThrow();
|
|
|
|
setHotkeyScope(scope, customScopes);
|
|
setPreviousHotkeyScope(currentHotkeyScope);
|
|
},
|
|
[setPreviousHotkeyScope],
|
|
);
|
|
|
|
return {
|
|
setHotkeyScopeAndMemorizePreviousScope,
|
|
goBackToPreviousHotkeyScope,
|
|
};
|
|
}
|