Improved activity editor re-renders (#4149)

* Refactor task count

* Fixed show page rerender

* Less rerenders and way better title and body UX

* Finished breaking down activity editor subscriptions

* Removed console.log

* Last console.log

* Fixed bugs and cleaned
This commit is contained in:
Lucas Bordeau
2024-02-23 17:54:27 +01:00
committed by GitHub
parent 5de1c2c31d
commit fb920a92e7
48 changed files with 1114 additions and 527 deletions

View File

@ -0,0 +1,11 @@
import { atomFamily } from 'recoil';
import { Activity } from '@/activities/types/Activity';
export const timelineActivitiesFammilyState = atomFamily<
Activity | null,
string
>({
key: 'timelineActivitiesFammilyState',
default: null,
});

View File

@ -0,0 +1,10 @@
import { atom } from 'recoil';
import { ActivityForActivityGroup } from '@/activities/timeline/utils/groupActivitiesByMonth';
export const timelineActivitiesForGroupState = atom<ActivityForActivityGroup[]>(
{
key: 'timelineActivitiesForGroupState',
default: [],
},
);

View File

@ -0,0 +1,12 @@
import { atom } from 'recoil';
export const timelineActivitiesNetworkingState = atom<{
initialized: boolean;
noActivities: boolean;
}>({
key: 'timelineActivitiesNetworkingState',
default: {
initialized: false,
noActivities: false,
},
});

View File

@ -0,0 +1,11 @@
import { atomFamily } from 'recoil';
import { Activity } from '@/activities/types/Activity';
export const timelineActivityWithoutTargetsFamilyState = atomFamily<
Pick<Activity, 'id' | 'title' | 'createdAt' | 'author' | 'type'> | null,
string
>({
key: 'timelineActivityFirstLevelFamilySelector',
default: null,
});