From 8d3ef4dd84a0bd8b885f67a115832dd9beb2a6a6 Mon Sep 17 00:00:00 2001 From: Ivan Sekovanikj <31964049+isekovanic@users.noreply.github.com> Date: Thu, 3 Oct 2024 20:23:34 +0200 Subject: [PATCH] fix: native picker max images (#2699) * fix: native image picker max images not respected * chore: add comments for clarity * chore: wrap max file text in translations * chore: translations --- .../components/AttachmentPickerItem.tsx | 7 +++++-- .../messageInputContext/MessageInputContext.tsx | 14 +++++++++++++- package/src/i18n/en.json | 1 + package/src/i18n/es.json | 1 + package/src/i18n/fr.json | 1 + package/src/i18n/he.json | 1 + package/src/i18n/hi.json | 1 + package/src/i18n/it.json | 1 + package/src/i18n/ja.json | 1 + package/src/i18n/ko.json | 1 + package/src/i18n/nl.json | 1 + package/src/i18n/pt-br.json | 1 + package/src/i18n/ru.json | 1 + package/src/i18n/tr.json | 1 + 14 files changed, 30 insertions(+), 3 deletions(-) diff --git a/package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx b/package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx index 35859cb91..7891aa3e8 100644 --- a/package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +++ b/package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx @@ -5,6 +5,7 @@ import { Alert, ImageBackground, Platform, StyleSheet, Text, View } from 'react- import { TouchableOpacity } from '@gorhom/bottom-sheet'; import { lookup } from 'mime-types'; +import { useTranslationContext } from '../../../contexts'; import { AttachmentPickerContextValue } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext'; import { useTheme } from '../../../contexts/themeContext/ThemeContext'; import { useViewport } from '../../../hooks/useViewport'; @@ -39,6 +40,7 @@ const AttachmentVideo = (props: AttachmentVideoProps) => { setSelectedFiles, } = props; const { vw } = useViewport(); + const { t } = useTranslationContext(); const { theme: { @@ -76,7 +78,7 @@ const AttachmentVideo = (props: AttachmentVideoProps) => { const updateSelectedFiles = async () => { if (numberOfUploads >= maxNumberOfFiles) { - Alert.alert('Maximum number of files reached'); + Alert.alert(t('Maximum number of files reached')); return; } const files = await patchVideoFile(selectedFiles); @@ -143,6 +145,7 @@ const AttachmentImage = (props: AttachmentImageProps) => { }, } = useTheme(); const { vw } = useViewport(); + const { t } = useTranslationContext(); const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2; @@ -165,7 +168,7 @@ const AttachmentImage = (props: AttachmentImageProps) => { const updateSelectedImages = async () => { if (numberOfUploads >= maxNumberOfFiles) { - Alert.alert('Maximum number of files reached'); + Alert.alert(t('Maximum number of files reached')); return; } const images = await patchImageFile(selectedImages); diff --git a/package/src/contexts/messageInputContext/MessageInputContext.tsx b/package/src/contexts/messageInputContext/MessageInputContext.tsx index a89250432..e6970dd07 100644 --- a/package/src/contexts/messageInputContext/MessageInputContext.tsx +++ b/package/src/contexts/messageInputContext/MessageInputContext.tsx @@ -694,7 +694,19 @@ export const MessageInputProvider = < ], ); } + + // RN CLI + if (numberOfUploads >= value.maxNumberOfFiles) { + Alert.alert(t('Maximum number of files reached')); + return; + } + if (result.assets && result.assets.length > 0) { + // Expo + if (result.assets.length > value.maxNumberOfFiles) { + Alert.alert(t('Maximum number of files reached')); + return; + } result.assets.forEach(async (asset) => { if (asset.type.includes('image')) { await uploadNewImage(asset); @@ -746,7 +758,7 @@ export const MessageInputProvider = < } if (numberOfUploads >= value.maxNumberOfFiles) { - Alert.alert('Maximum number of files reached'); + Alert.alert(t('Maximum number of files reached')); return; } diff --git a/package/src/i18n/en.json b/package/src/i18n/en.json index a4e325ff7..8990b9337 100644 --- a/package/src/i18n/en.json +++ b/package/src/i18n/en.json @@ -40,6 +40,7 @@ "Loading messages...": "Loading messages...", "Loading threads...": "Loading threads...", "Loading...": "Loading...", + "Maximum number of files reached": "Maximum number of files reached", "Message Reactions": "Message Reactions", "Message deleted": "Message deleted", "Message flagged": "Message flagged", diff --git a/package/src/i18n/es.json b/package/src/i18n/es.json index a0e904df1..968ddbddb 100644 --- a/package/src/i18n/es.json +++ b/package/src/i18n/es.json @@ -40,6 +40,7 @@ "Loading messages...": "Cargando mensajes...", "Loading threads...": "Cargando hilos...", "Loading...": "Cargando...", + "Maximum number of files reached": "Número máximo de archivos alcanzado", "Message Reactions": "Reacciones al mensaje", "Message deleted": "Mensaje eliminado", "Message flagged": "Mensaje reportado", diff --git a/package/src/i18n/fr.json b/package/src/i18n/fr.json index 57a538583..01d8b3f46 100644 --- a/package/src/i18n/fr.json +++ b/package/src/i18n/fr.json @@ -40,6 +40,7 @@ "Loading messages...": "Chargement des messages...", "Loading threads...": "Chargement des fils...", "Loading...": "Chargement...", + "Maximum number of files reached": "Nombre maximal de fichiers atteint", "Message Reactions": "Réactions aux messages", "Message deleted": "Message supprimé", "Message flagged": "Message signalé", diff --git a/package/src/i18n/he.json b/package/src/i18n/he.json index 59d82bc59..9322ff280 100644 --- a/package/src/i18n/he.json +++ b/package/src/i18n/he.json @@ -40,6 +40,7 @@ "Loading messages...": "ההודעות בטעינה..", "Loading threads...": "טוען שרשורים...", "Loading...": "טוען...", + "Maximum number of files reached": "הגעת למספר המרבי של קבצים", "Message Reactions": "תגובות להודעה", "Message deleted": "ההודעה נמחקה", "Message flagged": "ההודעה סומנה", diff --git a/package/src/i18n/hi.json b/package/src/i18n/hi.json index 4e4c00e15..353c0333f 100644 --- a/package/src/i18n/hi.json +++ b/package/src/i18n/hi.json @@ -40,6 +40,7 @@ "Loading messages...": "मेसेजस लोड हो रहे हैं...", "Loading threads...": "थ्रेड्स लोड हो रहे हैं...", "Loading...": "लोड हो रहा है...", + "Maximum number of files reached": "फ़ाइलों की अधिकतम संख्या पहुँच गई", "Message Reactions": "संदेश प्रतिक्रियाएँ", "Message deleted": "मैसेज हटा दिया गया", "Message flagged": "संदेश को ध्वजांकित किया गया", diff --git a/package/src/i18n/it.json b/package/src/i18n/it.json index 2322b8bf1..e5c6c7cf0 100644 --- a/package/src/i18n/it.json +++ b/package/src/i18n/it.json @@ -40,6 +40,7 @@ "Loading messages...": "Caricamento messaggi...", "Loading threads...": "Caricamento dei thread...", "Loading...": "Caricamento...", + "Maximum number of files reached": "Numero massimo di file raggiunto", "Message Reactions": "Reazioni ai Messaggi", "Message deleted": "Messaggio cancellato", "Message flagged": "Messaggio contrassegnato", diff --git a/package/src/i18n/ja.json b/package/src/i18n/ja.json index 28531c7f7..f4c21ca25 100644 --- a/package/src/i18n/ja.json +++ b/package/src/i18n/ja.json @@ -40,6 +40,7 @@ "Loading messages...": "メッセージを読み込み中。。。", "Loading threads...": "スレッドを読み込み中...", "Loading...": "読み込み中。。。", + "Maximum number of files reached": "ファイルの最大数に達しました", "Message Reactions": "メッセージのリアクション", "Message deleted": "メッセージが削除されました", "Message flagged": "メッセージにフラグが付けられました", diff --git a/package/src/i18n/ko.json b/package/src/i18n/ko.json index 74f64ccd1..d6deb779a 100644 --- a/package/src/i18n/ko.json +++ b/package/src/i18n/ko.json @@ -40,6 +40,7 @@ "Loading messages...": "메시지를 로딩 중...", "Loading threads...": "스레드 로딩 중...", "Loading...": "로딩 중...", + "Maximum number of files reached": "최대 파일 수에 도달했습니다", "Message Reactions": "메시지의 리액션", "Message deleted": "메시지가 삭제되었습니다.", "Message flagged": "메시지에 플래그가 지정되었습니다", diff --git a/package/src/i18n/nl.json b/package/src/i18n/nl.json index 355d0c96a..40e4b233f 100644 --- a/package/src/i18n/nl.json +++ b/package/src/i18n/nl.json @@ -40,6 +40,7 @@ "Loading messages...": "Berichten aan het laden...", "Loading threads...": "Threads laden...", "Loading...": "Aan het laden...", + "Maximum number of files reached": "Maximaal aantal bestanden bereikt", "Message Reactions": "Bericht Reacties", "Message deleted": "Bericht verwijderd", "Message flagged": "Bericht gemarkeerd", diff --git a/package/src/i18n/pt-br.json b/package/src/i18n/pt-br.json index c6edc49cf..e54242e63 100644 --- a/package/src/i18n/pt-br.json +++ b/package/src/i18n/pt-br.json @@ -40,6 +40,7 @@ "Loading messages...": "Carregando mensagens...", "Loading threads...": "Carregando tópicos...", "Loading...": "Carregando...", + "Maximum number of files reached": "Número máximo de arquivos atingido", "Message Reactions": "Reações à Mensagem", "Message deleted": "Mensagem excluída", "Message flagged": "Mensagem sinalizada", diff --git a/package/src/i18n/ru.json b/package/src/i18n/ru.json index e1d36cd1c..d2947987b 100644 --- a/package/src/i18n/ru.json +++ b/package/src/i18n/ru.json @@ -40,6 +40,7 @@ "Loading messages...": "Загружаю сообщения...", "Loading threads...": "Загрузка потоков...", "Loading...": "Загружаю...", + "Maximum number of files reached": "Достигнуто максимальное количество файлов", "Message Reactions": "Сообщения Реакции", "Message deleted": "Сообщение удалено", "Message flagged": "Сообщение отмечено", diff --git a/package/src/i18n/tr.json b/package/src/i18n/tr.json index 8a4f2cd64..4c0b62e88 100644 --- a/package/src/i18n/tr.json +++ b/package/src/i18n/tr.json @@ -40,6 +40,7 @@ "Loading messages...": "Mesajlar yükleniyor...", "Loading threads...": "Akışlar yükleniyor...", "Loading...": "Yükleniyor...", + "Maximum number of files reached": "Maksimum dosya sayısına ulaşıldı", "Message Reactions": "Mesaj Tepkileri", "Message deleted": "Mesaj silindi", "Message flagged": "Mesaj işaretlendi",