diff --git a/config/scripts/locale-ko-key-overrides.json b/config/scripts/locale-ko-key-overrides.json index bafc999aad5..071a249e01c 100644 --- a/config/scripts/locale-ko-key-overrides.json +++ b/config/scripts/locale-ko-key-overrides.json @@ -1007,9 +1007,6 @@ "auto.components.feature.wall.ConnectIntegrationsList.33b650af52": { "ko": "팀이 작업을 추적하는 서비스를 연결하세요. Orca는 이슈 제목, 링크, 컨텍스트가 이미 첨부된 워크스페이스를 시작합니다." }, - "auto.components.feature.wall.ConnectIntegrationsList.3a1fcdddad": { - "ko": "두 단계만 거치면 됩니다. 먼저 코드 리뷰 서비스를 연결한 다음, 팀이 작업을 계획하는 서비스를 연결하세요." - }, "auto.components.feature.wall.ConnectIntegrationsList.3dddb2d565": { "ko": "작업용으로 연결됨" }, diff --git a/src/renderer/src/components/feature-wall/ConnectIntegrationsList.tsx b/src/renderer/src/components/feature-wall/ConnectIntegrationsList.tsx index cd378eb3ff2..21f504dcfb0 100644 --- a/src/renderer/src/components/feature-wall/ConnectIntegrationsList.tsx +++ b/src/renderer/src/components/feature-wall/ConnectIntegrationsList.tsx @@ -10,8 +10,12 @@ import { JiraIntegrationCard, LinearIntegrationCard } from '@/components/settings/task-tracker-integration-cards' +import { + IntegrationCardGroup, + IntegrationCardPresentationProvider +} from '@/components/settings/integration-card-presentation' import { useIntegrationProviderStatusRefresh } from '@/components/settings/use-integration-provider-status-refresh' -import { IntegrationProgress, IntegrationStep } from './connect-integration-step' +import { IntegrationStep } from './connect-integration-step' import { deriveIntegrationFlowState, useIntegrationConnectionStatus @@ -91,100 +95,98 @@ export function ConnectIntegrationsList(): React.JSX.Element { const taskExpanded = taskToggleCurrent ? taskToggle.expanded : reviewDone && !trackerDone return ( -
- {translate(
- 'auto.components.feature.wall.ConnectIntegrationsList.3a1fcdddad',
- 'Two quick steps: connect where your code is reviewed, then where your team plans work.'
+
{translate(
- 'auto.components.feature.wall.ConnectIntegrationsList.5b3577a492',
- 'connected for review status'
+ 'auto.components.feature.wall.ConnectIntegrationsList.code_host_tasks_caption',
+ "Your code host's issues also work as tasks."
)}
- >
- }
- onToggle={() => setReviewReopened((value) => !value)}
- canToggle={reviewCanToggle}
- >
-
- {translate(
- 'auto.components.feature.wall.ConnectIntegrationsList.code_host_tasks_caption',
- "Your code host's issues also work as tasks."
- )}
-
{site.displayName}
diff --git a/src/renderer/src/components/settings/task-tracker-integration-cards.tsx b/src/renderer/src/components/settings/task-tracker-integration-cards.tsx
index 40c9aa4a22a..aca7be03f84 100644
--- a/src/renderer/src/components/settings/task-tracker-integration-cards.tsx
+++ b/src/renderer/src/components/settings/task-tracker-integration-cards.tsx
@@ -7,12 +7,12 @@ import { useMountedRef } from '@/hooks/useMountedRef'
import { getProviderRuntimeContextKey } from '@/lib/provider-runtime-context'
import { useAppStore } from '@/store'
import { IntegrationCardDetails, IntegrationCardShell } from './integration-card-shell'
+import { useIntegrationSubordinateRowClass } from './integration-card-presentation'
import { getProviderAccountScope } from './provider-account-scope'
import { ProviderHostScopeControl } from './ProviderHostScopeControl'
import { translate } from '@/i18n/i18n'
type VerificationResult = { state: 'ok' | 'error'; error?: string }
-const INTEGRATION_SUBORDINATE_ROW_CLASS = 'rounded-md border border-border/50 bg-muted/50 px-3 py-2'
export function LinearIntegrationCard(): React.JSX.Element {
const linearStatus = useAppStore((s) => s.linearStatus)
@@ -36,6 +36,7 @@ export function LinearIntegrationCard(): React.JSX.Element {
const connected = contextMatches && linearStatus.connected
const workspaces = linearStatus.workspaces ?? []
const accountScope = getProviderAccountScope(settings)
+ const subordinateRowClass = useIntegrationSubordinateRowClass('flex items-center gap-3')
const handleDisconnect = async (workspaceId?: string): Promise
{workspace.organizationName}
@@ -217,6 +215,8 @@ export function LinearIntegrationCard(): React.JSX.Element {
}
function ProviderAccountScopeRow({ scope }: { scope: ReturnType