fix: reuse existing project info instead of querying endpoint (#34613)

This commit is contained in:
Paul Cioanca authored and GitHub committed 2025-04-01 17:25:31 +08:00
1 parent 4762198252
commit fac3974974
1 file changed
+8 -26
@@ -1,32 +1,29 @@
import { zodResolver } from '@hookform/resolvers/zod'
import { useParams } from 'common'
import { last } from 'lodash'
import Link from 'next/link'
import { useEffect, useState } from 'react'
import { useForm } from 'react-hook-form'
import { toast } from 'sonner'
import * as z from 'zod'
import { PermissionAction } from '@supabase/shared-types/out/constants'
import SidePanelGitHubRepoLinker from 'components/interfaces/Organization/IntegrationSettings/SidePanelGitHubRepoLinker'
import AlertError from 'components/ui/AlertError'
import { DocsButton } from 'components/ui/DocsButton'
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
import { useBranchCreateMutation } from 'data/branches/branch-create-mutation'
import { useProjectUpgradeEligibilityQuery } from 'data/config/project-upgrade-eligibility-query'
import { useCheckGithubBranchValidity } from 'data/integrations/github-branch-check-query'
import { useGitHubConnectionsQuery } from 'data/integrations/github-connections-query'
import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query'
import { useProjectAddonsQuery } from 'data/subscriptions/project-addons-query'
import { useCheckPermissions } from 'hooks/misc/useCheckPermissions'
import { useSelectedOrganization } from 'hooks/misc/useSelectedOrganization'
import { DollarSign, ExternalLink, FileText, GitBranch } from 'lucide-react'
import { useSelectedProject } from 'hooks/misc/useSelectedProject'
import { DollarSign, FileText, GitBranch } from 'lucide-react'
import { useAppStateSnapshot } from 'state/app-state'
import { Button, Form_Shadcn_, Modal } from 'ui'
import BranchingPITRNotice from './BranchingPITRNotice'
import BranchingPlanNotice from './BranchingPlanNotice'
import BranchingPostgresVersionNotice from './BranchingPostgresVersionNotice'
import GithubRepositorySelection from './GithubRepositorySelection'
import { DocsButton } from 'components/ui/DocsButton'
const EnableBranchingModal = () => {
const { ref } = useParams()
@@ -38,8 +35,6 @@ const EnableBranchingModal = () => {
// and makes the validation run onChange instead. This is a workaround
const [isValid, setIsValid] = useState(false)
const canCreateBranches = useCheckPermissions(PermissionAction.CREATE, 'preview_branches')
const {
data: connections,
error: connectionsError,
@@ -48,17 +43,9 @@ const EnableBranchingModal = () => {
isError: isErrorConnections,
} = useGitHubConnectionsQuery({ organizationId: selectedOrg?.id })
const {
data,
error: upgradeEligibilityError,
isLoading: isLoadingUpgradeEligibility,
isError: isErrorUpgradeEligibility,
isSuccess: isSuccessUpgradeEligibility,
} = useProjectUpgradeEligibilityQuery({
projectRef: ref,
})
const project = useSelectedProject()
const hasMinimumPgVersion =
Number(last(data?.current_app_version.split('-') ?? [])?.split('.')[0] ?? 0) >= 15
Number(last(project?.dbVersion?.split('-') ?? [])?.split('.')[0] ?? 0) >= 15
const { data: subscription } = useOrgSubscriptionQuery({ orgSlug: selectedOrg?.slug })
const isFreePlan = subscription?.plan.id === 'free'
@@ -112,9 +99,9 @@ const EnableBranchingModal = () => {
defaultValues: { branchName: '' },
})
const isLoading = isLoadingConnections || isLoadingUpgradeEligibility
const isError = isErrorConnections || isErrorUpgradeEligibility
const isSuccess = isSuccessConnections && isSuccessUpgradeEligibility
const isLoading = isLoadingConnections
const isError = isErrorConnections
const isSuccess = isSuccessConnections
const canSubmit = form.getValues('branchName').length > 0 && !isChecking && isValid
const onSubmit = (data: z.infer<typeof FormSchema>) => {
@@ -171,11 +158,6 @@ const EnableBranchingModal = () => {
<Modal.Content className="px-7 py-6">
{isErrorConnections ? (
<AlertError error={connectionsError} subject="Failed to retrieve connections" />
) : isErrorUpgradeEligibility ? (
<AlertError
error={upgradeEligibilityError}
subject="Failed to retrieve Postgres version"
/>
) : null}
</Modal.Content>
<Modal.Separator />