diff --git a/apps/studio/components/interfaces/ConnectSheet/ConnectSheet.tsx b/apps/studio/components/interfaces/ConnectSheet/ConnectSheet.tsx
index 4cd03e85fdb..94e88691cbf 100644
--- a/apps/studio/components/interfaces/ConnectSheet/ConnectSheet.tsx
+++ b/apps/studio/components/interfaces/ConnectSheet/ConnectSheet.tsx
@@ -1,20 +1,12 @@
import { PermissionAction } from '@supabase/shared-types/out/constants'
import { useParams } from 'common'
-import { useEffect, useMemo } from 'react'
-
import { DatabaseSelector } from 'components/ui/DatabaseSelector'
import { getKeys, useAPIKeysQuery } from 'data/api-keys/api-keys-query'
import { useProjectSettingsV2Query } from 'data/config/project-settings-v2-query'
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
-import {
- Sheet,
- SheetContent,
- SheetDescription,
- SheetHeader,
- SheetTitle,
- cn
-} from 'ui'
+import { useEffect, useMemo } from 'react'
+import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, cn } from 'ui'
import type { ProjectKeys } from './Connect.types'
import { ConnectConfigSection, ModeSelector } from './ConnectConfigSection'
@@ -51,15 +43,8 @@ export const ConnectSheet = ({ open, onOpenChange, connectTab }: ConnectSheetPro
return modes
}, [showAppFrameworks, showMobileFrameworks, showOrms])
- const {
- state,
- updateField,
- setMode,
- activeFields,
- resolvedSteps,
- getFieldOptions,
- schema,
- } = useConnectState()
+ const { state, updateField, setMode, activeFields, resolvedSteps, getFieldOptions, schema } =
+ useConnectState()
// Filter modes based on feature flags
const availableModes = useMemo(
@@ -69,18 +54,12 @@ export const ConnectSheet = ({ open, onOpenChange, connectTab }: ConnectSheetPro
// Project keys for step components
const { ref: projectRef } = useParams()
- const { data: settings } = useProjectSettingsV2Query(
- { projectRef },
- { enabled: open }
- )
+ const { data: settings } = useProjectSettingsV2Query({ projectRef }, { enabled: open })
const { can: canReadAPIKeys } = useAsyncCheckPermissions(
PermissionAction.READ,
'service_api_keys'
)
- const { data: apiKeys } = useAPIKeysQuery(
- { projectRef },
- { enabled: canReadAPIKeys }
- )
+ const { data: apiKeys } = useAPIKeysQuery({ projectRef }, { enabled: canReadAPIKeys })
const { anonKey, publishableKey } = canReadAPIKeys
? getKeys(apiKeys)
: { anonKey: null, publishableKey: null }
@@ -141,14 +120,10 @@ export const ConnectSheet = ({ open, onOpenChange, connectTab }: ConnectSheetPro
-
- {/* Configuration Section */}
-
-
+
+ {/* Configuration Section */}
+
-
- {/* Steps Section */}
-
+
+ {/* Steps Section */}
+
+
)
diff --git a/apps/studio/components/interfaces/ConnectSheet/connect.resolver.test.ts b/apps/studio/components/interfaces/ConnectSheet/connect.resolver.test.ts
index 4538ce7c371..0b196767a12 100644
--- a/apps/studio/components/interfaces/ConnectSheet/connect.resolver.test.ts
+++ b/apps/studio/components/interfaces/ConnectSheet/connect.resolver.test.ts
@@ -1,18 +1,13 @@
-import { describe, test, expect } from 'vitest'
+import { describe, expect, test } from 'vitest'
+
+import type { ConditionalValue, ConnectSchema, ConnectState, StepTree } from './Connect.types'
import {
- resolveConditional,
- resolveSteps,
getActiveFields,
getDefaultState,
resetDependentFields,
+ resolveConditional,
+ resolveSteps,
} from './connect.resolver'
-import type {
- ConnectSchema,
- ConnectState,
- ConditionalValue,
- StepDefinition,
- StepTree,
-} from './Connect.types'
// ============================================================================
// resolveConditional Tests
@@ -113,7 +108,9 @@ describe('connect.resolver:resolveConditional', () => {
expect(resolveConditional(conditional, { mode: 'mcp', mcpClient: 'cursor' })).toBe(
'Cursor Config'
)
- expect(resolveConditional(conditional, { mode: 'mcp', mcpClient: 'codex' })).toBe('Codex Config')
+ expect(resolveConditional(conditional, { mode: 'mcp', mcpClient: 'codex' })).toBe(
+ 'Codex Config'
+ )
expect(resolveConditional(conditional, { mode: 'mcp', mcpClient: 'claude-code' })).toBe(
'Claude Code Config'
)
@@ -143,10 +140,13 @@ describe('connect.resolver:resolveConditional', () => {
resolveConditional(conditional, { mode: 'framework', framework: 'nextjs', frameworkUi: true })
).toBe('Shadcn Steps')
expect(
- resolveConditional(conditional, { mode: 'framework', framework: 'nextjs', frameworkUi: false })
+ resolveConditional(conditional, {
+ mode: 'framework',
+ framework: 'nextjs',
+ frameworkUi: false,
+ })
).toBe('Regular Steps')
})
-
})
// ============================================================================
@@ -191,9 +191,7 @@ describe('connect.resolver:resolveSteps', () => {
test('should resolve steps for direct mode', () => {
const schema = createMockSchema({
mode: {
- framework: [
- { id: 'step1', title: 'Install', description: 'Install', content: 'install' },
- ],
+ framework: [{ id: 'step1', title: 'Install', description: 'Install', content: 'install' }],
direct: [
{ id: 'connection', title: 'Connection', description: 'Connect', content: 'direct' },
],
@@ -278,20 +276,20 @@ describe('connect.resolver:resolveSteps', () => {
mode: {
framework: {
framework: {
- nextjs: [
- { id: 'base', title: 'Base', description: 'Base step', content: 'base' },
- ],
+ nextjs: [{ id: 'base', title: 'Base', description: 'Base step', content: 'base' }],
},
frameworkUi: {
- true: [
- { id: 'ui', title: 'UI', description: 'UI step', content: 'ui' },
- ],
+ true: [{ id: 'ui', title: 'UI', description: 'UI step', content: 'ui' }],
},
},
},
})
- const steps = resolveSteps(schema, { mode: 'framework', framework: 'nextjs', frameworkUi: true })
+ const steps = resolveSteps(schema, {
+ mode: 'framework',
+ framework: 'nextjs',
+ frameworkUi: true,
+ })
expect(steps.map((step) => step.id)).toEqual(['base', 'ui'])
})
})
@@ -391,7 +389,14 @@ describe('connect.resolver:getActiveFields', () => {
test('should handle multiple dependsOn conditions', () => {
const schema = createSchemaWithFields(
- [{ id: 'direct', label: 'Direct', description: '', fields: ['connectionMethod', 'useSharedPooler'] }],
+ [
+ {
+ id: 'direct',
+ label: 'Direct',
+ description: '',
+ fields: ['connectionMethod', 'useSharedPooler'],
+ },
+ ],
{
connectionMethod: {
id: 'connectionMethod',
diff --git a/apps/studio/components/interfaces/ConnectSheet/connect.resolver.ts b/apps/studio/components/interfaces/ConnectSheet/connect.resolver.ts
index 8528ff8290f..2baeb7940c1 100644
--- a/apps/studio/components/interfaces/ConnectSheet/connect.resolver.ts
+++ b/apps/studio/components/interfaces/ConnectSheet/connect.resolver.ts
@@ -5,8 +5,8 @@ import type {
FieldOption,
ResolvedField,
ResolvedStep,
- StepFieldValueMap,
StepDefinition,
+ StepFieldValueMap,
StepTree,
} from './Connect.types'
@@ -84,10 +84,7 @@ export function resolveConditional
(
* Resolves the steps array based on current state.
* Returns only steps that have non-null content.
*/
-export function resolveSteps(
- schema: ConnectSchema,
- state: ConnectState
-): ResolvedStep[] {
+export function resolveSteps(schema: ConnectSchema, state: ConnectState): ResolvedStep[] {
const steps = resolveStepTree(schema.steps, state)
if (steps.length === 0) return []
@@ -146,10 +143,7 @@ function resolveStepBranch(
/**
* Gets the active fields for the current mode, filtering by dependsOn conditions.
*/
-export function getActiveFields(
- schema: ConnectSchema,
- state: ConnectState
-): ResolvedField[] {
+export function getActiveFields(schema: ConnectSchema, state: ConnectState): ResolvedField[] {
const currentMode = schema.modes.find((m) => m.id === state.mode)
if (!currentMode) return []
@@ -173,10 +167,7 @@ export function getActiveFields(
/**
* Resolves field options based on current state.
*/
-function resolveFieldOptions(
- field: { options?: unknown },
- state: ConnectState
-): FieldOption[] {
+function resolveFieldOptions(field: { options?: unknown }, state: ConnectState): FieldOption[] {
if (!field.options) return []
// Static options array
diff --git a/apps/studio/components/interfaces/HomeNew/GettingStarted/GettingStarted.utils.tsx b/apps/studio/components/interfaces/HomeNew/GettingStarted/GettingStarted.utils.tsx
index 1d006578467..113d1d54630 100644
--- a/apps/studio/components/interfaces/HomeNew/GettingStarted/GettingStarted.utils.tsx
+++ b/apps/studio/components/interfaces/HomeNew/GettingStarted/GettingStarted.utils.tsx
@@ -1,7 +1,7 @@
-import { BarChart3, Code, Database, GitBranch, Shield, Table, Upload, UserPlus } from 'lucide-react'
-
import { DOCS_URL } from 'lib/constants'
+import { BarChart3, Code, Database, GitBranch, Shield, Table, Upload, UserPlus } from 'lucide-react'
import { AiIconAnimation, CodeBlock } from 'ui'
+
import type { GettingStartedAction, GettingStartedStep } from './GettingStarted.types'
import type { GettingStartedStatuses } from './useGettingStartedProgress'
@@ -376,4 +376,3 @@ export const getNoCodeWorkflowSteps = ({
},
]
}
-