User Interface low complexity Shared Component mobile
1
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

A persistent UI widget that communicates the current synchronization state to the user. Displays pending queue count, last sync timestamp, and active sync progress. Integrates with Bloc/Riverpod state streams to reactively reflect connectivity and sync lifecycle changes.

Feature: Offline Support & Data Sync

sync-status-indicator

Responsibilities

  • Display current sync state (syncing, synced, pending, error)
  • Show count of unsynced mutations in offline queue
  • Notify user of sync errors with actionable messaging

Interfaces

SyncStatusWidget(state: SyncState)
buildSyncingIndicator()
buildPendingCountBadge(count: int)
buildLastSyncedLabel(timestamp: DateTime)
buildErrorBanner(error: SyncError)
onRetryTap()
listenToSyncStream(stream: Stream<SyncState>)

Relationships

Dependencies (1)

Components this component depends on