display message if limit is reached

This commit is contained in:
otsmr 2026-03-14 15:30:26 +01:00
parent 8ae729f53d
commit 4005ab6bc7
7 changed files with 36 additions and 0 deletions

View file

@ -20,6 +20,9 @@ enum UploadState {
uploaded,
uploadLimitReached,
// File is to big to be uploaded
fileLimitReached,
// readyToUpload,
// uploadTaskStarted,
// receiverNotified,

View file

@ -2104,6 +2104,12 @@ abstract class AppLocalizations {
/// **'The upload limit has\nbeen reached. Upgrade to Pro\nor wait until tomorrow.'**
String get uploadLimitReached;
/// No description provided for @fileLimitReached.
///
/// In en, this message translates to:
/// **'Maximum file size\nexceeded'**
String get fileLimitReached;
/// No description provided for @retransmissionRequested.
///
/// In en, this message translates to:

View file

@ -1116,6 +1116,9 @@ class AppLocalizationsDe extends AppLocalizations {
String get uploadLimitReached =>
'Das Upload-Limit wurde\nerreicht. Upgrade auf Pro\noder warte bis morgen.';
@override
String get fileLimitReached => 'Maximale Dateigröße\nerreicht';
@override
String get retransmissionRequested => 'Wird erneut versucht.';

View file

@ -1109,6 +1109,9 @@ class AppLocalizationsEn extends AppLocalizations {
String get uploadLimitReached =>
'The upload limit has\nbeen reached. Upgrade to Pro\nor wait until tomorrow.';
@override
String get fileLimitReached => 'Maximum file size\nexceeded';
@override
String get retransmissionRequested => 'Retransmission requested';

View file

@ -1109,6 +1109,9 @@ class AppLocalizationsSv extends AppLocalizations {
String get uploadLimitReached =>
'The upload limit has\nbeen reached. Upgrade to Pro\nor wait until tomorrow.';
@override
String get fileLimitReached => 'Maximum file size\nexceeded';
@override
String get retransmissionRequested => 'Retransmission requested';

View file

@ -343,6 +343,11 @@ Future<void> _createUploadRequest(MediaFileService media) async {
final uploadRequestBytes = uploadRequest.writeToBuffer();
if (uploadRequestBytes.length > 49_000_000) {
await media.setUploadState(UploadState.fileLimitReached);
return;
}
await media.uploadRequestPath.writeAsBytes(uploadRequestBytes);
}

View file

@ -163,6 +163,19 @@ class _MessageSendStateIconState extends State<MessageSendStateIcon> {
context.lang.uploadLimitReached,
style: const TextStyle(fontSize: 9),
);
}
if (mediaFile.uploadState == UploadState.fileLimitReached) {
icon = FaIcon(
FontAwesomeIcons.triangleExclamation,
size: 12,
color: color,
);
textWidget = Text(
context.lang.fileLimitReached,
style: const TextStyle(fontSize: 9),
);
onTap = () => context.push(Routes.settingsSubscription);
}