diff --git a/messages/en.json b/messages/en.json index f40abd53..1fb26fb8 100644 --- a/messages/en.json +++ b/messages/en.json @@ -168,6 +168,7 @@ "signUp": "Sign up for a Mobility Database account or login to add or update a GTFS feed.", "signUpAction": "Sign up for an account", "loginSuccess": "You were successfully logged in, you can now add or update a feed.", + "emailVerificationRequired": "Please verify your email address to submit or update feeds.", "dataTypeRequired": "Data format required", "isOfficialFeedRequired": "Official feed required", "feedLinkRequired": "Feed link required", diff --git a/messages/fr.json b/messages/fr.json index fd15f3fd..9aa412c2 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -168,6 +168,7 @@ "signUp": "Sign up for a Mobility Database account or login to add or update a GTFS feed.", "signUpAction": "Sign up for an account", "loginSuccess": "You were successfully logged in, you can now add or update a feed.", + "emailVerificationRequired": "Veuillez vérifier votre adresse e-mail pour soumettre ou mettre à jour des flux.", "dataTypeRequired": "Data format required", "isOfficialFeedRequired": "Official feed required", "feedLinkRequired": "Feed link required", diff --git a/src/app/[locale]/contribute/FeedSubmission/FeedSubmission.tsx b/src/app/[locale]/contribute/FeedSubmission/FeedSubmission.tsx index 6ede9ed6..39042631 100644 --- a/src/app/[locale]/contribute/FeedSubmission/FeedSubmission.tsx +++ b/src/app/[locale]/contribute/FeedSubmission/FeedSubmission.tsx @@ -11,7 +11,10 @@ import { Typography, } from '@mui/material'; import CheckIcon from '@mui/icons-material/Check'; -import { selectIsAuthenticated } from '../../../store/profile-selectors'; +import { + selectIsAuthenticated, + selectIsEmailVerified, +} from '../../../store/profile-selectors'; import { useTranslations } from 'next-intl'; import { useSearchParams } from 'next/navigation'; import FeedSubmissionForm from './Form'; @@ -24,6 +27,7 @@ function Component(): React.ReactElement { searchParams.get('from') === 'registration', ); const isAuthenticated = useSelector(selectIsAuthenticated); + const isEmailVerified = useSelector(selectIsEmailVerified); return ( @@ -42,7 +46,18 @@ function Component(): React.ReactElement { )} - {isAuthenticated && ( + {isAuthenticated && !isEmailVerified && ( + + {t('form.addOrUpdateFeed')} + + {t('form.emailVerificationRequired')} + + + + )} + {isAuthenticated && isEmailVerified && ( <> {showLoginSuccess && ( )} + {isAuthenticated && !isEmailVerified && ( + + )}