mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
chore: do not preload plan change data on page load (#44562)
The data is preloaded even though the modal is never visible
This commit is contained in:
1 parent
5ca6182d1e
commit
b2d8772d75
2 files changed
+18
-15
No files matched your search
@@ -8,22 +8,18 @@ interface NoProjectsOnPaidOrgInfoProps {
|
||||
organization?: Organization
|
||||
}
|
||||
|
||||
const EXCLUDED_PLANS = ['free', 'platform', 'enterprise']
|
||||
|
||||
export const NoProjectsOnPaidOrgInfo = ({ organization }: NoProjectsOnPaidOrgInfoProps) => {
|
||||
const isPlatformOrg = organization?.plan?.id === 'platform'
|
||||
const isEligible = organization != null && !EXCLUDED_PLANS.includes(organization.plan.id ?? '')
|
||||
|
||||
const { data } = useOrgProjectsInfiniteQuery(
|
||||
{ slug: organization?.slug },
|
||||
{ enabled: !isPlatformOrg }
|
||||
{ enabled: isEligible }
|
||||
)
|
||||
const projectCount = data?.pages[0].pagination.count ?? 0
|
||||
|
||||
if (
|
||||
projectCount > 0 ||
|
||||
organization?.plan === undefined ||
|
||||
organization.plan.id === 'free' ||
|
||||
organization.plan.id === 'enterprise' ||
|
||||
isPlatformOrg
|
||||
)
|
||||
return null
|
||||
if (!isEligible || projectCount > 0) return null
|
||||
|
||||
return (
|
||||
<Admonition
|
||||
|
||||
+12
-5
@@ -67,7 +67,10 @@ export const PlanUpdateSidePanel = () => {
|
||||
'stripe.subscriptions'
|
||||
)
|
||||
|
||||
const { data: orgProjectsData } = useOrgProjectsInfiniteQuery({ slug })
|
||||
const snap = useOrgSettingsPageStateSnapshot()
|
||||
const visible = snap.panelKey === 'subscriptionPlan'
|
||||
|
||||
const { data: orgProjectsData } = useOrgProjectsInfiniteQuery({ slug }, { enabled: visible })
|
||||
const orgProjects =
|
||||
useMemo(
|
||||
() => orgProjectsData?.pages.flatMap((page) => page.projects),
|
||||
@@ -77,8 +80,6 @@ export const PlanUpdateSidePanel = () => {
|
||||
const { data } = useOrganizationQuery({ slug })
|
||||
const hasOrioleProjects = !!data?.has_oriole_project
|
||||
|
||||
const snap = useOrgSettingsPageStateSnapshot()
|
||||
const visible = snap.panelKey === 'subscriptionPlan'
|
||||
const onClose = () => {
|
||||
const { panel, ...queryWithoutPanel } = router.query
|
||||
router.push({ pathname: router.pathname, query: queryWithoutPanel }, undefined, {
|
||||
@@ -90,8 +91,14 @@ export const PlanUpdateSidePanel = () => {
|
||||
const { data: subscription, isSuccess: isSuccessSubscription } = useOrgSubscriptionQuery({
|
||||
orgSlug: slug,
|
||||
})
|
||||
const { data: plans, isPending: isLoadingPlans } = useOrgPlansQuery({ orgSlug: slug })
|
||||
const { data: membersExceededLimit } = useFreeProjectLimitCheckQuery({ slug })
|
||||
const { data: plans, isPending: isLoadingPlans } = useOrgPlansQuery(
|
||||
{ orgSlug: slug },
|
||||
{ enabled: visible }
|
||||
)
|
||||
const { data: membersExceededLimit } = useFreeProjectLimitCheckQuery(
|
||||
{ slug },
|
||||
{ enabled: visible }
|
||||
)
|
||||
|
||||
const {
|
||||
data: subscriptionPreview,
|
||||
|
||||
Reference in new issue
Block a user