🐛(front) fix math formulas and carousel translations

Signed-off-by: Laurent Paoletti <lp@providenz.fr>
This commit is contained in:
Laurent Paoletti
2026-02-09 22:13:50 +01:00
parent 63e0e6c383
commit 09dceb508d
5 changed files with 58 additions and 12 deletions
+1
View File
@@ -11,6 +11,7 @@ and this project adheres to
### Fixed
- 💚(docker) vendor mime.types file instead of fetching from Apache SVN
- 🐛(front) fix math formulas and carousel translations
## [0.0.13] - 2026-02-09
@@ -729,6 +729,7 @@ export const Chat = ({
<MarkdownHooks
remarkPlugins={[remarkGfm, remarkMath]}
rehypePlugins={[
rehypeKatex,
[
rehypeShikiFromHighlighter,
highlighter,
@@ -737,7 +738,6 @@ export const Chat = ({
fallbackLanguage: 'plaintext',
},
],
rehypeKatex,
]}
components={{
// Custom components for Markdown rendering
@@ -3,13 +3,7 @@ import { useTranslation } from 'react-i18next';
import { Box } from '@/components';
const SUGGESTION_KEYS = [
'Ask a question',
'Turn this list into bullet points',
'Write a short product description',
'Find recent news about...',
] as const;
const SUGGESTIONS_COUNT = SUGGESTION_KEYS.length;
const SUGGESTIONS_COUNT = 4;
const WRAPPER_CSS = `position: absolute;
top: 1rem;
@@ -42,7 +36,15 @@ export const SuggestionCarousel = ({
const [currentSuggestionIndex, setCurrentSuggestionIndex] = useState(0);
const [isResetting, setIsResetting] = useState(false);
const suggestions = useMemo(() => SUGGESTION_KEYS.map((key) => t(key)), [t]);
const suggestions = useMemo(
() => [
t('Ask a question'),
t('Turn this list into bullet points'),
t('Write a short product description'),
t('Find recent news about...'),
],
[t],
);
const carouselSuggestions = useMemo(
() => [...suggestions, suggestions[0]],
[suggestions],
@@ -1,4 +1,5 @@
import { render, screen } from '@testing-library/react';
import i18next from 'i18next';
import '@/i18n/initI18n';
@@ -9,8 +10,26 @@ describe('SuggestionCarousel', () => {
jest.useFakeTimers();
});
afterEach(() => {
afterEach(async () => {
jest.useRealTimers();
await i18next.changeLanguage('en');
});
it('should render all suggestions in french', async () => {
await i18next.changeLanguage('fr');
render(<SuggestionCarousel messagesLength={0} />);
expect(screen.getAllByText('Poser une question')).toHaveLength(2);
expect(
screen.getByText('Transformer cette liste en liste à puces...'),
).toBeInTheDocument();
expect(
screen.getByText('Écrire une description courte du produit...'),
).toBeInTheDocument();
expect(
screen.getByText('Trouver les dernières actualités concernant...'),
).toBeInTheDocument();
});
it('should render all suggestions', () => {
@@ -1,6 +1,15 @@
{
"de": { "translation": { "ABC-1234-XY": "ABC-1234-XY" } },
"en": { "translation": { "Login": "Login", "Logout": "Logout" } },
"de": {
"translation": {
"ABC-1234-XY": "ABC-1234-XY"
}
},
"en": {
"translation": {
"Login": "Login",
"Logout": "Logout"
}
},
"fr": {
"translation": {
"30 sec to tell us what you think or report a bug": "Prenez 30 secondes pour partager votre avis ou signaler un bug",
@@ -16,6 +25,7 @@
"An error occurred while renaming the conversation": "Une erreur est survenue lors du renommage de la conversation",
"An error occurred. Please try again.": "Une erreur s'est produite. Veuillez réessayer.",
"Are you sure you want to delete this conversation ?": "Êtes-vous sûr de vouloir supprimer cette conversation ?",
"Ask a question": "Poser une question",
"Assistant IA replied: ": "Assistant IA a répondu : ",
"Assistant is already available, log in to use it now.": "L'Assistant est déjà disponible, connectez-vous pour l'utiliser maintenant.",
"Assistant is in development: your feedback matters! Choose how to share your ideas:": "L'assistant est en cours de développement : vos commentaires sont importants ! Choisissez comment partager vos avis :",
@@ -55,6 +65,7 @@
"Feedback Négatif": "Retour négatif",
"Feedback positif": "Retour positif",
"File type not supported": "Type de fichier non pris en charge",
"Find recent news about...": "Trouver les dernières actualités concernant...",
"Get notified about the Public Beta.": "Soyez informé de la Bêta publique.",
"Get notified for the public beta": "Être notifié pour la bêta publique",
"Give a quick opinion": "Donner un avis rapide",
@@ -115,6 +126,7 @@
"The summary feature is not supported yet.": "La fonctionnalité de résumé n'est pas encore prise en charge.",
"Thinking...": "Réflexion...",
"To add a file to the conversation, drop it here.": "Pour ajouter un fichier à la conversation, déposez-le ici.",
"Turn this list into bullet points": "Transformer cette liste en liste à puces...",
"Unlock access": "Déverrouiller l'accès",
"Unlocking...": "Déverrouillage en cours...",
"Untitled conversation": "Conversation sans titre",
@@ -124,6 +136,7 @@
"We'll email you when the public beta opens.": "Nous vous enverrons un email quand la bêta publique sera ouverte.",
"Web": "Web",
"What is on your mind?": "Quavez-vous en tête ?",
"Write a short product description": "Écrire une description courte du produit...",
"Write on Tchap": "Écrire sur Tchap",
"You are on the list": "Vous êtes dans la liste",
"You do not have permission to view this page.": "Vous navez pas la permission de voir cette page.",
@@ -151,6 +164,7 @@
"An error occurred while renaming the conversation": "Er is een fout opgetreden bij het hernoemen van het gesprek",
"An error occurred. Please try again.": "Er is een fout opgetreden. Probeer het opnieuw.",
"Are you sure you want to delete this conversation ?": "Weet u zeker dat u dit gesprek wilt verwijderen?",
"Ask a question": "Stel een vraag",
"Assistant IA replied: ": "AI Assistent antwoordde: ",
"Assistant is already available, log in to use it now.": "Assistent is al beschikbaar, log in om het nu te gebruiken.",
"Assistant is in development: your feedback matters! Choose how to share your ideas:": "Assistent is in ontwikkeling: uw feedback telt! Kies hoe u uw ideeën wilt delen:",
@@ -190,6 +204,7 @@
"Feedback Négatif": "Negatieve feedback",
"Feedback positif": "Positieve feedback",
"File type not supported": "Bestandstype niet ondersteund",
"Find recent news about...": "Vind het laatste nieuws over...",
"Get notified about the Public Beta.": "Ontvang een melding over de openbare bèta.",
"Get notified for the public beta": "Ontvang een melding voor de openbare bètaversie",
"Give a quick opinion": "Geef snel een mening",
@@ -250,6 +265,7 @@
"The summary feature is not supported yet.": "De samenvattingsfunctie wordt nog niet ondersteund.",
"Thinking...": "Denken...",
"To add a file to the conversation, drop it here.": "Als u een bestand aan het gesprek wilt toevoegen, sleept u het hierheen.",
"Turn this list into bullet points": "Zet deze lijst om in opsommingstekens",
"Unlock access": "Toegang ontgrendelen",
"Unlocking...": "Ontgrendelen...",
"Untitled conversation": "Ongetiteld gesprek",
@@ -259,6 +275,7 @@
"We'll email you when the public beta opens.": "We sturen u een e-mail zodra de openbare bètaversie beschikbaar is.",
"Web": "Internet",
"What is on your mind?": "Waar denk je aan?",
"Write a short product description": "Schrijf een korte productbeschrijving",
"Write on Tchap": "Schrijf op Tchap",
"You are on the list": "Je staat op de lijst",
"You do not have permission to view this page.": "U heeft geen toestemming om deze pagina te bekijken.",
@@ -286,6 +303,7 @@
"An error occurred while renaming the conversation": "Ошибка при переименовании беседы",
"An error occurred. Please try again.": "Произошла ошибка. Пожалуйста, повторите попытку.",
"Are you sure you want to delete this conversation ?": "Вы действительно хотите удалить эту беседу?",
"Ask a question": "Задать вопрос",
"Assistant IA replied: ": "Помощник ИИ ответил: ",
"Assistant is already available, log in to use it now.": "Помощник уже доступен, просто войдите в систему.",
"Assistant is in development: your feedback matters! Choose how to share your ideas:": "Помощник находится в разработке: ваши отзывы важны! Выберите, как поделиться своими идеями:",
@@ -325,6 +343,7 @@
"Feedback Négatif": "Отрицательный отзыв",
"Feedback positif": "Положительный отзыв",
"File type not supported": "Тип файла не поддерживается",
"Find recent news about...": "Найти последние новости...",
"Get notified about the Public Beta.": "Получать уведомления о публичной бета-версии.",
"Get notified for the public beta": "Получать уведомления о публичной бета-версии",
"Give a quick opinion": "Оставить быстрый отзыв",
@@ -385,6 +404,7 @@
"The summary feature is not supported yet.": "Функция сводки пока не поддерживается.",
"Thinking...": "Размышление...",
"To add a file to the conversation, drop it here.": "Чтобы добавить файл в беседу, поместите его сюда.",
"Turn this list into bullet points": "Преобразовать этот список в маркированный",
"Unlock access": "Разблокировать",
"Unlocking...": "Разблокировка...",
"Untitled conversation": "Беседа без названия",
@@ -394,6 +414,7 @@
"We'll email you when the public beta opens.": "Мы отправим вам письмо, когда станет доступна публичная бета-версия.",
"Web": "Интернет",
"What is on your mind?": "О чём вы думаете?",
"Write a short product description": "Введите краткое описание продукта",
"Write on Tchap": "Написать в Tchap",
"You are on the list": "Вы в списке",
"You do not have permission to view this page.": "У вас недостаточно прав для просмотра этой страницы.",
@@ -421,6 +442,7 @@
"An error occurred while renaming the conversation": "Сталася помилка під час перейменування розмови",
"An error occurred. Please try again.": "Сталась помилка. Спробуйте ще раз.",
"Are you sure you want to delete this conversation ?": "Ви дійсно бажаєте видалити цю розмову?",
"Ask a question": "Задати питання",
"Assistant IA replied: ": "Відповідь помічника ШІ: ",
"Assistant is already available, log in to use it now.": "Помічник вже доступний, увійдіть щоб почати використання.",
"Assistant is in development: your feedback matters! Choose how to share your ideas:": "Помічник в розробці: ваші відгуки мають значення! Оберіть, як поділитися своїми ідеями:",
@@ -460,6 +482,7 @@
"Feedback Négatif": "Негативний відгук",
"Feedback positif": "Позитивний відгук",
"File type not supported": "Тип файлу не підтримується",
"Find recent news about...": "Знайти останні новини про...",
"Get notified about the Public Beta.": "Отримувати повідомлення про публічну бета-версію.",
"Get notified for the public beta": "Отримувати повідомлення про публічну бета-версію",
"Give a quick opinion": "Дати швидкий відгук",
@@ -520,6 +543,7 @@
"The summary feature is not supported yet.": "Функція узагальнення ще не підтримується.",
"Thinking...": "Мислення...",
"To add a file to the conversation, drop it here.": "Щоб додати файл до розмови, покладіть його сюди.",
"Turn this list into bullet points": "Перетворити цей список на маркований",
"Unlock access": "Розблокувати доступ",
"Unlocking...": "Розблоковування...",
"Untitled conversation": "Розмова без назви",