diff --git a/src/components/common/modal/ProjectCreationModal.tsx b/src/components/common/modal/ProjectCreationModal.tsx index 7af114f..84b754d 100644 --- a/src/components/common/modal/ProjectCreationModal.tsx +++ b/src/components/common/modal/ProjectCreationModal.tsx @@ -75,7 +75,7 @@ export const ProjectCreationModal = ({ onClose }: ProjectCreationModalProps) => {t('home.@new_project')} -
+
maxLength={40} autoFocus={true} /> - { - if (t.length <= 500) setDescription(t || ''); - }} - maxLength={500} - placeHolder="Add a few lines to describe your project..." - /> +
+ { + if (t.length <= 500) setDescription(t || ''); + }} + maxLength={500} + placeHolder="Add a few lines to describe your project..." + /> +
diff --git a/src/pages/pegase/studies/KeywordsInput.tsx b/src/pages/pegase/studies/KeywordsInput.tsx index 42f578e..6dd4cca 100644 --- a/src/pages/pegase/studies/KeywordsInput.tsx +++ b/src/pages/pegase/studies/KeywordsInput.tsx @@ -33,6 +33,9 @@ const KeywordsInput: React.FC = ({ const [suggestedKeywords, setSuggestedKeywords] = useState([]); const handleKeywordChange = async (value: string) => { + if (value.length > maxNbCharacters) { + return; + } setKeywordInput(value); setErrorMessage(''); // Clear error message when input changes try { @@ -69,24 +72,41 @@ const KeywordsInput: React.FC = ({ const clearAllKeywords = () => { setKeywords([]); + setErrorMessage(''); + setKeywordInput(''); }; const handleRemoveKeyword = (index: number) => { setKeywords((prevKeywords) => prevKeywords.filter((_, i) => i !== index)); }; + const shouldAddKeywordButton = (input: string): boolean => { + if (!input) { + return false; + } else { + if (minNbCharacters) { + return input.length >= minNbCharacters; + } else if (minNbCharacters && maxNbCharacters) { + return input.length >= minNbCharacters && input.length <= maxNbCharacters; + } + } + }; + return (
-
- - {keywordInput && (minNbCharacters ? keywordInput.length >= minNbCharacters : true) && ( +
+
+ +
+ {shouldAddKeywordButton(keywordInput) && ( handleAddKeyword()} icon={RdsIconId.Add} diff --git a/src/shared/i18n/en.json b/src/shared/i18n/en.json index 91ec6bb..5ed1c43 100644 --- a/src/shared/i18n/en.json +++ b/src/shared/i18n/en.json @@ -59,11 +59,6 @@ "@keyword_length_error": "Keyword must be between {{min}} and {{max}} characters", "@keyword_minimum_error": "Keyword must be at least {{min}} characters", "@keyword_maximum_error": "Keyword must not exceed {{max}} characters", - "@keyword_max_keys_errors": "Cannot add more than ${maxNbKey} keywords`" - }, - "study": { - "@open": "Open", - "@duplicate": "Duplicate", - "@delete": "Delete" + "@keyword_max_keys_errors": "Cannot add more than {{maxNbKey}} keywords" } } diff --git a/src/shared/i18n/fr.json b/src/shared/i18n/fr.json index 709572b..b86461a 100644 --- a/src/shared/i18n/fr.json +++ b/src/shared/i18n/fr.json @@ -55,13 +55,8 @@ "projectModal": { "@keyword_already_exists": "Le mot-clé existe déjà", "@keyword_length_error": "Le mot-clé doit avoir entre {{min}} et {{max}} lettres", - "@keyword_minimum_error": "Le mot-clé doit avoir à minumum {{min}} lettres", + "@keyword_minimum_error": "Le mot-clé doit avoir à minimum {{min}} lettres", "@keyword_maximum_error": "Le mot-clé ne doit pas dépasser {{max}} lettres", - "@keyword_max_keys_errors": "Il n'est pas possible d'ajouter plus que ${maxNbKey} mot-clés`" - }, - "study": { - "@open": "Ouvrir", - "@duplicate": "Dupliquer", - "@delete": "Effacer" + "@keyword_max_keys_errors": "Il n'est pas possible d'ajouter plus que {{maxNbKey}} mot-clés" } }