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}`,