diff --git a/app/aides/globales/AidesGlobales.tsx b/app/aides/globales/AidesGlobales.tsx new file mode 100644 index 00000000..a8294a75 --- /dev/null +++ b/app/aides/globales/AidesGlobales.tsx @@ -0,0 +1,117 @@ +'use client' + +import { QuestionHeader } from '@/app/simulation/QuestionHeader' +import styled from 'styled-components' +import Image from 'next/image' +import illustrationAccueil from '@/public/illustration-accueil.resized.jpg' +import logoMPA from '@/public/logo-mpa.png' + +export default function AidesGlobales() { + return ( + <> + + Estimer mes aides +

Quel est votre besoin ?

+
+

+ Si le besoin est multiple alors il faudra réaliser 2 simulations. + Avant de vous lancer dans des projets de travaux de rénovation, + contactez le conseiller France Rénov’ le plus proche de chez vous et + profitez gratuitement de ses conseils personnalisés pour mener à + bien votre projet. +

+
+
+
+ (window.location.href = '/simulation')}> +

+ + Rénovation énergétique +

+
+ Image illustrant la rénovation énergétique +

+ Réduire ma facture d'énergie ou améliorer le confort de mon + logement +

+
+
+ + (window.location.href = '/simulation?objectif=mpa.montant') + } + > +

+ + Autonomie de la personne +

+
+ Logo MPA +

+ Adapter mon logement au vieillissement ou à une situation de + handicap +

+
+
+
+ + ) +} + +export const ChoixParcours = styled.label` + cursor: pointer; + background: #e8edff; + display: block; + text-decoration: none; + border: 2px solid white; + background: white; + border: 2px solid #dfdff1; + border-radius: 0.3rem; + padding: calc(0.3rem + 0.7vw) calc(0.5rem + 1vw); + h3 { + display: flex; + align-items: center; + color: var(--color); + font-size: 130%; + } + p { + color: black; + font-size: 90%; + } + img { + margin-right: 1rem; + } + &:hover { + border: 2px solid #004396; + } + & > div { + display: flex; + align-items: center; + } + input { + cursor: pointer; + margin-right: 0.6rem; + } +` diff --git a/app/aides/globales/page.tsx b/app/aides/globales/page.tsx new file mode 100644 index 00000000..0b4caa1a --- /dev/null +++ b/app/aides/globales/page.tsx @@ -0,0 +1,21 @@ +import { Main, Section } from '@/components/UI' +import { Metadata } from 'next/types' +import AidesGlobales from './AidesGlobales' + +export const metadata: Metadata = { + title: 'Estimer mes aides en ' + new Date().getFullYear(), + description: + 'Estimer mes aides en ' + + new Date().getFullYear() + + ": MaPrimeRénov', MaPrimeAdapt'.", +} + +export default function PageAidesGlobales() { + return ( +
+
+ +
+
+ ) +} diff --git "a/app/r\303\250gles/locavantage.publicodes" "b/app/r\303\250gles/locavantage.publicodes" new file mode 100644 index 00000000..bfd4c1f1 --- /dev/null +++ "b/app/r\303\250gles/locavantage.publicodes" @@ -0,0 +1,80 @@ +locavantage: + titre: Loc'Avantages + marque: Loc'Avantages + type: exonération fiscale + description: | + Loc'Avantages (ex-Louer abordable) est un dispositif qui vise à encourager les propriétaires bailleurs à produire du logement abordable pour les ménages modestes, grâce à une réduction d'impôt importante (et optionnellement, une aide financière aux travaux). + conditions éligibilités: | + - Louer un bien non meublé pour une durée minimale de 6 ans ; + - Louer, en tant que résidence principale, à un locataire ayant des ressources inférieures à des plafonds fixés par l'État ; + - Le locataire ne doit pas être un membre de votre famille ; + - Ne pas louer une passoire thermique, soit tout logement classé en étiquette F et G ; + - Il est possible de louer plusieurs logements via Loc'Avantages (une convention est obligatoire pour chaque logement). La réduction d'impôt suit les mêmes règles que les autres réductions d'impôt en faveur de l'investissement locatif : elle peut aller jusqu'à 10 000 € par an au plus. + - Loc'Avantages n'est pas cumulable pour un même logement avec d'autres dispositifs en faveur de l'investissement locatif tels que le « Pinel », le « Denormandie dans l'ancien » ou le « Louer abordable » (abattement forfaitaire sur les revenus fonciers) ; + lien: https://www.economie.gouv.fr/particuliers/locavantages-reduction-impot-location +locavantage . montant: + applicable si: condition éligibilité + formule: niveau loyer * loyer +locavantage . condition éligibilité: + toutes ces conditions: + - mpa . situation demandeur = 'bailleur' +locavantage . loyer: 500€ +locavantage . intermédiation locative: + par défaut: oui +locavantage . niveau loyer: + une possibilité parmi: + possibilités: + - 'loc 1' + - 'loc 2' + - 'loc 3' + par défaut: "'loc 1'" +locavantage . niveau loyer . loc 1: + titre: Loc 1 + plafond loyer: 15 % +locavantage . niveau loyer . loc 2: + titre: Loc 2 + plafond loyer: 30 % +locavantage . niveau loyer . loc 3: + titre: Loc 3 + plafond loyer: 45 % + +locavantage . taux: + variations: + - si: niveau loyer = 'loc 1' + alors: + variations: + - si: intermédiation locative + alors: 20 % + - sinon: 15 % + - si: niveau loyer = 'loc 2' + alors: + variations: + - si: intermédiation locative + alors: 40 % + - sinon: 35 % + - si: niveau loyer = 'loc 3' + alors: + variations: + - si: intermédiation locative + alors: 65 % + - sinon: 0 % + +locavantage . prime location: + applicable si: + toutes ces conditions: + - intermédiation locative + - une de ces conditions: + - niveau loyer = 'loc 2' + - niveau loyer = 'loc 3' + valeur: 1000 € +locavantage . prime mandat gestion: + applicable si: + toutes ces conditions: + - intermédiation locative + - une de ces conditions: + - niveau loyer = 'loc 2' + - niveau loyer = 'loc 3' + valeur: 2000 € +locavantage . prime petite surface: + applicable si: logement . surface < 40 + valeur: 1000 € diff --git "a/app/r\303\250gles/ma-prime-adapt.publicodes" "b/app/r\303\250gles/ma-prime-adapt.publicodes" new file mode 100644 index 00000000..9ddd83fe --- /dev/null +++ "b/app/r\303\250gles/ma-prime-adapt.publicodes" @@ -0,0 +1,179 @@ +mpa: + titre: MaPrime Adapt', l'aide pour l'adaptation à la perte d'autonomie + marque: MaPrime Adapt' + type: remboursement + description: | + MaPrimeAdapt' est l'aide dédiée aux personnes souhaitant adapter leur logement à leur perte d'autonomie, dans un contexte de transition démographique. + lien: https://france-renov.gouv.fr/aides/maprimeadapt +mpa . montant: + somme: + - occupant . montant + - bailleur . montant + - copropriété . montant +mpa . situation demandeur: + question: Quelle est votre situation ? + description: | + D'autres statuts d'occupation spécifiques peuvent également ouvrir des droits à l'aide MaPrimeAdapt' notamment pour les usufruitiers, les titulaires d'un droit d'usage et d'habitation, ou les occupants d'un logement en viager. + une possibilité parmi: + possibilités: + - 'occupant' + - 'bailleur' + - 'copropriété' + par défaut: "'occupant'" +mpa . situation demandeur . occupant: + valeur: "'occupant'" + titre: Propriétaire de mon logement ou locataire du parc privé +mpa . situation demandeur . bailleur: + valeur: "'bailleur'" + titre: Propriétaire d'un logement que vous louez ou que vous souhaitez mettre en location +mpa . situation demandeur . copropriété: + valeur: "'copropriété'" + titre: Syndicat de copropriété + +mpa . montant travaux: + question: Quel est le montant estimé de travaux pour l'adaptation du logement? + par défaut: 20000€ + unité: '€' + description: | + Les travaux éligibles sont: + - Adaptation de la salle de bain + - Installation d'une douche de plain-pied en remplacement d'une baignoire ou d'une douche non adaptée + - Rehaussement des toilettes + - Pose de carrelage ou revêtement antidérapant + - Pose de barres d'appui et mains courantes + - Accessibilité du logement + - Création d'une rampe d'accès + - Installation d'un monte-escalier + - Installation d'un ascenseur + - Installation d'un monte-personne ou plateforme élévatrice + - Amélioration de la circulation intérieure, élargissement de passages + - Aménagement d'une pièce + - Autres travaux y compris extérieurs + - Création d'une pièce supplémentaire + - Création d'une unité de vie + - Installation de meubles pour personnes à mobilité réduite + - Élargissement ou aménagement de parking + - Aménagement du cheminement extérieur + - Installation de volets roulants électriques + - Motorisation de volets roulants + - Autonomie et adaptation: autres besoins + +mpa . occupant: + titre: MaPrime Adapt' + marque: MaPrime Adapt' + type: remboursement + description: | + MaPrimeAdapt' est l'aide dédiée aux personnes souhaitant adapter leur logement à leur perte d'autonomie, dans un contexte de transition démographique. + lien: https://france-renov.gouv.fr/aides/maprimeadapt +mpa . occupant . condition age ou handicap: + question: | + Dans quelle situation se trouve le membre de votre foyer concerné ? + une possibilité parmi: + possibilités: + - Âgé de 60 à 69 ans sur conditions de GIR (groupe iso-ressources de 1 à 6) + - Âgé de 70 ans ou plus + - A un taux d'incapacité supérieur ou égal à 50% + - Bénéficie de la Prestation de Compensation du Handicap (PCH) + - 'aucune' +mpa . occupant . condition age ou handicap . aucune: + valeur: "'aucune'" + titre: Aucune des propositions ci-dessus +mpa . occupant . condition 15 ans: + question: Le logement a-t-il été construit il y a plus de 15 ans? + par défaut: oui +mpa . occupant . conditions de revenu: + une de ces conditions: + - ménage . revenu . classe = 'modeste' + - ménage . revenu . classe = 'très modeste' +mpa . occupant . condition éligibilité: + toutes ces conditions: + - situation demandeur = 'occupant' + - condition age ou handicap != 'aucune' + - conditions de revenu + - condition 15 ans +mpa . occupant . montant: + applicable si: condition éligibilité + produit: + - montant travaux + - pourcentage d'aide + unité: € + plafond: + produit: + - pourcentage d'aide + - montant travaux . plafond +mpa . occupant . pourcentage d'aide: + unité: '%' + variations: + - si: ménage . revenu . classe = 'très modeste' + alors: 70 % + - si: ménage . revenu . classe = 'modeste' + alors: 50 % + - sinon: 0 % +mpa . occupant . montant travaux: montant travaux +mpa . occupant . montant travaux . plafond: 22000 € + +mpa . bailleur: + titre: MaPrime Adapt' pour les propriétaires bailleurs + marque: MaPrime Adapt' + type: remboursement + description: | + MaPrimeAdapt' est l'aide dédiée aux propriétaires bailleurs souhaitant adapter leur logement à leur locataire, dans un contexte de transition démographique. + lien: https://france-renov.gouv.fr/aides/maprimeadapt +mpa . bailleur . condition éligibilité: + toutes ces conditions: + - situation demandeur = 'bailleur' + - condition locataire != 'aucune' + - est défini: logement . surface +mpa . bailleur . condition locataire: + question: Dans quelle situation se trouve votre locataire ? + une possibilité parmi: + possibilités: + - A une perte d'autonomie attestée par un GIR (groupe iso-ressources), + - A un taux d’incapacité supérieur ou égal à 50 % + - Bénéficie de la Prestation de Compensation du Handicap (PCH) + - 'aucune' +mpa . bailleur . condition locataire . aucune: + valeur: "'aucune'" + titre: Aucune des propositions ci-dessus +mpa . bailleur . montant: + applicable si: condition éligibilité + produit: + - montant travaux + - pourcentage d'aide + plafond: plafond + unité: € +mpa . bailleur . montant . plafond: + produit: + - le minimum de: + - logement . surface + - 80 + - pourcentage d'aide + - 750 € + unité: € +mpa . bailleur . pourcentage d'aide: 35 % + + +mpa . copropriété: + titre: MaPrime Adapt' pour les syndicats de copropriété + marque: MaPrime Adapt' + type: remboursement + description: | + MaPrimeAdapt' subventionne les travaux améliorant l'accessibilité de l'immeuble et portant sur les parties communes et équipements communs des copropriétés. Tous les travaux concourant à l'accessibilité des parties communes sont recevables. + conditions éligibilités: | + - Les travaux doivent être votés en assemblée générale et payés par l’ensemble des copropriétaires en fonction de leur quote-part. + - La demande d’aide doit être déposée par le syndicat des copropriétaires. + lien: https://france-renov.gouv.fr/aides/maprimeadapt +mpa . copropriété . condition éligibilité: + toutes ces conditions: + - situation demandeur = 'copropriété' +mpa . copropriété . montant: + applicable si: condition éligibilité + produit: + - montant travaux + - pourcentage d'aide + plafond: plafond + unité: € +mpa . copropriété . montant . plafond: 10000 € +mpa . copropriété . montant travaux: montant travaux +mpa . copropriété . montant travaux . plafond: 20000 € +mpa . copropriété . pourcentage d'aide: 50 % \ No newline at end of file diff --git "a/app/r\303\250gles/rules.ts" "b/app/r\303\250gles/rules.ts" index 999001c7..c3e92bbc 100644 --- "a/app/r\303\250gles/rules.ts" +++ "b/app/r\303\250gles/rules.ts" @@ -17,6 +17,8 @@ import denormandie from '@/app/règles/denormandie.yaml' import taxeFoncière from '@/app/règles/taxe-foncière.yaml' import aidesLocales from '@/app/règles/aides-locales.publicodes' import copropriete from '@/app/règles/copropriete.publicodes' +import mpa from '@/app/règles/ma-prime-adapt.publicodes' +import locavantage from '@/app/règles/locavantage.publicodes' /* TODO this doesn't work, investigate why, it should * @@ -53,6 +55,8 @@ const rules = { ...PTZ, ...PAR, ...copropriete, + ...mpa, + ...locavantage, } const rulesWithMarkdown = Object.fromEntries( diff --git a/app/simulation/Form.tsx b/app/simulation/Form.tsx index 8d00b642..1ac3c284 100644 --- a/app/simulation/Form.tsx +++ b/app/simulation/Form.tsx @@ -1,7 +1,7 @@ 'use client' import InputSwitch from '@/components/InputSwitch' -import { Section } from '@/components/UI' +import { CTA, CTAWrapper, Section } from '@/components/UI' import getNextQuestions from '@/components/publicodes/getNextQuestions' import { decodeDottedName, @@ -12,10 +12,13 @@ import useSetSearchParams from '@/components/useSetSearchParams' import Publicodes from 'publicodes' import { Suspense, useMemo } from 'react' import simulationConfig from './simulationConfig.yaml' +import simulationConfigAdapt from './simulationConfigAdapt.yaml' import useSyncUrlLocalStorage from '@/utils/useSyncUrlLocalStorage' import { useSearchParams } from 'next/navigation' import useIsInIframe from '@/components/useIsInIframe' -import LogoCompact from '@/components/LogoCompact' +import { No } from '@/components/ResultUI' +import { CustomQuestionWrapper } from '@/components/CustomQuestionUI' +import Link from 'next/link' function Form({ rules }) { const isInIframe = useIsInIframe() @@ -26,14 +29,18 @@ function Form({ rules }) { const { objectif, ...situationSearchParams } = searchParams const target = objectif ? decodeDottedName(objectif) : 'aides' + const config = + target == 'mpa . montant' + ? simulationConfigAdapt.situation || {} + : simulationConfig.situation || {} const engine = useMemo(() => new Publicodes(rules), [rules]) const answeredQuestions = [ - ...Object.keys(simulationConfig.situation || {}), + ...Object.keys(config), ...getAnsweredQuestions(situationSearchParams, rules), ] const situation = { - ...(simulationConfig.situation || {}), + ...config, ...getSituation(situationSearchParams, rules), } @@ -45,17 +52,47 @@ function Form({ rules }) { nextQuestions = getNextQuestions( evaluation, answeredQuestions, - simulationConfig, + target == 'mpa . montant' ? simulationConfigAdapt : simulationConfig, rules, ) const currentQuestion = nextQuestions[0], rule = currentQuestion && rules[currentQuestion] - const setSearchParams = useSetSearchParams() return ( <> + { + // Hack pour MPA: il est préférable de gérer l'inéligibilité autrement + target == 'mpa . montant' && !rule && ( + + + + history.back()}>⬅ Retour + + +
+ Eligibilité +
+

+ Vous n'êtes pas éligible au dispositif MaPrimeAdapt'. +

+
+ ) + } {rule && ( + ) +} diff --git a/app/simulation/simulationConfigAdapt.yaml b/app/simulation/simulationConfigAdapt.yaml new file mode 100644 index 00000000..e50d7202 --- /dev/null +++ b/app/simulation/simulationConfigAdapt.yaml @@ -0,0 +1,10 @@ +prioritaires: + - mpa . situation demandeur + - mpa . bailleur . condition locataire + - mpa . occupant . condition age ou handicap + - mpa . occupant . condition 15 ans + - logement . période de construction + - ménage . personnes + - ménage . commune + - ménage . revenu + - logement . surface diff --git a/components/InputSwitch.tsx b/components/InputSwitch.tsx index 43d71f19..98b22096 100644 --- a/components/InputSwitch.tsx +++ b/components/InputSwitch.tsx @@ -31,6 +31,10 @@ import EcoPTZ from './ampleur/EcoPTZ' import MPRA from './ampleur/MPRA' import PAR from './ampleur/PAR' import TaxeFoncière from './ampleur/TaxeFoncière' +import MaPrimeAdaptOccupant from './maPrimeAdapt/MaPrimeAdaptOccupant' +import MaPrimeAdaptBailleur from './maPrimeAdapt/MaPrimeAdaptBailleur' +import MaPrimeAdaptCopropriété from './maPrimeAdapt/MaPrimeAdaptCopropriété' +import LocAvantage from './LocAvantage' export default function InputSwitch({ currentQuestion: givenCurrentQuestion, @@ -52,6 +56,10 @@ export default function InputSwitch({ 'taxe foncière': TaxeFoncière, denormandie: Denormandie, "CEE . rénovation d'ampleur": CEEAmpleur, + 'mpa . occupant': MaPrimeAdaptOccupant, + 'mpa . bailleur': MaPrimeAdaptBailleur, + 'mpa . copropriété': MaPrimeAdaptCopropriété, + locavantage: LocAvantage, } const currentQuestion = searchParams.question ? decodeDottedName(searchParams.question) @@ -363,6 +371,47 @@ export default function InputSwitch({ ) } + // TODO: remove this Hack for MPA + if (currentQuestion === 'mpa . montant travaux') { + const dottedName = + situation['mpa . situation demandeur'] == '"bailleur"' + ? 'mpa . bailleur' + : situation['mpa . situation demandeur'] == '"occupant"' + ? 'mpa . occupant' + : 'mpa . copropriété' + const AideComponent = correspondance[dottedName] + return ( + <> + + {situation['mpa . situation demandeur'] == '"bailleur"' && ( + + )} + + ) + } + if (firstLevelCategory(currentQuestion) === 'projet') { return ( + +

Comment est calculée l'aide ?

+ +

+ En appliquant un loyer{' '} + {' '} + inférieur au marché pendant 6 ans{' '} + minimum et{' '} + {' '} + par un intermédiaire de gestion locative, vous bénéficiez d'une + réduction d'impôt calculée sur les revenus bruts du logement loué de{' '} + +

+ {primeLocation.nodeValue && ( + <> +

De plus, vous aurez droit à:

+
    +
  • + une prime de{' '} + {formatValue(primeLocation)} en + cas de recours à la location/sous-location +
  • +
  • + une prime de{' '} + {formatValue(primeGestion)} en + cas de recours à un mandat de gestion +
  • + {primeSurface.nodeValue && ( +
  • + une prime de{' '} + {formatValue(primeSurface)}{' '} + car le logement est inférieur à 40m² +
  • + )} +
+ + )} +
+ {expanded && ( + <> +

Les principales conditions d'éligibilité ?

+
+ + )} + + + ) +} diff --git a/components/ampleur/AideAmpleur.tsx b/components/ampleur/AideAmpleur.tsx index 9b5c5e62..15ab2a91 100644 --- a/components/ampleur/AideAmpleur.tsx +++ b/components/ampleur/AideAmpleur.tsx @@ -201,7 +201,7 @@ export const PrimeWithLabel = ({ montant, engine, dottedName, situation }) => {dottedName.includes('taxe foncière') ? situation['taxe foncière . commune . taux'] - : formatValue(montant)} + : formatValue(montant, { precision: 0 })} diff --git a/components/ampleur/AideCTAs.tsx b/components/ampleur/AideCTAs.tsx index 33e35806..169de2d9 100644 --- a/components/ampleur/AideCTAs.tsx +++ b/components/ampleur/AideCTAs.tsx @@ -22,20 +22,14 @@ export default function AideCTAs({ }) { const rawSearchParams = useSearchParams(), searchParams = Object.fromEntries(rawSearchParams.entries()) + const { objectif, ...situationSearchParams } = searchParams const detailUrl = setSearchParams( - { - ...encodeSituation( - { - ...getSituation(searchParams, rules), - ['details']: encodeDottedName(dottedName), - }, - false, - answeredQuestions, - ), - }, + encodeSituation({ + ['details']: encodeDottedName(dottedName), + }), 'url', - true, + false, ) const backUrl = @@ -47,6 +41,7 @@ export default function AideCTAs({ false, answeredQuestions, ), + ['objectif']: objectif, }, 'url', true, diff --git a/components/ampleur/AmpleurSummary.tsx b/components/ampleur/AmpleurSummary.tsx index c90a7d4f..f9c8235c 100644 --- a/components/ampleur/AmpleurSummary.tsx +++ b/components/ampleur/AmpleurSummary.tsx @@ -25,10 +25,12 @@ export const createExampleSituation = (engine, situation, extreme = false) => { engine.evaluate('projet . enveloppe estimée').nodeValue, 5, ), + 'mpa . montant travaux': 30000, ...situation, ...(extreme ? { 'projet . travaux': 999999, + 'mpa . montant travaux': 999999, 'projet . DPE visé': 1, 'denormandie . années de location': 12, } diff --git a/components/maPrimeAdapt/MaPrimeAdaptBailleur.tsx b/components/maPrimeAdapt/MaPrimeAdaptBailleur.tsx new file mode 100644 index 00000000..4d895982 --- /dev/null +++ b/components/maPrimeAdapt/MaPrimeAdaptBailleur.tsx @@ -0,0 +1,143 @@ +import AideAmpleur from '../ampleur/AideAmpleur' +import { createExampleSituation } from '../ampleur/AmpleurSummary' +import Input from '../Input' +import { encodeSituation } from '../publicodes/situationUtils' +import { Card, Section } from '../UI' +import Value from '../Value' +import checkIcon from '@/public/check.svg' + +export default function MaPrimeAdaptBailleur({ + engine, + situation, + setSearchParams, + answeredQuestions, + rules, + expanded, +}) { + const dottedName = 'mpa . bailleur' + const exampleSituation = createExampleSituation(engine, situation, false) + + return ( +
+ +

+ Il est obligatoire de signer une convention avec l'Agence nationale de + l'habitat (Anah) pour bénéficier de l'aide. +

+

Comment est calculée l'aide ?

+ +

+ En tant que propriétaire bailleur vous bénéficiez d'une aide de{' '} + {' '} + plafonnée à{' '} + {' '} + par logement (750€/m²{' '} + {situation['logement . surface'] > 80 ? ( + ' limité à 80m²' + ) : ( + <> + pour un logement de{' '} + + + )} + ) . +

+ +

+ Pour un montant de travaux de{' '} + + , je peux bénéficier de{' '} + {' '} + d'aide. +

+
+ {expanded && ( + <> +

Les principales conditions d'éligibilité ?

+
+ + )} + +
+ ) +} diff --git "a/components/maPrimeAdapt/MaPrimeAdaptCopropri\303\251t\303\251.tsx" "b/components/maPrimeAdapt/MaPrimeAdaptCopropri\303\251t\303\251.tsx" new file mode 100644 index 00000000..80aaf705 --- /dev/null +++ "b/components/maPrimeAdapt/MaPrimeAdaptCopropri\303\251t\303\251.tsx" @@ -0,0 +1,125 @@ +import AideAmpleur from '../ampleur/AideAmpleur' +import { createExampleSituation } from '../ampleur/AmpleurSummary' +import Input from '../Input' +import { encodeSituation } from '../publicodes/situationUtils' +import { Card, Section } from '../UI' +import Value from '../Value' +import checkIcon from '@/public/check.svg' + +export default function MaPrimeAdaptCopro({ + engine, + situation, + setSearchParams, + answeredQuestions, + rules, + expanded, +}) { + const dottedName = 'mpa . copropriété' + const exampleSituation = createExampleSituation(engine, situation, false) + const extremeSituation = createExampleSituation(engine, situation, true) + + return ( +
+ +

Comment est calculée l'aide ?

+ +

+ En tant que syndicat de copropriété vous bénéficiez d'une aide de{' '} + {' '} + avec un plafond de dépenses subventionnables de{' '} + + . +

+ +

+ Pour un montant de travaux de{' '} + + , je peux bénéficier de{' '} + {' '} + d'aide. +

+
+ {expanded && ( + <> +

Les principales conditions d'éligibilité ?

+
+ + )} + +
+ ) +} diff --git a/components/maPrimeAdapt/MaPrimeAdaptOccupant.tsx b/components/maPrimeAdapt/MaPrimeAdaptOccupant.tsx new file mode 100644 index 00000000..d3705820 --- /dev/null +++ b/components/maPrimeAdapt/MaPrimeAdaptOccupant.tsx @@ -0,0 +1,133 @@ +import AideAmpleur from '../ampleur/AideAmpleur' +import { createExampleSituation } from '../ampleur/AmpleurSummary' +import Input from '../Input' +import { encodeSituation } from '../publicodes/situationUtils' +import { Card, Section } from '../UI' +import Value from '../Value' +import checkIcon from '@/public/check.svg' + +export default function MaPrimeAdaptOccupant({ + engine, + situation, + setSearchParams, + answeredQuestions, + rules, + expanded, +}) { + const dottedName = 'mpa . occupant' + + const exampleSituation = createExampleSituation(engine, situation, false) + + return ( +
+ +

Comment est calculée l'aide ?

+ +

+ En tant que ménage{' '} + {' '} + vous bénéficiez d'une aide de{' '} + {' '} + dans la limite d'un plafond de travaux subventionnables de{' '} + + . +

+ +

+ Pour un montant de travaux de{' '} + + , je peux bénéficier de{' '} + {' '} + d'aide. +

+
+ {expanded && ( + <> +

Les principales conditions d'éligibilité ?

+
+ + )} + +
+ ) +} diff --git a/public/logo-mpa.png b/public/logo-mpa.png new file mode 100644 index 00000000..a2aa8ae5 Binary files /dev/null and b/public/logo-mpa.png differ