From 2755ab5aec107bb4557af177f8561413217808be Mon Sep 17 00:00:00 2001 From: Florian Date: Mon, 4 Mar 2024 12:05:56 +0100 Subject: [PATCH] feat: stop sondage creation + add warning message --- nosgestesclimat | 2 +- .../publicodes/conference/Instructions.tsx | 349 +----------------- source/sites/publicodes/conference/Survey.tsx | 15 + 3 files changed, 31 insertions(+), 335 deletions(-) diff --git a/nosgestesclimat b/nosgestesclimat index 433f6914f..55391348a 160000 --- a/nosgestesclimat +++ b/nosgestesclimat @@ -1 +1 @@ -Subproject commit 433f6914f9d00519b01bb32eafff5a42a9484cb7 +Subproject commit 55391348adc6f2249c27038dd67fe24f370b48df diff --git a/source/sites/publicodes/conference/Instructions.tsx b/source/sites/publicodes/conference/Instructions.tsx index ceb63e816..e6290fd46 100644 --- a/source/sites/publicodes/conference/Instructions.tsx +++ b/source/sites/publicodes/conference/Instructions.tsx @@ -1,12 +1,6 @@ -import QRCode from 'qrcode.react' -import { useContext, useState } from 'react' -import { Trans, useTranslation } from 'react-i18next' -import { Link, useNavigate } from 'react-router-dom' -import ShareButton from '../../../components/ShareButton' -import { ThemeColorsContext } from '../../../components/utils/colors' -import { useQuery } from '../../../utils' -import LoadingButton from './LoadingButton' -import NamingBlock from './NamingBlock' +import Button from '@/components/groupe/Button' +import ButtonLink from '@/components/groupe/ButtonLink' +import { Trans } from 'react-i18next' /* The conference mode can be used with two type of communication between users : P2P or database. The P2P mode was implemented first, then we decided that we needed a survey mode, with permanent data. But YJS is not yet designed plug and play for persistence, hence our survey mode will be implemented using Supabase/Postgre. * @@ -14,333 +8,20 @@ import NamingBlock from './NamingBlock' * * */ -export default ({ - room, - newRoom, - setNewRoom, - mode: defaultMode = 'sondage', - started = false, -}) => { - const URLMode = useQuery().get('mode') - const navigate = useNavigate() - const [mode, setModeState] = useState(URLMode || defaultMode) - const setMode = (mode) => { - setModeState(mode) - - navigate(`/?mode=${mode}`, { replace: true }) - } - const { color } = useContext(ThemeColorsContext) - const URLbase = `https://${window.location.hostname}` - const URLPath = `/${mode}/${room || newRoom}`, - shareURL = URLbase + URLPath - const URLGuide = '/guide' - - const { t } = useTranslation() - +export default () => { return (
- {!room && ( - -

- Le test d'empreinte climat est individuel, mais nous vous proposons - ici de le faire à plusieurs. Chacun sera derrière son écran, mais - pourra voir en temps réel les résultats des autres. -

-

- C'est l'occasion de réfléchir ensemble aux enjeux de notre propre - impact en comparant nos modes de vie. -

-
- )} -

{t('📘 Comment ça marche ?')}

- {!started && ( - {t('💡 Choisissez un nom de salle')}} - > - {!room && } - {room &&

{t("✅ C'est fait")}

} -
- )} - {!started && newRoom !== '' && !room && ( - {t('⏲️ Choisissez votre mode de simulation')}} - > -
- - -
-
- {mode == 'conférence' && ( -

- ⚠️{' '} - - - Attention - - , il est possible que votre organisation bloque le - pair-à-pair, et donc l'utilisation du mode conférence. Faites - le test au préalable sur site et en duo : en cas de problème, - vous pouvez utiliser le mode sondage. - -

- )} - {mode == 'sondage' && ( -

- - 💡 Vous souhaitez ajouter des questions pour obtenir des - informations supplémentaires sur les répondants ?{' '} - - Découvrez la fonctionnalité "contextualisation de sondage !"{' '} - - -

- )} -
-
- )} - {newRoom !== '' && !room && ( - - - - )} - {t('🔗 Partagez le lien à vos amis, collègues, etc.')} - } - > - {!newRoom && !room ? ( -

- Choisissez d'abord un nom -

- ) : newRoom && !room ? null : ( -
- - -
- )} -
- {t('🎰 Faites toutes et tous votre simulation')}} + +

+ Vous souhaitez réaliser une enquête sur le bilan carbone de votre organisation ? Un nouveau mode sondage est disponible. +

+
+
+ - {!room ? null : mode === 'conférence' ? ( - <> -

- - Au moment convenu, ouvrez ce lien tous en même temps et faites - chacun de votre côté votre simulation. - -

- - - - - ) : ( - <> - - - - - )} -
- - {t('🧮 Visualisez à tout moment les résultats de votre groupe')} - - } - > - - Les résultats pour chaque catégorie (alimentation, transport, logement - ...) s'affichent progressivement et en temps réel pour l'ensemble du - groupe sur{' '} - - {!started ? ( - t("la page à partager à l'étape 3") - ) : ( - - {t('cette page')} {URLPath} - - )} - . - - {room && ( - - - 📊 Analysez les résultats et animez les discussions ! - - - } - > - - Les résultats sont là, que faire ? Notre guide vous accompagne dans - vos réflexions et vos discussions sur cette page - -   - {URLGuide} ! - - )} + ✨ Accéder au nouveau mode organisation +
) -} - -const InstructionBlock = ({ title, index, children, noIndex }) => ( -
- {!noIndex && ( -
- {index} -
- )} -
-

{title}

- {children} -
-
-) +} \ No newline at end of file diff --git a/source/sites/publicodes/conference/Survey.tsx b/source/sites/publicodes/conference/Survey.tsx index d525a4385..7d023d371 100644 --- a/source/sites/publicodes/conference/Survey.tsx +++ b/source/sites/publicodes/conference/Survey.tsx @@ -20,6 +20,8 @@ import NoSurveyCreatedWarning from './NoSurveyCreatedWarning' import NoTestMessage from './NoTestMessage' import { answersURL, surveysURL } from './useDatabase' import { defaultThreshold } from './utils' +import IllustratedMessage from '@/components/ui/IllustratedMessage' +import ButtonLink from '@/components/groupe/ButtonLink' export default () => { const [surveyIds] = usePersistingState('surveyIds', {}) @@ -85,6 +87,19 @@ export default () => { /> + <IllustratedMessage + emoji="⚠️" + message={ + <div> + <p>Ce sondage ne sera bientôt plus accessible, vous pouvez en recréer un sur notre nouveau mode organisation.</p> + <ButtonLink + href='https://nosgestesclimat.fr/organisations?mtm_campaign=sondages.nosgestesclimat.fr' + > + ✨ Accéder au nouveau mode organisation + </ButtonLink> + </div> + } + /> {isRegisteredSurvey == false && ( <div css="margin-bottom: 3rem"> <NoSurveyCreatedWarning />