Skip to content

global context and language switcher

Francois AUBEUT requested to merge global_context into dev

Bon j'avoue c'est une grosse merge request. j'aurai du commit avant désolé, je ferai plus attention la prochaine fois

i18n

J'ai rajouté le language switcher qui fonctionne en dynamique, j'ai compris comment ils ont fait dans la todo, il le stocke dans un contexte, ca rerender les morceaux qui ont besoin a chaque changement. Par contre, je pense que le composant react est preferable dans le DOM, on en parlera ensemble mais en tout cas, c'est conseillé dans la doc de i18n. Mais c'est vrai que c'est lourd de faire ca dans les autres cas.

Global State

Pour le global state, j'ai fait un melange de hooks avec useReducer et useContext. j'ai fait un logger egalement dessus. le logger permet de voir l'action effectuée sur le state avec l'etat precedent et le nouvel etat du state. On va pouvoir s'en servir pour stocker ce qu'on veut dedans.

On s'en sert de la meme facon que ce que j'ai fait dans le languageswitcher

const [state, dispatch] = useContext(Context)
dispatch({ type: 'language, data: { language: 'en' } })

en gros le dispatch va chercher une action dans le fichier reducer avec le type lui passe la data. Ensuite, a nous d'ajouter des actions en fonction.

Du coup j'ai enlevé le with user comme le user est stocké dans le global state

j'en ai profité pour faire quelques petites actions mineures:

  • favicon
  • nom d'app :) :)
  • et responsive ( c'est pas totalement responsive, j'ai juste ajouté la balise html)

M'voilaaaaa

Merge request reports