get rid of circular references in viewer.eventTypes (#1198)
				
					
				
			This commit is contained in:
		
							parent
							
								
									58f55f84e2
								
							
						
					
					
						commit
						deb97fdab0
					
				
					 2 changed files with 25 additions and 21 deletions
				
			
		|  | @ -331,14 +331,17 @@ const EventTypesPage = () => { | ||||||
|         CTA={ |         CTA={ | ||||||
|           query.data && |           query.data && | ||||||
|           query.data.eventTypeGroups.length !== 0 && ( |           query.data.eventTypeGroups.length !== 0 && ( | ||||||
|             <CreateNewEventButton canAddEvents={query.data.canAddEvents} profiles={query.data.profiles} /> |             <CreateNewEventButton | ||||||
|  |               canAddEvents={query.data.viewer.canAddEvents} | ||||||
|  |               profiles={query.data.profiles} | ||||||
|  |             /> | ||||||
|           ) |           ) | ||||||
|         }> |         }> | ||||||
|         <QueryCell |         <QueryCell | ||||||
|           query={query} |           query={query} | ||||||
|           success={({ data }) => ( |           success={({ data }) => ( | ||||||
|             <> |             <> | ||||||
|               {data.user.plan === "FREE" && !data.canAddEvents && ( |               {data.viewer.plan === "FREE" && !data.viewer.canAddEvents && ( | ||||||
|                 <Alert |                 <Alert | ||||||
|                   severity="warning" |                   severity="warning" | ||||||
|                   title={<>{t("plan_upgrade")}</>} |                   title={<>{t("plan_upgrade")}</>} | ||||||
|  | @ -353,26 +356,25 @@ const EventTypesPage = () => { | ||||||
|                   className="mb-4" |                   className="mb-4" | ||||||
|                 /> |                 /> | ||||||
|               )} |               )} | ||||||
|               {data.eventTypeGroups && |               {data.eventTypeGroups.map((group) => ( | ||||||
|                 data.eventTypeGroups.map((input) => ( |                 <Fragment key={group.profile.slug}> | ||||||
|                   <Fragment key={input.profile.slug}> |                   {/* hide list heading when there is only one (current user) */} | ||||||
|                     {/* hide list heading when there is only one (current user) */} |                   {(data.eventTypeGroups.length !== 1 || group.teamId) && ( | ||||||
|                     {(data.eventTypeGroups.length !== 1 || input.teamId) && ( |                     <EventTypeListHeading | ||||||
|                       <EventTypeListHeading |                       profile={group.profile} | ||||||
|                         profile={input.profile} |                       membershipCount={group.metadata.membershipCount} | ||||||
|                         membershipCount={input.metadata.membershipCount} |  | ||||||
|                       /> |  | ||||||
|                     )} |  | ||||||
|                     <EventTypeList |  | ||||||
|                       types={input.eventTypes} |  | ||||||
|                       profile={input.profile} |  | ||||||
|                       readOnly={input.metadata.readOnly} |  | ||||||
|                     /> |                     /> | ||||||
|                   </Fragment> |                   )} | ||||||
|                 ))} |                   <EventTypeList | ||||||
|  |                     types={group.eventTypes} | ||||||
|  |                     profile={group.profile} | ||||||
|  |                     readOnly={group.metadata.readOnly} | ||||||
|  |                   /> | ||||||
|  |                 </Fragment> | ||||||
|  |               ))} | ||||||
| 
 | 
 | ||||||
|               {data.eventTypeGroups.length === 0 && ( |               {data.eventTypeGroups.length === 0 && ( | ||||||
|                 <CreateFirstEventTypeView profiles={data.profiles} canAddEvents={data.canAddEvents} /> |                 <CreateFirstEventTypeView profiles={data.profiles} canAddEvents={data.viewer.canAddEvents} /> | ||||||
|               )} |               )} | ||||||
|             </> |             </> | ||||||
|           )} |           )} | ||||||
|  |  | ||||||
|  | @ -239,8 +239,10 @@ const loggedInViewerRouter = createProtectedRouter() | ||||||
|       const canAddEvents = user.plan !== "FREE" || eventTypeGroups[0].eventTypes.length < 1; |       const canAddEvents = user.plan !== "FREE" || eventTypeGroups[0].eventTypes.length < 1; | ||||||
| 
 | 
 | ||||||
|       return { |       return { | ||||||
|         canAddEvents, |         viewer: { | ||||||
|         user, |           canAddEvents, | ||||||
|  |           plan: user.plan, | ||||||
|  |         }, | ||||||
|         // don't display event teams without event types,
 |         // don't display event teams without event types,
 | ||||||
|         eventTypeGroups: eventTypeGroups.filter((groupBy) => !!groupBy.eventTypes?.length), |         eventTypeGroups: eventTypeGroups.filter((groupBy) => !!groupBy.eventTypes?.length), | ||||||
|         // so we can show a dropdown when the user has teams
 |         // so we can show a dropdown when the user has teams
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Alex Johansson
						Alex Johansson