add file size limit parameter

This commit is contained in:
Salvatore Giordano
2021-07-21 16:49:40 +02:00
parent 5097e4844b
commit f1df4389b5
7 changed files with 40 additions and 27 deletions
@@ -70,7 +70,12 @@ class MyApp extends StatelessWidget {
Widget build(BuildContext context) => MaterialApp( Widget build(BuildContext context) => MaterialApp(
theme: ThemeData.light(), theme: ThemeData.light(),
darkTheme: ThemeData.dark(), darkTheme: ThemeData.dark(),
supportedLocales: const [Locale('en'), Locale('hi')], supportedLocales: const [
Locale('en'),
Locale('hi'),
Locale('fr'),
Locale('it'),
],
localizationsDelegates: GlobalStreamChatLocalizations.delegates, localizationsDelegates: GlobalStreamChatLocalizations.delegates,
builder: (context, widget) => StreamChat( builder: (context, widget) => StreamChat(
client: client, client: client,
@@ -67,9 +67,9 @@ abstract class Translations {
String get instantCommandsLabel; String get instantCommandsLabel;
String get fileTooLargeAfterCompressionError; String fileTooLargeAfterCompressionError(double limitInMB);
String get fileTooLargeError; String fileTooLargeError(double limitInMB);
String emojiMatchingQueryText(String query); String emojiMatchingQueryText(String query);
@@ -314,14 +314,14 @@ class DefaultTranslations implements Translations {
String get instantCommandsLabel => 'Instant Commands'; String get instantCommandsLabel => 'Instant Commands';
@override @override
String get fileTooLargeAfterCompressionError => String fileTooLargeAfterCompressionError(double limitInMB) =>
'The file is too large to upload. ' 'The file is too large to upload. '
'The file size limit is 20MB. ' 'The file size limit is $limitInMB MB. '
'We tried compressing it, but it was not enough.'; 'We tried compressing it, but it was not enough.';
@override @override
String get fileTooLargeError => String fileTooLargeError(double limitInMB) =>
'The file is too large to upload. The file size limit is 20MB.'; 'The file is too large to upload. The file size limit is $limitInMB MB.';
@override @override
String emojiMatchingQueryText(String query) => 'Emoji matching "$query"'; String emojiMatchingQueryText(String query) => 'Emoji matching "$query"';
@@ -1144,7 +1144,9 @@ class MessageInputState extends State<MessageInput> {
if (mediaInfo.filesize! > widget.maxAttachmentSize) { if (mediaInfo.filesize! > widget.maxAttachmentSize) {
_showErrorAlert( _showErrorAlert(
context.translations.fileTooLargeAfterCompressionError, context.translations.fileTooLargeAfterCompressionError(
widget.maxAttachmentSize / (1024 * 1024),
),
); );
return; return;
} }
@@ -1155,7 +1157,9 @@ class MessageInputState extends State<MessageInput> {
path: mediaInfo.path, path: mediaInfo.path,
); );
} else { } else {
_showErrorAlert(context.translations.fileTooLargeError); _showErrorAlert(context.translations.fileTooLargeError(
widget.maxAttachmentSize / (1024 * 1024),
));
return; return;
} }
} }
@@ -1922,7 +1926,9 @@ class MessageInputState extends State<MessageInput> {
if (mediaInfo.filesize! > widget.maxAttachmentSize) { if (mediaInfo.filesize! > widget.maxAttachmentSize) {
_showErrorAlert( _showErrorAlert(
context.translations.fileTooLargeAfterCompressionError, context.translations.fileTooLargeAfterCompressionError(
widget.maxAttachmentSize / (1024 * 1024),
),
); );
return; return;
} }
@@ -1933,7 +1939,9 @@ class MessageInputState extends State<MessageInput> {
path: mediaInfo.path, path: mediaInfo.path,
); );
} else { } else {
_showErrorAlert(context.translations.fileTooLargeError); _showErrorAlert(context.translations.fileTooLargeError(
widget.maxAttachmentSize / (1024 * 1024),
));
return; return;
} }
} }
@@ -115,14 +115,14 @@ class StreamChatLocalizationsEn extends GlobalStreamChatLocalizations {
String get instantCommandsLabel => 'Instant Commands'; String get instantCommandsLabel => 'Instant Commands';
@override @override
String get fileTooLargeAfterCompressionError => String fileTooLargeAfterCompressionError(double limitInMB) =>
'The file is too large to upload. ' 'The file is too large to upload. '
'The file size limit is 20MB. ' 'The file size limit is $limitInMB MB. '
'We tried compressing it, but it was not enough.'; 'We tried compressing it, but it was not enough.';
@override @override
String get fileTooLargeError => String fileTooLargeError(double limitInMB) =>
'The file is too large to upload. The file size limit is 20MB.'; 'The file is too large to upload. The file size limit is $limitInMB MB.';
@override @override
String emojiMatchingQueryText(String query) => 'Emoji matching "$query"'; String emojiMatchingQueryText(String query) => 'Emoji matching "$query"';
@@ -117,14 +117,14 @@ class StreamChatLocalizationsFr extends GlobalStreamChatLocalizations {
String get instantCommandsLabel => 'Commandes instantanées'; String get instantCommandsLabel => 'Commandes instantanées';
@override @override
String get fileTooLargeAfterCompressionError => String fileTooLargeAfterCompressionError(double limitInMB) =>
'Le fichier est trop volumineux pour être téléchargé. ' 'Le fichier est trop volumineux pour être téléchargé. '
'La taille maximale des fichiers est de 20 Mo. ' 'La taille maximale des fichiers est de $limitInMB Mo. '
"Nous avons essayé de le compresser, mais ce n'était pas suffisant."; "Nous avons essayé de le compresser, mais ce n'était pas suffisant.";
@override @override
String get fileTooLargeError => String fileTooLargeError(double limitInMB) =>
'Le fichier est trop volumineux pour être téléchargé. La taille limite du fichier est de 20 Mo.'; 'Le fichier est trop volumineux pour être téléchargé. La taille limite du fichier est de $limitInMB Mo.';
@override @override
String emojiMatchingQueryText(String query) => String emojiMatchingQueryText(String query) =>
@@ -115,14 +115,14 @@ class StreamChatLocalizationsHi extends GlobalStreamChatLocalizations {
String get instantCommandsLabel => 'तत्काल आदेश'; String get instantCommandsLabel => 'तत्काल आदेश';
@override @override
String get fileTooLargeAfterCompressionError => String fileTooLargeAfterCompressionError(double limitInMB) =>
'फ़ाइल अपलोड करने के लिए बहुत बड़ी है। ' 'फ़ाइल अपलोड करने के लिए बहुत बड़ी है। '
'फ़ाइल आकार सीमा 20MB है। ' 'फ़ाइल आकार सीमा $limitInMB MB है। '
'हमने इसे कंप्रेस करने की कोशिश की, लेकिन यह काफी नहीं था।'; 'हमने इसे कंप्रेस करने की कोशिश की, लेकिन यह काफी नहीं था।';
@override @override
String get fileTooLargeError => String fileTooLargeError(double limitInMB) =>
'फ़ाइल अपलोड करने के लिए बहुत बड़ी है। फ़ाइल आकार सीमा 20MB है।'; 'फ़ाइल अपलोड करने के लिए बहुत बड़ी है। फ़ाइल आकार सीमा $limitInMB MB है।';
@override @override
String emojiMatchingQueryText(String query) => '"$query" से मिलते हुए इमोजी'; String emojiMatchingQueryText(String query) => '"$query" से मिलते हुए इमोजी';
@@ -117,14 +117,14 @@ class StreamChatLocalizationsIt extends GlobalStreamChatLocalizations {
String get instantCommandsLabel => 'Commandi istantanei'; String get instantCommandsLabel => 'Commandi istantanei';
@override @override
String get fileTooLargeAfterCompressionError => String fileTooLargeAfterCompressionError(double limitInMB) =>
'Il file è troppo grande per essere caricato. ' 'Il file è troppo grande per essere caricato. '
'Il file eccede il limite di 20MB. ' 'Il file eccede il limite di $limitInMB MB. '
'Abbiamo provato a comprimerlo, ma non è stato abbastanza.'; 'Abbiamo provato a comprimerlo, ma non è stato abbastanza.';
@override @override
String get fileTooLargeError => String fileTooLargeError(double limitInMB) => '''
'Il file è troppo grande per essere caricato. Il limite è di 20MB.'; Il file è troppo grande per essere caricato. Il limite è di $limitInMB MB.''';
@override @override
String emojiMatchingQueryText(String query) => 'Emoji per "$query"'; String emojiMatchingQueryText(String query) => 'Emoji per "$query"';