Transform and refacto gérer to assistants
|
@ -17,27 +17,26 @@ import {
|
|||
useSetupSafeSituation,
|
||||
} from '@/components/utils/EngineContext'
|
||||
import { Container, Spacing } from '@/design-system/layout'
|
||||
import { useAxeCoreAnalysis } from '@/hooks/useAxeCoreAnalysis'
|
||||
import { useGetFullURL } from '@/hooks/useGetFullURL'
|
||||
import { useIsEmbedded } from '@/hooks/useIsEmbedded'
|
||||
import { useSaveAndRestoreScrollPosition } from '@/hooks/useSaveAndRestoreScrollPosition'
|
||||
import Accessibilité from '@/pages/Accessibilité'
|
||||
import Budget from '@/pages/Budget/Budget'
|
||||
import Créer from '@/pages/Creer'
|
||||
import IntegrationTest from '@/pages/Dev/IntegrationTest'
|
||||
import Documentation from '@/pages/Documentation'
|
||||
import Iframes from '@/pages/Iframes'
|
||||
import Landing from '@/pages/Landing/Landing'
|
||||
import Nouveautés from '@/pages/Nouveautes/Nouveautes'
|
||||
import Offline from '@/pages/Offline'
|
||||
import Plan from '@/pages/Plan'
|
||||
import Simulateurs from '@/pages/Simulateurs'
|
||||
import Stats from '@/pages/Stats/LazyStats'
|
||||
import Assistants from '@/pages/assistants/index'
|
||||
import Integration from '@/pages/integration/index'
|
||||
import { useSitePaths } from '@/sitePaths'
|
||||
|
||||
import { useAxeCoreAnalysis } from '../hooks/useAxeCoreAnalysis'
|
||||
import { useGetFullURL } from '../hooks/useGetFullURL'
|
||||
import { useSaveAndRestoreScrollPosition } from '../hooks/useSaveAndRestoreScrollPosition'
|
||||
import Accessibilité from '../pages/Accessibilité'
|
||||
import Budget from '../pages/Budget/Budget'
|
||||
import Créer from '../pages/Creer'
|
||||
import IntegrationTest from '../pages/Dev/IntegrationTest'
|
||||
import Documentation from '../pages/Documentation'
|
||||
import Iframes from '../pages/Iframes'
|
||||
import Landing from '../pages/Landing/Landing'
|
||||
import Nouveautés from '../pages/Nouveautes/Nouveautes'
|
||||
import Offline from '../pages/Offline'
|
||||
import Plan from '../pages/Plan'
|
||||
import Simulateurs from '../pages/Simulateurs'
|
||||
import Stats from '../pages/Stats/LazyStats'
|
||||
import Assistants from '../pages/assistants'
|
||||
import Gérer from '../pages/gerer'
|
||||
import Integration from '../pages/integration/index'
|
||||
import { useSitePaths } from '../sitePaths'
|
||||
import Provider, { ProviderProps } from './Provider'
|
||||
|
||||
type RootProps = {
|
||||
|
@ -89,14 +88,16 @@ const Redirections = ({ children }: { children: React.ReactNode }) => {
|
|||
'/gérer/aide-declaration-independants/beta',
|
||||
'/manage/declaration-aid-independent/beta',
|
||||
],
|
||||
to: absoluteSitePaths.gérer.déclarationIndépendant.index,
|
||||
to: absoluteSitePaths.assistants.déclarationIndépendant.index,
|
||||
},
|
||||
{
|
||||
paths: [
|
||||
'/gérer/aide-declaration-independants',
|
||||
'/manage/declaration-aid-independent',
|
||||
],
|
||||
to: absoluteSitePaths.gérer['déclaration-charges-sociales-indépendant'],
|
||||
to: absoluteSitePaths.assistants[
|
||||
'déclaration-charges-sociales-indépendant'
|
||||
],
|
||||
},
|
||||
] satisfies { paths: string[]; to: string }[]
|
||||
|
||||
|
@ -169,10 +170,6 @@ const App = () => {
|
|||
path={relativeSitePaths.créer.index + '/*'}
|
||||
element={<Créer />}
|
||||
/>
|
||||
<Route
|
||||
path={relativeSitePaths.gérer.index + '/*'}
|
||||
element={<Gérer />}
|
||||
/>
|
||||
<Route
|
||||
path={relativeSitePaths.assistants.index + '/*'}
|
||||
element={<Assistants />}
|
||||
|
|
|
@ -29,7 +29,7 @@ export const useFeedback = () => {
|
|||
// Exclure les pages et sous-pages
|
||||
![
|
||||
absoluteSitePaths.documentation.index,
|
||||
absoluteSitePaths.gérer.index,
|
||||
absoluteSitePaths.assistants.index,
|
||||
absoluteSitePaths.créer.index,
|
||||
absoluteSitePaths.nouveautés,
|
||||
absoluteSitePaths.stats,
|
||||
|
|
|
@ -1492,6 +1492,29 @@ pages:
|
|||
to:<1></1>Défenseur des droits<3></3>Libre réponse 71120<5></5>75342 Paris
|
||||
CEDEX 07</2></21><22>Updated on 29/01/2021</22>
|
||||
assistants:
|
||||
pour-mon-entreprise:
|
||||
avertissement-entreprise-non-traitée: <0>There is not yet an income simulator
|
||||
for your type of business on this site.</0><1>If you would like us to
|
||||
develop a new simulator, please leave us a message by clicking on the
|
||||
"<1></1>" button on the right of your screen.</1>
|
||||
description: Do you want to pay yourself an income or hire someone? You will
|
||||
have to pay contributions and taxes. Anticipate their amounts thanks to
|
||||
the simulators adapted to your situation.
|
||||
info:
|
||||
PdE: "<0>Discuss with the consultant who can help you according to your
|
||||
problem</0><1><0>You wish to :</0><1><0>recruit, train your
|
||||
employees</0><1>finance your investment projects</1><2>solve a cash
|
||||
flow problem</2><3>be advised on labor law</3><4>develop your
|
||||
commercial activity</4><5>sell on the internet</5><6>sell or take over
|
||||
a company</6><7>improve health and safety at work</7><8>enter into an
|
||||
ecological and CSR transition process</8></1></1><2><0>Quick and easy
|
||||
public service: you are called back by THE advisor who can help
|
||||
you.</0></2><3>More than 40 public partners are mobilized to assist
|
||||
you according to your problem.<1></1>The competent advisor near you
|
||||
will call you back within 5 days.</3>"
|
||||
meta:
|
||||
description: Simulators and wizards adapted to your company
|
||||
title: Manage my business
|
||||
recherche-code-ape:
|
||||
description: This wizard allows you to quickly find the APE code (main activity)
|
||||
that corresponds to your activity. This code is assigned by INSEE to
|
||||
|
|
|
@ -1300,6 +1300,31 @@ pages:
|
|||
71120<5></5>75342 Paris CEDEX 07</2></21><22>Mis à jour le
|
||||
29/01/2021</22>
|
||||
assistants:
|
||||
pour-mon-entreprise:
|
||||
avertissement-entreprise-non-traitée: <0>Il n'existe pas encore de simulateur de
|
||||
revenu pour votre type d'entreprise sur ce site.</0><1>Si vous souhaitez
|
||||
que nous développions un nouveau simulateur, laissez-nous message en
|
||||
cliquant sur le bouton "<1></1>" à droite de votre écran.</1>
|
||||
description: Vous souhaitez vous verser un revenu ou embaucher ? Vous aurez à
|
||||
payer des cotisations et des impôts. Anticipez leurs montants grâce aux
|
||||
simulateurs adaptés à votre situation.
|
||||
info:
|
||||
PdE: "<0>Échanger avec le conseiller qui peut vous aider selon votre
|
||||
problématique</0><1><0>Vous souhaitez :</0><1><0>recruter, former vos
|
||||
salariés</0><1>financer vos projets d'investissement</1><2>résoudre un
|
||||
problème de trésorerie</2><3>être conseillé(e) en droit du
|
||||
travail</3><4>développer votre activité commerciale</4><5>vendre sur
|
||||
internet</5><6>vendre ou reprendre une entreprise</6><7>améliorer la
|
||||
santé et sécurité au travail</7><8>entrer dans une démarche de
|
||||
transition écologique & RSE</8></1></1><2><0>Service public simple et
|
||||
rapide : vous êtes rappelé(e) par LE conseiller qui peut vous
|
||||
aider.</0></2><3>Plus de 40 partenaires publics sont mobilisés pour
|
||||
vous accompagner en fonction de votre problématique.<1></1>Le
|
||||
conseiller compétent proche de chez vous vous rappelle sous 5
|
||||
jours.</3>"
|
||||
meta:
|
||||
description: Simulateurs et assistants adaptés à votre entreprise
|
||||
title: Gérer mon activité
|
||||
recherche-code-ape:
|
||||
description: Cet assistant vous permet de trouver rapidement le code APE
|
||||
(activité principale exercée) qui correspond à votre activité. Ce code
|
||||
|
|
|
@ -48,9 +48,11 @@ export default function SearchOrCreate() {
|
|||
<AnswerGroup role="list">
|
||||
<Button
|
||||
role="link"
|
||||
to={generatePath(absoluteSitePaths.gérer.entreprise, {
|
||||
entreprise: companySIREN as string,
|
||||
})}
|
||||
to={generatePath(
|
||||
absoluteSitePaths.assistants['pour-mon-entreprise']
|
||||
.entreprise,
|
||||
{ entreprise: companySIREN as string }
|
||||
)}
|
||||
data-test-id="cta-see-custom-simulators"
|
||||
aria-label={t(
|
||||
'Voir les simulateurs personnalisés, accéder à la page de gestion de mon entreprise'
|
||||
|
@ -145,12 +147,13 @@ function useHandleCompanySubmit() {
|
|||
}
|
||||
setEntreprise(établissement)
|
||||
const entreprise = établissement.siren
|
||||
const path = generatePath(absoluteSitePaths.gérer.entreprise, {
|
||||
entreprise,
|
||||
})
|
||||
const path = generatePath(
|
||||
absoluteSitePaths.assistants['pour-mon-entreprise'].entreprise,
|
||||
{ entreprise }
|
||||
)
|
||||
navigate(path)
|
||||
},
|
||||
[navigate, setEntreprise, absoluteSitePaths.gérer.entreprise]
|
||||
[absoluteSitePaths.assistants, navigate, setEntreprise]
|
||||
)
|
||||
|
||||
return handleCompanySubmit
|
||||
|
|
|
@ -64,7 +64,7 @@ export default function Plan() {
|
|||
</Li>
|
||||
<Li>
|
||||
<H3 as="h2">
|
||||
<HeaderLink to={absoluteSitePaths.gérer.index}>
|
||||
<HeaderLink to={absoluteSitePaths.assistants.index}>
|
||||
<Trans>Gérer mon activité</Trans>
|
||||
</HeaderLink>
|
||||
</H3>
|
||||
|
@ -72,14 +72,14 @@ export default function Plan() {
|
|||
<Ul>
|
||||
<Li>
|
||||
<H3>
|
||||
<Link to={absoluteSitePaths.gérer.embaucher}>
|
||||
<Link to={absoluteSitePaths.assistants.embaucher}>
|
||||
<Trans>Embaucher</Trans>
|
||||
</Link>
|
||||
</H3>
|
||||
</Li>
|
||||
<Li>
|
||||
<H3>
|
||||
<Link to={absoluteSitePaths.gérer.sécuritéSociale}>
|
||||
<Link to={absoluteSitePaths.assistants.sécuritéSociale}>
|
||||
<Trans>Protection sociale</Trans>
|
||||
</Link>
|
||||
</H3>
|
||||
|
@ -88,7 +88,7 @@ export default function Plan() {
|
|||
<H3>
|
||||
<Link
|
||||
to={
|
||||
absoluteSitePaths.gérer[
|
||||
absoluteSitePaths.assistants[
|
||||
'déclaration-charges-sociales-indépendant'
|
||||
]
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ export default function Plan() {
|
|||
</Li>
|
||||
<Li>
|
||||
<H3>
|
||||
<Link to={absoluteSitePaths.gérer.formulaireMobilité}>
|
||||
<Link to={absoluteSitePaths.assistants.formulaireMobilité}>
|
||||
<Trans>Demande de mobilité internationale</Trans>
|
||||
</Link>
|
||||
</H3>
|
||||
|
|
|
@ -56,7 +56,7 @@ export default function Simulateurs() {
|
|||
|
||||
{pathname !== absoluteSitePaths.simulateurs.index &&
|
||||
(lastState?.fromGérer ? (
|
||||
<Link to={absoluteSitePaths.gérer.index} noUnderline>
|
||||
<Link to={absoluteSitePaths.assistants.index} noUnderline>
|
||||
<span aria-hidden>←</span> <Trans>Retour à mon activité</Trans>
|
||||
</Link>
|
||||
) : lastState?.fromCréer ? (
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import { ImmutableType } from '@/types/utils'
|
||||
|
||||
import { choixStatutConfig } from '../Creer/choix-statut/config'
|
||||
import { déclarationChargesSocialesIndépendantConfig } from '../assistants/declaration-charges-sociales-independant/config'
|
||||
import { déclarationRevenuIndépendantBetaConfig } from '../assistants/declaration-revenu-independants/config'
|
||||
import { demandeMobilitéConfig } from '../assistants/demande-mobilité/config'
|
||||
import { pourMonEntrepriseConfig } from '../assistants/pour-mon-entreprise/config'
|
||||
import { rechercheCodeApeConfig } from '../assistants/recherche-code-ape/config'
|
||||
import { déclarationChargesSocialesIndépendantConfig } from '../gerer/declaration-charges-sociales-independant/config'
|
||||
import { déclarationRevenuIndépendantBetaConfig } from '../gerer/declaration-revenu-independants/config'
|
||||
import { demandeMobilitéConfig } from '../gerer/demande-mobilité/config'
|
||||
import { artisteAuteurConfig } from './artiste-auteur/config'
|
||||
import { autoEntrepreneurConfig } from './auto-entrepreneur/config'
|
||||
import { auxiliaireMédicalConfig } from './auxiliaire-médical/config'
|
||||
|
@ -32,12 +33,13 @@ import { sasuConfig } from './sasu/config'
|
|||
import { économieCollaborativeConfig } from './économie-collaborative/config'
|
||||
|
||||
/**
|
||||
* Contient l'intégralité des données concernant les différents simulateurs
|
||||
* Contient l'intégralité des données concernant les différents simulateurs et assistants
|
||||
* sans dépendance qui compliquerait leur import dans le script de mise à jour
|
||||
* des données pour Algolia.
|
||||
*/
|
||||
const getMetadataSrc = (params: SimulatorsDataParams) => {
|
||||
const data = {
|
||||
// simulateurs:
|
||||
...salariéConfig(params),
|
||||
...entrepriseIndividuelleConfig(params),
|
||||
...eirlConfig(params),
|
||||
|
@ -50,9 +52,6 @@ const getMetadataSrc = (params: SimulatorsDataParams) => {
|
|||
...comparaisonStatutsConfig(params),
|
||||
...économieCollaborativeConfig(params),
|
||||
...choixStatutConfig(params),
|
||||
...déclarationChargesSocialesIndépendantConfig(params),
|
||||
...déclarationRevenuIndépendantBetaConfig(params),
|
||||
...demandeMobilitéConfig(params),
|
||||
...pharmacienConfig(params),
|
||||
...médecinConfig(params),
|
||||
...chirurgienDentisteConfig(params),
|
||||
|
@ -66,7 +65,13 @@ const getMetadataSrc = (params: SimulatorsDataParams) => {
|
|||
...coûtCréationEntrepriseConfig(params),
|
||||
...impôtSociétéConfig(params),
|
||||
...cipavConfig(params),
|
||||
|
||||
// assistants:
|
||||
...déclarationChargesSocialesIndépendantConfig(params),
|
||||
...déclarationRevenuIndépendantBetaConfig(params),
|
||||
...demandeMobilitéConfig(params),
|
||||
...rechercheCodeApeConfig(params),
|
||||
...pourMonEntrepriseConfig(params),
|
||||
} as const
|
||||
|
||||
return data satisfies ImmutableType<Record<string, PageConfig>>
|
||||
|
|
|
@ -51,7 +51,7 @@ export default function SalariéSimulation() {
|
|||
Vous pouvez maintenant concrétiser votre projet d'embauche.
|
||||
</Trans>
|
||||
<ButtonContainer>
|
||||
<Button to={absoluteSitePaths.gérer.embaucher}>
|
||||
<Button to={absoluteSitePaths.assistants.embaucher}>
|
||||
<Trans i18nKey="simulation-end.cta">
|
||||
Connaître les démarches
|
||||
</Trans>
|
||||
|
|
|
@ -14,7 +14,9 @@ export function DeclarationIndedependantsCard() {
|
|||
'Déclaration de revenus (indépendants)'
|
||||
)}
|
||||
ctaLabel={t('gérer.choix.déclaration.cta', 'Remplir ma déclaration')}
|
||||
to={absoluteSitePaths.gérer['déclaration-charges-sociales-indépendant']}
|
||||
to={
|
||||
absoluteSitePaths.assistants['déclaration-charges-sociales-indépendant']
|
||||
}
|
||||
>
|
||||
<Trans i18nKey="gérer.choix.déclaration.body">
|
||||
Calculez facilement les montants des charges sociales à reporter dans
|
|
@ -8,12 +8,14 @@ export function déclarationChargesSocialesIndépendantConfig({
|
|||
}: SimulatorsDataParams) {
|
||||
return config({
|
||||
id: 'déclaration-charges-sociales-indépendant',
|
||||
path: sitePaths.gérer['déclaration-charges-sociales-indépendant'],
|
||||
pathId: 'assistants.déclaration-charges-sociales-indépendant',
|
||||
path: sitePaths.assistants['déclaration-charges-sociales-indépendant'],
|
||||
iframePath: 'déclaration-charges-sociales-indépendant',
|
||||
icône: '📑',
|
||||
tracking: {
|
||||
chapter1: 'gerer',
|
||||
chapter2: 'declaration_charges_sociales_independant',
|
||||
},
|
||||
icône: '📑',
|
||||
meta: {
|
||||
description: t(
|
||||
'pages.gérer.declaration_charges_sociales_indépendant.meta.description',
|
||||
|
@ -24,12 +26,10 @@ export function déclarationChargesSocialesIndépendantConfig({
|
|||
'Détermination des charges sociales déductibles'
|
||||
),
|
||||
},
|
||||
pathId: 'gérer.déclaration-charges-sociales-indépendant',
|
||||
shortName: t(
|
||||
'pages.gérer.declaration_charges_sociales_indépendant.shortname',
|
||||
'Détermination des charges sociales déductibles'
|
||||
),
|
||||
iframePath: 'déclaration-charges-sociales-indépendant',
|
||||
title: t(
|
||||
'pages.gérer.declaration_charges_sociales_indépendant.title',
|
||||
'Assistant à la détermination des charges sociales déductibles'
|
|
@ -48,7 +48,9 @@ const config: SimulationConfig = {
|
|||
export default function AideDéclarationIndépendant() {
|
||||
const { absoluteSitePaths } = useSitePaths()
|
||||
useSimulationConfig({
|
||||
path: absoluteSitePaths.gérer['déclaration-charges-sociales-indépendant'],
|
||||
path: absoluteSitePaths.assistants[
|
||||
'déclaration-charges-sociales-indépendant'
|
||||
],
|
||||
config,
|
||||
autoloadLastSimulation: true,
|
||||
})
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
@ -179,7 +179,8 @@ export function DéclarationRevenuSection({ progress }: { progress: number }) {
|
|||
size="XL"
|
||||
isDisabled={progress !== 1}
|
||||
to={
|
||||
absoluteSitePaths.gérer.déclarationIndépendant.cotisations
|
||||
absoluteSitePaths.assistants.déclarationIndépendant
|
||||
.cotisations
|
||||
}
|
||||
>
|
||||
Continuer vers l'estimation des cotisations pour 2022
|
|
@ -41,7 +41,7 @@ export default function NotHandledCase({
|
|||
</Grid>
|
||||
<Grid item lg={2} />
|
||||
<Grid item md="auto">
|
||||
<Button color="tertiary" to={absoluteSitePaths.gérer.index}>
|
||||
<Button color="tertiary" to={absoluteSitePaths.assistants.index}>
|
||||
Découvrir les simulateur et assistant pour mon entreprise
|
||||
</Button>
|
||||
</Grid>
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
@ -9,8 +9,8 @@ export function déclarationRevenuIndépendantBetaConfig({
|
|||
return config({
|
||||
beta: true,
|
||||
id: 'déclaration-revenu-indépendant',
|
||||
pathId: 'gérer.déclarationIndépendant.index',
|
||||
path: sitePaths.gérer.déclarationIndépendant.index,
|
||||
pathId: 'assistants.déclarationIndépendant.index',
|
||||
path: sitePaths.assistants.déclarationIndépendant.index,
|
||||
iframePath: 'déclaration-revenu-indépendant',
|
||||
icône: '✍️',
|
||||
tracking: {
|
|
@ -192,7 +192,8 @@ export default function Accueil() {
|
|||
<Button
|
||||
size="XL"
|
||||
to={
|
||||
absoluteSitePaths.gérer.déclarationIndépendant.imposition
|
||||
absoluteSitePaths.assistants.déclarationIndépendant
|
||||
.imposition
|
||||
}
|
||||
>
|
||||
Continuer avec cette entreprise
|
|
@ -349,7 +349,8 @@ function ResultSection() {
|
|||
>
|
||||
<Button
|
||||
to={
|
||||
absoluteSitePaths.gérer.déclarationIndépendant.déclaration
|
||||
absoluteSitePaths.assistants.déclarationIndépendant
|
||||
.déclaration
|
||||
}
|
||||
onPress={() => {
|
||||
dispatchValue('non', 'DRI . déclaration revenus manuelle')
|
||||
|
@ -389,7 +390,7 @@ function ResultSection() {
|
|||
size="XS"
|
||||
color="tertiary"
|
||||
to={
|
||||
absoluteSitePaths.gérer[
|
||||
absoluteSitePaths.assistants[
|
||||
'déclaration-charges-sociales-indépendant'
|
||||
]
|
||||
}
|
||||
|
@ -424,7 +425,8 @@ function ResultSection() {
|
|||
light
|
||||
size="XS"
|
||||
to={
|
||||
absoluteSitePaths.gérer.déclarationIndépendant.déclaration
|
||||
absoluteSitePaths.assistants.déclarationIndépendant
|
||||
.déclaration
|
||||
}
|
||||
onPress={() => {
|
||||
dispatchValue('oui', 'DRI . déclaration revenus manuelle')
|
||||
|
@ -475,7 +477,7 @@ function ResultSection() {
|
|||
light
|
||||
size="XS"
|
||||
to={
|
||||
absoluteSitePaths.gérer[
|
||||
absoluteSitePaths.assistants[
|
||||
'déclaration-charges-sociales-indépendant'
|
||||
]
|
||||
}
|
|
@ -41,7 +41,7 @@ const config: SimulationConfig = {
|
|||
export default function AideDéclarationIndépendant() {
|
||||
const { absoluteSitePaths } = useSitePaths()
|
||||
useSimulationConfig({
|
||||
path: absoluteSitePaths.gérer.déclarationIndépendant.index,
|
||||
path: absoluteSitePaths.assistants.déclarationIndépendant.index,
|
||||
config,
|
||||
autoloadLastSimulation: true,
|
||||
})
|
||||
|
@ -96,7 +96,7 @@ export default function AideDéclarationIndépendant() {
|
|||
|
||||
function useSteps() {
|
||||
const sitePaths =
|
||||
useSitePaths().relativeSitePaths.gérer.déclarationIndépendant
|
||||
useSitePaths().relativeSitePaths.assistants.déclarationIndépendant
|
||||
const { t } = useTranslation()
|
||||
const step1Progress = useProgress(Step1Objectifs)
|
||||
const step2Progress = useProgress(Step2Objectifs)
|
|
@ -4,12 +4,16 @@ import { SimulatorsDataParams } from '../../Simulateurs/configs/types'
|
|||
|
||||
export function demandeMobilitéConfig({ t, sitePaths }: SimulatorsDataParams) {
|
||||
return config({
|
||||
private: true,
|
||||
id: 'demande-mobilité',
|
||||
pathId: 'assistants.formulaireMobilité',
|
||||
iframePath: 'demande-mobilite',
|
||||
path: sitePaths.assistants.formulaireMobilité,
|
||||
icône: '🧳',
|
||||
tracking: {
|
||||
chapter1: 'gerer',
|
||||
chapter2: 'demande_mobilite',
|
||||
},
|
||||
icône: '🧳',
|
||||
meta: {
|
||||
title: t(
|
||||
'pages.gérer.demande-mobilité.meta.title',
|
||||
|
@ -20,7 +24,6 @@ export function demandeMobilitéConfig({ t, sitePaths }: SimulatorsDataParams) {
|
|||
"Formulaire interactif à compléter en cas d'exercice d'une activité professionnelle à l'étranger"
|
||||
),
|
||||
},
|
||||
pathId: 'gérer.formulaireMobilité',
|
||||
shortName: t(
|
||||
'pages.gérer.demande-mobilité.shortname',
|
||||
'Demande de mobilité internationale'
|
||||
|
@ -29,9 +32,6 @@ export function demandeMobilitéConfig({ t, sitePaths }: SimulatorsDataParams) {
|
|||
'pages.gérer.demande-mobilité.title',
|
||||
'Demande de mobilité internationale'
|
||||
),
|
||||
private: true,
|
||||
iframePath: 'demande-mobilite',
|
||||
path: sitePaths.gérer.formulaireMobilité,
|
||||
component: FormulaireMobilitéIndépendant,
|
||||
} as const)
|
||||
}
|
|
@ -1,32 +1,73 @@
|
|||
import { Route, Routes } from 'react-router-dom'
|
||||
import { Trans } from 'react-i18next'
|
||||
import { Route, Routes, useLocation } from 'react-router-dom'
|
||||
|
||||
import { TrackChapter } from '@/components/ATInternetTracking'
|
||||
import PageData from '@/components/PageData'
|
||||
import Route404 from '@/components/Route404'
|
||||
import { ScrollToTop } from '@/components/utils/Scroll'
|
||||
import { Link } from '@/design-system/typography/link'
|
||||
import useSimulatorsData from '@/hooks/useSimulatorsData'
|
||||
import { useSitePaths } from '@/sitePaths'
|
||||
|
||||
import SimulateurPage from '../../components/PageData'
|
||||
import Embaucher from './embaucher'
|
||||
import SocialSecurity from './sécurité-sociale'
|
||||
|
||||
export default function Assistants() {
|
||||
const sitePaths = useSitePaths()
|
||||
const simulatorsData = useSimulatorsData()
|
||||
export default function Gérer() {
|
||||
const { relativeSitePaths, absoluteSitePaths } = useSitePaths()
|
||||
const location = useLocation()
|
||||
const simulateurs = useSimulatorsData()
|
||||
|
||||
const routes = Object.entries(simulatorsData)
|
||||
.filter(([, simu]) => simu.pathId.startsWith('assistants.'))
|
||||
.map(([, simu]) => (
|
||||
<Route
|
||||
key={simu.path}
|
||||
path={simu.path.replace(
|
||||
sitePaths.absoluteSitePaths.assistants.index,
|
||||
''
|
||||
)}
|
||||
element={<SimulateurPage />}
|
||||
/>
|
||||
))
|
||||
const back = (
|
||||
<Link noUnderline to={absoluteSitePaths.assistants.index}>
|
||||
<span aria-hidden>←</span> <Trans>Retour à mon activité</Trans>
|
||||
</Link>
|
||||
)
|
||||
|
||||
return (
|
||||
<Routes>
|
||||
{routes}
|
||||
<Route path="*" element={<Route404 />} />
|
||||
</Routes>
|
||||
<>
|
||||
<ScrollToTop key={location.pathname} />
|
||||
|
||||
<TrackChapter chapter1="gerer">
|
||||
<Routes>
|
||||
{/* <Route index element={<Home />} /> Navigate to /simu-et-assist */}
|
||||
<Route
|
||||
path={relativeSitePaths.assistants.sécuritéSociale}
|
||||
element={
|
||||
<>
|
||||
{back}
|
||||
<SocialSecurity />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path={relativeSitePaths.assistants.embaucher}
|
||||
element={
|
||||
<>
|
||||
{back}
|
||||
<Embaucher />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
{Object.entries(simulateurs)
|
||||
.filter(([, simu]) => simu.pathId.startsWith('assistants.'))
|
||||
.map(([, simu]) => (
|
||||
<Route
|
||||
key={simu.path}
|
||||
path={
|
||||
simu.path.replace(absoluteSitePaths.assistants.index, '') +
|
||||
'/*'
|
||||
}
|
||||
element={
|
||||
<>
|
||||
{back}
|
||||
<PageData />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
))}
|
||||
<Route path="*" element={<Route404 />} />
|
||||
</Routes>
|
||||
</TrackChapter>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ export function DemarcheEmbaucheCard() {
|
|||
'gérer.ressources.embaucher.cta',
|
||||
'Voir la liste des démarches'
|
||||
)}
|
||||
to={absoluteSitePaths.gérer.embaucher}
|
||||
to={absoluteSitePaths.assistants.embaucher}
|
||||
>
|
||||
<Trans i18nKey="gérer.ressources.embaucher.body">
|
||||
La liste des choses à faire pour être sûr de ne rien oublier lors de
|
|
@ -14,7 +14,7 @@ export function MobiliteCard() {
|
|||
'Exporter son activité en Europe'
|
||||
)}
|
||||
ctaLabel={t('gérer.ressources.export.cta', 'Remplir le formulaire')}
|
||||
to={absoluteSitePaths.gérer.formulaireMobilité}
|
||||
to={absoluteSitePaths.assistants.formulaireMobilité}
|
||||
>
|
||||
<Trans i18nKey="gérer.ressources.export.body">
|
||||
Le formulaire pour effectuer une demande de mobilité internationale
|
|
@ -17,7 +17,7 @@ export function SecuriteSocialeCard() {
|
|||
</h3>
|
||||
}
|
||||
ctaLabel={t('gérer.ressources.sécuritéSociale.cta', 'Lire le guide')}
|
||||
to={absoluteSitePaths.gérer.sécuritéSociale}
|
||||
to={absoluteSitePaths.assistants.sécuritéSociale}
|
||||
>
|
||||
<Trans i18nKey="gérer.ressources.sécuritéSociale.body">
|
||||
A quoi servent les cotisations sociales ? Le point sur le système de
|
|
@ -0,0 +1,37 @@
|
|||
import { config } from '@/pages/Simulateurs/configs/config'
|
||||
import { SimulatorsDataParams } from '@/pages/Simulateurs/configs/types'
|
||||
|
||||
import PourMonEntreprise from '.'
|
||||
|
||||
export function pourMonEntrepriseConfig({
|
||||
t,
|
||||
sitePaths,
|
||||
}: SimulatorsDataParams) {
|
||||
return config({
|
||||
id: 'pour-mon-entreprise',
|
||||
pathId: 'assistants.pour-mon-entreprise.index',
|
||||
path: sitePaths.assistants['pour-mon-entreprise'].index,
|
||||
iframePath: 'pour-mon-entreprise',
|
||||
icône: '🏢',
|
||||
title: t(
|
||||
'pages.assistants.pour-mon-entreprise.title',
|
||||
'Gérer mon activité'
|
||||
),
|
||||
shortName: t(
|
||||
'pages.assistants.pour-mon-entreprise.title',
|
||||
'Gérer mon activité'
|
||||
),
|
||||
meta: {
|
||||
title: t(
|
||||
'pages.assistants.pour-mon-entreprise.title',
|
||||
'Gérer mon activité'
|
||||
),
|
||||
description: t(
|
||||
'pages.assistants.pour-mon-entreprise.meta.description',
|
||||
'Simulateurs et assistants adaptés à votre entreprise'
|
||||
),
|
||||
},
|
||||
tracking: {},
|
||||
component: PourMonEntreprise as () => JSX.Element, // avoid types loop error
|
||||
} as const)
|
||||
}
|
Before Width: | Height: | Size: 744 B After Width: | Height: | Size: 744 B |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
@ -9,7 +9,6 @@ import {
|
|||
Route,
|
||||
Routes,
|
||||
generatePath,
|
||||
useLocation,
|
||||
useParams,
|
||||
} from 'react-router-dom'
|
||||
import styled from 'styled-components'
|
||||
|
@ -18,13 +17,12 @@ import {
|
|||
FabriqueSocialEntreprise,
|
||||
searchDenominationOrSiren,
|
||||
} from '@/api/fabrique-social'
|
||||
import { TrackChapter, TrackPage } from '@/components/ATInternetTracking'
|
||||
import { TrackPage } from '@/components/ATInternetTracking'
|
||||
import {
|
||||
Condition,
|
||||
WhenApplicable,
|
||||
WhenNotApplicable,
|
||||
} from '@/components/EngineValue'
|
||||
import PageData from '@/components/PageData'
|
||||
import PageHeader from '@/components/PageHeader'
|
||||
import { PlaceDesEntreprisesButton } from '@/components/PlaceDesEntreprises'
|
||||
import { CompanyDetails } from '@/components/company/Details'
|
||||
|
@ -33,7 +31,6 @@ import { FromTop } from '@/components/ui/animate'
|
|||
import { ForceThemeProvider } from '@/components/utils/DarkModeContext'
|
||||
import DefaultHelmet from '@/components/utils/DefaultHelmet'
|
||||
import { useEngine } from '@/components/utils/EngineContext'
|
||||
import { ScrollToTop } from '@/components/utils/Scroll'
|
||||
import { Markdown } from '@/components/utils/markdown'
|
||||
import { Message, Popover } from '@/design-system'
|
||||
import { Button } from '@/design-system/buttons'
|
||||
|
@ -41,163 +38,51 @@ import { Emoji } from '@/design-system/emoji'
|
|||
import { Container, Grid, Spacing } from '@/design-system/layout'
|
||||
import { Strong } from '@/design-system/typography'
|
||||
import { H2, H3 } from '@/design-system/typography/heading'
|
||||
import { Link } from '@/design-system/typography/link'
|
||||
import { Body, Intro } from '@/design-system/typography/paragraphs'
|
||||
import { useQuestionList } from '@/hooks/useQuestionList'
|
||||
import { useSetEntreprise } from '@/hooks/useSetEntreprise'
|
||||
import useSimulationConfig from '@/hooks/useSimulationConfig'
|
||||
import useSimulatorsData, { SimulatorData } from '@/hooks/useSimulatorsData'
|
||||
import { SimulateurCard } from '@/pages/Simulateurs/Home'
|
||||
import { useSitePaths } from '@/sitePaths'
|
||||
import { resetCompany } from '@/store/actions/companyActions'
|
||||
import { companySituationSelector } from '@/store/selectors/simulationSelectors'
|
||||
import { evaluateQuestion } from '@/utils'
|
||||
|
||||
import { SimulateurCard } from '../Simulateurs/Home'
|
||||
import { AnnuaireEntreprises } from './components/AnnuaireEntreprises'
|
||||
import { AutoEntrepreneurCard } from './components/AutoEntrepeneurCard'
|
||||
import { DemarcheEmbaucheCard } from './components/DemarcheEmbauche'
|
||||
import { MobiliteCard } from './components/MobiliteCard'
|
||||
import { SecuriteSocialeCard } from './components/SecuriteSocialeCard'
|
||||
import forms from './components/forms.svg'
|
||||
import growth from './components/growth.svg'
|
||||
import Embaucher from './embaucher'
|
||||
import SocialSecurity from './sécurité-sociale'
|
||||
import { AnnuaireEntreprises } from './AnnuaireEntreprises'
|
||||
import { AutoEntrepreneurCard } from './AutoEntrepeneurCard'
|
||||
import { DemarcheEmbaucheCard } from './DemarcheEmbauche'
|
||||
import { MobiliteCard } from './MobiliteCard'
|
||||
import { SecuriteSocialeCard } from './SecuriteSocialeCard'
|
||||
import forms from './forms.svg'
|
||||
import growth from './growth.svg'
|
||||
|
||||
export default function Gérer() {
|
||||
const { relativeSitePaths, absoluteSitePaths } = useSitePaths()
|
||||
const location = useLocation()
|
||||
const simulateurs = useSimulatorsData()
|
||||
|
||||
const back = (
|
||||
<Link noUnderline to={absoluteSitePaths.gérer.index}>
|
||||
<span aria-hidden>←</span> <Trans>Retour à mon activité</Trans>
|
||||
</Link>
|
||||
)
|
||||
export default function PourMonEntrepriseHome() {
|
||||
const { relativeSitePaths } = useSitePaths()
|
||||
|
||||
return (
|
||||
<>
|
||||
<ScrollToTop key={location.pathname} />
|
||||
|
||||
<TrackChapter chapter1="gerer">
|
||||
<Routes>
|
||||
<Route index element={<Home />} />
|
||||
<Route path={relativeSitePaths.gérer.entreprise} element={<Home />} />
|
||||
<Route
|
||||
path={relativeSitePaths.gérer.sécuritéSociale}
|
||||
element={
|
||||
<>
|
||||
{back}
|
||||
<SocialSecurity />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path={relativeSitePaths.gérer.embaucher}
|
||||
element={
|
||||
<>
|
||||
{back}
|
||||
<Embaucher />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
{[
|
||||
simulateurs['déclaration-charges-sociales-indépendant'],
|
||||
simulateurs['déclaration-revenu-indépendant'],
|
||||
simulateurs['demande-mobilité'],
|
||||
].map((p) => (
|
||||
<Route
|
||||
key={p.shortName}
|
||||
path={p.path.replace(absoluteSitePaths.gérer.index, '') + '/*'}
|
||||
element={
|
||||
<>
|
||||
{back}
|
||||
<PageData />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
))}
|
||||
</Routes>
|
||||
</TrackChapter>
|
||||
</>
|
||||
<Routes>
|
||||
<Route index element={<PourMonEntreprise />} />
|
||||
<Route
|
||||
path={relativeSitePaths.assistants['pour-mon-entreprise'].entreprise}
|
||||
element={<PourMonEntreprise />}
|
||||
/>
|
||||
</Routes>
|
||||
)
|
||||
}
|
||||
|
||||
const infereSimulateurRevenuFromSituation = (
|
||||
engine: Engine<DottedName>
|
||||
): keyof SimulatorData | null => {
|
||||
if (
|
||||
engine.evaluate('entreprise . catégorie juridique . EI . auto-entrepreneur')
|
||||
.nodeValue
|
||||
) {
|
||||
return 'auto-entrepreneur'
|
||||
}
|
||||
|
||||
if (
|
||||
engine.evaluate('entreprise . catégorie juridique . SARL . EURL').nodeValue
|
||||
) {
|
||||
return 'eurl'
|
||||
}
|
||||
if (
|
||||
engine.evaluate('entreprise . catégorie juridique . SAS . SASU').nodeValue
|
||||
) {
|
||||
return 'sasu'
|
||||
}
|
||||
if (engine.evaluate('entreprise . catégorie juridique . EI').nodeValue) {
|
||||
return 'eirl'
|
||||
}
|
||||
if (engine.evaluate('entreprise . catégorie juridique . EI').nodeValue) {
|
||||
const métierProfessionLibéral = engine.evaluate(
|
||||
'dirigeant . indépendant . PL . métier'
|
||||
).nodeValue
|
||||
switch (métierProfessionLibéral) {
|
||||
case 'avocat':
|
||||
return 'avocat'
|
||||
case 'expert-comptable':
|
||||
return 'expert-comptable'
|
||||
case 'santé . médecin':
|
||||
return 'médecin'
|
||||
case 'santé . chirurgien-dentiste':
|
||||
return 'chirurgien-dentiste'
|
||||
case 'santé . sage-femme':
|
||||
return 'sage-femme'
|
||||
case 'santé . auxiliaire médical':
|
||||
return 'auxiliaire-médical'
|
||||
case 'santé . pharmacien':
|
||||
return 'pharmacien'
|
||||
}
|
||||
if (engine.evaluate('dirigeant . indépendant . PL').nodeValue) {
|
||||
return 'profession-libérale'
|
||||
}
|
||||
|
||||
return 'entreprise-individuelle'
|
||||
}
|
||||
const régimeSocial = engine.evaluate('dirigeant . régime social').nodeValue
|
||||
|
||||
if (régimeSocial === 'indépendant') {
|
||||
return 'indépendant'
|
||||
}
|
||||
|
||||
// TODO : assimilé-salarié
|
||||
// if (
|
||||
// régimeSocial === 'assimilé-salarié'
|
||||
// ) {
|
||||
// return 'assimilé-salarié'
|
||||
// }
|
||||
return null
|
||||
}
|
||||
|
||||
function Home() {
|
||||
function PourMonEntreprise() {
|
||||
const { t, i18n } = useTranslation()
|
||||
const dirigeantSimulateur = infereSimulateurRevenuFromSituation(useEngine())
|
||||
const simulateurs = useSimulatorsData()
|
||||
const { absoluteSitePaths } = useSitePaths()
|
||||
const engine = useEngine()
|
||||
const dispatch = useDispatch()
|
||||
const engineSiren = engine.evaluate('entreprise . SIREN').nodeValue
|
||||
const prevSiren = useRef(engineSiren)
|
||||
const [overwrite, setOverwrite] = useState(engineSiren === undefined)
|
||||
const { param, entreprise, entrepriseNotFound, entreprisePending } =
|
||||
useSirenFromParams(overwrite)
|
||||
const gérerPath = useGérerPath()
|
||||
const gérerPath = usePourMonEntreprisePath()
|
||||
|
||||
const setEntreprise = useSetEntreprise()
|
||||
|
||||
|
@ -219,25 +104,25 @@ function Home() {
|
|||
gérerPath &&
|
||||
(param == null || (entreprise?.siren && entreprise.siren !== param))
|
||||
) {
|
||||
return <Navigate to={gérerPath} />
|
||||
return <Navigate to={gérerPath} replace />
|
||||
}
|
||||
|
||||
if (
|
||||
(!param && !engineSiren) ||
|
||||
(!engineSiren && !overwrite && prevSiren.current) ||
|
||||
(param && entrepriseNotFound) ||
|
||||
(entreprise && !overwrite && !engineSiren)
|
||||
) {
|
||||
return <Navigate to={absoluteSitePaths.index} />
|
||||
return <Navigate to={'/'} />
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<DefaultHelmet>
|
||||
<title>{t('gérer.titre', 'Gérer mon activité')}</title>
|
||||
<meta name="robots" content="noindex" />
|
||||
</DefaultHelmet>
|
||||
|
||||
{param && param !== engineSiren && !overwrite && (
|
||||
{param && engineSiren && param !== engineSiren && !overwrite && (
|
||||
<PopoverOverwriteSituation
|
||||
onOverwrite={() => {
|
||||
dispatch(resetCompany())
|
||||
|
@ -247,12 +132,9 @@ function Home() {
|
|||
)}
|
||||
|
||||
<TrackPage name="accueil" />
|
||||
<PageHeader
|
||||
picture={growth}
|
||||
titre={<Trans i18nKey="gérer.titre">Gérer mon activité</Trans>}
|
||||
>
|
||||
<PageHeader picture={growth}>
|
||||
<Intro>
|
||||
<Trans i18nKey="gérer.description">
|
||||
<Trans i18nKey="pages.assistants.pour-mon-entreprise.description">
|
||||
Vous souhaitez vous verser un revenu ou embaucher ? Vous aurez à
|
||||
payer des cotisations et des impôts. Anticipez leurs montants grâce
|
||||
aux simulateurs adaptés à votre situation.
|
||||
|
@ -296,7 +178,7 @@ function Home() {
|
|||
`}
|
||||
>
|
||||
<Message border={false} type="info">
|
||||
<Trans i18nKey="gérer.avertissement-entreprise-non-traitée">
|
||||
<Trans i18nKey="pages.assistants.pour-mon-entreprise.avertissement-entreprise-non-traitée">
|
||||
<Intro>
|
||||
Il n'existe pas encore de simulateur de revenu pour votre
|
||||
type d'entreprise sur ce site.
|
||||
|
@ -349,7 +231,7 @@ function Home() {
|
|||
</FromTop>
|
||||
)}
|
||||
|
||||
<Trans i18nKey="gérer.PdE">
|
||||
<Trans i18nKey="pages.assistants.pour-mon-entreprise.info.PdE">
|
||||
<H2>
|
||||
Échanger avec le conseiller qui peut vous aider selon votre
|
||||
problématique
|
||||
|
@ -440,10 +322,10 @@ const UlInColumns = styled.ul`
|
|||
}
|
||||
`
|
||||
|
||||
export const AskCompanyMissingDetails = () => {
|
||||
const AskCompanyMissingDetails = () => {
|
||||
const { absoluteSitePaths } = useSitePaths()
|
||||
useSimulationConfig({
|
||||
path: absoluteSitePaths.gérer.index,
|
||||
path: absoluteSitePaths.assistants.index,
|
||||
config: configCompanyDetails,
|
||||
})
|
||||
|
||||
|
@ -483,6 +365,70 @@ export const AskCompanyMissingDetails = () => {
|
|||
)
|
||||
}
|
||||
|
||||
const infereSimulateurRevenuFromSituation = (
|
||||
engine: Engine<DottedName>
|
||||
): keyof SimulatorData | null => {
|
||||
if (
|
||||
engine.evaluate('entreprise . catégorie juridique . EI . auto-entrepreneur')
|
||||
.nodeValue
|
||||
) {
|
||||
return 'auto-entrepreneur'
|
||||
}
|
||||
|
||||
if (
|
||||
engine.evaluate('entreprise . catégorie juridique . SARL . EURL').nodeValue
|
||||
) {
|
||||
return 'eurl'
|
||||
}
|
||||
if (
|
||||
engine.evaluate('entreprise . catégorie juridique . SAS . SASU').nodeValue
|
||||
) {
|
||||
return 'sasu'
|
||||
}
|
||||
if (engine.evaluate('entreprise . catégorie juridique . EI').nodeValue) {
|
||||
return 'eirl'
|
||||
}
|
||||
if (engine.evaluate('entreprise . catégorie juridique . EI').nodeValue) {
|
||||
const métierProfessionLibéral = engine.evaluate(
|
||||
'dirigeant . indépendant . PL . métier'
|
||||
).nodeValue
|
||||
switch (métierProfessionLibéral) {
|
||||
case 'avocat':
|
||||
return 'avocat'
|
||||
case 'expert-comptable':
|
||||
return 'expert-comptable'
|
||||
case 'santé . médecin':
|
||||
return 'médecin'
|
||||
case 'santé . chirurgien-dentiste':
|
||||
return 'chirurgien-dentiste'
|
||||
case 'santé . sage-femme':
|
||||
return 'sage-femme'
|
||||
case 'santé . auxiliaire médical':
|
||||
return 'auxiliaire-médical'
|
||||
case 'santé . pharmacien':
|
||||
return 'pharmacien'
|
||||
}
|
||||
if (engine.evaluate('dirigeant . indépendant . PL').nodeValue) {
|
||||
return 'profession-libérale'
|
||||
}
|
||||
|
||||
return 'entreprise-individuelle'
|
||||
}
|
||||
const régimeSocial = engine.evaluate('dirigeant . régime social').nodeValue
|
||||
|
||||
if (régimeSocial === 'indépendant') {
|
||||
return 'indépendant'
|
||||
}
|
||||
|
||||
// TODO : assimilé-salarié
|
||||
// if (
|
||||
// régimeSocial === 'assimilé-salarié'
|
||||
// ) {
|
||||
// return 'assimilé-salarié'
|
||||
// }
|
||||
return null
|
||||
}
|
||||
|
||||
const PopoverOverwriteSituation = ({
|
||||
onOverwrite,
|
||||
onCancel,
|
||||
|
@ -552,16 +498,17 @@ const PopoverOverwriteSituation = ({
|
|||
)
|
||||
}
|
||||
|
||||
const useGérerPath = () => {
|
||||
const usePourMonEntreprisePath = () => {
|
||||
const { absoluteSitePaths } = useSitePaths()
|
||||
const company = useSelector(companySituationSelector)
|
||||
|
||||
if (company['entreprise . SIREN']) {
|
||||
const siren = (company['entreprise . SIREN'] as string).replace(/'/g, '')
|
||||
|
||||
return generatePath(absoluteSitePaths.gérer.entreprise, {
|
||||
entreprise: siren,
|
||||
})
|
||||
return generatePath(
|
||||
absoluteSitePaths.assistants['pour-mon-entreprise'].entreprise,
|
||||
{ entreprise: siren }
|
||||
)
|
||||
}
|
||||
|
||||
return null
|
||||
|
@ -572,27 +519,17 @@ const useSirenFromParams = (overwrite: boolean) => {
|
|||
const [entreprise, setEntreprise] = useState<FabriqueSocialEntreprise | null>(
|
||||
null
|
||||
)
|
||||
const engine = useEngine()
|
||||
const engineSiren = engine.evaluate('entreprise . SIREN').nodeValue
|
||||
|
||||
const [entreprisePending, setEntreprisePending] = useState(false)
|
||||
const [entrepriseNotFound, setEntrepriseNotFound] = useState(false)
|
||||
|
||||
const pass = param && param !== engineSiren && !overwrite
|
||||
|
||||
const once = useRef(false)
|
||||
useEffect(() => {
|
||||
let canceled = false
|
||||
if (!param || pass || once.current) {
|
||||
if (!param || !overwrite) {
|
||||
return
|
||||
}
|
||||
once.current = true
|
||||
setEntreprisePending(true)
|
||||
searchDenominationOrSiren(param)
|
||||
.then((entreprises) => {
|
||||
if (canceled) {
|
||||
return
|
||||
}
|
||||
setEntreprisePending(false)
|
||||
if (!entreprises || !entreprises.length) {
|
||||
return setEntrepriseNotFound(true)
|
||||
|
@ -600,19 +537,12 @@ const useSirenFromParams = (overwrite: boolean) => {
|
|||
setEntreprise(entreprises[0])
|
||||
})
|
||||
.catch((error) => {
|
||||
if (canceled) {
|
||||
return
|
||||
}
|
||||
setEntrepriseNotFound(true)
|
||||
setEntreprisePending(false)
|
||||
// eslint-disable-next-line no-console
|
||||
console.error(error)
|
||||
})
|
||||
|
||||
return () => {
|
||||
canceled = true
|
||||
}
|
||||
}, [setEntreprise, param, pass])
|
||||
}, [param, overwrite])
|
||||
|
||||
return {
|
||||
param,
|
|
@ -35,9 +35,12 @@ const rawSitePathsFr = {
|
|||
minorityDirector: 'gérant-majoritaire-ou-minoritaire',
|
||||
},
|
||||
},
|
||||
gérer: {
|
||||
index: 'gérer',
|
||||
entreprise: ':entreprise',
|
||||
assistants: {
|
||||
index: 'assistants',
|
||||
'pour-mon-entreprise': {
|
||||
index: 'pour-mon-entreprise',
|
||||
entreprise: ':entreprise',
|
||||
},
|
||||
embaucher: 'embaucher',
|
||||
sécuritéSociale: 'sécurité-sociale',
|
||||
'déclaration-charges-sociales-indépendant':
|
||||
|
@ -50,9 +53,6 @@ const rawSitePathsFr = {
|
|||
cotisations: 'cotisations',
|
||||
},
|
||||
formulaireMobilité: 'demande-mobilité',
|
||||
},
|
||||
assistants: {
|
||||
index: 'assistants',
|
||||
'recherche-code-ape': 'recherche-code-ape',
|
||||
},
|
||||
simulateurs: {
|
||||
|
@ -120,9 +120,12 @@ const rawSitePathsEn = {
|
|||
minorityDirector: 'chairman-or-managing-director',
|
||||
},
|
||||
},
|
||||
gérer: {
|
||||
index: 'manage',
|
||||
entreprise: ':entreprise',
|
||||
assistants: {
|
||||
index: 'assistants',
|
||||
'pour-mon-entreprise': {
|
||||
index: 'for-my-business',
|
||||
entreprise: ':entreprise',
|
||||
},
|
||||
embaucher: 'hiring',
|
||||
sécuritéSociale: 'social-security',
|
||||
'déclaration-charges-sociales-indépendant':
|
||||
|
@ -135,9 +138,6 @@ const rawSitePathsEn = {
|
|||
cotisations: 'contributions',
|
||||
},
|
||||
formulaireMobilité: 'posting-demand',
|
||||
},
|
||||
assistants: {
|
||||
index: 'assistants',
|
||||
'recherche-code-ape': 'search-code-ape',
|
||||
},
|
||||
simulateurs: {
|
||||
|
|