diff --git a/apps/studio/components/interfaces/Support/LinkSupportTicketForm.tsx b/apps/studio/components/interfaces/Support/LinkSupportTicketForm.tsx
index aeb328934676e..68f35b267180e 100644
--- a/apps/studio/components/interfaces/Support/LinkSupportTicketForm.tsx
+++ b/apps/studio/components/interfaces/Support/LinkSupportTicketForm.tsx
@@ -1,21 +1,21 @@
import { zodResolver } from '@hookform/resolvers/zod'
+import { useLinkSupportTicketMutation } from 'data/feedback/link-support-ticket-mutation'
+import { useOrganizationsQuery } from 'data/organizations/organizations-query'
import { Link2 } from 'lucide-react'
import { useEffect } from 'react'
import type { SubmitHandler } from 'react-hook-form'
import { useForm } from 'react-hook-form'
import { toast } from 'sonner'
-
-import { useLinkSupportTicketMutation } from 'data/feedback/link-support-ticket-mutation'
-import { useOrganizationsQuery } from 'data/organizations/organizations-query'
import {
Button,
DialogSectionSeparator,
- Form_Shadcn_,
FormControl_Shadcn_,
FormField_Shadcn_,
+ Form_Shadcn_,
Input_Shadcn_,
} from 'ui'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
+
import { CategoryAndSeverityInfo } from './CategoryAndSeverityInfo'
import {
LinkSupportTicketFormSchema,
@@ -23,8 +23,8 @@ import {
} from './LinkSupportTicketForm.schema'
import { OrganizationSelector } from './OrganizationSelector'
import { ProjectAndPlanInfo } from './ProjectAndPlanInfo'
-import { SUPPORT_ACCESS_CATEGORIES, SupportAccessToggle } from './SupportAccessToggle'
-import { getOrgSubscriptionPlan, NO_ORG_MARKER, NO_PROJECT_MARKER } from './SupportForm.utils'
+import { DISABLE_SUPPORT_ACCESS_CATEGORIES, SupportAccessToggle } from './SupportAccessToggle'
+import { NO_ORG_MARKER, NO_PROJECT_MARKER, getOrgSubscriptionPlan } from './SupportForm.utils'
interface LinkSupportTicketFormProps {
conversationId: string
@@ -88,9 +88,10 @@ export const LinkSupportTicketForm = ({
? values.projectRef
: undefined,
category: values.category,
- allow_support_access: SUPPORT_ACCESS_CATEGORIES.includes(values.category)
- ? values.allowSupportAccess
- : false,
+ allow_support_access:
+ values.category && !DISABLE_SUPPORT_ACCESS_CATEGORIES.includes(values.category)
+ ? values.allowSupportAccess
+ : false,
})
}
@@ -153,7 +154,7 @@ export const LinkSupportTicketForm = ({
- {SUPPORT_ACCESS_CATEGORIES.includes(category) && (
+ {!!category && !DISABLE_SUPPORT_ACCESS_CATEGORIES.includes(category) && (
<>
diff --git a/apps/studio/components/interfaces/Support/Support.constants.ts b/apps/studio/components/interfaces/Support/Support.constants.ts
index f7ddf76f92005..8e02f560bfd2e 100644
--- a/apps/studio/components/interfaces/Support/Support.constants.ts
+++ b/apps/studio/components/interfaces/Support/Support.constants.ts
@@ -10,7 +10,6 @@ export const CATEGORY_OPTIONS: {
label: string
description: string
query?: string
- hidden?: boolean
}[] = [
{
value: SupportCategories.PROBLEM,
@@ -78,13 +77,6 @@ export const CATEGORY_OPTIONS: {
query: undefined,
},
]),
- {
- value: 'Others' as const,
- label: 'Others',
- description: 'Issues that are not related to any of the other categories',
- query: undefined,
- hidden: true,
- },
]
export const SEVERITY_OPTIONS = [
diff --git a/apps/studio/components/interfaces/Support/SupportAccessToggle.tsx b/apps/studio/components/interfaces/Support/SupportAccessToggle.tsx
index a5b49bc2e010b..0c24ef7d63aec 100644
--- a/apps/studio/components/interfaces/Support/SupportAccessToggle.tsx
+++ b/apps/studio/components/interfaces/Support/SupportAccessToggle.tsx
@@ -1,26 +1,26 @@
-import { ChevronRight } from 'lucide-react'
-import Link from 'next/link'
-import type { UseFormReturn } from 'react-hook-form'
// End of third-party imports
import { SupportCategories } from '@supabase/shared-types/out/constants'
+import { ChevronRight } from 'lucide-react'
+import Link from 'next/link'
+import type { UseFormReturn } from 'react-hook-form'
import {
Badge,
- Collapsible_Shadcn_,
CollapsibleContent_Shadcn_,
CollapsibleTrigger_Shadcn_,
+ Collapsible_Shadcn_,
FormField_Shadcn_,
Switch,
} from 'ui'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
+
import type { ExtendedSupportCategories } from './Support.constants'
import type { SupportFormValues } from './SupportForm.schema'
-export const SUPPORT_ACCESS_CATEGORIES: ExtendedSupportCategories[] = [
- SupportCategories.DATABASE_UNRESPONSIVE,
- SupportCategories.PERFORMANCE_ISSUES,
- SupportCategories.PROBLEM,
- SupportCategories.DASHBOARD_BUG,
+export const DISABLE_SUPPORT_ACCESS_CATEGORIES: ExtendedSupportCategories[] = [
+ SupportCategories.ACCOUNT_DELETION,
+ SupportCategories.SALES_ENQUIRY,
+ SupportCategories.REFUND,
]
interface SupportAccessToggleProps {
diff --git a/apps/studio/components/interfaces/Support/SupportFormV2.tsx b/apps/studio/components/interfaces/Support/SupportFormV2.tsx
index 38e928934a7ed..26bbf789add65 100644
--- a/apps/studio/components/interfaces/Support/SupportFormV2.tsx
+++ b/apps/studio/components/interfaces/Support/SupportFormV2.tsx
@@ -1,7 +1,4 @@
-import { useEffect, type Dispatch, type MouseEventHandler } from 'react'
-import type { SubmitHandler, UseFormReturn } from 'react-hook-form'
// End of third-party imports
-
import { SupportCategories } from '@supabase/shared-types/out/constants'
import { useConstant, useFlag } from 'common'
import { CLIENT_LIBRARIES } from 'common/constants'
@@ -13,7 +10,10 @@ import { useGenerateAttachmentURLsMutation } from 'data/support/generate-attachm
import { useDeploymentCommitQuery } from 'data/utils/deployment-commit-query'
import { detectBrowser } from 'lib/helpers'
import { useProfile } from 'lib/profile'
+import { type Dispatch, type MouseEventHandler } from 'react'
+import type { SubmitHandler, UseFormReturn } from 'react-hook-form'
import { DialogSectionSeparator, Form_Shadcn_ } from 'ui'
+
import {
AffectedServicesSelector,
CATEGORIES_WITHOUT_AFFECTED_SERVICES,
@@ -27,15 +27,15 @@ import { OrganizationSelector } from './OrganizationSelector'
import { ProjectAndPlanInfo } from './ProjectAndPlanInfo'
import { SubjectAndSuggestionsInfo } from './SubjectAndSuggestionsInfo'
import { SubmitButton } from './SubmitButton'
-import { SUPPORT_ACCESS_CATEGORIES, SupportAccessToggle } from './SupportAccessToggle'
+import { DISABLE_SUPPORT_ACCESS_CATEGORIES, SupportAccessToggle } from './SupportAccessToggle'
import type { SupportFormValues } from './SupportForm.schema'
import type { SupportFormActions, SupportFormState } from './SupportForm.state'
import {
+ NO_ORG_MARKER,
+ NO_PROJECT_MARKER,
formatMessage,
formatStudioVersion,
getOrgSubscriptionPlan,
- NO_ORG_MARKER,
- NO_PROJECT_MARKER,
} from './SupportForm.utils'
import {
DASHBOARD_LOG_CATEGORIES,
@@ -128,12 +128,12 @@ export const SupportFormV2 = ({ form, initialError, state, dispatch }: SupportFo
const payload = {
...values,
- category,
organizationSlug: values.organizationSlug ?? NO_ORG_MARKER,
projectRef: values.projectRef ?? NO_PROJECT_MARKER,
- allowSupportAccess: SUPPORT_ACCESS_CATEGORIES.includes(values.category)
- ? values.allowSupportAccess
- : false,
+ allowSupportAccess:
+ values.category && !DISABLE_SUPPORT_ACCESS_CATEGORIES.includes(values.category)
+ ? values.allowSupportAccess
+ : false,
library:
values.category === SupportCategories.PROBLEM && selectedLibrary !== undefined
? selectedLibrary.key
@@ -179,15 +179,6 @@ export const SupportFormV2 = ({ form, initialError, state, dispatch }: SupportFo
handleFormSubmit(event)
}
- useEffect(() => {
- if (simplifiedSupportForm) {
- form.setValue('category', 'Others')
- } else {
- form.setValue('category', '' as any)
- }
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [simplifiedSupportForm])
-
return (
@@ -235,7 +224,7 @@ export const SupportFormV2 = ({ form, initialError, state, dispatch }: SupportFo
>
)}
- {SUPPORT_ACCESS_CATEGORIES.includes(category) && (
+ {!!category && !DISABLE_SUPPORT_ACCESS_CATEGORIES.includes(category) && (
<>
diff --git a/apps/studio/components/interfaces/Support/__tests__/SupportFormPage.test.tsx b/apps/studio/components/interfaces/Support/__tests__/SupportFormPage.test.tsx
index 4c85b45f3ca92..9313f6d4d9c90 100644
--- a/apps/studio/components/interfaces/Support/__tests__/SupportFormPage.test.tsx
+++ b/apps/studio/components/interfaces/Support/__tests__/SupportFormPage.test.tsx
@@ -891,10 +891,6 @@ describe('SupportFormPage', () => {
await userEvent.clear(messageField)
await userEvent.type(messageField, 'MFA challenge fails with an unknown error code')
- expect(
- screen.queryByRole('switch', { name: /allow support access to your project/i })
- ).toBeNull()
-
await userEvent.click(getSubmitButton(screen))
await waitFor(() => {
@@ -910,7 +906,7 @@ describe('SupportFormPage', () => {
organizationSlug: 'org-2',
library: '',
affectedServices: '',
- allowSupportAccess: false,
+ allowSupportAccess: true,
verified: true,
tags: ['dashboard-support-form'],
siteUrl: 'https://project-2.supabase.dev',