mirror of
https://github.com/twentyhq/twenty.git
synced 2026-06-12 18:08:58 -04:00
* 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.7 KiB
TypeScript
45 lines
1.7 KiB
TypeScript
import { ActivityTargetChips } from '@/activities/components/ActivityTargetChips';
|
|
import { EditableField } from '@/ui/editable-field/components/EditableField';
|
|
import { FieldRecoilScopeContext } from '@/ui/editable-field/states/recoil-scope-contexts/FieldRecoilScopeContext';
|
|
import { IconArrowUpRight } from '@/ui/icon';
|
|
import { RelationPickerHotkeyScope } from '@/ui/input/relation-picker/types/RelationPickerHotkeyScope';
|
|
import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope';
|
|
import { Activity, ActivityTarget, Company, Person } from '~/generated/graphql';
|
|
|
|
import { ActivityRelationEditableFieldEditMode } from './ActivityRelationEditableFieldEditMode';
|
|
|
|
type OwnProps = {
|
|
activity?: Pick<Activity, 'id'> & {
|
|
activityTargets?: Array<
|
|
Pick<ActivityTarget, 'id' | 'personId' | 'companyId'> & {
|
|
person?: Pick<Person, 'id' | 'displayName'>;
|
|
company?: Pick<Company, 'id' | 'domainName' | 'name'>;
|
|
}
|
|
> | null;
|
|
};
|
|
};
|
|
|
|
export const ActivityRelationEditableField = ({ activity }: OwnProps) => {
|
|
return (
|
|
<RecoilScope CustomRecoilScopeContext={FieldRecoilScopeContext}>
|
|
<RecoilScope>
|
|
<EditableField
|
|
useEditButton
|
|
customEditHotkeyScope={{
|
|
scope: RelationPickerHotkeyScope.RelationPicker,
|
|
}}
|
|
IconLabel={IconArrowUpRight}
|
|
editModeContent={
|
|
<ActivityRelationEditableFieldEditMode activity={activity} />
|
|
}
|
|
label="Relations"
|
|
displayModeContent={
|
|
<ActivityTargetChips targets={activity?.activityTargets} />
|
|
}
|
|
isDisplayModeContentEmpty={activity?.activityTargets?.length === 0}
|
|
/>
|
|
</RecoilScope>
|
|
</RecoilScope>
|
|
);
|
|
};
|