* Change to using arrow functions Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Matheus <matheus_benini@hotmail.com> * Add lint rule --------- Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Matheus <matheus_benini@hotmail.com> Co-authored-by: Charles Bochet <charles@twenty.com>
24 lines
815 B
TypeScript
24 lines
815 B
TypeScript
import { useRecoilCallback } from 'recoil';
|
|
|
|
import { isSoftFocusActiveState } from '../states/isSoftFocusActiveState';
|
|
import { isSoftFocusOnCellFamilyState } from '../states/isSoftFocusOnCellFamilyState';
|
|
import { softFocusPositionState } from '../states/softFocusPositionState';
|
|
import { CellPosition } from '../types/CellPosition';
|
|
|
|
export const useSetSoftFocusPosition = () =>
|
|
useRecoilCallback(({ set, snapshot }) => {
|
|
return (newPosition: CellPosition) => {
|
|
const currentPosition = snapshot
|
|
.getLoadable(softFocusPositionState)
|
|
.valueOrThrow();
|
|
|
|
set(isSoftFocusActiveState, true);
|
|
|
|
set(isSoftFocusOnCellFamilyState(currentPosition), false);
|
|
|
|
set(softFocusPositionState, newPosition);
|
|
|
|
set(isSoftFocusOnCellFamilyState(newPosition), true);
|
|
};
|
|
}, []);
|