@greatapps/common 1.1.745 → 1.1.747
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/modals/AccountFrozenModal.mjs +87 -23
- package/dist/components/modals/AccountFrozenModal.mjs.map +1 -1
- package/dist/components/navigation/SubscriptionBanner.mjs +6 -3
- package/dist/components/navigation/SubscriptionBanner.mjs.map +1 -1
- package/dist/i18n/messages/en-us.mjs +25 -6
- package/dist/i18n/messages/en-us.mjs.map +1 -1
- package/dist/i18n/messages/es-es.mjs +23 -4
- package/dist/i18n/messages/es-es.mjs.map +1 -1
- package/dist/i18n/messages/pt-br.mjs +22 -3
- package/dist/i18n/messages/pt-br.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/modals/AccountFrozenModal.tsx +131 -15
- package/src/components/navigation/SubscriptionBanner.tsx +14 -3
- package/src/i18n/messages/en-us.ts +25 -6
- package/src/i18n/messages/es-es.ts +23 -4
- package/src/i18n/messages/pt-br.ts +22 -3
|
@@ -15,6 +15,7 @@ import { PendingCancellationBanner } from "./PendingCancellationBanner";
|
|
|
15
15
|
import { TrialBanner } from "./TrialBanner";
|
|
16
16
|
import { FrozenAccountBanner } from "./FrozenAccountBanner";
|
|
17
17
|
import { FreezeWarningBanner } from "./FreezeWarningBanner";
|
|
18
|
+
import { useModalManager } from "../../store/useModalManager";
|
|
18
19
|
|
|
19
20
|
const UPCOMING_WINDOW_DAYS = 7;
|
|
20
21
|
const PAYMENT_METHOD_BOLETO = 2;
|
|
@@ -29,6 +30,7 @@ export function SubscriptionBanner({
|
|
|
29
30
|
onDetails,
|
|
30
31
|
}: SubscriptionBannerProps) {
|
|
31
32
|
const { data: { data: [subscription] = [] } = {} } = useActiveSubscription();
|
|
33
|
+
const { openModal } = useModalManager();
|
|
32
34
|
const { data: pendingChargesData, isLoading: isLoadingCharges } = useCharges({
|
|
33
35
|
page: 1,
|
|
34
36
|
limit: 1,
|
|
@@ -83,14 +85,23 @@ export function SubscriptionBanner({
|
|
|
83
85
|
// Congelamento (date_due + ACCOUNT_FREEZE_AFTER_DAYS): entra antes do dunning
|
|
84
86
|
// e do aviso genérico de atraso, que hoje engolem essa janela.
|
|
85
87
|
const freezeState = getAccountFreezeState(subscription);
|
|
88
|
+
// "Detalhes" abre a MESMA modal do bloqueio, com a lista do que o congelamento tira: no
|
|
89
|
+
// aviso o usuário precisa ver o que vai perder antes de perder. O `freezeDate` no data é
|
|
90
|
+
// o que faz a modal renderizar a variante de véspera.
|
|
91
|
+
//
|
|
92
|
+
// IGNORA o `onDetails` do host de propósito: nos apps ele abre os detalhes da COBRANÇA,
|
|
93
|
+
// que responde outra pergunta. Aqui "Detalhes" significa "o que eu perco".
|
|
86
94
|
if (freezeState === "frozen") {
|
|
87
|
-
return
|
|
95
|
+
return (
|
|
96
|
+
<FrozenAccountBanner onDetails={() => openModal("accountFrozenModal", { showResources: true })} />
|
|
97
|
+
);
|
|
88
98
|
}
|
|
89
99
|
if (freezeState === "warning") {
|
|
100
|
+
const freezeDate = getAccountFreezeDate(subscription);
|
|
90
101
|
return (
|
|
91
102
|
<FreezeWarningBanner
|
|
92
|
-
freezeDate={
|
|
93
|
-
onDetails={
|
|
103
|
+
freezeDate={freezeDate}
|
|
104
|
+
onDetails={() => openModal("accountFrozenModal", { freezeDate, showResources: true })}
|
|
94
105
|
/>
|
|
95
106
|
);
|
|
96
107
|
}
|
|
@@ -435,17 +435,36 @@ const messages = {
|
|
|
435
435
|
subscription: {
|
|
436
436
|
frozen: {
|
|
437
437
|
banner: {
|
|
438
|
-
message: 'Your account
|
|
439
|
-
regularize: '
|
|
438
|
+
message: 'Your account resources are blocked due to missing payment.',
|
|
439
|
+
regularize: 'Update subscription',
|
|
440
440
|
},
|
|
441
441
|
warningBanner: {
|
|
442
|
-
message: 'Payment overdue: your account will be blocked on {freezeDate}.
|
|
442
|
+
message: 'Payment overdue: your account resources will be blocked on {freezeDate}. Pay now to keep your access.',
|
|
443
443
|
details: 'Details',
|
|
444
444
|
},
|
|
445
445
|
modal: {
|
|
446
|
-
title: '
|
|
447
|
-
description: 'Your account
|
|
448
|
-
|
|
446
|
+
title: 'Your account resources are blocked',
|
|
447
|
+
description: 'Your account resources are blocked due to missing payment. Update your subscription to unlock them.',
|
|
448
|
+
descriptionWithResources: 'We could not identify your payment, so these resources are blocked:',
|
|
449
|
+
warningDescriptionWithResources: 'Your payment is overdue. If we do not identify it by then, these resources will be blocked:',
|
|
450
|
+
warningTitle: 'Your resources will be blocked on {freezeDate}',
|
|
451
|
+
warningDescription: 'Your payment is overdue. Settle it to keep access to your account resources.',
|
|
452
|
+
keepsWorking: 'Your published pages stay online and your leads keep coming in. Everything is restored automatically once the payment goes through.',
|
|
453
|
+
resources: {
|
|
454
|
+
pages: {
|
|
455
|
+
title: 'Manage pages',
|
|
456
|
+
description: 'Publishing, creating and editing pages, settings, A/B tests, file uploads and exporting leads',
|
|
457
|
+
},
|
|
458
|
+
projects: {
|
|
459
|
+
title: 'Manage projects',
|
|
460
|
+
description: 'Creating and editing projects, inviting users and changing team permissions',
|
|
461
|
+
},
|
|
462
|
+
domains: {
|
|
463
|
+
title: 'Manage domains',
|
|
464
|
+
description: 'Connecting new domains and managing integrations',
|
|
465
|
+
},
|
|
466
|
+
},
|
|
467
|
+
cta: 'Update subscription',
|
|
449
468
|
},
|
|
450
469
|
},
|
|
451
470
|
},
|
|
@@ -436,16 +436,35 @@ const messages = {
|
|
|
436
436
|
subscription: {
|
|
437
437
|
frozen: {
|
|
438
438
|
banner: {
|
|
439
|
-
message: '
|
|
439
|
+
message: 'Los recursos de tu cuenta están bloqueados por falta de pago.',
|
|
440
440
|
regularize: 'Regularizar suscripción',
|
|
441
441
|
},
|
|
442
442
|
warningBanner: {
|
|
443
|
-
message: 'Pago atrasado: tu cuenta
|
|
443
|
+
message: 'Pago atrasado: los recursos de tu cuenta se bloquearán el {freezeDate}. Regulariza para no perder el acceso.',
|
|
444
444
|
details: 'Detalles',
|
|
445
445
|
},
|
|
446
446
|
modal: {
|
|
447
|
-
title: '
|
|
448
|
-
description: '
|
|
447
|
+
title: 'Los recursos de tu cuenta están bloqueados',
|
|
448
|
+
description: 'Los recursos de tu cuenta están bloqueados por falta de pago. Regulariza la suscripción para liberarlos.',
|
|
449
|
+
descriptionWithResources: 'No identificamos el pago, así que estos recursos están bloqueados:',
|
|
450
|
+
warningDescriptionWithResources: 'El pago está atrasado. Si no lo identificamos hasta entonces, estos recursos se bloquearán:',
|
|
451
|
+
warningTitle: 'Tus recursos se bloquearán el {freezeDate}',
|
|
452
|
+
warningDescription: 'El pago está atrasado. Regulariza para no perder el acceso a los recursos de tu cuenta.',
|
|
453
|
+
keepsWorking: 'Tus páginas publicadas siguen en línea y tus leads se siguen capturando. Todo vuelve automáticamente en cuanto se identifique el pago.',
|
|
454
|
+
resources: {
|
|
455
|
+
pages: {
|
|
456
|
+
title: 'Gestionar páginas',
|
|
457
|
+
description: 'Publicar, crear y editar páginas, configuración, pruebas A/B, subida de archivos y exportar leads',
|
|
458
|
+
},
|
|
459
|
+
projects: {
|
|
460
|
+
title: 'Gestionar proyectos',
|
|
461
|
+
description: 'Crear y editar proyectos, invitar usuarios y cambiar permisos del equipo',
|
|
462
|
+
},
|
|
463
|
+
domains: {
|
|
464
|
+
title: 'Gestionar dominios',
|
|
465
|
+
description: 'Conectar nuevos dominios y gestionar integraciones',
|
|
466
|
+
},
|
|
467
|
+
},
|
|
449
468
|
cta: 'Regularizar suscripción',
|
|
450
469
|
},
|
|
451
470
|
},
|
|
@@ -453,16 +453,35 @@ const messages = {
|
|
|
453
453
|
subscription: {
|
|
454
454
|
frozen: {
|
|
455
455
|
banner: {
|
|
456
|
-
message: '
|
|
456
|
+
message: 'Os recursos da sua conta estão bloqueados por falta de pagamento.',
|
|
457
457
|
regularize: 'Regularizar assinatura',
|
|
458
458
|
},
|
|
459
459
|
warningBanner: {
|
|
460
|
-
message: 'Pagamento em atraso: sua conta
|
|
460
|
+
message: 'Pagamento em atraso: os recursos da sua conta serão bloqueados em {freezeDate}. Regularize para não perder o acesso.',
|
|
461
461
|
details: 'Detalhes',
|
|
462
462
|
},
|
|
463
463
|
modal: {
|
|
464
|
-
title: '
|
|
464
|
+
title: 'Recursos da sua conta bloqueados',
|
|
465
465
|
description: 'Sua conta está com os recursos bloqueados por falta de pagamento. Regularize a assinatura para liberar.',
|
|
466
|
+
descriptionWithResources: 'O pagamento não foi identificado, então estes recursos estão bloqueados:',
|
|
467
|
+
warningDescriptionWithResources: 'O pagamento está em atraso. Se não for identificado até lá, estes recursos serão bloqueados:',
|
|
468
|
+
warningTitle: 'Seus recursos serão bloqueados em {freezeDate}',
|
|
469
|
+
warningDescription: 'O pagamento está em atraso. Regularize para não perder o acesso aos recursos da sua conta.',
|
|
470
|
+
keepsWorking: 'Suas páginas publicadas continuam no ar e seus leads seguem sendo capturados. Assim que o pagamento for identificado, tudo volta automaticamente.',
|
|
471
|
+
resources: {
|
|
472
|
+
pages: {
|
|
473
|
+
title: 'Gerenciar páginas',
|
|
474
|
+
description: 'Publicar, criar e editar páginas, configurações, testes A/B, upload de arquivos e exportar leads',
|
|
475
|
+
},
|
|
476
|
+
projects: {
|
|
477
|
+
title: 'Gerenciar projetos',
|
|
478
|
+
description: 'Criar e editar projetos, convidar usuários e alterar permissões da equipe',
|
|
479
|
+
},
|
|
480
|
+
domains: {
|
|
481
|
+
title: 'Gerenciar domínios',
|
|
482
|
+
description: 'Conectar novos domínios e gerenciar integrações',
|
|
483
|
+
},
|
|
484
|
+
},
|
|
466
485
|
cta: 'Regularizar assinatura',
|
|
467
486
|
},
|
|
468
487
|
},
|