// @ts-nocheck
import * as Sentry from '@sentry/nextjs'
import { Loader2, Wrench } from 'lucide-react'
import Link from 'next/link'
import { useCallback, useReducer, type Dispatch, type PropsWithChildren } from 'react'
import type { UseFormReturn } from 'react-hook-form'
import SVG from 'react-inlinesvg'
import { toast } from 'sonner'
import { Button, cn, Tooltip, TooltipContent, TooltipTrigger } from 'ui'
import { Admonition } from 'ui-patterns/admonition'
import { AIAssistantOption } from './AIAssistantOption'
import { DiscordCTACard } from './DiscordCTACard'
import { IncidentAdmonition } from './IncidentAdmonition'
import { Success } from './Success'
import type { ExtendedSupportCategories } from './Support.constants'
import type { SupportFormValues } from './SupportForm.schema'
import {
createInitialSupportFormState,
supportFormReducer,
type SupportFormActions,
type SupportFormState,
} from './SupportForm.state'
import { NO_PROJECT_MARKER } from './SupportForm.utils'
import { SupportFormV2 } from './SupportFormV2'
import { useSupportForm } from './useSupportForm'
import CopyButton from '@/components/ui/CopyButton'
import { useIncidentStatusQuery } from '@/data/platform/incident-status-query'
import { useSendEventMutation } from '@/data/telemetry/send-event-mutation'
import { useStateTransition } from '@/hooks/misc/useStateTransition'
import { BASE_PATH, DOCS_URL } from '@/lib/constants'
export { SupportForm, SupportFormStatusButton } from './SupportSidebarForm'
function useSupportFormTelemetry() {
const { mutate: sendEvent } = useSendEventMutation()
return useCallback(
({
projectRef,
orgSlug,
category,
}: {
projectRef: string | undefined
orgSlug: string | undefined
category: ExtendedSupportCategories
}) =>
sendEvent({
action: 'support_ticket_submitted',
properties: {
ticketCategory: category,
},
groups: {
project: projectRef,
organization: orgSlug,
},
}),
[sendEvent]
)
}
export function SupportFormPage() {
return
Please email us directly. Include your project ID and as much information as possible.
Email:{' '}
support@supabase.com
Project ID:{' '}
{projectRef}