dataesr / bso-ui

French Open Science Monitor - Website
https://frenchopensciencemonitor.esr.gouv.fr/
MIT License
3 stars 0 forks source link

bso-ui

Discord Follow license GitHub release (latest SemVer) Production deployment SWH

Application web du Baromètre de la Science Ouverte accessible ici :

Requirements

Boilerplate

This project was bootstrapped with Create React App.

The version number follows semver.

To create a new release, use npm version patch|minor|major.

Scripts disponibles

Ajouter une nouvelle icône BSSO

Utilisation

 <Icon
    name='icon-bsso-[x]'
    color1='blue-soft-125'
    color2='gold'
  />

Utiliser le glossaire

1. Ajouter les clefs nécessaires dans les fichiers de langues src/translations/fr.json et src/translations/en.json

La balise <glossary0>app.word</glossary0> correspond au mot cliquable du texte dans la page

{
  "app.entry": "Entry in glossary",
  "app.definition": "My definition <cta>my-link</cta>",
  "app.word": "word to click",
  "app.text": "Lorem <glossary0>app.word-1</glossary0> ip <cta>my-link</cta> sum <glossary1>app.word-2</glossary1>."
}

2. Ajouter l'entrée voulue dans glossary.json avec les clefs de langues correspondantes

La clef intlEntry correspond au titre dans le volet Glossaire

La clef cta est optionnelle

{
    "entry": {
      "intlEntry": "app.entry",
      "intlDefinition": "app.definition",
      "cta": "https://www.this-is-my-link.com"
    }
}

3. Ajouter le composant Glossary dans la page

import GlossaryEntries from 'glossary.json';

<Glossary entries={GlossaryEntries} />

4. Ajouter dans la page le composant GlossaryFormattedMessage à l'emplacement souhaité

La props intlKey correspond au texte dans lequel se trouve le mot clickable

La props glossaryKeys correspond aux clefs dans glossary.json (dans l'ordre dans lequel elles apparaissent dans le texte)

La props link est optionnelle

<GlossaryFormattedMessage
  intlKey='app.text'
  ctas={['https://www.link.fr']}
  glossaryKeys={['entry1', 'entry2']}
/>

Deployment

To deploy in production, simply run this command from your staging branch :

npm run deploy --level=[patch|minor|major]

:warning: Obviously, only members of the dataesr organization have rights to push on the repo.