-
+ data.eventTypeGroups.map((group, index: number) => {
+ const eventsLockedByOrg = group.profile.eventTypesLockedByOrg;
+ const userHasManagedOrHiddenEventTypes = group.eventTypes.find(
+ (event) => event.metadata?.managedEventConfig || event.hidden
+ );
+ if (eventsLockedByOrg && !userHasManagedOrHiddenEventTypes) return null;
+ return (
+
+ {/* If the group is readonly and empty don't leave a floating header when the user cant see the create box due
+ to it being readonly for that user */}
+ {group.eventTypes.length === 0 && group.metadata.readOnly ? null : (
+
+ )}
- {group.eventTypes.length ? (
-
- ) : group.teamId ? (
-
- ) : (
-
- )}
-
- ))
+ {group.eventTypes.length ? (
+
+ ) : group.teamId && !group.metadata.readOnly ? (
+
+ ) : !group.metadata.readOnly ? (
+
+ ) : null}
+
+ );
+ })
)}
>
) : (
@@ -974,6 +992,21 @@ const EventTypesPage: React.FC & {
);
}, [orgBranding, user]);
+ const profileOptions = data
+ ? data?.profiles
+ .filter((profile) => !profile.readOnly)
+ .filter((profile) => !profile.eventTypesLockedByOrg)
+ .map((profile) => {
+ return {
+ teamId: profile.teamId,
+ label: profile.name || profile.slug,
+ image: profile.image,
+ membershipRole: profile.membershipRole,
+ slug: profile.slug,
+ };
+ })
+ : [];
+
return (