Fix Activity relation picker (#2684)

This commit is contained in:
Charles Bochet
2023-11-23 23:29:27 +01:00
committed by GitHub
parent 1e181c9d2a
commit de5b86ee66
8 changed files with 183 additions and 111 deletions

View File

@ -3,7 +3,9 @@ import styled from '@emotion/styled';
import { ActivityTargetChips } from '@/activities/components/ActivityTargetChips';
import { useOpenActivityRightDrawer } from '@/activities/hooks/useOpenActivityRightDrawer';
import { Activity } from '@/activities/types/Activity';
import { ActivityTarget } from '@/activities/types/ActivityTarget';
import { GraphQLActivity } from '@/activities/types/GraphQLActivity';
import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords';
import { IconCalendar, IconComment } from '@/ui/display/icon';
import { OverflowingTextWithTooltip } from '@/ui/display/tooltip/OverflowingTextWithTooltip';
import { Checkbox, CheckboxShape } from '@/ui/input/components/Checkbox';
@ -61,13 +63,29 @@ const StyledFieldsContainer = styled.div`
display: flex;
`;
export const TaskRow = ({ task }: { task: Omit<Activity, 'assigneeId'> }) => {
export const TaskRow = ({
task,
}: {
task: Omit<GraphQLActivity, 'assigneeId'>;
}) => {
const theme = useTheme();
const openActivityRightDrawer = useOpenActivityRightDrawer();
const body = JSON.parse(task.body ?? '{}')[0]?.content[0]?.text;
const { completeTask } = useCompleteTask(task);
const activityTargetIds =
task?.activityTargets?.edges.map(
(activityTarget) => activityTarget.node.id,
) ?? [];
const { objects: activityTargets } = useFindManyObjectRecords<ActivityTarget>(
{
objectNamePlural: 'activityTargets',
filter: { id: { in: activityTargetIds } },
},
);
return (
<StyledContainer
onClick={() => {
@ -97,7 +115,7 @@ export const TaskRow = ({ task }: { task: Omit<Activity, 'assigneeId'> }) => {
)}
</StyledTaskBody>
<StyledFieldsContainer>
<ActivityTargetChips targets={task.activityTargets} />
<ActivityTargetChips targets={activityTargets} />
<StyledDueDate
isPast={
!!task.dueAt && hasDatePassed(task.dueAt) && !task.completedAt