Refacto Plan
parent
25d06e5791
commit
7940d1f12e
|
@ -1,4 +1,5 @@
|
|||
import { Trans, useTranslation } from 'react-i18next'
|
||||
import styled from 'styled-components'
|
||||
|
||||
import { H1 } from '@/design-system/typography/heading'
|
||||
import { Link } from '@/design-system/typography/link'
|
||||
|
@ -10,9 +11,7 @@ import { TrackPage } from '../components/ATInternetTracking'
|
|||
import Meta from '../components/utils/Meta'
|
||||
|
||||
export default function Plan() {
|
||||
const { absoluteSitePaths } = useSitePaths()
|
||||
const { t } = useTranslation()
|
||||
const simulatorData = useSimulatorsData()
|
||||
|
||||
return (
|
||||
<>
|
||||
|
@ -29,166 +28,141 @@ export default function Plan() {
|
|||
<TrackPage chapter1="navigation" name="plan-du-site" />
|
||||
|
||||
<Ul size="XL" noMarker>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.index}>
|
||||
<Trans>Page d'accueil</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.assistants['choix-du-statut'].index}>
|
||||
<Trans>Créer une entreprise</Trans>
|
||||
</Link>
|
||||
|
||||
<Ul>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.assistants['choix-du-statut'].après}>
|
||||
<Trans>Après la création</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link
|
||||
to={
|
||||
absoluteSitePaths.assistants['choix-du-statut'].guideStatut
|
||||
.index
|
||||
}
|
||||
>
|
||||
<Trans>Choix du statut juridique</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
</Ul>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.assistants.index}>
|
||||
<Trans>Gérer mon activité</Trans>
|
||||
</Link>
|
||||
|
||||
<Ul>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.assistants.embaucher}>
|
||||
<Trans>Embaucher</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.assistants.sécuritéSociale}>
|
||||
<Trans>Protection sociale</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link
|
||||
to={
|
||||
absoluteSitePaths.assistants[
|
||||
'déclaration-charges-sociales-indépendant'
|
||||
]
|
||||
}
|
||||
>
|
||||
<Trans>
|
||||
Assistant à la détermination des charges sociales déductibles
|
||||
</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.assistants.formulaireMobilité}>
|
||||
<Trans>Demande de mobilité internationale</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
</Ul>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.simulateurs.index}>
|
||||
<Trans>Simulateurs disponibles</Trans>
|
||||
</Link>
|
||||
|
||||
<Ul>
|
||||
{Object.entries(absoluteSitePaths.simulateurs)
|
||||
.filter(([key]) => key in simulatorData)
|
||||
.map(([simulateurKey, simulateurPath]: [string, string]) => {
|
||||
return (
|
||||
<Li key={`list-item-${simulateurKey}`}>
|
||||
<Link to={simulateurPath}>
|
||||
{
|
||||
simulatorData[
|
||||
simulateurKey as keyof typeof simulatorData
|
||||
].title
|
||||
}
|
||||
</Link>
|
||||
</Li>
|
||||
)
|
||||
})}
|
||||
<Li key="list-item-comparaison">
|
||||
<Link to={absoluteSitePaths.simulateurs.comparaison}>
|
||||
<Trans>Assistant au choix du statut juridique</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li key="list-item-economie-collaborative">
|
||||
<Link
|
||||
to={absoluteSitePaths.assistants.économieCollaborative.index}
|
||||
>
|
||||
<Trans>
|
||||
Assistant à la déclaration des revenus des plateformes en
|
||||
ligne
|
||||
</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
</Ul>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.nouveautés}>
|
||||
<Trans>Nouveautés</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.budget}>
|
||||
<Trans>Budget</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.accessibilité}>
|
||||
<Trans>Accessibilité</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.stats}>
|
||||
<Trans>Statistiques</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.développeur.index}>
|
||||
<Trans>Outils pour les développeurs</Trans>
|
||||
</Link>
|
||||
|
||||
<Ul>
|
||||
<Li key="list-item-développeur-api">
|
||||
<Link to={absoluteSitePaths.développeur.api}>
|
||||
<Trans>API REST de simulation</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li key="list-item-développeur-iframe">
|
||||
<Link to={absoluteSitePaths.développeur.iframe}>
|
||||
<Trans>Intégrer le module Web</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li key="list-item-développeur-library">
|
||||
<Link to={absoluteSitePaths.développeur.library}>
|
||||
<Trans>
|
||||
Utiliser les calculs des simulateurs dans votre application
|
||||
</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<Li key="list-item-développeur-spreadsheet">
|
||||
<Link to={absoluteSitePaths.développeur.spreadsheet}>
|
||||
<Trans>Utiliser avec un tableur</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
</Ul>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.documentation.index}>
|
||||
<Trans>Documentation</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
<PlanContent />
|
||||
</Ul>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export const PlanContent = () => {
|
||||
const { absoluteSitePaths } = useSitePaths()
|
||||
const simulatorData = useSimulatorsData()
|
||||
|
||||
return (
|
||||
<>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.index}>
|
||||
<Trans>Page d'accueil</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.nouveautés}>
|
||||
<Trans>Nouveautés</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.simulateursEtAssistants}>
|
||||
<Trans>Simulateurs et Assistants</Trans>
|
||||
</Link>
|
||||
|
||||
<StyledUl>
|
||||
{Object.entries(simulatorData)
|
||||
.filter(
|
||||
([, { pathId }]) =>
|
||||
pathId.startsWith('simulateurs') &&
|
||||
(!pathId.startsWith('simulateurs.profession-libérale.') ||
|
||||
pathId === 'simulateurs.profession-libérale.index')
|
||||
)
|
||||
.map(([simulateurKey, { path, title }]) => {
|
||||
return (
|
||||
<Li key={`list-item-${simulateurKey}`}>
|
||||
<Link to={path}>{title}</Link>
|
||||
</Li>
|
||||
)
|
||||
})}
|
||||
|
||||
{Object.entries(simulatorData)
|
||||
.filter(
|
||||
([, { pathId }]) =>
|
||||
pathId.startsWith('assistants') &&
|
||||
pathId !== 'assistants.pour-mon-entreprise.index'
|
||||
)
|
||||
.map(([simulateurKey, { path, title }]) => {
|
||||
return (
|
||||
<Li key={`list-item-${simulateurKey}`}>
|
||||
<Link to={path}>{title}</Link>
|
||||
</Li>
|
||||
)
|
||||
})
|
||||
.reverse()}
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.assistants.embaucher}>
|
||||
<Trans>Les formalités pour embaucher</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.assistants.sécuritéSociale}>
|
||||
<Trans>Protection sociale</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
</StyledUl>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.documentation.index}>
|
||||
<Trans>Documentation</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.développeur.index}>
|
||||
<Trans>Outils pour les développeurs</Trans>
|
||||
</Link>
|
||||
|
||||
<StyledUl>
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.développeur.iframe}>
|
||||
<Trans>Intégrer le module Web</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.développeur.api}>
|
||||
<Trans>API REST de simulation</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.développeur.spreadsheet}>
|
||||
<Trans>Utiliser avec un tableur</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.développeur.library}>
|
||||
<Trans>
|
||||
Utiliser les calculs des simulateurs dans votre application
|
||||
</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
</StyledUl>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.accessibilité}>
|
||||
<Trans>Accessibilité</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.stats}>
|
||||
<Trans>Statistiques</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
|
||||
<Li>
|
||||
<Link to={absoluteSitePaths.budget}>
|
||||
<Trans>Budget</Trans>
|
||||
</Link>
|
||||
</Li>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
const StyledUl = styled(Ul)`
|
||||
margin-top: ${({ theme }) => theme.spacings.xs};
|
||||
`
|
||||
|
|
|
@ -26,7 +26,10 @@ export default function SimulateursEtAssistants() {
|
|||
const { t } = useTranslation()
|
||||
const { absoluteSitePaths } = useSitePaths()
|
||||
const simulators = useSimulatorsData()
|
||||
const titre = t('pages.simulateurs.accueil.titre', 'Simulateurs disponibles')
|
||||
const titre = t(
|
||||
'pages.simulateurs.accueil.titre',
|
||||
'Simulateurs et Assistants'
|
||||
)
|
||||
|
||||
return (
|
||||
<>
|
||||
|
@ -35,7 +38,7 @@ export default function SimulateursEtAssistants() {
|
|||
title={titre}
|
||||
description={t(
|
||||
'pages.simulateurs.accueil.description',
|
||||
'Tous les simulateurs sur ce site sont maintenus à jour avec les dernières évolutions législatives.'
|
||||
'Tous les simulateurs et assistants sur ce site sont maintenus à jour avec les dernières évolutions législatives.'
|
||||
)}
|
||||
ogImage={simulatorSvg}
|
||||
/>
|
||||
|
|
Loading…
Reference in New Issue