in src/views/inbox-threads/inbox-threads__item-issue-created.tsx [29:98]
export default function ThreadEntityCreatedItem({
group,
target,
onNavigate,
}: Props) {
const actualActivity = group.issue;
const entity: Entity = actualActivity.issue || actualActivity.article;
const assigneeFields: CustomField[] = (entity.customFields || []).map(
(it: CustomField) => {
return {
...it,
projectCustomField: {
...it.projectCustomField,
field: {
id: it.id,
},
},
};
},
);
const added = assigneeFields
.reduce((acc: CustomField[], it: CustomField) => acc.concat(it.value), [])
.filter(Boolean);
const activity = {
category: {
id: activityCategory.CUSTOM_FIELD,
},
added: added.length > 0 ? added : null,
removed: [],
field: {
presentation: assigneeFields[0]?.name,
customField: {
id: assigneeFields[0]?.id,
fieldType: {
isMultiValue: assigneeFields.length > 1,
},
},
},
};
const description: string = entity.description || entity.content;
return (
<ThreadItem
author={actualActivity.author}
avatar={<IconHistory size={20} color={styles.icon.color} />}
change={
<>
{Boolean(description) && (
<MarkdownViewChunks
textStyle={markdownText}
attachments={entity.attachments}
chunkSize={3}
maxChunks={1}
>
{description.trim()}
</MarkdownViewChunks>
)}
<View style={styles.threadRelatedChange}>
<StreamHistoryChange
activity={activity}
customFields={assigneeFields}
/>
</View>
</>
}
onNavigate={() => onNavigate(target)}
reason={i18n('created')}
timestamp={actualActivity.timestamp}
/>
);
}