From 9d723726494ebf250faca1c2dcfc2e6065b6ddf4 Mon Sep 17 00:00:00 2001 From: Benjamin Levesque <14175665+benjlevesque@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:13:30 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Corriger=20les=20composants=20RS?= =?UTF-8?q?C=20Gestionnaire=20R=C3=A9seau?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ormulaireAttestationConformit\303\251.tsx" | 1 + ...fierAttestationConformit\303\251.page.tsx" | 2 - ...AjouterGestionnaireR\303\251seau.form.tsx" | 71 ++++++++++ ...AjouterGestionnaireR\303\251seau.page.tsx" | 68 +--------- ...odifierGestionnaireR\303\251seau.form.tsx" | 125 ++++++++++++++++++ ...odifierGestionnaireR\303\251seau.page.tsx" | 118 ++--------------- 6 files changed, 209 insertions(+), 176 deletions(-) create mode 100644 "packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/ajouter/AjouterGestionnaireR\303\251seau.form.tsx" create mode 100644 "packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/modifier/ModifierGestionnaireR\303\251seau.form.tsx" diff --git "a/packages/applications/ssr/src/components/pages/attestation-conformit\303\251/FormulaireAttestationConformit\303\251.tsx" "b/packages/applications/ssr/src/components/pages/attestation-conformit\303\251/FormulaireAttestationConformit\303\251.tsx" index bd9b78435e..d65f5f361a 100644 --- "a/packages/applications/ssr/src/components/pages/attestation-conformit\303\251/FormulaireAttestationConformit\303\251.tsx" +++ "b/packages/applications/ssr/src/components/pages/attestation-conformit\303\251/FormulaireAttestationConformit\303\251.tsx" @@ -1,3 +1,4 @@ +'use client'; import { FC, useState } from 'react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; diff --git "a/packages/applications/ssr/src/components/pages/attestation-conformit\303\251/modifier/modifierAttestationConformit\303\251.page.tsx" "b/packages/applications/ssr/src/components/pages/attestation-conformit\303\251/modifier/modifierAttestationConformit\303\251.page.tsx" index cb5cfdcac0..39c5ddf08e 100644 --- "a/packages/applications/ssr/src/components/pages/attestation-conformit\303\251/modifier/modifierAttestationConformit\303\251.page.tsx" +++ "b/packages/applications/ssr/src/components/pages/attestation-conformit\303\251/modifier/modifierAttestationConformit\303\251.page.tsx" @@ -1,5 +1,3 @@ -'use client'; - import { FC } from 'react'; import { PageTemplate } from '@/components/templates/Page.template'; diff --git "a/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/ajouter/AjouterGestionnaireR\303\251seau.form.tsx" "b/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/ajouter/AjouterGestionnaireR\303\251seau.form.tsx" new file mode 100644 index 0000000000..decd0a9faa --- /dev/null +++ "b/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/ajouter/AjouterGestionnaireR\303\251seau.form.tsx" @@ -0,0 +1,71 @@ +'use client'; +import { useRouter } from 'next/navigation'; +import { Input } from '@codegouvfr/react-dsfr/Input'; +import { useState } from 'react'; + +import { Routes } from '@potentiel-applications/routes'; + +import { SubmitButton } from '@/components/atoms/form/SubmitButton'; +import { Form } from '@/components/atoms/form/Form'; + +import { ajouterGestionnaireRéseauAction } from './ajouterGestionnaireRéseau.action'; + +export const AjouterGestionnaireRéseauForm = () => { + const router = useRouter(); + + const [validationErrors, setValidationErrors] = useState>([]); + return ( +
router.push(Routes.Gestionnaire.lister)} + onValidationError={(validationErrors) => setValidationErrors(validationErrors)} + > + + + + + + + + + + + Envoyer +
+ ); +}; diff --git "a/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/ajouter/AjouterGestionnaireR\303\251seau.page.tsx" "b/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/ajouter/AjouterGestionnaireR\303\251seau.page.tsx" index 20bdabc6b9..5452fd42b4 100644 --- "a/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/ajouter/AjouterGestionnaireR\303\251seau.page.tsx" +++ "b/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/ajouter/AjouterGestionnaireR\303\251seau.page.tsx" @@ -1,78 +1,16 @@ -'use client'; - -import { FC, useState } from 'react'; -import { useRouter } from 'next/navigation'; -import Input from '@codegouvfr/react-dsfr/Input'; - -import { Routes } from '@potentiel-applications/routes'; +import { FC } from 'react'; import { Heading1 } from '@/components/atoms/headings'; import { PageTemplate } from '@/components/templates/Page.template'; -import { Form } from '@/components/atoms/form/Form'; -import { SubmitButton } from '@/components/atoms/form/SubmitButton'; -import { ajouterGestionnaireRéseauAction } from './ajouterGestionnaireRéseau.action'; +import { AjouterGestionnaireRéseauForm } from './AjouterGestionnaireRéseau.form'; export const AjouterGestionnaireRéseauPage: FC = () => { - const router = useRouter(); - - const [validationErrors, setValidationErrors] = useState>([]); return ( Ajouter un gestionnaire de réseau} > -
router.push(Routes.Gestionnaire.lister)} - onValidationError={(validationErrors) => setValidationErrors(validationErrors)} - > - - - - - - - - - - - Envoyer -
+
); }; diff --git "a/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/modifier/ModifierGestionnaireR\303\251seau.form.tsx" "b/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/modifier/ModifierGestionnaireR\303\251seau.form.tsx" new file mode 100644 index 0000000000..678dd44880 --- /dev/null +++ "b/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/modifier/ModifierGestionnaireR\303\251seau.form.tsx" @@ -0,0 +1,125 @@ +'use client'; +import Input from '@codegouvfr/react-dsfr/Input'; +import { FC, useState } from 'react'; +import { useRouter } from 'next/navigation'; + +import { Routes } from '@potentiel-applications/routes'; +import { PlainType } from '@potentiel-domain/core'; +import { ExpressionRegulière, Email } from '@potentiel-domain/common'; +import { Option } from '@potentiel-libraries/monads'; +import { GestionnaireRéseau } from '@potentiel-domain/reseau'; + +import { Form } from '@/components/atoms/form/Form'; +import { SubmitButton } from '@/components/atoms/form/SubmitButton'; + +import { modifierGestionnaireRéseauAction } from './modifierGestionnaireRéseau.action'; + +export type ModifierGestionnaireRéseauProps = + PlainType; + +export const ModifierGestionnaireRéseauForm: FC = ({ + identifiantGestionnaireRéseau, + raisonSociale, + aideSaisieRéférenceDossierRaccordement: { format, légende, expressionReguliere }, + contactEmail, +}) => { + const router = useRouter(); + const [validationErrors, setValidationErrors] = useState>([]); + + // Ici on match bind pour montrer un cas d'utilisation simple vu que c'est + // la première mise en place de Option et ValueType en mode Isomorphique. + // Utiliser bind uniquement si besoin d'une fonctionnalité avancée du ValueType (exemple: comparaison de date) + const contactEmailValue = Option.match(contactEmail) + .some((email) => { + const emailValueType = Email.bind(email); + return emailValueType.formatter(); + }) + .none(() => ''); + + const expressionReguliereValue = ExpressionRegulière.bind(expressionReguliere).formatter(); + + const identifiantGestionnaireReseauValue = GestionnaireRéseau.IdentifiantGestionnaireRéseau.bind( + identifiantGestionnaireRéseau, + ).formatter(); + return ( +
router.push(Routes.Gestionnaire.lister)} + onValidationError={(validationErrors) => setValidationErrors(validationErrors)} + > +
+ +
+ + + + + + + + + + + + + + + + Envoyer +
+ ); +}; diff --git "a/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/modifier/ModifierGestionnaireR\303\251seau.page.tsx" "b/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/modifier/ModifierGestionnaireR\303\251seau.page.tsx" index 8d37b1afeb..93466fff64 100644 --- "a/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/modifier/ModifierGestionnaireR\303\251seau.page.tsx" +++ "b/packages/applications/ssr/src/components/pages/r\303\251seau/gestionnaire/modifier/ModifierGestionnaireR\303\251seau.page.tsx" @@ -1,21 +1,12 @@ -'use client'; +import { FC } from 'react'; -import Input from '@codegouvfr/react-dsfr/Input'; -import { useRouter } from 'next/navigation'; -import { FC, useState } from 'react'; - -import { Routes } from '@potentiel-applications/routes'; import { PlainType } from '@potentiel-domain/core'; -import { ExpressionRegulière, Email } from '@potentiel-domain/common'; -import { Option } from '@potentiel-libraries/monads'; import { GestionnaireRéseau } from '@potentiel-domain/reseau'; -import { Form } from '@/components/atoms/form/Form'; -import { SubmitButton } from '@/components/atoms/form/SubmitButton'; import { Heading1 } from '@/components/atoms/headings'; import { PageTemplate } from '@/components/templates/Page.template'; -import { modifierGestionnaireRéseauAction } from './modifierGestionnaireRéseau.action'; +import { ModifierGestionnaireRéseauForm } from './ModifierGestionnaireRéseau.form'; export type ModifierGestionnaireRéseauProps = PlainType; @@ -23,27 +14,9 @@ export type ModifierGestionnaireRéseauProps = export const ModifierGestionnaireRéseauPage: FC = ({ identifiantGestionnaireRéseau, raisonSociale, - aideSaisieRéférenceDossierRaccordement: { format, légende, expressionReguliere }, + aideSaisieRéférenceDossierRaccordement, contactEmail, }) => { - const router = useRouter(); - const [validationErrors, setValidationErrors] = useState>([]); - - // Ici on match bind pour montrer un cas d'utilisation simple vu que c'est - // la première mise en place de Option et ValueType en mode Isomorphique. - // Utiliser bind uniquement si besoin d'une fonctionnalité avancée du ValueType (exemple: comparaison de date) - const contactEmailValue = Option.match(contactEmail) - .some((email) => { - const emailValueType = Email.bind(email); - return emailValueType.formatter(); - }) - .none(() => ''); - - const expressionReguliereValue = ExpressionRegulière.bind(expressionReguliere).formatter(); - - const identifiantGestionnaireReseauValue = GestionnaireRéseau.IdentifiantGestionnaireRéseau.bind( - identifiantGestionnaireRéseau, - ).formatter(); return ( } > -
router.push(Routes.Gestionnaire.lister)} - onValidationError={(validationErrors) => setValidationErrors(validationErrors)} - > -
- -
- - - - - - - - - - - - - - - - Envoyer -
+
); };