🎨 Prise en compte des retours
Réduit un peu l'emphase sur la section "aller plus loin". Je ne suis pas 100% satisfait de la présentation mais je pense qu'on peut merger et l'améliorer ultérieurement.pull/1512/head
parent
68f887efc8
commit
d3d1880c03
|
@ -7,7 +7,7 @@ export default function IntegrationTest() {
|
|||
const integrableModuleNames = useMemo(
|
||||
() =>
|
||||
Object.values(simulators)
|
||||
.map((s) => s.iframe)
|
||||
.map((s) => s.iframePath)
|
||||
.filter(Boolean),
|
||||
[simulators]
|
||||
)
|
||||
|
|
|
@ -19,11 +19,11 @@ export default function Iframes() {
|
|||
<div className="ui__ container">
|
||||
<Switch>
|
||||
{Object.values(simulators)
|
||||
.filter(({ iframe }) => !!iframe)
|
||||
.filter(({ iframePath }) => !!iframePath)
|
||||
.map((s) => (
|
||||
<Route
|
||||
key={s.iframe}
|
||||
path={`/iframes/${s.iframe}`}
|
||||
key={s.iframePath}
|
||||
path={`/iframes/${s.iframePath}`}
|
||||
render={() => (
|
||||
<>
|
||||
<Helmet>
|
||||
|
|
|
@ -115,13 +115,17 @@ export default function Simulateurs() {
|
|||
|
||||
export function SimulateurCard({
|
||||
small = false,
|
||||
noBorder = false,
|
||||
shortName,
|
||||
meta,
|
||||
path,
|
||||
tooltip,
|
||||
iframe,
|
||||
iframePath,
|
||||
icône,
|
||||
}: SimulatorData[keyof SimulatorData] & { small?: boolean }) {
|
||||
}: SimulatorData[keyof SimulatorData] & {
|
||||
small?: boolean
|
||||
noBorder?: boolean
|
||||
}) {
|
||||
const isIframe = useContext(IsEmbeddedContext)
|
||||
const name = (
|
||||
<span>
|
||||
|
@ -130,13 +134,17 @@ export function SimulateurCard({
|
|||
)
|
||||
return (
|
||||
<Link
|
||||
className={classnames('ui__ interactive card box light-border', {
|
||||
small,
|
||||
})}
|
||||
className={classnames(
|
||||
'ui__ interactive card box',
|
||||
!noBorder && 'light-border',
|
||||
{
|
||||
small,
|
||||
}
|
||||
)}
|
||||
key={path}
|
||||
to={{
|
||||
state: { fromSimulateurs: true },
|
||||
pathname: (isIframe && iframe) || path,
|
||||
pathname: (isIframe && iframePath) || path,
|
||||
}}
|
||||
>
|
||||
<div className={classnames('ui__ box-icon', { big: !small })}>
|
||||
|
|
|
@ -77,7 +77,7 @@ function ExerciceDate() {
|
|||
Exercice du{' '}
|
||||
<RuleInput
|
||||
dottedName={'entreprise . exercice . début'}
|
||||
showDefaultDateValue={true}
|
||||
showDefaultDateValue
|
||||
onChange={(x) =>
|
||||
dispatch(updateSituation('entreprise . exercice . début', x))
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ function ExerciceDate() {
|
|||
au{' '}
|
||||
<RuleInput
|
||||
dottedName={'entreprise . exercice . fin'}
|
||||
showDefaultDateValue={true}
|
||||
showDefaultDateValue
|
||||
onChange={(x) =>
|
||||
dispatch(updateSituation('entreprise . exercice . fin', x))
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import useSearchParamsSimulationSharing from 'Components/utils/useSearchParamsSi
|
|||
import useSimulationConfig from 'Components/utils/useSimulationConfig'
|
||||
import { default as React, useContext } from 'react'
|
||||
import emoji from 'react-easy-emoji'
|
||||
import { Trans, useTranslation } from 'react-i18next'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { Link, useLocation } from 'react-router-dom'
|
||||
import { TrackChapter } from '../../ATInternetTracking'
|
||||
import { SimulateurCard } from './Home'
|
||||
|
@ -20,7 +20,7 @@ export default function PageData({
|
|||
tracking,
|
||||
tooltip,
|
||||
description,
|
||||
iframe,
|
||||
iframePath,
|
||||
component: Component,
|
||||
seoExplanations,
|
||||
nextSteps,
|
||||
|
@ -86,7 +86,7 @@ export default function PageData({
|
|||
{!inIframe && (
|
||||
<>
|
||||
{seoExplanations}
|
||||
<NextSteps iframe={iframe} nextSteps={nextSteps} />
|
||||
<NextSteps iframePath={iframePath} nextSteps={nextSteps} />
|
||||
</>
|
||||
)}
|
||||
</ThemeColorsProvider>
|
||||
|
@ -95,14 +95,14 @@ export default function PageData({
|
|||
}
|
||||
|
||||
type NextStepsProps = {
|
||||
iframe?: string
|
||||
iframePath?: string
|
||||
nextSteps?: Array<SimulatorId>
|
||||
}
|
||||
|
||||
function NextSteps({ iframe, nextSteps }: NextStepsProps) {
|
||||
function NextSteps({ iframePath, nextSteps }: NextStepsProps) {
|
||||
const sitePaths = useContext(SitePathsContext)
|
||||
const simulators = useSimulatorsData()
|
||||
if (!iframe && !nextSteps) {
|
||||
if (!iframePath && !nextSteps) {
|
||||
return null
|
||||
}
|
||||
return (
|
||||
|
@ -110,23 +110,25 @@ function NextSteps({ iframe, nextSteps }: NextStepsProps) {
|
|||
<h3>Aller plus loin</h3>
|
||||
<div className="ui__ box-container">
|
||||
{nextSteps?.map((simulatorId) => (
|
||||
<SimulateurCard key={simulatorId} {...simulators[simulatorId]} />
|
||||
<SimulateurCard
|
||||
key={simulatorId}
|
||||
noBorder
|
||||
{...simulators[simulatorId]}
|
||||
/>
|
||||
))}
|
||||
{iframe && (
|
||||
{13 && (
|
||||
<Link
|
||||
className="ui__ interactive card box light-border"
|
||||
className="ui__ interactive card box"
|
||||
to={{
|
||||
pathname: sitePaths.integration.iframe,
|
||||
search: `?module=${iframe}`,
|
||||
search: `?module=${iframePath}`,
|
||||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('📱')}</div>
|
||||
<Trans i18nKey="pages.simulateurs.cartes.intégrer module web">
|
||||
<h3>Intégrer le module web</h3>
|
||||
<p className="ui__ notice">
|
||||
Ajouter ce simulateur sur votre site internet en un clic
|
||||
</p>
|
||||
</Trans>
|
||||
<h3>Intégrer le module web</h3>
|
||||
<p className="ui__ notice">
|
||||
Ajouter ce simulateur sur votre site internet en un clic
|
||||
</p>
|
||||
</Link>
|
||||
)}
|
||||
</div>
|
||||
|
|
|
@ -85,7 +85,7 @@ export type SimulatorData = Record<
|
|||
shortName: string
|
||||
path?: string
|
||||
tooltip?: string
|
||||
iframe?: string
|
||||
iframePath?: string
|
||||
title?: string
|
||||
description?: React.ReactNode
|
||||
config?: SimulationConfig
|
||||
|
@ -111,7 +111,7 @@ export function getSimulatorsData({
|
|||
'pages.simulateurs.salarié.title',
|
||||
'Simulateur de revenus pour salarié'
|
||||
),
|
||||
iframe: 'simulateur-embauche',
|
||||
iframePath: 'simulateur-embauche',
|
||||
meta: {
|
||||
description: t(
|
||||
'pages.simulateurs.salarié.meta.description',
|
||||
|
@ -208,7 +208,7 @@ export function getSimulatorsData({
|
|||
tracking: 'auto_entrepreneur',
|
||||
config: autoEntrepreneurConfig,
|
||||
icône: '🚶♂️',
|
||||
iframe: 'simulateur-autoentrepreneur',
|
||||
iframePath: 'simulateur-autoentrepreneur',
|
||||
meta: {
|
||||
description: t(
|
||||
'pages.simulateurs.auto-entrepreneur.meta.description',
|
||||
|
@ -315,7 +315,7 @@ export function getSimulatorsData({
|
|||
config: indépendantConfig,
|
||||
tracking: 'independant',
|
||||
icône: '🏃',
|
||||
iframe: 'simulateur-independant',
|
||||
iframePath: 'simulateur-independant',
|
||||
path: sitePaths.simulateurs.indépendant,
|
||||
shortName: t('pages.simulateurs.indépendant.shortname', 'Indépendant'),
|
||||
title: t(
|
||||
|
@ -339,7 +339,7 @@ export function getSimulatorsData({
|
|||
config: sasuConfig,
|
||||
tracking: 'dirigeant_sasu',
|
||||
icône: '👨✈️',
|
||||
iframe: 'simulateur-assimilesalarie',
|
||||
iframePath: 'simulateur-assimilesalarie',
|
||||
meta: {
|
||||
description: t(
|
||||
'pages.simulateurs.sasu.meta.description',
|
||||
|
@ -419,7 +419,7 @@ export function getSimulatorsData({
|
|||
'artiste-auteur': {
|
||||
icône: '👩🎨',
|
||||
tracking: 'artiste-auteur',
|
||||
iframe: 'simulateur-artiste-auteur',
|
||||
iframePath: 'simulateur-artiste-auteur',
|
||||
meta: {
|
||||
title: t(
|
||||
'pages.simulateurs.artiste-auteur.meta.title',
|
||||
|
@ -450,7 +450,7 @@ export function getSimulatorsData({
|
|||
config: chômageParielConfig,
|
||||
path: sitePaths.simulateurs['chômage-partiel'],
|
||||
icône: '😷',
|
||||
iframe: 'simulateur-chomage-partiel',
|
||||
iframePath: 'simulateur-chomage-partiel',
|
||||
meta: {
|
||||
description: t(
|
||||
'pages.simulateurs.chômage-partiel.meta.description',
|
||||
|
@ -646,7 +646,7 @@ export function getSimulatorsData({
|
|||
'Demande de mobilité internationale'
|
||||
),
|
||||
private: true,
|
||||
iframe: 'demande-mobilite',
|
||||
iframePath: 'demande-mobilite',
|
||||
},
|
||||
médecin: {
|
||||
config: médecinConfig,
|
||||
|
@ -655,7 +655,7 @@ export function getSimulatorsData({
|
|||
chapter3: 'medecin',
|
||||
},
|
||||
icône: '⚕️',
|
||||
iframe: 'médecin',
|
||||
iframePath: 'médecin',
|
||||
path: sitePaths.simulateurs['profession-libérale'].médecin,
|
||||
shortName: t('pages.simulateurs.médecin.shortname', 'Médecin'),
|
||||
title: t(
|
||||
|
@ -671,7 +671,7 @@ export function getSimulatorsData({
|
|||
chapter2: 'profession_liberale',
|
||||
chapter3: 'chirurgien_dentiste',
|
||||
},
|
||||
iframe: 'chirurgien-dentiste',
|
||||
iframePath: 'chirurgien-dentiste',
|
||||
path: sitePaths.simulateurs['profession-libérale']['chirurgien-dentiste'],
|
||||
shortName: t(
|
||||
'pages.simulateurs.chirurgien-dentiste.shortname',
|
||||
|
@ -690,7 +690,7 @@ export function getSimulatorsData({
|
|||
chapter2: 'profession_liberale',
|
||||
chapter3: 'sage_femme',
|
||||
},
|
||||
iframe: 'sage-femme',
|
||||
iframePath: 'sage-femme',
|
||||
path: sitePaths.simulateurs['profession-libérale']['sage-femme'],
|
||||
shortName: t('pages.simulateurs.sage-femme.shortname', 'Sage-femme'),
|
||||
title: t(
|
||||
|
@ -710,7 +710,7 @@ export function getSimulatorsData({
|
|||
'Infirmiers, masseurs-kinésithérapeutes, pédicures-podologues, orthophonistes et orthoptistes'
|
||||
),
|
||||
icône: '🩹',
|
||||
iframe: 'auxiliaire-medical',
|
||||
iframePath: 'auxiliaire-medical',
|
||||
path: sitePaths.simulateurs['profession-libérale'].auxiliaire,
|
||||
shortName: t('pages.simulateurs.auxiliaire.shortname', 'Auxiliaire méd.'),
|
||||
title: t(
|
||||
|
@ -726,7 +726,7 @@ export function getSimulatorsData({
|
|||
chapter3: 'avocat',
|
||||
},
|
||||
icône: '⚖', // j'ai hesité avec 🥑 mais pas envie de me prendre un procès
|
||||
iframe: 'avocat',
|
||||
iframePath: 'avocat',
|
||||
path: sitePaths.simulateurs['profession-libérale'].avocat,
|
||||
shortName: t('pages.simulateurs.avocat.shortname', 'Avocat'),
|
||||
title: t(
|
||||
|
@ -742,7 +742,7 @@ export function getSimulatorsData({
|
|||
chapter3: 'expert_comptable',
|
||||
},
|
||||
icône: '🧮',
|
||||
iframe: 'expert-comptable',
|
||||
iframePath: 'expert-comptable',
|
||||
path: sitePaths.simulateurs['profession-libérale']['expert-comptable'],
|
||||
shortName: t(
|
||||
'pages.simulateurs.expert-comptable.shortname',
|
||||
|
@ -770,7 +770,7 @@ export function getSimulatorsData({
|
|||
"Calcul du revenu net pour les indépendants en libéral à l'impôt sur le revenu (IR, BNC)"
|
||||
),
|
||||
},
|
||||
iframe: 'profession-liberale',
|
||||
iframePath: 'profession-liberale',
|
||||
path: sitePaths.simulateurs['profession-libérale'].index,
|
||||
shortName: t(
|
||||
'pages.simulateurs.profession-libérale.shortname',
|
||||
|
@ -784,7 +784,7 @@ export function getSimulatorsData({
|
|||
},
|
||||
pamc: {
|
||||
private: true,
|
||||
iframe: 'pamc',
|
||||
iframePath: 'pamc',
|
||||
tracking: {},
|
||||
title: t(
|
||||
'pages.simulateurs.pamc.title',
|
||||
|
@ -822,7 +822,7 @@ export function getSimulatorsData({
|
|||
color: '#11965f',
|
||||
},
|
||||
path: sitePaths.simulateurs['aides-embauche'],
|
||||
iframe: 'aides-embauche',
|
||||
iframePath: 'aides-embauche',
|
||||
shortName: t(
|
||||
'pages.simulateurs.aides-embauche.meta.title',
|
||||
'Aides à l’embauche'
|
||||
|
@ -864,7 +864,7 @@ export function getSimulatorsData({
|
|||
icône: '🗓',
|
||||
tracking: 'impot-societe',
|
||||
path: sitePaths.simulateurs.is,
|
||||
iframe: 'impot-societe',
|
||||
iframePath: 'impot-societe',
|
||||
meta: {
|
||||
title: t('pages.simulateurs.is.meta.title', 'Impôt sur les sociétés'),
|
||||
description: t(
|
||||
|
|
|
@ -340,7 +340,7 @@ function formatMonth(date: string | Date) {
|
|||
}
|
||||
|
||||
function getChapter2(s: SimulatorData[keyof SimulatorData]): Chapter2 | '' {
|
||||
if (s.iframe === 'pamc') {
|
||||
if (s.iframePath === 'pamc') {
|
||||
return 'PAM'
|
||||
}
|
||||
if (!s.tracking) {
|
||||
|
|
|
@ -33,8 +33,8 @@ function IntegrationCustomizer() {
|
|||
const integrableModuleNames = useMemo(
|
||||
() =>
|
||||
Object.values(simulators)
|
||||
.filter((s) => s.iframe && !s.private)
|
||||
.map((s) => s.iframe),
|
||||
.filter((s) => s.iframePath && !s.private)
|
||||
.map((s) => s.iframePath),
|
||||
[simulators]
|
||||
)
|
||||
const defaultModuleFromUrl =
|
||||
|
|
Loading…
Reference in New Issue