import { useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' import { AlertTriangle } from 'lucide-react' import { getSyncConflicts, subscribeSyncConflicts, type SyncConflict } from '../services/syncConflicts.js' import { resolveSyncConflictKeepLocal, resolveSyncConflictUseServer } from '../services/sync.js' interface SyncConflictBannerProps { logbookId: string | null } export default function SyncConflictBanner({ logbookId }: SyncConflictBannerProps) { const { t } = useTranslation() const [items, setItems] = useState([]) useEffect(() => { const refresh = () => { setItems(logbookId ? getSyncConflicts(logbookId) : getSyncConflicts()) } refresh() return subscribeSyncConflicts(refresh) }, [logbookId]) if (items.length === 0) return null const first = items[0] return (
{t('sync.conflict_title')}

{t('sync.conflict_message', { count: items.length, id: first.payloadId.slice(0, 8) })}

) }