Commit Graph

369 Commits (6424f2e197db0f64a65e381c4b9f40daaae7c645)

Author SHA1 Message Date
Maxime Quandalle 6424f2e197
Déplace les règles vers source/rules 2020-04-06 00:50:32 +02:00
Maxime Quandalle 0a03b7550c
Ajoute des types TypeScript
Transforme quelques derniers composants class en fonctions
2020-04-06 00:40:41 +02:00
Johan Girod f9d4d3ef91 Définition de nouveaux types plus précis pour les règles et le moteur 2020-04-02 14:44:06 +02:00
Johan Girod bf078b2938 🔥 change l'api du moteur 2020-03-31 17:30:05 +02:00
Johan Girod c3d2e89b7f 🐛 enlève la différenciation alsace-moselle pour la prévoyance santé
Il ne sert qu'à différencier le montant par défaut et les suggestions. Il introduit une distinction non nécessaire qui ne correspond à aucun texte législatif

On préfère plutôt introduire la distinction dans les notes
2020-03-23 19:08:32 +01:00
Maxime Quandalle 57bb595884
😷 Page Coronavirus et intégration du chômage partiel (#926)
Suite à la crise du coronavirus le gouvernement a élargi le dispositif
d'activité partielle et encouragé son recours massif.

Ce commit contient les modifications suivantes :

* Intégration de l'activité partielle sur le simulateur salarié ;
* Création d'une page /coronavirus incluant un simulateur spécifique pour le
  chômage partiel ainsi que des informations générale sur les dispositifs
  gouvernementaux. Référencement de cette page sur la page d'accueil et sur
  le simulateur salarié ;
* Grosse refacto du calcul de la CSG/CRDS pour y inclure le calcul des revenus
  de remplacement. Corrige aussi des erreurs pour la CSG des salariés
  bénéficiant de la DFS, et intègre l'exonération de CSG à Mayotte ;
* Légères modifications de la fenêtre « prochaines question » ;
* Affichage d'un placeholder sur les inputs des questions.

Co-authored-by: Johan Girod <johangirod@gmail.com>
2020-03-22 23:14:51 +01:00
Johan Girod 6faa912aa7 répare le changement de périodes 2020-03-18 15:47:39 +01:00
Johan Girod 8ca9f82a17 🔨 proposition pour le mécanisme de variable temporelle 2020-03-18 15:43:36 +01:00
Johan Girod d88146ad0e 🎨 🔥 ajoute l'aide sur le formulaire dnrti
L'aide s'affiche désormais sous forme de modale, sur tous les simulateurs.
Cela permet d'uniformiser le comportement, et d'avoir une meilleure expérience sur mobile
2020-03-10 10:51:54 +01:00
Johan Girod 4be1982a3a 🔥 simplifie la page d'impression de l'aide à la déclaration des TI
en attendant la correction des bugs sur la page de récapitulatif, on imprime la page courante : plus simple et moins de maintenance à faire en cas de modifications
2020-03-10 10:51:54 +01:00
Maxime Quandalle 7d098d5bc3 🎨 Affichage des icônes dans les questions à choix multiples
Cherry-picked from https://github.com/laem/futureco/pull/62

Co-authored-by: Mael <mael.thomas@data.gouv.fr>
2020-03-04 15:22:29 +01:00
Johan Girod 8a0ac1051b 🎨🐛 corrige le hover des boutons 2020-02-07 10:55:16 +01:00
Johan Girod b3b5c7a7d0 🎨🐛 corrige le hover des bouton réponse du simulateur sur les anciens navigateurs 2020-02-06 16:41:28 +01:00
Johan Girod 340bd2a06d 💚 répare les tests circle-ci 2020-02-06 15:03:18 +01:00
Johan Girod e718537a36 Enlève les messages d'erreur dans la console 2020-02-06 13:40:47 +01:00
Johan Girod 389f77d850 🐛 améliore le champ d'entrée de date 2020-01-28 13:25:33 +01:00
Johan Girod c72857b52d enlève les console.log 2020-01-26 18:13:21 +01:00
Johan Girod d8bf9085eb 🐛🔥 remplace la logique du composant DateInput par un simple input de type date 2020-01-26 18:05:46 +01:00
Johan Girod be1891aecb Revert "Revert "Aide à la déclaration des indépendants""
This reverts commit b5b2e56bd0.
2020-01-26 11:55:54 +01:00
Johan Girod b5b2e56bd0
Revert "Aide à la déclaration des indépendants" 2020-01-24 18:06:05 +01:00
Johan Girod d0e3e9c62f 🎨 🔥 Uniformise la gestion des champs 2020-01-23 17:16:25 +01:00
Johan Girod 1f87e1b90f 🐛 répare le style des questions des simulateurs 2020-01-23 15:01:45 +01:00
Johan Girod 5dc9f07db4 Ajoute des champs sur le formulaire DNRTI 2020-01-23 14:56:45 +01:00
Johan Girod f29bcc2d7b Factorise les composants input entre les questions de simulation et le formulaire dnrti 2020-01-23 14:56:45 +01:00
Maxime Quandalle 0a6e34349c WIP Formulaire pour la déclaration des indépendants
- Plus d'indications/aides dans l'UI pour expliquer ce que l'on attend
- Version mobile avec la barre de droite en bas
- Ajouter l'intégralité des champs concernés
- Latence quand on clique sur une option
- Gestion des erreurs de saisie
- Navigation au clavier, gestion du focus

Est-ce le bon modèle ?
2020-01-23 14:56:45 +01:00
Johan Girod ce2ff5a4b2 👽 traduit le champs de date 2020-01-22 19:14:07 +01:00
Johan Girod cc7356c1aa 👽 ajoute la traduction automatique des contrôles et des suggestions' 2020-01-22 18:58:07 +01:00
Johan Girod d74b625be3 👽 Vérifie que tous les éléments d'ui sont traduits
Tous les éléments à traduire (via la balise <Trans> ou la fonction 't')
sont analysé statiquement. Si il manque une traduction, la PR est bloquée

Ajoute un script de traduction automatique via `yarn run i18n:ui:translate`

Met à jour CONTRIBUTING.md avec les infos sur la traduction
2020-01-22 15:10:46 +01:00
Johan Girod 829ac4aa6f 🔥 remplace le composant <T> par <Trans>
Afin de faciliter l'analyse statique des clés de traduction
2020-01-21 19:15:28 +01:00
Johan Girod c2358605ae prends en compte les informations de l'api entreprise dans les simulations 2020-01-07 15:53:33 +01:00
Johan Girod 22bcda8e2a corrige le dispositif ZFU pour les indeps 2020-01-07 15:53:33 +01:00
Johan Girod 91d0989a87 🎨 Ajoute un input de type date 2020-01-07 15:53:33 +01:00
Johan Girod 4749727938 🔨 ⚙️ ajoute un mécanisme durée pour la proratisation de l'ACRE :wip: 2020-01-07 15:53:33 +01:00
Maxime Quandalle 011db6b9f5
🔨 MAJ des taux AT/MP 2020 2020-01-02 10:40:12 +01:00
Maxime Quandalle e5b42e2321
🔥 Supprime le HOC withColours
Renomme colour en color, pour-être cohérent avec le CSS
2019-12-18 23:06:46 +01:00
Maxime Quandalle ca5b7cc2df
Ajout des types null et undefined
Ajout des paramètres strictNullChecks et strictPropertyInitialization
dans la configuration TypeScript et correction des environ 70 erreurs
de typage résultantes.
2019-12-18 18:52:32 +01:00
Maxime Quandalle 1b963b8bbe Ajout de l'option "allowJs" dans tsconfig.js
Cela permet l'inférence de type à partir des fichiers js qui ne sont pas
encore convertis en TypeScript.
Par ailleurs suppression des dernières traces de Flow.
Ajout d'options plus strictes pour dans la config tsconfig.js
2019-12-17 11:34:12 +01:00
Johan Girod 00b122fa97 ⚙️ ajoute la conversion d'unité
Gros changements en perspective :
- Supprime la notion de période, au bénéfice de celle d'unité
  (`période : mensuelle` devient `unité: €/mois`)
- Améliore les rapports d'erreur avec des messages plus clair
- Ajoute un avertissement lorsque des types ne sont pas compatible
- Ajoute la conversion automatique d'unité dans le moteur
- Ajoute une notion d'unité par défaut de la simulation,
  c'est l'unité vers laquelle les règles qui ne spécifient pas
  d'unité seront converties
- Ajoute une notion d'unité par défaut des règles, qui spécifie
  l'unité de la règle qui prévaut lorsque qu'il n'y a pas
  d'unité par défaut de la simulation (utile pour les question ou
  pour s'assurer du bon type d'une règle)
2019-12-16 11:34:04 +01:00
Johan Girod 2929a0f64e 👽 traductions manquantes 2019-12-03 11:25:16 +01:00
Johan Girod 543c687b23 👽 traduction manquante 2019-12-03 10:49:54 +01:00
Johan Girod 08c4ecdea4 👽 ajoute la traduction sur pas mal de choses 2019-11-21 17:08:05 +01:00
Johan Girod 53f67bb329 🔨 debug les règles pour les sportifs 2019-11-11 18:46:41 +01:00
Maxime Quandalle 7e2a4085a7 Poursuite de la migration TypeScript
* Utilisation de la version stable de TypeScript 3.7

* Début de migration du State Redux. Plutôt que de redéfinir les types
  en doublon par rapport aux actions et reducers, on utilise les valeurs
  retournées par ces fonctions comme source pour les types globaux.

* Modification de tsconfig pour meilleur typage dans VS Code

* Meilleur typage de l'environnement : suppression de @types/node qui
  était trop large (contient tout l'environnement serveur), et
  remplacement par @types/webpack-env. Par ailleurs typage des variables
  d'environnement utilisées.

* Début de migration de l'économie collaborative

* Migration de nombreux composants UI

* Mise à jour de dépendances pour récupérer un meilleur typage

* Ajout d'un hook pour configurer les simulateurs

* Suppression du higher-order component "withSitePaths", on utilise
  systématiquement le hook useContext.

L'essentiel de l'application est maintenant migré, reste le moteur !
2019-11-11 11:33:38 +01:00
Mael 0954c8c3f7 Déplacement de getInputComponent 2019-11-05 18:45:18 +01:00
Mael fee3b3d6b6 🎨 Style de la sélection de commune 2019-11-05 18:20:32 +01:00
Mael 044aad7cfd Utilisation du fuzzy matching pour SelectTauxRisque
Pour que la recherche marche sans accents par exemple
2019-11-05 18:07:00 +01:00
Mael c3094019e4 🔥 React-Select ATMP et du coup 🔥 react-select partout 2019-11-05 18:06:56 +01:00
Mael fecdab29f8 🔥 React-select dans la sélection de la commune 2019-11-05 18:06:22 +01:00
Johan Girod 432044190f 🎨 uniformise le style de l'aide et des contrôles 2019-10-31 18:48:27 +01:00
Maxime Quandalle 6de970f0e3 🔥 Migration vers TypeScript
Outils
======

Ce commit retire le tooling de Flow, et ajoute le support de TypeScript
pour les fichiers .ts et .tsx. Il n'est pas nécessaire de tout migrer
d'un coup ce qui facilite la transition. On garde en effet le
compilateur Babel avec un preset TypeScript (ce qui permet donc de
retirer à la fois les types Flow et TypeScript) plutôt que d'utiliser le
compilateur standard pour la conversion du code. Cela permet aussi de
mieux s'intégrer avec d'autres outils, notamment les test-runners.

Ajout d'une nouvelle commande `yarn run type-check`, intégrée dans
CircleCI.

Par ailleurs ajout du support de l'opérateur ?? pour donner des valeurs
par défaut (nullish-coalescing-operator).

Typage des libraires tierces
============================

Les principales libraires que nous utilisons ont un typage TypeScript de
bon niveau, ce qui facilite l'intégration. J'ai mis à jour react-i18next
et i18next afin de corriger un problème de typage.

Typage du code
==============

Le typage est loin d'être complet dans ce commit, en particulier il
manque les types relatifs au state Redux, ainsi qu'au moteur (règle,
explication). Néanmoins le typage des contextes fonctionne, en
particulier sitePaths (avec un type récursif non trivial !) qui a déjà
permis de détecter un lien mort.

Le typage des "paths" (Components/, Règles/, etc.) fonctionne bien, y
compris avec l'auto-complétion automatique des import par Typescript.

TypeScript se révèle déjà bien agréable dans VSCode (auto-complétion,
refacto, etc.) ! Reste à migrer progressivement le reste du code !
2019-10-30 10:20:48 +01:00