Corrige le lien vers le webinar pour les auto-entrepreneurs

pull/761/head
Johan Girod 2019-12-03 14:52:34 +01:00
parent 952db12c2d
commit 7a9429578c
7 changed files with 78 additions and 23 deletions

View File

@ -15,8 +15,9 @@ export const setEntreprise = siren => async dispatch => {
})
const companyDetails = await fetchCompanyDetails(siren)
dispatch({
type: 'EXISTING_COMPANY::SET_CATEGORIE_JURIDIQUE',
catégorieJuridique: companyDetails.categorie_juridique
type: 'EXISTING_COMPANY::SET_DETAILS',
catégorieJuridique: companyDetails.categorie_juridique,
dateDébutActivité: companyDetails.date_debut
})
const communeDetails = await fetchCommuneDetails(
companyDetails.etablissement_siege.code_commune

View File

@ -123,12 +123,21 @@ const infereLegalStatusFromCategorieJuridique = (
return 'NON_IMPLÉMENTÉ'
}
type GeoDetails = {
nom: string
code: string
}
export type Company = {
siren: string
catégorieJuridique?: string
statutJuridique?: string
dateDébutActivité?: Date
isAutoEntrepreneur?: boolean
isDirigeantMajoritaire?: boolean
localisation?: GeoDetails & {
departement: GeoDetails
region: GeoDetails
}
}
function existingCompany(state: Company = null, action): Company {
@ -141,13 +150,14 @@ function existingCompany(state: Company = null, action): Company {
if (action.type.endsWith('SET_SIREN')) {
return { siren: action.siren }
}
if (state && action.type.endsWith('SET_CATEGORIE_JURIDIQUE')) {
if (state && action.type.endsWith('SET_DETAILS')) {
const statutJuridique = infereLegalStatusFromCategorieJuridique(
action.catégorieJuridique
)
return {
siren: state.siren,
statutJuridique
statutJuridique,
dateDébutActivité: action.dateDébutActivité
}
}
if (state && action.type.endsWith('SPECIFY_AUTO_ENTREPRENEUR')) {
@ -156,7 +166,9 @@ function existingCompany(state: Company = null, action): Company {
if (state && action.type.endsWith('SPECIFY_DIRIGEANT_MAJORITAIRE')) {
return { ...state, isDirigeantMajoritaire: action.isDirigeantMajoritaire }
}
if (state && action.type.endsWith('ADD_COMMUNE_DETAILS')) {
return { ...state, localisation: action.details }
}
return state
}

View File

@ -222,8 +222,9 @@ const addAnswerToSituation = (
value: any,
state: RootState
) => {
console.log(state)
return (compose(
set(lensPath(['simulation', 'situation', dottedName]), value),
set(lensPath(['simulation', 'config', 'situation', dottedName]), value),
over(lensPath(['conversationSteps', 'foldedSteps']), (steps = []) =>
uniq([...steps, dottedName])
) as any
@ -235,7 +236,7 @@ const removeAnswerFromSituation = (
state: RootState
) => {
return (compose(
over(lensPath(['simulation', 'situation']), dissoc(dottedName)),
over(lensPath(['simulation', 'config', 'situation']), dissoc(dottedName)),
over(
lensPath(['conversationSteps', 'foldedSteps']),
without([dottedName])

View File

@ -1752,7 +1752,6 @@ entreprise:
Le contrat lie une entreprise, identifiée par un code SIREN, et un employé.
entreprise . prélèvements obligatoires:
applicable si: établissement . localisation
période: flexible
formule:
somme:
@ -3971,21 +3970,6 @@ dirigeant . auto-entrepreneur:
icônes: 🚶
description: |
L'auto-entreprise est une entreprise individuelle simplifiée. À l'origine connu sous l'appellation « auto-entrepreneur », le régime de « micro-entrepreneur » est un régime de travailleur indépendant créé pour simplifier la gestion administrative, notamment en remplaçant toutes les cotisations sociales par un prélèvement unique mensuel.
contrôles:
- si:
toutes ces conditions:
- une de ces conditions:
- établissement . localisation . département = 'Ariège'
- établissement . localisation . département = 'Aveyron'
- établissement . localisation . département = 'Haute-Garonne'
- établissement . localisation . département = 'Gers'
- établissement . localisation . département = 'Lot'
- établissement . localisation . département = 'Hautes-Pyrénées'
- établissement . localisation . département = 'Tarn'
- établissement . localisation . département = 'Tarn-et-Garonne'
- dirigeant . auto-entrepreneur
niveau: info
message: L'Urssaf Midi-Pyrénées vous accompagne ! Assistez au webinar dédiés aux auto-entrepreneur en début d'activité, où vous pourrez poser toutes vos questions. [En savoir plus](https://webikeo.fr/webinar/auto-entrepreneurs-maitrisez-les-fondamentaux-pour-une-installation-reussie-3)
dirigeant . auto-entrepreneur . base des cotisations:

View File

@ -0,0 +1,54 @@
import React from 'react'
import { useTranslation } from 'react-i18next'
import { useSelector } from 'react-redux'
import { RootState } from 'Reducers/rootReducer'
import animate from 'Ui/animate'
import aideOrganismeSvg from './aideOrganisme.svg'
const aideMidiPyrenéesAutoEntrepreneur = (state: RootState) => {
const company = state.inFranceApp.existingCompany
if (!company) {
return false
}
return (
new Date(company.dateDébutActivité) > new Date('2019-04-01') &&
company.isAutoEntrepreneur &&
company.localisation &&
['09', '12', '31', '32', '46', '65', '81', '82'].includes(
company.localisation.departement.code
)
)
}
export default function AideOrganismeLocal() {
const aideLocale = useSelector(aideMidiPyrenéesAutoEntrepreneur)
const {
i18n: { language }
} = useTranslation()
if (language !== 'fr' || !aideLocale) {
return null
}
return (
<animate.fromTop>
<section className="ui__ full-width light-bg" css="margin-top: 1rem;">
<div className="ui__ container" css="position:relative">
<img
src={aideOrganismeSvg}
className="ui__ hide-mobile"
css="width: 230px; position: absolute; left: -230px; bottom: 0; padding: 1rem;"
/>
<h2>L'Urssaf Midi-Pyrénées vous accompagne !</h2>
<p>
Assistez au webinar dédié aux auto-entrepreneur en début d'activité,
où vous pourrez poser toutes vos questions.
</p>
<a
className="ui__ simple button"
href="https://webikeo.fr/webinar/auto-entrepreneurs-maitrisez-les-fondamentaux-pour-une-installation-reussie-3"
>
En savoir plus
</a>
</div>
</section>
</animate.fromTop>
)
}

View File

@ -17,6 +17,7 @@ import { Link } from 'react-router-dom'
import { Company } from 'Reducers/inFranceAppReducer'
import { RootState } from 'Reducers/rootReducer'
import * as Animate from 'Ui/animate'
import AideOrganismeLocal from './AideOrganismeLocal'
import businessPlan from './businessPlan.svg'
const infereRégimeFromCompanyDetails = (company: Company) => {
@ -127,6 +128,7 @@ export default function SocialSecurity() {
</T>
</Link>
)}
<AideOrganismeLocal />
<h2>
<T>Ressources utiles</T>
</h2>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB