import { GitBranch } from '@phosphor-icons/react' import { useState } from 'react' import { Button } from '@/components/ui/button' import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog' import type { AppLocale } from '../lib/i18n' function gitSetupCopy(locale: AppLocale) { if (locale === 'zh-CN') return { title: '为当前知识库启用版本记录?', description: '不启用 Git 也可以继续使用这个知识库。启用前,历史记录、同步、提交和变更查看功能暂不可用。', never: '此知识库永不提示', later: '暂不启用', enable: '启用 Git', enabling: '正在启用…', } return { title: 'Enable version history for this workspace?', description: 'You can keep using this workspace without Git. History, sync, commits, and change views remain unavailable until Git is enabled.', never: 'Never for this workspace', later: 'Not now', enable: 'Enable Git', enabling: 'Enabling…', } } interface GitSetupDialogProps { open: boolean onInitGit: () => Promise onDismiss: () => void onNeverForVault?: () => void locale?: AppLocale } export function GitSetupDialog({ open, onInitGit, onDismiss, onNeverForVault, locale = 'en' }: GitSetupDialogProps) { const copy = gitSetupCopy(locale) const [creating, setCreating] = useState(false) const [error, setError] = useState(null) const handleCreate = async () => { setCreating(true) setError(null) try { await onInitGit() } catch (err) { setError(err instanceof Error ? err.message : String(err)) setCreating(false) } } return ( { if (!nextOpen && !creating) onDismiss() }}>
{copy.title} {copy.description}
{error && (

{error}

)}
) }