* 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>
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { useEffect } from 'react';
|
|
import { useRecoilState } from 'recoil';
|
|
|
|
import { TasksRecoilScopeContext } from '@/activities/states/recoil-scope-contexts/TasksRecoilScopeContext';
|
|
import { currentUserState } from '@/auth/states/currentUserState';
|
|
import { useRecoilScopedState } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedState';
|
|
import { availableFiltersScopedState } from '@/ui/view-bar/states/availableFiltersScopedState';
|
|
import { filtersScopedState } from '@/ui/view-bar/states/filtersScopedState';
|
|
import { FilterOperand } from '@/ui/view-bar/types/FilterOperand';
|
|
|
|
import { tasksFilters } from './tasks-filters';
|
|
|
|
export const TasksEffect = () => {
|
|
const [currentUser] = useRecoilState(currentUserState);
|
|
const [, setFilters] = useRecoilScopedState(
|
|
filtersScopedState,
|
|
TasksRecoilScopeContext,
|
|
);
|
|
|
|
const [, setAvailableFilters] = useRecoilScopedState(
|
|
availableFiltersScopedState,
|
|
TasksRecoilScopeContext,
|
|
);
|
|
|
|
useEffect(() => {
|
|
setAvailableFilters(tasksFilters);
|
|
}, [setAvailableFilters]);
|
|
|
|
useEffect(() => {
|
|
if (currentUser) {
|
|
setFilters([
|
|
{
|
|
key: 'assigneeId',
|
|
type: 'entity',
|
|
value: currentUser.id,
|
|
operand: FilterOperand.Is,
|
|
displayValue: currentUser.displayName,
|
|
displayAvatarUrl: currentUser.avatarUrl ?? undefined,
|
|
},
|
|
]);
|
|
}
|
|
}, [currentUser, setFilters]);
|
|
return <></>;
|
|
};
|