From e081bd6d621ee84b01d87e16ea4adfd5900ac793 Mon Sep 17 00:00:00 2001 From: jzunigax2 <125698953+jzunigax2@users.noreply.github.com> Date: Thu, 7 May 2026 20:48:39 -0600 Subject: [PATCH] feat(mail): add DowngradedNotification component and localization for downgrade messages --- .../Sidenav/DowngradedNotification.tsx | 31 +++++++++++++++++++ src/i18n/locales/en.json | 4 +++ src/i18n/locales/es.json | 4 +++ src/i18n/locales/fr.json | 4 +++ src/i18n/locales/it.json | 4 +++ 5 files changed, 47 insertions(+) create mode 100644 src/components/Sidenav/DowngradedNotification.tsx diff --git a/src/components/Sidenav/DowngradedNotification.tsx b/src/components/Sidenav/DowngradedNotification.tsx new file mode 100644 index 0000000..c8de646 --- /dev/null +++ b/src/components/Sidenav/DowngradedNotification.tsx @@ -0,0 +1,31 @@ +import { WarningIcon } from '@phosphor-icons/react'; +import { useTranslationContext } from '@/i18n'; + +interface DowngradedNotificationProps { + daysUntilDeletion?: number; + onUpgradeClick: () => void; +} + +const DowngradedNotification = ({ daysUntilDeletion, onUpgradeClick }: DowngradedNotificationProps) => { + const { translate } = useTranslationContext(); + + return ( +
+ +
+

+ {translate('mailDowngraded.message', { days: daysUntilDeletion ?? '--' })} +

+ +
+
+ ); +}; + +export default DowngradedNotification; diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 24c2783..1716e06 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -22,6 +22,10 @@ "upgrade": "Upgrade", "send": "Send" }, + "mailDowngraded": { + "message": "You downgraded to a plan that doesn't support Internxt Mail. Your account will be deleted in {{days}} days.", + "upgrade": "Upgrade" + }, "filter": { "all": "All", "none": "None", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 1def3b2..1c8af60 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -22,6 +22,10 @@ "upgrade": "Mejorar plan", "send": "Enviar" }, + "mailDowngraded": { + "message": "Has bajado a un plan que no incluye Internxt Mail. Tu cuenta se eliminará en {{days}} días.", + "upgrade": "Mejorar plan" + }, "filter": { "all": "Todos", "none": "Ninguno", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 54fa91c..3328d3e 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -22,6 +22,10 @@ "upgrade": "Mettre à niveau", "send": "Envoyer" }, + "mailDowngraded": { + "message": "Vous êtes passé à un plan qui ne prend pas en charge Internxt Mail. Votre compte sera supprimé dans {{days}} jours.", + "upgrade": "Mettre à niveau" + }, "filter": { "all": "Tous", "none": "Aucun", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index b4fc6e3..c745024 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -22,6 +22,10 @@ "upgrade": "Aggiorna piano", "send": "Invia" }, + "mailDowngraded": { + "message": "Sei passato a un piano che non supporta Internxt Mail. Il tuo account verrà eliminato tra {{days}} giorni.", + "upgrade": "Aggiorna piano" + }, "filter": { "all": "Tutti", "none": "Nessuno",