From 25562d1ed36b97e58479078a2740bf0a80ed58af Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Thu, 29 Jun 2023 17:45:51 +0200 Subject: [PATCH] =?UTF-8?q?Ajoute=20les=20co=C3=BBts=20de=20cr=C3=A9ation?= =?UTF-8?q?=20dans=20l'assistant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../choix-du-statut/détails-activité.tsx | 35 ++-- .../components/DetailsRowCards.tsx | 6 +- .../components/Détails.tsx | 151 ++++-------------- .../simulateurs/comparaison-statuts/utils.ts | 8 +- 4 files changed, 59 insertions(+), 141 deletions(-) diff --git a/site/source/pages/assistants/choix-du-statut/détails-activité.tsx b/site/source/pages/assistants/choix-du-statut/détails-activité.tsx index 3e9ac68a3..ded373537 100644 --- a/site/source/pages/assistants/choix-du-statut/détails-activité.tsx +++ b/site/source/pages/assistants/choix-du-statut/détails-activité.tsx @@ -172,7 +172,12 @@ function useUpdateSituationWithGuichet(guichetEntries: GuichetEntry[] | null) { batchUpdateSituation({ 'entreprise . activités . principale . code guichet': undefined, 'entreprise . imposition . IR . type de bénéfices': undefined, + 'entreprise . activités . libérale': undefined, + 'entreprise . activités . artisanale': undefined, + 'entreprise . activités . agricole': undefined, + 'entreprise . activités . commerciale': undefined, 'entreprise . activité . nature': undefined, + 'entreprise . activité . nature . libérale . réglementée': undefined, 'dirigeant . indépendant . PL . métier': undefined, @@ -182,21 +187,17 @@ function useUpdateSituationWithGuichet(guichetEntries: GuichetEntry[] | null) { return } const PLRMétier = guichetToPLMétier(guichet) + const activité = getActivitéFromGuichet(guichet) dispatch( batchUpdateSituation({ 'entreprise . activités . principale . code guichet': `'${guichet.code}'`, 'entreprise . imposition . IR . type de bénéfices': `'${guichet.typeBénéfice}'`, - 'entreprise . activité . nature': guichet.catégorieActivité.includes( - 'LIBERALE' - ) - ? "'libérale'" - : guichet.catégorieActivité.includes('ARTISANALE') - ? "'artisanale'" - : guichet.catégorieActivité.includes('COMMERCIALE') - ? "'commerciale'" - : guichet.catégorieActivité.includes('AGRICOLE') - ? "'agricole'" - : undefined, + ...(activité + ? { + 'entreprise . activité . nature': `'${activité}'`, + [`entreprise . activités . ${activité}`]: 'oui', + } + : {}), 'entreprise . activité . nature . libérale . réglementée': PLRMétier ? 'oui' : 'non', @@ -207,3 +208,15 @@ function useUpdateSituationWithGuichet(guichetEntries: GuichetEntry[] | null) { [dispatch, guichetEntries] ) } + +function getActivitéFromGuichet(guichet: GuichetEntry) { + return guichet.catégorieActivité.includes('LIBERALE') + ? 'libérale' + : guichet.catégorieActivité.includes('ARTISANALE') + ? 'artisanale' + : guichet.catégorieActivité.includes('COMMERCIALE') + ? 'commerciale' + : guichet.catégorieActivité.includes('AGRICOLE') + ? 'agricole' + : undefined +} diff --git a/site/source/pages/simulateurs/comparaison-statuts/components/DetailsRowCards.tsx b/site/source/pages/simulateurs/comparaison-statuts/components/DetailsRowCards.tsx index ead35ee16..81af5d191 100644 --- a/site/source/pages/simulateurs/comparaison-statuts/components/DetailsRowCards.tsx +++ b/site/source/pages/simulateurs/comparaison-statuts/components/DetailsRowCards.tsx @@ -28,7 +28,7 @@ const DetailsRowCards = ({ namedEngines, dottedName, unit, - bestOption, + leastIsBest = false, evolutionDottedName, evolutionLabel, label, @@ -38,7 +38,7 @@ const DetailsRowCards = ({ namedEngines: EngineComparison dottedName: DottedName unit?: string - bestOption?: 1 | 2 | 3 + leastIsBest?: boolean evolutionDottedName?: DottedName evolutionLabel?: ReactNode | string label?: ReactNode | string @@ -55,7 +55,7 @@ const DetailsRowCards = ({ }).nodeValue, })) as [OptionType, OptionType, OptionType] - const bestOptionValue = bestOption ?? getBestOption(options) + const bestOptionValue = getBestOption(options, leastIsBest) const groupedOptions = options .reduce((acc, option) => { diff --git a/site/source/pages/simulateurs/comparaison-statuts/components/Détails.tsx b/site/source/pages/simulateurs/comparaison-statuts/components/Détails.tsx index 49a1f5009..90ff60867 100644 --- a/site/source/pages/simulateurs/comparaison-statuts/components/Détails.tsx +++ b/site/source/pages/simulateurs/comparaison-statuts/components/Détails.tsx @@ -457,6 +457,7 @@ const Détails = ({ namedEngines }: { namedEngines: EngineComparison }) => { @@ -469,29 +470,17 @@ const Détails = ({ namedEngines }: { namedEngines: EngineComparison }) => { sa vie professionnelle. - {/* - - {' '} - - maximum - - - */} + Pour un décès survenu dans le cadre d’un{' '} - accident professionnel, vous pouvez bénéficier - d’une rente de décès. + accident professionnel, le conjoint survivant + peut bénéficier d’une rente de décès. @@ -499,7 +488,7 @@ const Détails = ({ namedEngines }: { namedEngines: EngineComparison }) => { dottedName="protection sociale . invalidité et décès . accidents du travail et maladies professionnelles . rente décès" namedEngines={namedEngines} unit="€/mois" - label={t('pour vos proches')} + label={t("en cas d'accident pro")} /> @@ -526,96 +515,24 @@ const Détails = ({ namedEngines }: { namedEngines: EngineComparison }) => { key="administratif" hasChildItems={false} > - { - // TODO : implémenter les valeurs correspondantes dans modèle-social - // Ressource : https://entreprendre.service-public.fr/vosdroits/F23282 - /* - - Coût de création - - - - - Les formalités de création d'une entreprise diffèrent selon les - statuts et la nature de l'activité. Le calcul se concentre ici sur - les procédures obligatoires (immatriculation, - annonces légales, rédaction des statuts...). - - - - - - - - - - - - - - - - - - - - - - - - - - Aucun - - - - */ - } - - {/* - Dépôt de capital - + + Coût de création + - Selon les statuts, il est indispensable d’effectuer un{' '} - apport en capital à la création de l’entreprise. - Le montant minimum du capital social est de{' '} - 1 €. + Les formalités de création d'une entreprise diffèrent selon les + statuts et la nature de l'activité. Le calcul se concentre ici sur + les procédures obligatoires (immatriculation, + annonces légales, rédaction des statuts...). - - - - 1 € minimum - - - - - - Aucun - - - - */} + + {/* Statut du conjoint @@ -628,24 +545,12 @@ const Détails = ({ namedEngines }: { namedEngines: EngineComparison }) => { conjoint associé ou{' '} conjoint salarié). - - - - - Conjoint associé ou salarié - - - - - Conjoint collaborateur ou salarié - - - - - Conjoint collaborateur - - - */} + */} + {/* + */} diff --git a/site/source/pages/simulateurs/comparaison-statuts/utils.ts b/site/source/pages/simulateurs/comparaison-statuts/utils.ts index 8c699bad8..c78d29307 100644 --- a/site/source/pages/simulateurs/comparaison-statuts/utils.ts +++ b/site/source/pages/simulateurs/comparaison-statuts/utils.ts @@ -8,19 +8,19 @@ export type OptionType = { name: StatutType value: Evaluation } -export const getBestOption = (options: OptionType[]) => { +export const getBestOption = (options: OptionType[], leastIsBest: boolean) => { const sortedOptions = [...options].sort( (option1: OptionType, option2: OptionType) => { if (option1.value === null || option1.value === undefined) { - return 1 + return leastIsBest ? -1 : 1 } if (option2.value === null || option2.value === undefined) { - return -1 + return leastIsBest ? 1 : -1 } if (option1.value === option2.value) return 0 - return option1.value > option2.value ? -1 : 1 + return (option1.value > option2.value ? -1 : 1) * (leastIsBest ? -1 : 1) } )