Feat/error boundaries (#2779)
* - Changed to objectNameSingular always defined - Added ErrorCatchAll * - Added mock mode for companies logged out - Added a proper ErrorBoundary component * Removed react-error-boundary * Implemented proper ErrorBoundary * Fixes * Change strategy about mocks --------- Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
@@ -67,7 +67,7 @@ export const ActivityComments = ({
|
||||
const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState);
|
||||
|
||||
const { records: comments } = useFindManyRecords({
|
||||
objectNamePlural: 'comments',
|
||||
objectNameSingular: 'comment',
|
||||
filter: {
|
||||
activityId: {
|
||||
eq: activity?.id ?? '',
|
||||
|
||||
@@ -5,7 +5,7 @@ import { ActivityTargetableEntity } from '../../types/ActivityTargetableEntity';
|
||||
|
||||
export const useAttachments = (entity: ActivityTargetableEntity) => {
|
||||
const { records: attachments } = useFindManyRecords({
|
||||
objectNamePlural: 'attachments',
|
||||
objectNameSingular: 'attachment',
|
||||
filter: {
|
||||
[entity.type === 'Company' ? 'companyId' : 'personId']: { eq: entity.id },
|
||||
},
|
||||
|
||||
+2
-2
@@ -87,7 +87,7 @@ export const ActivityTargetInlineCellEditMode = ({
|
||||
orderByField: 'createdAt',
|
||||
mappingFunction: (record: any) => identifiersMapper?.(record, 'person'),
|
||||
selectedIds: initialPeopleIds,
|
||||
objectNamePlural: 'people',
|
||||
objectNameSingular: 'person',
|
||||
limit: 3,
|
||||
});
|
||||
|
||||
@@ -102,7 +102,7 @@ export const ActivityTargetInlineCellEditMode = ({
|
||||
orderByField: 'createdAt',
|
||||
mappingFunction: (record: any) => identifiersMapper?.(record, 'company'),
|
||||
selectedIds: initialCompanyIds,
|
||||
objectNamePlural: 'companies',
|
||||
objectNameSingular: 'company',
|
||||
limit: 3,
|
||||
});
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ export const ActivityTargetsInlineCell = ({
|
||||
) ?? [];
|
||||
|
||||
const { records: activityTargets } = useFindManyRecords<ActivityTarget>({
|
||||
objectNamePlural: 'activityTargets',
|
||||
objectNameSingular: 'activityTarget',
|
||||
filter: { id: { in: activityTargetIds } },
|
||||
});
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import { ActivityTargetableEntity } from '../../types/ActivityTargetableEntity';
|
||||
|
||||
export const useNotes = (entity: ActivityTargetableEntity) => {
|
||||
const { records: activityTargets } = useFindManyRecords({
|
||||
objectNamePlural: 'activityTargets',
|
||||
objectNameSingular: 'activityTarget',
|
||||
filter: {
|
||||
[entity.type === 'Company' ? 'companyId' : 'personId']: { eq: entity.id },
|
||||
},
|
||||
@@ -23,7 +23,7 @@ export const useNotes = (entity: ActivityTargetableEntity) => {
|
||||
|
||||
const { records: notes } = useFindManyRecords({
|
||||
skip: !activityTargets?.length,
|
||||
objectNamePlural: 'activities',
|
||||
objectNameSingular: 'activity',
|
||||
filter,
|
||||
orderBy,
|
||||
});
|
||||
|
||||
@@ -82,7 +82,7 @@ export const TaskRow = ({
|
||||
) ?? [];
|
||||
|
||||
const { records: activityTargets } = useFindManyRecords<ActivityTarget>({
|
||||
objectNamePlural: 'activityTargets',
|
||||
objectNameSingular: 'activityTarget',
|
||||
filter: { id: { in: activityTargetIds } },
|
||||
});
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ export const useCurrentUserTaskCount = () => {
|
||||
const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState);
|
||||
|
||||
const { records: tasks } = useFindManyRecords({
|
||||
objectNamePlural: 'activities',
|
||||
objectNameSingular: 'activity',
|
||||
filter: {
|
||||
type: { eq: 'Task' },
|
||||
completedAt: { is: 'NULL' },
|
||||
|
||||
@@ -22,7 +22,7 @@ export const useTasks = (props?: UseTasksProps) => {
|
||||
});
|
||||
|
||||
const { records: activityTargets } = useFindManyRecords({
|
||||
objectNamePlural: 'activityTargets',
|
||||
objectNameSingular: 'activityTarget',
|
||||
filter: isDefined(entity)
|
||||
? {
|
||||
[entity?.type === 'Company' ? 'companyId' : 'personId']: {
|
||||
@@ -33,7 +33,7 @@ export const useTasks = (props?: UseTasksProps) => {
|
||||
});
|
||||
|
||||
const { records: completeTasksData } = useFindManyRecords({
|
||||
objectNamePlural: 'activities',
|
||||
objectNameSingular: 'activity',
|
||||
skip: !entity && !selectedFilter,
|
||||
filter: {
|
||||
completedAt: { is: 'NOT_NULL' },
|
||||
@@ -57,7 +57,7 @@ export const useTasks = (props?: UseTasksProps) => {
|
||||
});
|
||||
|
||||
const { records: incompleteTaskData } = useFindManyRecords({
|
||||
objectNamePlural: 'activities',
|
||||
objectNameSingular: 'activity',
|
||||
skip: !entity && !selectedFilter,
|
||||
filter: {
|
||||
completedAt: { is: 'NULL' },
|
||||
|
||||
@@ -49,7 +49,7 @@ const StyledEmptyTimelineSubTitle = styled.div`
|
||||
|
||||
export const Timeline = ({ entity }: { entity: ActivityTargetableEntity }) => {
|
||||
const { records: activityTargets, loading } = useFindManyRecords({
|
||||
objectNamePlural: 'activityTargets',
|
||||
objectNameSingular: 'activityTarget',
|
||||
filter: {
|
||||
[entity.type === 'Company' ? 'companyId' : 'personId']: { eq: entity.id },
|
||||
},
|
||||
@@ -57,7 +57,7 @@ export const Timeline = ({ entity }: { entity: ActivityTargetableEntity }) => {
|
||||
|
||||
const { records: activities } = useFindManyRecords({
|
||||
skip: !activityTargets?.length,
|
||||
objectNamePlural: 'activities',
|
||||
objectNameSingular: 'activity',
|
||||
filter: {
|
||||
id: {
|
||||
in: activityTargets?.map((activityTarget) => activityTarget.activityId),
|
||||
|
||||
Reference in New Issue
Block a user