Ajoute un message pour l'interruption du service

pull/2869/head
Johan Girod 2023-09-29 11:02:26 +02:00
parent c1225da971
commit d0f2016604
7 changed files with 151 additions and 49 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -1,7 +1,7 @@
import { ErrorBoundary } from '@sentry/react'
import rules from 'modele-social'
import { StrictMode, useMemo } from 'react'
import { Trans, useTranslation } from 'react-i18next'
import { useTranslation } from 'react-i18next'
import { Route, Routes } from 'react-router-dom'
import { css, styled } from 'styled-components'
@ -14,11 +14,7 @@ import {
useEngine,
useSetupSafeSituation,
} from '@/components/utils/EngineContext'
import { Message } from '@/design-system'
import { Emoji } from '@/design-system/emoji'
import { Container, Spacing } from '@/design-system/layout'
import { Link } from '@/design-system/typography/link'
import { Body } from '@/design-system/typography/paragraphs'
import { useAxeCoreAnalysis } from '@/hooks/useAxeCoreAnalysis'
import { useGetFullURL } from '@/hooks/useGetFullURL'
import { useIsEmbedded } from '@/hooks/useIsEmbedded'
@ -69,7 +65,6 @@ export default function Root({
<Provider basename={basename}>
<Redirections>
<ErrorBoundary fallback={CatchOffline}>
<BadNews />
<Router />
</ErrorBoundary>
</Redirections>
@ -79,41 +74,6 @@ export default function Root({
)
}
const BadNews = () => {
const { t } = useTranslation()
const { absoluteSitePaths } = useSitePaths()
return (
<aside
aria-label={t('badnews.label', 'Information importante')}
style={{
display: 'flex',
justifyContent: 'center',
position: 'relative',
top: '0.25rem',
zIndex: 2,
}}
>
<Message
className="print-hidden"
type="error"
icon={<Emoji emoji="💔" />}
mini
border={false}
style={{ margin: 0 }}
>
<Body>
<Trans i18nKey="badnews.body">
<strong>Important :</strong> La mise à jour des simulateurs et le
support utilisateur ne sont plus assurés.{' '}
<Link to={absoluteSitePaths.nouveautés.index}>En savoir plus.</Link>
</Trans>
</Body>
</Message>
</aside>
)
}
const Router = () => {
const engine = useEngine()

View File

@ -0,0 +1,105 @@
import { Trans, useTranslation } from 'react-i18next'
import { styled } from 'styled-components'
import missedChance from '@/assets/images/missed_chance.svg'
import { Message, PopoverWithTrigger } from '@/design-system'
import { Emoji } from '@/design-system/emoji'
import { Strong } from '@/design-system/typography'
import { Link } from '@/design-system/typography/link'
import { Li, Ul } from '@/design-system/typography/list'
import { Body, SmallBody } from '@/design-system/typography/paragraphs'
import { useSitePaths } from '@/sitePaths'
export default function BadNews() {
const { t } = useTranslation()
const { absoluteSitePaths } = useSitePaths()
return (
<aside
aria-label={t('badnews.label', 'Information importante')}
style={{
display: 'flex',
justifyContent: 'center',
}}
>
<Message
className="print-hidden"
type="error"
icon={<Emoji emoji="💔" />}
mini
border={false}
>
<Body>
<Trans i18nKey="badnews.body">
<strong>Important :</strong> La mise à jour des simulateurs et le
support utilisateur ne sont plus assurés.{' '}
<PopoverWithTrigger
small
title={'Interruption du service'}
trigger={(props) => (
<Link {...props}>
<Trans>En savoir plus.</Trans>
</Link>
)}
>
<Body>
L'équipe qui opérait les simulateurs et les assistants de
mon-entreprise.urssaf.fr depuis plus de cinq ans a pris la
décision d'arrêter son travail. En voici l'explication :
</Body>
<Ul>
<Li>
L'équipe est composée de{' '}
<Strong>deux développeurs indépendants</Strong> (travailleurs
non salariés) ;
</Li>
<Li>
Le paiement de leurs factures est bloqué{' '}
<Strong>depuis avril</Strong> ;
</Li>
<Li>
Le budget du développement du site, financé par l'Urssaf à
100%, est en{' '}
<Link to={absoluteSitePaths.budget}>
très nette baisse pour 2023
</Link>
. Ce, malgré le{' '}
<Link to={absoluteSitePaths.stats}>
succès manifeste du site
</Link>{' '}
;
</Li>
<Li>
Ce budget n'est <Strong>pas suffisant</Strong> pour faire
travailler l'équipe sur l'année complète et continuer à
développer le produit ;
</Li>
</Ul>
<Body>
Cette situation est <Strong>temporaire</Strong>, et devrait{' '}
<Strong>revenir à la normale</Strong> dans les prochains mois.
Veuillez nous excuser pour la gêne occasionnée.
</Body>
<StyledImg src={missedChance} aria-hidden alt="" />
<SmallBody $grey>
P.S de l'équipe : On vous le dit sincèrement, ça été très dur de
prendre cette décision. On aurait tellement aimé continuer à
faire évoluer ce site comme on l'a fait toutes ces années. On
est super reconnaissants de voir plus de 500 000 d'entre vous
utiliser nos outils chaque mois !
</SmallBody>
</PopoverWithTrigger>
</Trans>
</Body>
</Message>
</aside>
)
}
const StyledImg = styled.img`
margin: 0 auto;
display: block;
width: 100%;
max-width: 300px;
`

View File

@ -3,7 +3,6 @@ import { styled } from 'styled-components'
import { Logo } from '@/components/Logo'
import SearchButton from '@/components/SearchButton'
import BrowserOnly from '@/components/utils/BrowserOnly'
import { Emoji } from '@/design-system/emoji'
import { Container } from '@/design-system/layout'
import { Switch } from '@/design-system/switch'
@ -12,9 +11,11 @@ import { useDarkMode } from '@/hooks/useDarkMode'
import { useGetFullURL } from '@/hooks/useGetFullURL'
import { useSitePaths } from '@/sitePaths'
import BadNews from '../BadNews'
import { Appear } from '../ui/animate'
import BrowserOnly from '../utils/BrowserOnly'
import { Menu } from './Menu'
import NewsBanner from './NewsBanner'
import NewsBannerWrapper from './NewsBanner'
export default function Header() {
const { absoluteSitePaths } = useSitePaths()
@ -73,10 +74,12 @@ export default function Header() {
<Menu />
</StyledHeader>
<BadNews />
<BrowserOnly>
{i18n.language === 'fr' && (
<Appear>
<NewsBanner />
<NewsBannerWrapper />
</Appear>
)}
</BrowserOnly>

View File

@ -109,6 +109,7 @@ En savoir plus sur impots:
gouv:
fr, nouvelle fenêtre: More information on impots.gouv.fr, new window
En savoir plus, nouvelle fenêtre: Find out more, new window
En savoir plus.: Find out more.
English version of the website enabled.: English version of the website enabled.
Enregistrer et continuer: Save and continue
Enregistrer et voir le résultat: Save and view results
@ -383,8 +384,21 @@ assistants:
title: View your public data
au bout de 10 ans: after 10 years
badnews:
body: <0>Important notice:</0> Simulator updates and user support are no longer
available. <3>To find out more, click here.</3>
body: "<0>Important notice:</0> Simulator updates and user support are no longer
provided. <3><0>The team that has been operating the simulators and wizards
on mon-entreprise.urssaf.fr for over five years has decided to stop work.
Here's why:</0><1><0>The team is made up of <2>two freelance
developers</2>;</0><1>Payment of their invoices has been blocked <2>since
April</2>;</1><2>The site development budget, 100% financed by Urssaf, has
been <2>significantly reduced for 2023</2>. This, despite the <5>site's
obvious success</5>;</2><3>This budget is <1>not sufficient</1> to keep the
team working for the full year and to continue developing the
product;</3></1><2>This situation is <1>temporary</1>, and should <4>return
to normal</4> in the coming months. We apologize for any inconvenience
caused.</2><3></3><4>P.S. from the team: We tell you sincerely, it was very
hard to make this decision. We would have loved to have continued to develop
this site as we have all these years. We're so grateful that over 500,000 of
you use our tools every month!</4></3>"
label: Important information
betawarning: "<0><0>This tool is in beta version</0>: we are working on
<3>validating the information and calculations</3>, but <6>errors may</6>

View File

@ -113,6 +113,7 @@ En savoir plus sur impots:
gouv:
fr, nouvelle fenêtre: En savoir plus sur impots.gouv.fr, nouvelle fenêtre
En savoir plus, nouvelle fenêtre: En savoir plus, nouvelle fenêtre
En savoir plus.: En savoir plus.
English version of the website enabled.: English version of the website enabled.
Enregistrer et continuer: Enregistrer et continuer
Enregistrer et voir le résultat: Enregistrer et voir le résultat
@ -405,8 +406,23 @@ assistants:
title: Voir vos données publiques
au bout de 10 ans: au bout de 10 ans
badnews:
body: <0>Important :</0> La mise à jour des simulateurs et le support
utilisateur ne sont plus assurés. <3>En savoir plus.</3>
body: "<0>Important :</0> La mise à jour des simulateurs et le support
utilisateur ne sont plus assurés. <3><0>L'équipe qui opérait les simulateurs
et les assistants de mon-entreprise.urssaf.fr depuis plus de cinq ans a pris
la décision d'arrêter son travail. En voici l'explication
:</0><1><0>L'équipe est composée de <2>deux développeurs indépendants</2>
(travailleurs non salariés) ;</0><1>Le paiement de leurs factures est bloqué
<2>depuis avril</2> ;</1><2>Le budget du développement du site, financé par
l'Urssaf à 100%, est en <2>très nette baisse pour 2023</2>. Ce, malgré le
<5>succès manifeste du site</5> ;</2><3>Ce budget n'est <1>pas suffisant</1>
pour faire travailler l'équipe sur l'année complète et continuer à
développer le produit ;</3></1><2>Cette situation est <1>temporaire</1>, et
devrait <4>revenir à la normale</4> dans les prochains mois. Veuillez nous
excuser pour la gêne occasionnée.</2><3></3><4>P.S de l'équipe : On vous le
dit sincèrement, ça été très dur de prendre cette décision. On aurait
tellement aimé continuer à faire évoluer ce site comme on l'a fait toutes
ces années. On est super reconnaissants de voir plus de 500 000 d'entre vous
utiliser nos outils chaque mois !</4></3>"
label: Information importante
betawarning: "<0><0>Cet outil est en version bêta</0> : nous travaillons à
<3>valider les informations et les calculs</3>, mais des <6>erreurs peuvent

View File

@ -1,3 +1,4 @@
import BadNews from '@/components/BadNews'
import FeedbackButton from '@/components/Feedback'
import Privacy from '@/components/layout/Footer/Privacy'
import { Spacing } from '@/design-system/layout'
@ -10,8 +11,10 @@ export default function IframeFooter() {
textAlign: 'center',
}}
>
<Spacing md />
<BadNews />
<FeedbackButton isEmbedded />
<Spacing xl />
<Spacing md />
<Privacy noUnderline={false} />
<Spacing lg />
</div>