From 0c042ac89fc0822fcbe09c48702857faa5494ae1 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 7 Dec 2025 23:34:03 +0900 Subject: feat(client): add sync status indicator component MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add SyncStatusIndicator component to display current sync state in the UI header. The component shows online/offline status, syncing progress, pending changes count, and sync errors. - Create SyncProvider context to wrap SyncManager for React components - Add SyncStatusIndicator component with visual status indicators - Integrate indicator into HomePage header - Add comprehensive tests for SyncStatusIndicator and SyncProvider - Update existing tests to include SyncProvider wrapper 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/client/sync/index.ts | 69 +++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 36 deletions(-) (limited to 'src/client/sync/index.ts') diff --git a/src/client/sync/index.ts b/src/client/sync/index.ts index a602753..c3ddab4 100644 --- a/src/client/sync/index.ts +++ b/src/client/sync/index.ts @@ -1,50 +1,47 @@ export { - SyncQueue, - SyncStatus, - syncQueue, - type PendingChanges, - type SyncQueueListener, - type SyncQueueState, - type SyncStatusType, -} from "./queue"; - + type ConflictResolutionItem, + type ConflictResolutionResult, + ConflictResolver, + type ConflictResolverOptions, + conflictResolver, + createConflictResolver, +} from "./conflict"; export { - createPushService, - pendingChangesToPushData, - PushService, - type PushServiceOptions, - type SyncCardData, - type SyncDeckData, - type SyncPushData, - type SyncPushResult, - type SyncReviewLogData, -} from "./push"; + createSyncManager, + SyncManager, + type SyncManagerEvent, + type SyncManagerListener, + type SyncManagerOptions, + type SyncResult, +} from "./manager"; export { createPullService, - pullResultToLocalData, PullService, type PullServiceOptions, + pullResultToLocalData, type ServerCard, type ServerDeck, type ServerReviewLog, type SyncPullResult, } from "./pull"; - export { - ConflictResolver, - conflictResolver, - createConflictResolver, - type ConflictResolutionItem, - type ConflictResolutionResult, - type ConflictResolverOptions, -} from "./conflict"; - + createPushService, + PushService, + type PushServiceOptions, + pendingChangesToPushData, + type SyncCardData, + type SyncDeckData, + type SyncPushData, + type SyncPushResult, + type SyncReviewLogData, +} from "./push"; export { - createSyncManager, - SyncManager, - type SyncManagerEvent, - type SyncManagerListener, - type SyncManagerOptions, - type SyncResult, -} from "./manager"; + type PendingChanges, + SyncQueue, + type SyncQueueListener, + type SyncQueueState, + SyncStatus, + type SyncStatusType, + syncQueue, +} from "./queue"; -- cgit v1.2.3-70-g09d2