From 24edd2656b623e6f76ca7333ed3042d295ca70f2 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Mon, 20 Apr 2026 14:19:50 +0000 Subject: [PATCH] Added user permissions ui that was missing --- .../settings/UsersPermissionsCard.tsx | 20 ++++++++++++------- .../[slug]/(portfolio)/settings/roles.tsx | 2 +- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/app/portfolio/[slug]/(portfolio)/settings/UsersPermissionsCard.tsx b/src/app/portfolio/[slug]/(portfolio)/settings/UsersPermissionsCard.tsx index dc2d5cf..c0e97ea 100644 --- a/src/app/portfolio/[slug]/(portfolio)/settings/UsersPermissionsCard.tsx +++ b/src/app/portfolio/[slug]/(portfolio)/settings/UsersPermissionsCard.tsx @@ -27,9 +27,7 @@ async function getPortfolioUsers(portfolioId: string): Promise { const users = Array.isArray(json) ? json : json.users; // support both shapes // Guard + shape to Collaborator[] return Array.isArray(users) - ? users - .filter((u: any) => u.role !== "creator") // 👈 filter out creator - .map((u: any) => ({ + ? users.map((u: any) => ({ portfolioUserId: String(u.portfolioUserId), userId: String(u.userId), name: u.name ?? null, @@ -251,12 +249,20 @@ export function UsersPermissionsCard({ portfolioId }: { portfolioId: string }) { {c.name || "—"} {c.email} - onChangeRole(c.portfolioUserId, r)} /> + {c.role === "creator" || c.role === "admin" ? ( + + {c.role} + + ) : ( + onChangeRole(c.portfolioUserId, r)} /> + )} - + {c.role !== "creator" && ( + + )} )) diff --git a/src/app/portfolio/[slug]/(portfolio)/settings/roles.tsx b/src/app/portfolio/[slug]/(portfolio)/settings/roles.tsx index feeb223..aee553e 100644 --- a/src/app/portfolio/[slug]/(portfolio)/settings/roles.tsx +++ b/src/app/portfolio/[slug]/(portfolio)/settings/roles.tsx @@ -16,7 +16,7 @@ export type Collaborator = { userId: string; name?: string | null; email: string; - role: Role; + role: Role | "creator" | "admin"; }; // Small role dropdown using shadcn Select