import { useState } from 'react' import { TooltipProvider } from './ui/tooltip' import { ConfirmDeleteDialog } from './ConfirmDeleteDialog' import { SettingsGroup, SettingsSwitchRow } from './SettingsControls' import { createTranslator, type AppLocale } from '../lib/i18n' import type { VaultOption } from './status-bar/types' import { workspaceIdentityFromVault } from '../utils/workspaces' import { WorkspaceSettingsRows } from './WorkspaceSettingsRows' interface WorkspaceSettingsSectionProps { defaultWorkspacePath?: string | null enabled: boolean locale: AppLocale onEnabledChange: (enabled: boolean) => void onRemoveVault?: (path: string) => void onReorderVaults?: (orderedPaths: string[]) => void onSetDefaultWorkspace?: (path: string) => void onUpdateWorkspaceIdentity?: (path: string, patch: Partial) => void vaults: VaultOption[] } export function WorkspaceSettingsSection({ defaultWorkspacePath, enabled, locale, onEnabledChange, onRemoveVault, onReorderVaults, onSetDefaultWorkspace, onUpdateWorkspaceIdentity, vaults, }: WorkspaceSettingsSectionProps) { const t = createTranslator(locale) const [vaultPendingRemoval, setVaultPendingRemoval] = useState(null) const pendingRemovalIdentity = vaultPendingRemoval ? workspaceIdentityFromVault(vaultPendingRemoval, { defaultWorkspacePath }) : null return ( {enabled && ( )} setVaultPendingRemoval(null)} onConfirm={() => { if (vaultPendingRemoval) { onRemoveVault?.(vaultPendingRemoval.path) } setVaultPendingRemoval(null) }} /> ) }