Remove opportunity specific code on Kanban (#11000)

In this PR:
- clean board from opportunity specific logic
- remove in place creation in board
- trigger creation in right drawer instead
This commit is contained in:
Charles Bochet
2025-03-18 23:54:40 +01:00
committed by GitHub
parent d47debaff6
commit a4bd00ae29
73 changed files with 725 additions and 2366 deletions

View File

@ -11,6 +11,8 @@ import { TimelineActivity } from '@/activities/timeline-activities/types/Timelin
import { getTimelineActivityAuthorFullName } from '@/activities/timeline-activities/utils/getTimelineActivityAuthorFullName';
import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { getObjectRecordIdentifier } from '@/object-metadata/utils/getObjectRecordIdentifier';
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
import { MOBILE_VIEWPORT } from 'twenty-ui';
import { beautifyPastDateRelativeToNow } from '~/utils/date-utils';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
@ -104,7 +106,10 @@ export const EventRow = ({
}: EventRowProps) => {
const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState);
const { labelIdentifierValue } = useContext(TimelineActivityContext);
const { recordId } = useContext(TimelineActivityContext);
const recordFromStore = useRecoilValue(recordStoreFamilyState(recordId));
const beautifiedCreatedAt = beautifyPastDateRelativeToNow(event.createdAt);
const linkedObjectMetadataItem = useLinkedObjectObjectMetadataItem(
event.linkedObjectMetadataId,
@ -114,6 +119,18 @@ export const EventRow = ({
return null;
}
if (isUndefinedOrNull(recordFromStore)) {
return null;
}
if (isUndefinedOrNull(mainObjectMetadataItem)) {
return null;
}
const labelIdentifier = getObjectRecordIdentifier({
objectMetadataItem: mainObjectMetadataItem,
record: recordFromStore,
});
const authorFullName = getTimelineActivityAuthorFullName(
event,
currentWorkspaceMember,
@ -143,7 +160,7 @@ export const EventRow = ({
<StyledSummary>
<EventRowDynamicComponent
authorFullName={authorFullName}
labelIdentifierValue={labelIdentifierValue}
labelIdentifierValue={labelIdentifier.name}
event={event}
mainObjectMetadataItem={mainObjectMetadataItem}
linkedObjectMetadataItem={linkedObjectMetadataItem}

View File

@ -17,9 +17,7 @@ const meta: Meta<typeof TimelineActivities> = {
SnackBarDecorator,
(Story) => {
return (
<TimelineActivityContext.Provider
value={{ labelIdentifierValue: 'Mock' }}
>
<TimelineActivityContext.Provider value={{ recordId: 'mock-id' }}>
<Story />
</TimelineActivityContext.Provider>
);

View File

@ -1,10 +1,10 @@
import { createContext } from 'react';
type TimelineActivityContextValue = {
labelIdentifierValue: string;
recordId: string;
};
export const TimelineActivityContext =
createContext<TimelineActivityContextValue>({
labelIdentifierValue: '',
recordId: '',
});

View File

@ -16,9 +16,7 @@ const meta: Meta<typeof EventCardMessage> = {
SnackBarDecorator,
(Story) => {
return (
<TimelineActivityContext.Provider
value={{ labelIdentifierValue: 'Mock' }}
>
<TimelineActivityContext.Provider value={{ recordId: 'mock-id' }}>
<Story />
</TimelineActivityContext.Provider>
);