From b07c3a7fab23a632819b34826071f1ac6fff154b Mon Sep 17 00:00:00 2001 From: ru-danko Date: Thu, 14 Nov 2024 23:50:01 +0300 Subject: [PATCH 01/15] suggested words marking --- src/components/ResultsCard/ResultsCard.tsx | 7 +++++ src/translations/data.json | 30 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/src/components/ResultsCard/ResultsCard.tsx b/src/components/ResultsCard/ResultsCard.tsx index 6244fccd..1ed5f96f 100644 --- a/src/components/ResultsCard/ResultsCard.tsx +++ b/src/components/ResultsCard/ResultsCard.tsx @@ -218,6 +218,13 @@ export const ResultsCard = title={t('intelligibilityIssues')}>⚠️ : undefined } + { wordId.substring(0,1) === '-' + ? 🆕 + : (Dictionary.getWord(`-${wordId}`) + ? 🚮 + : '' + ) + } {item.to === 'isv' && short && ( <>   diff --git a/src/translations/data.json b/src/translations/data.json index 2823a44c..04a12e02 100644 --- a/src/translations/data.json +++ b/src/translations/data.json @@ -3420,5 +3420,35 @@ "sr": "Реч није универзално разумљива у свим словенским језицима", "mk": "Зборот не е универзално разбирлив во сите словенски јазици", "bg": "Думата не е универсално разбираема във всички слаавянски езици" + }, + "newWordSuggested": { + "en": "The word has not yet been approved", + "isv": "Slovo ješče ne jest utvrdženo", + "ru": "Слово ещё не утверждено", + "uk": "", + "be": "", + "pl": "", + "cs": "", + "sk": "", + "sl": "", + "hr": "", + "sr": "", + "mk": "", + "bg": "" + }, + "deletionSuggested": { + "en": "Suggested for removal from the dictionary", + "isv": "Prědloženo do udaljenja iz slovnika", + "ru": "Предложено для удаления из словаря", + "uk": "", + "be": "", + "pl": "", + "cs": "", + "sk": "", + "sl": "", + "hr": "", + "sr": "", + "mk": "", + "bg": "" } } From 9d44879041f212fe714a0d91d58448292a9db565 Mon Sep 17 00:00:00 2001 From: ru-danko Date: Sun, 17 Nov 2024 15:33:46 +0300 Subject: [PATCH 02/15] tips added --- src/components/ResultsCard/ResultsCard.tsx | 5 +++-- src/components/Tips/Tips.scss | 5 +++-- src/components/Tips/Tips.tsx | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/ResultsCard/ResultsCard.tsx b/src/components/ResultsCard/ResultsCard.tsx index 1ed5f96f..d75c775a 100644 --- a/src/components/ResultsCard/ResultsCard.tsx +++ b/src/components/ResultsCard/ResultsCard.tsx @@ -21,6 +21,7 @@ import { getPartOfSpeech } from 'utils/wordDetails'; import { wordHasForms } from 'utils/wordHasForms'; import { Clipboard } from 'components/Clipboard'; +import { Tips } from 'components/Tips'; import { removeBrackets } from "../../utils/removeBrackets"; @@ -219,9 +220,9 @@ export const ResultsCard = : undefined } { wordId.substring(0,1) === '-' - ? 🆕 + ? : (Dictionary.getWord(`-${wordId}`) - ? 🚮 + ? : '' ) } diff --git a/src/components/Tips/Tips.scss b/src/components/Tips/Tips.scss index 0cac5a81..dab2f9ca 100644 --- a/src/components/Tips/Tips.scss +++ b/src/components/Tips/Tips.scss @@ -7,14 +7,15 @@ background-color: var(--tips-background-color); padding: 0.35rem; white-space: nowrap; + font-size: var(--text-m); } &:hover, &:focus { &::after { content: attr(data-tips); } } - .tipsSymbol::after { - content: 'ⓘ'; + &:not(.noSymbol) .tipsSymbol::after { + content: ' ⓘ'; font-size: smaller; color: var(--muted-text-color); } diff --git a/src/components/Tips/Tips.tsx b/src/components/Tips/Tips.tsx index c4fc2567..351ba140 100644 --- a/src/components/Tips/Tips.tsx +++ b/src/components/Tips/Tips.tsx @@ -16,7 +16,7 @@ export const Tips = className={classNames('tips', className)} data-tips={tips} > - {str}  + {str} ); From 9c7f7d1b7ff11fccc447f00ad9913d31c088d621 Mon Sep 17 00:00:00 2001 From: ru-danko Date: Sun, 17 Nov 2024 16:16:11 +0300 Subject: [PATCH 03/15] translations added --- src/translations/data.json | 42 +++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/translations/data.json b/src/translations/data.json index 04a12e02..9c19844a 100644 --- a/src/translations/data.json +++ b/src/translations/data.json @@ -3423,32 +3423,32 @@ }, "newWordSuggested": { "en": "The word has not yet been approved", - "isv": "Slovo ješče ne jest utvrdženo", + "isv": "Slovo ješče ne jest odobrjeno", "ru": "Слово ещё не утверждено", - "uk": "", - "be": "", - "pl": "", - "cs": "", - "sk": "", - "sl": "", - "hr": "", - "sr": "", - "mk": "", - "bg": "" + "uk": "Слово ще не затверджено", + "be": "Слова яшчэ не зацверджана", + "pl": "Słowo nie zostało jeszcze zatwierdzone", + "cs": "Slovo ještě nebylo schváleno", + "sk": "Slovo ešte nebolo schválené", + "sl": "Beseda še ni bila odobrena", + "hr": "Riječ još nije odobrena", + "sr": "Реч још није одобрена", + "mk": "Зборот се уште не е одобрен", + "bg": "Думата все още не е одобрена" }, "deletionSuggested": { "en": "Suggested for removal from the dictionary", "isv": "Prědloženo do udaljenja iz slovnika", "ru": "Предложено для удаления из словаря", - "uk": "", - "be": "", - "pl": "", - "cs": "", - "sk": "", - "sl": "", - "hr": "", - "sr": "", - "mk": "", - "bg": "" + "uk": "Пропонується видалити зі словника", + "be": "Прапануецца выдаліць са слоўніка", + "pl": "Sugerowane usunięcie ze słownika", + "cs": "Doporučeno k odstranění ze slovníku", + "sk": "Navrhnuté na odstránenie zo slovníka", + "sl": "Predlagano za odstranitev iz slovarja", + "hr": "Predloženo za uklanjanje iz rječnika", + "sr": "Предложено за уклањање из речника", + "mk": "Предложено за отстранување од речникот", + "bg": "Предлага се за премахване от речника" } } From cbbfeb272df8f5ca19ae9e9677186dddc77449e3 Mon Sep 17 00:00:00 2001 From: ru-danko Date: Sun, 17 Nov 2024 19:17:36 +0300 Subject: [PATCH 04/15] improved tips --- src/components/ResultsCard/ResultsCard.tsx | 4 ++-- src/components/Tips/Tips.scss | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components/ResultsCard/ResultsCard.tsx b/src/components/ResultsCard/ResultsCard.tsx index d75c775a..7b6a943d 100644 --- a/src/components/ResultsCard/ResultsCard.tsx +++ b/src/components/ResultsCard/ResultsCard.tsx @@ -220,9 +220,9 @@ export const ResultsCard = : undefined } { wordId.substring(0,1) === '-' - ? + ? : (Dictionary.getWord(`-${wordId}`) - ? + ? : '' ) } diff --git a/src/components/Tips/Tips.scss b/src/components/Tips/Tips.scss index dab2f9ca..68912abe 100644 --- a/src/components/Tips/Tips.scss +++ b/src/components/Tips/Tips.scss @@ -8,13 +8,19 @@ padding: 0.35rem; white-space: nowrap; font-size: var(--text-m); + display: inline-block; + opacity: 0; + } + &.tipsInline::after { + position: relative; } &:hover, &:focus { &::after { content: attr(data-tips); + opacity: 1; } } - &:not(.noSymbol) .tipsSymbol::after { + &:not(.tipsNoSymbol) .tipsSymbol::after { content: ' ⓘ'; font-size: smaller; color: var(--muted-text-color); From 0b05b221538cd583a9b4a9fdee0770ce2a89e344 Mon Sep 17 00:00:00 2001 From: ru-danko Date: Sun, 17 Nov 2024 19:18:53 +0300 Subject: [PATCH 05/15] tips improved --- src/components/Tips/Tips.scss | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/Tips/Tips.scss b/src/components/Tips/Tips.scss index 68912abe..57051266 100644 --- a/src/components/Tips/Tips.scss +++ b/src/components/Tips/Tips.scss @@ -9,7 +9,6 @@ white-space: nowrap; font-size: var(--text-m); display: inline-block; - opacity: 0; } &.tipsInline::after { position: relative; @@ -17,7 +16,6 @@ &:hover, &:focus { &::after { content: attr(data-tips); - opacity: 1; } } &:not(.tipsNoSymbol) .tipsSymbol::after { From a343f2a94fc31895a417b2d698b32317333a5d95 Mon Sep 17 00:00:00 2001 From: ru-danko Date: Mon, 18 Nov 2024 00:58:28 +0300 Subject: [PATCH 06/15] Translations window instead of tips --- .../TranslationsModal/TranslationsModal.tsx | 22 +++++++++++-- src/components/ResultsCard/ResultsCard.tsx | 23 +++++++++---- src/components/Tips/Tips.scss | 3 -- src/services/dictionary.ts | 5 +++ src/translations/data.json | 32 +++++++++---------- 5 files changed, 57 insertions(+), 28 deletions(-) diff --git a/src/components/Modals/TranslationsModal/TranslationsModal.tsx b/src/components/Modals/TranslationsModal/TranslationsModal.tsx index 7b7d2417..e915c75c 100644 --- a/src/components/Modals/TranslationsModal/TranslationsModal.tsx +++ b/src/components/Modals/TranslationsModal/TranslationsModal.tsx @@ -15,7 +15,7 @@ import { useModalDialog } from 'hooks/useModalDialog'; import { useResults } from 'hooks/useResults'; import { getCyrillic } from 'utils/getCyrillic'; import { getLatin } from 'utils/getLatin'; -import { findIntelligibilityIssues } from "utils/intelligibilityIssues"; +import { estimateIntelligibility, findIntelligibilityIssues, hasIntelligibilityIssues } from "utils/intelligibilityIssues"; import { Table } from 'components/Table'; @@ -104,6 +104,23 @@ export const TranslationsModal = 🚫 – {t('translationsLegendIntelligibilityNone')}.
); + const intelligibilityVector = estimateIntelligibility(Dictionary.getField(item.raw, 'intelligibility')); + const suggestedChanges = Dictionary.suggestedChanges(item.raw); + const warningBlock = <> + {hasIntelligibilityIssues(intelligibilityVector) ? +
+ ⚠️ {t('intelligibilityIssues')} +
: ''} + {suggestedChanges === 'newWord' ? +
+ 🆕 {t('suggestedNewWord')} +
: ''} + {suggestedChanges === 'forRemoval' ? +
+ 🚮 {t('suggestedForRemoval')} +
: ''} + ; + return ( <>
@@ -119,7 +136,8 @@ export const TranslationsModal =
- + {warningBlock} + {
}
diff --git a/src/components/ResultsCard/ResultsCard.tsx b/src/components/ResultsCard/ResultsCard.tsx index 7b6a943d..431f0119 100644 --- a/src/components/ResultsCard/ResultsCard.tsx +++ b/src/components/ResultsCard/ResultsCard.tsx @@ -21,7 +21,6 @@ import { getPartOfSpeech } from 'utils/wordDetails'; import { wordHasForms } from 'utils/wordHasForms'; import { Clipboard } from 'components/Clipboard'; -import { Tips } from 'components/Tips'; import { removeBrackets } from "../../utils/removeBrackets"; @@ -112,6 +111,7 @@ export const ResultsCard = const dispatch = useDispatch(); const intelligibility = Dictionary.getField(item.raw, 'intelligibility'); const intelligibilityVector = estimateIntelligibility(intelligibility); + const suggestedChanges = Dictionary.suggestedChanges(item.raw); const lang = useLang(); const cardBiInfo: ICardAnalytics = useMemo(() => ( @@ -219,12 +219,21 @@ export const ResultsCard = title={t('intelligibilityIssues')}>⚠️ : undefined } - { wordId.substring(0,1) === '-' - ? - : (Dictionary.getWord(`-${wordId}`) - ? - : '' - ) + { suggestedChanges === 'newWord' + ? + : undefined + } + { suggestedChanges === 'forRemoval' + ? + : undefined } {item.to === 'isv' && short && ( <> diff --git a/src/components/Tips/Tips.scss b/src/components/Tips/Tips.scss index 57051266..46ff0094 100644 --- a/src/components/Tips/Tips.scss +++ b/src/components/Tips/Tips.scss @@ -10,9 +10,6 @@ font-size: var(--text-m); display: inline-block; } - &.tipsInline::after { - position: relative; - } &:hover, &:focus { &::after { content: attr(data-tips); diff --git a/src/services/dictionary.ts b/src/services/dictionary.ts index e0dd7e0a..4b6f7650 100644 --- a/src/services/dictionary.ts +++ b/src/services/dictionary.ts @@ -655,6 +655,11 @@ class DictionaryClass { return text; } + public suggestedChanges(item: string[]): string { + const wordId = this.getField(item, 'id'); + + return wordId.substring(0,1) === '-' ? 'newWord' : (Dictionary.getWord(`-${wordId}`) ? 'forRemoval' : ''); + } } export const Dictionary = DictionaryClass.getInstance(); diff --git a/src/translations/data.json b/src/translations/data.json index 9c19844a..611483a0 100644 --- a/src/translations/data.json +++ b/src/translations/data.json @@ -3421,22 +3421,22 @@ "mk": "Зборот не е универзално разбирлив во сите словенски јазици", "bg": "Думата не е универсално разбираема във всички слаавянски езици" }, - "newWordSuggested": { - "en": "The word has not yet been approved", - "isv": "Slovo ješče ne jest odobrjeno", - "ru": "Слово ещё не утверждено", - "uk": "Слово ще не затверджено", - "be": "Слова яшчэ не зацверджана", - "pl": "Słowo nie zostało jeszcze zatwierdzone", - "cs": "Slovo ještě nebylo schváleno", - "sk": "Slovo ešte nebolo schválené", - "sl": "Beseda še ni bila odobrena", - "hr": "Riječ još nije odobrena", - "sr": "Реч још није одобрена", - "mk": "Зборот се уште не е одобрен", - "bg": "Думата все още не е одобрена" - }, - "deletionSuggested": { + "suggestedNewWord": { + "en": "The word was recently added and has not yet been approved", + "isv": "Slovo bylo dodano nedavno i ješče ne jest odobrjeno", + "ru": "Слово добавлено недавно и ещё не утверждено", + "uk": "Слово було нещодавно додано та ще не затверджено", + "be": "Слова было нядаўна дададзена і яшчэ не зацверджана", + "pl": "Słowo zostało dodane niedawno i jeszcze nie zostało zatwierdzone", + "cs": "Slovo bylo nedávno přidáno a ještě nebylo schváleno", + "sk": "Slovo bolo nedávno pridané a ešte nebolo schválené", + "sl": "Beseda je bila nedavno dodana in še ni bila odobrena", + "hr": "Riječ je nedavno dodana i još nije odobrena", + "sr": "Реч је недавно додата и још увек није одобрена", + "mk": "Зборот неодамна беше додаден и сè уште не е одобрен", + "bg": "Думата беше добавена наскоро и все още не е одобрена" + }, + "suggestedForRemoval": { "en": "Suggested for removal from the dictionary", "isv": "Prědloženo do udaljenja iz slovnika", "ru": "Предложено для удаления из словаря", From ab18fa66e5ce002ce30bc9042cc7396c5a85088f Mon Sep 17 00:00:00 2001 From: ru-danko Date: Mon, 18 Nov 2024 01:07:14 +0300 Subject: [PATCH 07/15] typo fixed --- src/translations/data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/translations/data.json b/src/translations/data.json index 611483a0..e7753726 100644 --- a/src/translations/data.json +++ b/src/translations/data.json @@ -3408,7 +3408,7 @@ }, "intelligibilityIssues": { "en": "The word is not universally intelligible across Slavic languages", - "isv": "Slovo ne je universalno razumljivo vo vsih slovjanskyh jezykah", + "isv": "Slovo ne je universalno razumlivo vo vsih slovjanskyh jezykah", "ru": "Слово не является универсально понятным во всех славянских языках", "uk": "Слово не є універсально зрозумілим у всіх слов'янських мовах", "be": "Слова не з’яўляецца ўніверсальна зразумелым ва ўсіх славянскіх мовах", From e3177ae1b02ce4c4a49f136b201f8ea1495f807c Mon Sep 17 00:00:00 2001 From: ru-danko Date: Mon, 18 Nov 2024 20:33:24 +0300 Subject: [PATCH 08/15] emojis changed --- src/components/Modals/TranslationsModal/TranslationsModal.tsx | 4 ++-- src/components/ResultsCard/ResultsCard.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/Modals/TranslationsModal/TranslationsModal.tsx b/src/components/Modals/TranslationsModal/TranslationsModal.tsx index e915c75c..aa8b548c 100644 --- a/src/components/Modals/TranslationsModal/TranslationsModal.tsx +++ b/src/components/Modals/TranslationsModal/TranslationsModal.tsx @@ -113,11 +113,11 @@ export const TranslationsModal =
: ''} {suggestedChanges === 'newWord' ?
- 🆕 {t('suggestedNewWord')} + 🚧 {t('suggestedNewWord')}
: ''} {suggestedChanges === 'forRemoval' ?
- 🚮 {t('suggestedForRemoval')} + 🛑 {t('suggestedForRemoval')}
: ''} ; diff --git a/src/components/ResultsCard/ResultsCard.tsx b/src/components/ResultsCard/ResultsCard.tsx index 431f0119..b4f00856 100644 --- a/src/components/ResultsCard/ResultsCard.tsx +++ b/src/components/ResultsCard/ResultsCard.tsx @@ -224,7 +224,7 @@ export const ResultsCard = key='suggestedNewWord' onClick={showTranslations} className={classNames({ 'results-card__status': true })} - title={t('suggestedNewWord')}>🆕 + title={t('suggestedNewWord')}>🚧 : undefined } { suggestedChanges === 'forRemoval' @@ -232,7 +232,7 @@ export const ResultsCard = key='suggestedForRemoval' onClick={showTranslations} className={classNames({ 'results-card__status': true })} - title={t('suggestedForRemoval')}>🚮 + title={t('suggestedForRemoval')}>🛑 : undefined } {item.to === 'isv' && short && ( From 1f2998970f53051a4465a26f991d42388d42a5e3 Mon Sep 17 00:00:00 2001 From: ru-danko Date: Mon, 18 Nov 2024 20:48:25 +0300 Subject: [PATCH 09/15] typo fixed --- src/translations/data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/translations/data.json b/src/translations/data.json index e7753726..f3d74b41 100644 --- a/src/translations/data.json +++ b/src/translations/data.json @@ -3438,7 +3438,7 @@ }, "suggestedForRemoval": { "en": "Suggested for removal from the dictionary", - "isv": "Prědloženo do udaljenja iz slovnika", + "isv": "Prědloženo do udaljeńja iz slovnika", "ru": "Предложено для удаления из словаря", "uk": "Пропонується видалити зі словника", "be": "Прапануецца выдаліць са слоўніка", From 6b9ca21599e5751e2229719789cfdb82be976f01 Mon Sep 17 00:00:00 2001 From: ru-danko Date: Tue, 19 Nov 2024 20:17:58 +0300 Subject: [PATCH 10/15] chore --- .../TranslationsModal/TranslationsModal.tsx | 16 +++++++--------- src/components/ResultsCard/ResultsCard.tsx | 18 +++++++----------- src/services/dictionary.ts | 2 +- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/src/components/Modals/TranslationsModal/TranslationsModal.tsx b/src/components/Modals/TranslationsModal/TranslationsModal.tsx index aa8b548c..eb996901 100644 --- a/src/components/Modals/TranslationsModal/TranslationsModal.tsx +++ b/src/components/Modals/TranslationsModal/TranslationsModal.tsx @@ -107,18 +107,16 @@ export const TranslationsModal = const intelligibilityVector = estimateIntelligibility(Dictionary.getField(item.raw, 'intelligibility')); const suggestedChanges = Dictionary.suggestedChanges(item.raw); const warningBlock = <> - {hasIntelligibilityIssues(intelligibilityVector) ? + {hasIntelligibilityIssues(intelligibilityVector) &&
⚠️ {t('intelligibilityIssues')} -
: ''} - {suggestedChanges === 'newWord' ? + } + {suggestedChanges &&
- 🚧 {t('suggestedNewWord')} -
: ''} - {suggestedChanges === 'forRemoval' ? -
- 🛑 {t('suggestedForRemoval')} -
: ''} + {suggestedChanges === 'suggestedNewWord' ? '🚧' : suggestedChanges === 'suggestedForRemoval' ? '🛑' : ''} + {' '} + {t(suggestedChanges)} + } ; return ( diff --git a/src/components/ResultsCard/ResultsCard.tsx b/src/components/ResultsCard/ResultsCard.tsx index b4f00856..9e5b63d8 100644 --- a/src/components/ResultsCard/ResultsCard.tsx +++ b/src/components/ResultsCard/ResultsCard.tsx @@ -219,20 +219,16 @@ export const ResultsCard = title={t('intelligibilityIssues')}>⚠️ : undefined } - { suggestedChanges === 'newWord' + { suggestedChanges ? - : undefined - } - { suggestedChanges === 'forRemoval' - ? + title={t(suggestedChanges)}> + {suggestedChanges === 'suggestedNewWord' ? '🚧' : + suggestedChanges === 'suggestedForRemoval' ? '🛑' : + ''} + : undefined } {item.to === 'isv' && short && ( diff --git a/src/services/dictionary.ts b/src/services/dictionary.ts index 4b6f7650..ef0eaab3 100644 --- a/src/services/dictionary.ts +++ b/src/services/dictionary.ts @@ -658,7 +658,7 @@ class DictionaryClass { public suggestedChanges(item: string[]): string { const wordId = this.getField(item, 'id'); - return wordId.substring(0,1) === '-' ? 'newWord' : (Dictionary.getWord(`-${wordId}`) ? 'forRemoval' : ''); + return wordId.substring(0,1) === '-' ? 'suggestedNewWord' : (Dictionary.getWord(`-${wordId}`) ? 'suggestedForRemoval' : ''); } } From 4acb6d422f5d3673db8402023f512d88dcda19cd Mon Sep 17 00:00:00 2001 From: ru-danko Date: Tue, 19 Nov 2024 20:58:20 +0300 Subject: [PATCH 11/15] changed icons --- src/components/Modals/TranslationsModal/TranslationsModal.tsx | 2 +- src/components/ResultsCard/ResultsCard.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/Modals/TranslationsModal/TranslationsModal.tsx b/src/components/Modals/TranslationsModal/TranslationsModal.tsx index eb996901..625d357d 100644 --- a/src/components/Modals/TranslationsModal/TranslationsModal.tsx +++ b/src/components/Modals/TranslationsModal/TranslationsModal.tsx @@ -113,7 +113,7 @@ export const TranslationsModal = } {suggestedChanges &&
- {suggestedChanges === 'suggestedNewWord' ? '🚧' : suggestedChanges === 'suggestedForRemoval' ? '🛑' : ''} + {suggestedChanges === 'suggestedNewWord' ? '🌱' : suggestedChanges === 'suggestedForRemoval' ? '⛔️' : ''} {' '} {t(suggestedChanges)}
} diff --git a/src/components/ResultsCard/ResultsCard.tsx b/src/components/ResultsCard/ResultsCard.tsx index 9e5b63d8..5e18e6e3 100644 --- a/src/components/ResultsCard/ResultsCard.tsx +++ b/src/components/ResultsCard/ResultsCard.tsx @@ -225,8 +225,8 @@ export const ResultsCard = onClick={showTranslations} className={classNames({ 'results-card__status': true })} title={t(suggestedChanges)}> - {suggestedChanges === 'suggestedNewWord' ? '🚧' : - suggestedChanges === 'suggestedForRemoval' ? '🛑' : + {suggestedChanges === 'suggestedNewWord' ? '🌱' : + suggestedChanges === 'suggestedForRemoval' ? '⛔️' : ''} : undefined From aeee5be9e76fabc197b37a1a0a1882df69b318ee Mon Sep 17 00:00:00 2001 From: ru-danko Date: Tue, 19 Nov 2024 23:40:03 +0300 Subject: [PATCH 12/15] removeExclamationMark for isv --- src/services/dictionary.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/services/dictionary.ts b/src/services/dictionary.ts index ef0eaab3..268f1304 100644 --- a/src/services/dictionary.ts +++ b/src/services/dictionary.ts @@ -218,7 +218,7 @@ class DictionaryClass { let fromField = this.getField(item, lang === 'isv-src' ? 'isv' : lang); fromField = removeBrackets(fromField, '[', ']'); fromField = removeBrackets(fromField, '(', ')'); - + fromField = removeExclamationMark(fromField); let splittedField; switch (lang) { @@ -237,7 +237,6 @@ class DictionaryClass { ; break; default: - fromField = removeExclamationMark(fromField); splittedField = this.splitWords(fromField).map((word) => this.searchPrepare(lang, word)); break; } @@ -511,7 +510,7 @@ class DictionaryClass { caseQuestions?: boolean ): ITranslateResult[] { return results.map((item) => { - const isv = this.getField(item, 'isv'); + const isv = removeExclamationMark(this.getField(item, 'isv')); const addArray = this.getField(item, 'addition').match(/\(.+?\)/) || []; const add = addArray.find((elem) => !elem.startsWith('(+')) || ''; let caseInfo = convertCases(addArray.find((elem) => elem.startsWith('(+'))?.slice(1,-1) || ''); @@ -655,10 +654,9 @@ class DictionaryClass { return text; } - public suggestedChanges(item: string[]): string { - const wordId = this.getField(item, 'id'); - - return wordId.substring(0,1) === '-' ? 'suggestedNewWord' : (Dictionary.getWord(`-${wordId}`) ? 'suggestedForRemoval' : ''); + public suggestedChanges(item: string[]): string { + return this.getField(item, 'id').substring(0,1) === '-' ? 'suggestedNewWord' : + this.getField(item, 'isv').substring(0,1) === '!' ? 'suggestedForRemoval' : ''; } } From 63b4168b3c585578c9dbb6cb9d142ef9d456edad Mon Sep 17 00:00:00 2001 From: ru-danko Date: Wed, 20 Nov 2024 00:42:41 +0300 Subject: [PATCH 13/15] removeExclamationMark added for isv --- .../Modals/DetailModal/DetailModal.tsx | 7 +++-- .../TranslationsModal/TranslationsModal.tsx | 30 +++++++++---------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/components/Modals/DetailModal/DetailModal.tsx b/src/components/Modals/DetailModal/DetailModal.tsx index 0f419049..3178cc19 100644 --- a/src/components/Modals/DetailModal/DetailModal.tsx +++ b/src/components/Modals/DetailModal/DetailModal.tsx @@ -12,6 +12,7 @@ import { getCaseTips } from 'utils/getCaseTips'; import { getCyrillic } from 'utils/getCyrillic'; import { getGlagolitic } from 'utils/getGlagolitic'; import { getLatin } from 'utils/getLatin'; +import { removeExclamationMark } from 'utils/removeExclamationMark'; import { getGender, getNumeralType, @@ -618,8 +619,10 @@ function mapStateToProps({ interfaceLang, orderOfCases, }: IMainState) { - const { word, add, details } = modalDialog.data; - + const word = removeExclamationMark(modalDialog.data.word); + const add = modalDialog.data.add; + const details = modalDialog.data.details; + return { word, add, diff --git a/src/components/Modals/TranslationsModal/TranslationsModal.tsx b/src/components/Modals/TranslationsModal/TranslationsModal.tsx index 625d357d..37aa1194 100644 --- a/src/components/Modals/TranslationsModal/TranslationsModal.tsx +++ b/src/components/Modals/TranslationsModal/TranslationsModal.tsx @@ -16,6 +16,7 @@ import { useResults } from 'hooks/useResults'; import { getCyrillic } from 'utils/getCyrillic'; import { getLatin } from 'utils/getLatin'; import { estimateIntelligibility, findIntelligibilityIssues, hasIntelligibilityIssues } from "utils/intelligibilityIssues"; +import { removeExclamationMark } from 'utils/removeExclamationMark'; import { Table } from 'components/Table'; @@ -59,9 +60,11 @@ export const TranslationsModal = const intelligibility = Dictionary.getField(item.raw, 'intelligibility'); const marks = findIntelligibilityIssues(intelligibility); const tableData = allLangs.reduce((arr, lang) => { - const translate = Dictionary.getField(item.raw, lang).toString(); + let translate = Dictionary.getField(item.raw, lang).toString(); if (lang === 'isv') { + translate = removeExclamationMark(translate); + return [ [ `{${t('isvEtymologicLatinLang')}}[B]@ts;b;sw=130px;nowrap`, @@ -106,19 +109,7 @@ export const TranslationsModal = const intelligibilityVector = estimateIntelligibility(Dictionary.getField(item.raw, 'intelligibility')); const suggestedChanges = Dictionary.suggestedChanges(item.raw); - const warningBlock = <> - {hasIntelligibilityIssues(intelligibilityVector) && -
- ⚠️ {t('intelligibilityIssues')} -
} - {suggestedChanges && -
- {suggestedChanges === 'suggestedNewWord' ? '🌱' : suggestedChanges === 'suggestedForRemoval' ? '⛔️' : ''} - {' '} - {t(suggestedChanges)} -
} - ; - + return ( <>
@@ -134,7 +125,16 @@ export const TranslationsModal =
- {warningBlock} + {hasIntelligibilityIssues(intelligibilityVector) && +
+ ⚠️ {t('intelligibilityIssues')} +
} + {suggestedChanges && +
+ {suggestedChanges === 'suggestedNewWord' ? '🌱' : suggestedChanges === 'suggestedForRemoval' ? '⛔️' : ''} + {' '} + {t(suggestedChanges)} +
} {
}
From ddb440f1a2f99f7f6332bb00efc4a39f0997cf7b Mon Sep 17 00:00:00 2001 From: ru-danko Date: Wed, 20 Nov 2024 00:53:53 +0300 Subject: [PATCH 14/15] revert unusual changes --- src/components/Tips/Tips.scss | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/components/Tips/Tips.scss b/src/components/Tips/Tips.scss index 46ff0094..0cac5a81 100644 --- a/src/components/Tips/Tips.scss +++ b/src/components/Tips/Tips.scss @@ -7,16 +7,14 @@ background-color: var(--tips-background-color); padding: 0.35rem; white-space: nowrap; - font-size: var(--text-m); - display: inline-block; } &:hover, &:focus { &::after { content: attr(data-tips); } } - &:not(.tipsNoSymbol) .tipsSymbol::after { - content: ' ⓘ'; + .tipsSymbol::after { + content: 'ⓘ'; font-size: smaller; color: var(--muted-text-color); } From 49567970fe33ae2664e7ed78b5704054e14edd46 Mon Sep 17 00:00:00 2001 From: ru-danko Date: Wed, 20 Nov 2024 00:55:32 +0300 Subject: [PATCH 15/15] revert unusual changes --- src/components/Tips/Tips.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Tips/Tips.tsx b/src/components/Tips/Tips.tsx index 351ba140..c4fc2567 100644 --- a/src/components/Tips/Tips.tsx +++ b/src/components/Tips/Tips.tsx @@ -16,7 +16,7 @@ export const Tips = className={classNames('tips', className)} data-tips={tips} > - {str} + {str}  );