diff --git a/api/src/tablo.ts b/api/src/tablo.ts index eb02ca8..23da5a7 100644 --- a/api/src/tablo.ts +++ b/api/src/tablo.ts @@ -252,13 +252,26 @@ tabloRouter.get("/members/:tablo_id", async (c) => { const { data, error } = await supabase .from("tablo_access") - .select("profiles(id, name)") + .select("is_admin, profiles(id, name)") .eq("tablo_id", tablo_id) .eq("is_active", true); + const rows = data as unknown as { + is_admin: boolean; + profiles: { + id: string; + name: string; + }; + }[]; + if (error) { return c.json({ error: error.message }, 500); } - return c.json({ members: data.map((member) => member.profiles) }); + return c.json({ + members: rows.map((member) => ({ + ...member.profiles, + is_admin: member.is_admin, + })), + }); }); diff --git a/ui/src/components/TabloModal.tsx b/ui/src/components/TabloModal.tsx index 9f30cc4..e64e70d 100644 --- a/ui/src/components/TabloModal.tsx +++ b/ui/src/components/TabloModal.tsx @@ -249,9 +249,17 @@ export const TabloModal = ({ {member.name} - {member.id === currentUser?.id && ( + {member.is_admin ? ( - (Vous) + {member.id === currentUser?.id + ? "(Vous, Admin)" + : "(Admin)"} + + ) : ( + + {member.id === currentUser?.id + ? "(Vous, Invité)" + : "(Invité)"} )} diff --git a/ui/src/hooks/tablos.ts b/ui/src/hooks/tablos.ts index f21fb40..bd93ca1 100644 --- a/ui/src/hooks/tablos.ts +++ b/ui/src/hooks/tablos.ts @@ -56,7 +56,7 @@ export const useTabloMembers = (tabloId: string) => { queryKey: ["tablo-members", tabloId], queryFn: async () => { const { data } = await api.get<{ - members: { id: string; name: string }[]; + members: { id: string; name: string; is_admin: boolean }[]; }>(`/api/v1/tablos/members/${tabloId}`, { headers: { Authorization: `Bearer ${session?.access_token}`,