You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fluffychat/lib/utils/sync_status_localization.dart

28 lines
917 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
extension SyncStatusLocalization on SyncStatusUpdate {
String calcLocalizedString(BuildContext context) {
final progress = this.progress;
switch (status) {
case SyncStatus.waitingForResponse:
return L10n.of(context).waitingForServer;
case SyncStatus.error:
return ((error?.exception ?? Object()) as Object)
.toLocalizedString(context);
case SyncStatus.processing:
case SyncStatus.cleaningUp:
case SyncStatus.finished:
return progress == null
? L10n.of(context).synchronizingPleaseWait
: L10n.of(context).synchronizingPleaseWaitCounter(
(progress * 100).round().toString(),
);
}
}
}