+
+
+
-
- {!project.is_member ? (
-
- ) : (
-
Joined
- )}
-
-
-
-
-
- {project.emoji ? (
-
- {renderEmoji(project.emoji)}
-
- ) : project.icon_prop ? (
- renderEmoji(project.icon_prop)
- ) : null}
-
-
-
-
-
-
-
-
-
{project.name}
-
- {truncateText(project.description ?? "", 100)}
-
-
-
-
-
-
- {renderShortDateWithYearFormat(project.created_at)}
-
-
- {project.is_member ? (
-
-
+
+
+
+
+ {project.emoji
+ ? renderEmoji(project.emoji)
+ : project.icon_prop
+ ? renderEmoji(project.icon_prop)
+ : null}
+
+
+
+
+
{project.name}
+
+
+ Created on {renderShortDateWithYearFormat(project?.created_at)}
+
+ {project.network === 0 ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+
+
+
+
+
{project.description}
+
+
0
+ ? project.members.map((member) => member?.member__display_name).join(", ")
+ : "No Assignee"
+ }
+ position="top"
+ >
+
+
{(isOwner || isMember) && (
-
-
+
+
)}
- {isOwner && (
-
-
- )}
+ ) : null}
- ) : null}
-
-
+
+
+
>
);
diff --git a/web/types/projects.d.ts b/web/types/projects.d.ts
index e364e9aec..5ddfd64eb 100644
--- a/web/types/projects.d.ts
+++ b/web/types/projects.d.ts
@@ -33,6 +33,7 @@ export interface IProject {
is_favorite: boolean;
is_member: boolean;
member_role: 5 | 10 | 15 | 20 | null;
+ members: IProjectMemberLite[];
issue_views_view: boolean;
module_view: boolean;
name: string;
@@ -62,6 +63,13 @@ type ProjectPreferences = {
};
};
+export interface IProjectMemberLite {
+ id: string;
+ member__avatar: string;
+ member__display_name: string;
+ member_id: string;
+}
+
export interface IProjectMember {
id: string;
member: IUserMemberLite;