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