feat(timeline):#IMPULS-6021-customizationPreview - #1124
Conversation
5137065 to
fbf30d0
Compare
7ceeafc to
4fcbfa3
Compare
fbf30d0 to
65a3800
Compare
65a3800 to
cbe0ed1
Compare
There was a problem hiding this comment.
🟡 Changes recommended
Moderate font-token, accessibility, and Corsican flag issues remain unresolved.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds a responsive customization preview to Timeline’s frontend.
Changes:
- Previews selected language and dyslexic font.
- Adds localized preview content, styling, fixtures, and tests.
- Integrates the preview into the customization page.
File summaries
| File | Review |
|---|---|
timeline/frontend/src/routes/pages/customize/customize.tsx |
Integrates the responsive preview. |
timeline/frontend/src/routes/pages/customize/customize.css |
Removes obsolete sidebar styling. |
timeline/frontend/src/models/customization.ts |
Defines preview text and font metadata. |
timeline/frontend/src/mocks/platform/data/customize.ts |
Expands fixtures; moderate: Corsican currently resolves to the Colombian flag and needs an explicit mapping or asset. |
timeline/frontend/src/components/CustomizationPreview/CustomizationPreview.tsx |
Implements the preview; moderate: decorative content must be hidden from assistive technology. Nit: rename selecterFontName to selectedFontName. |
timeline/frontend/src/components/CustomizationPreview/CustomizationPreview.test.tsx |
Tests preview text and font behavior. |
timeline/frontend/src/components/CustomizationPreview/CustomizationPreview.css |
Styles the preview; moderate: replace unresolved --primitive-font-family-title with --font-family-title. |
timeline/frontend/.prettierignore |
Excludes generated MSW output. |
Review details
- Files reviewed: 8/8 changed files
- Comments generated: 4
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| * Fixtures for GET /languages and GET /themes (page /customize). | ||
| */ | ||
| export const mockLanguages = ['fr', 'en', 'es']; | ||
| export const mockLanguages = ['fr', 'en', 'es', 'de', 'pt', 'it', 'co']; |
There was a problem hiding this comment.
@jcbe-ode ce commentaire est pertinent,
https://flagcdn.com/w80/co.png renvoit le drapeau de la colombie (appelé ici https://github.com/edificeio/entcore/blob/feat-IMPULS-6021-customizePreview/timeline/frontend/src/components/CustomizationForm/CustomizationForm.tsx#L97 )
Pourtant je vois que "co" est bien le code langue de la corse https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1
Il faudra voir comment contourner ce probleme. Utilisant notre propre helper côté FF
(cf @pascalsaussier-edifice )
There was a problem hiding this comment.
Il y a déjà un adaptateur, on a fait une exception similaire pour le drapeau anglais : notre code langue c'est en, mais le drapeau c'est gb.png.
=> J'applique la même chose pour le corse.
There was a problem hiding this comment.
...sauf qu'il ne l'ont pas :-/
Vu que c'est un sujet à part du composant de prévisualisation, je propose de le traiter ailleurs.
3396da3 to
0963466
Compare
2ce1657 to
48dba3c
Compare
6b4cc8c to
2a07896
Compare
48dba3c to
5ac0b49
Compare
…dynamiques CustomizationPreview reçoit désormais selecterFontName et selectedLanguage depuis le formulaire ; la conversion vers la classe de police (ff-dyslexic) et vers les textes traduits se fait dans le composant. Les traductions de l'aperçu sont codées en dur (7 langues) faute de mécanisme de fetch par langue côté i18n, avec repli sur le français.
5ac0b49 to
b5a0062
Compare
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
* feat(timeline):#IMPULS-6021-customizePreview fix css * fix merge * add font customization * fix css * add language custom * feat(timeline): #IMPULS-6021 rend la police et la langue de l'aperçu dynamiques CustomizationPreview reçoit désormais selecterFontName et selectedLanguage depuis le formulaire ; la conversion vers la classe de police (ff-dyslexic) et vers les textes traduits se fait dans le composant. Les traductions de l'aperçu sont codées en dur (7 langues) faute de mécanisme de fetch par langue côté i18n, avec repli sur le français. * show selected background * update tests * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * fix language img size --------- Co-authored-by: jcbe-ode <jean-christophe.benoit@opendigitaleducation.com> Co-authored-by: jcbe-ode <67910608+jcbe-ode@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* feat(timeline):#IMPULS-6021-customizePreview fix css * fix merge * add font customization * fix css * add language custom * feat(timeline): #IMPULS-6021 rend la police et la langue de l'aperçu dynamiques CustomizationPreview reçoit désormais selecterFontName et selectedLanguage depuis le formulaire ; la conversion vers la classe de police (ff-dyslexic) et vers les textes traduits se fait dans le composant. Les traductions de l'aperçu sont codées en dur (7 langues) faute de mécanisme de fetch par langue côté i18n, avec repli sur le français. * show selected background * update tests * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * fix language img size --------- Co-authored-by: jcbe-ode <jean-christophe.benoit@opendigitaleducation.com> Co-authored-by: jcbe-ode <67910608+jcbe-ode@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>



Description
Implémente le composant
CustomizePreview(partie droite de la page de personnalisation/timeline/customize) : aperçu miniature de la page d'accueil, piloté par le formulaire de personnalisation.aria-hidden.selecterFontName: bascule la classeff-dyslexic(fournie par@edifice.io/bootstrap) sur l'aperçu quand la police dyslexique est sélectionnée dans le formulaire — sans attendre l'enregistrement.selectedLanguage: traduit les 2 textes de l'aperçu selon la langue sélectionnée dans le formulaire (pas encore enregistrée), via un petit dictionnaire codé en dur (7 langues : fr/en/es/de/pt/it/co) avec repli sur le français. Codé en dur faute de mécanisme de fetch de traduction par langue côté i18n (src/i18n.tsroute toutes les langues vers la même URL, résolue côté back par la session) — le vrai branchement aux traductions officielles est laissé à IMPULS-6022.md(comportement existant, non modifié).Fixes
IMPULS-6021
Type of change
Please check options that are relevant.
Which packages changed?
Please check the name of the package you changed
Tests
pnpm --filter timeline test(Vitest) :CustomizationPreview.test.tsxcouvre le rendu par défaut (fr), une langue traduite (en), le repli sur langue inconnue, l'absence d'élément focusable, et la classeff-dyslexicselonselecterFontName.pnpm dev:mocksur/customize: changer la police dans le formulaire bascule en direct la police de l'aperçu ; changer la langue bascule en direct les textes de l'aperçu.Reminder
Security flaws : aucun identifié — composant de présentation pur, pas de nouvel endpoint, pas d'entrée utilisateur libre
Performance impacts (think bulk !) : négligeable — table de correspondance statique, aucun appel réseau supplémentaire
Unit tests were replayed : oui
Unit tests were added and/or changed : oui
I have updated the reminder for the version including my modifications : à vérifier par l'auteur
All done ! 😃