+ {/* Modal Header */}
+
+
+
+
+ Einkaufsliste teilen: {activeSpace.name}
+
+
+
+
+
+ {inviteError && (
+
+ {inviteError}
+
+ )}
+
+ {/* Invite User Form */}
+
+
+ {/* Current Space Members List */}
+
+
+ Mitglieder in dieser Liste ({activeSpace.members?.length || 1})
+
+
+ {(activeSpace.members || []).map((m) => {
+ const isOwner = m.role === 'owner' || m.userId === activeSpace.ownerId;
+ const isMe = m.userId === currentUser?.id;
+ const canRemove =
+ (activeSpace.ownerId === currentUser?.id || currentUser?.role === 'admin') &&
+ !isOwner;
+
+ return (
+
+
+
+ {(m.displayName || m.email || '?')[0].toUpperCase()}
+
+
+
+ {m.displayName || m.email} {isMe && (Du)}
+
+
{m.email}
+
+
+
+
+
+ {isOwner ? 'Eigentümer' : m.role === 'editor' ? 'Bearbeiter' : 'Leser'}
+
+ {canRemove && (
+
+ )}
+
+
+ );
+ })}
+
+
+
+ {/* Invite Code Alternative */}
+
+ Alternativ per Code beitreten:
+
+
+