@greatapps/common 1.1.671 → 1.1.673
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/layouts/NavBar.mjs +5 -3
- package/dist/components/layouts/NavBar.mjs.map +1 -1
- package/dist/components/layouts/NotificationsPopover.mjs +5 -3
- package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
- package/dist/components/layouts/ProfilePopover.mjs +6 -4
- package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
- package/dist/components/layouts/UsersSelectorPopover.mjs +9 -7
- package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
- package/dist/components/modals/BuyCreditsModal.mjs +17 -18
- package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
- package/dist/components/modals/CreditsDisabledModal.mjs +6 -4
- package/dist/components/modals/CreditsDisabledModal.mjs.map +1 -1
- package/dist/components/modals/PaidPlanRequiredModal.mjs +5 -3
- package/dist/components/modals/PaidPlanRequiredModal.mjs.map +1 -1
- package/dist/components/modals/cards/AddCardModal.mjs +27 -24
- package/dist/components/modals/cards/AddCardModal.mjs.map +1 -1
- package/dist/components/modals/cards/CannotDeleteCardModal.mjs +9 -7
- package/dist/components/modals/cards/CannotDeleteCardModal.mjs.map +1 -1
- package/dist/components/modals/cards/CardFormFields.mjs +25 -22
- package/dist/components/modals/cards/CardFormFields.mjs.map +1 -1
- package/dist/components/modals/cards/DeleteCardModal.mjs +10 -8
- package/dist/components/modals/cards/DeleteCardModal.mjs.map +1 -1
- package/dist/components/navigation/CancelledSubscriptionBanner.mjs +4 -2
- package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
- package/dist/components/navigation/OverdueInvoiceBanner.mjs +4 -2
- package/dist/components/navigation/OverdueInvoiceBanner.mjs.map +1 -1
- package/dist/components/navigation/PendingCancellationBanner.mjs +4 -6
- package/dist/components/navigation/PendingCancellationBanner.mjs.map +1 -1
- package/dist/components/navigation/ProjectSelectorPopover.mjs +8 -6
- package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
- package/dist/components/navigation/UpcomingInvoiceBanner.mjs +4 -6
- package/dist/components/navigation/UpcomingInvoiceBanner.mjs.map +1 -1
- package/dist/components/navigation/subcomponents/BottomLinks.mjs +5 -3
- package/dist/components/navigation/subcomponents/BottomLinks.mjs.map +1 -1
- package/dist/components/navigation/subcomponents/CreditsCard.mjs +3 -1
- package/dist/components/navigation/subcomponents/CreditsCard.mjs.map +1 -1
- package/dist/components/navigation/subcomponents/PlanCard.mjs +3 -1
- package/dist/components/navigation/subcomponents/PlanCard.mjs.map +1 -1
- package/dist/components/navigation/subcomponents/ProjectSelector.mjs +5 -3
- package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
- package/dist/components/pages/NotFoundPage.mjs +5 -3
- package/dist/components/pages/NotFoundPage.mjs.map +1 -1
- package/dist/components/pages/notifications/Notifications.mjs +13 -10
- package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
- package/dist/components/ui/buttons/CopyButton.mjs +9 -5
- package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
- package/dist/components/ui/data-display/CardItem.mjs +7 -5
- package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
- package/dist/components/ui/data-display/PaymentInfoCard.mjs +10 -8
- package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
- package/dist/components/ui/feedback/DefaultCircularProgress.mjs +3 -1
- package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
- package/dist/components/ui/form/ComboboxField.mjs +11 -6
- package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
- package/dist/components/ui/form/DatePicker.mjs +5 -2
- package/dist/components/ui/form/DatePicker.mjs.map +1 -1
- package/dist/components/ui/form/DateRangePicker.mjs +5 -2
- package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
- package/dist/components/ui/form/PhoneInput.mjs +5 -3
- package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
- package/dist/components/ui/form/SelectField.mjs +6 -3
- package/dist/components/ui/form/SelectField.mjs.map +1 -1
- package/dist/components/widgets/ImageUpload/ImageCropModal.mjs +11 -18
- package/dist/components/widgets/ImageUpload/ImageCropModal.mjs.map +1 -1
- package/dist/components/widgets/ImageUpload/ImageTooSmallModal.mjs +6 -15
- package/dist/components/widgets/ImageUpload/ImageTooSmallModal.mjs.map +1 -1
- package/dist/i18n/messages/en-us.mjs +231 -0
- package/dist/i18n/messages/en-us.mjs.map +1 -1
- package/dist/i18n/messages/es-es.mjs +231 -0
- package/dist/i18n/messages/es-es.mjs.map +1 -1
- package/dist/i18n/messages/pt-br.mjs +239 -0
- package/dist/i18n/messages/pt-br.mjs.map +1 -1
- package/dist/modules/cards/hooks/handle-delete-card.hook.mjs +2 -1
- package/dist/modules/cards/hooks/handle-delete-card.hook.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/layouts/NavBar.tsx +5 -3
- package/src/components/layouts/NotificationsPopover.tsx +5 -3
- package/src/components/layouts/ProfilePopover.tsx +6 -4
- package/src/components/layouts/UsersSelectorPopover.tsx +9 -7
- package/src/components/modals/BuyCreditsModal.tsx +18 -16
- package/src/components/modals/CreditsDisabledModal.tsx +6 -6
- package/src/components/modals/PaidPlanRequiredModal.tsx +5 -3
- package/src/components/modals/cards/AddCardModal.tsx +29 -27
- package/src/components/modals/cards/CannotDeleteCardModal.tsx +9 -8
- package/src/components/modals/cards/CardFormFields.tsx +25 -22
- package/src/components/modals/cards/DeleteCardModal.tsx +10 -8
- package/src/components/navigation/CancelledSubscriptionBanner.tsx +4 -2
- package/src/components/navigation/OverdueInvoiceBanner.tsx +4 -2
- package/src/components/navigation/PendingCancellationBanner.tsx +4 -2
- package/src/components/navigation/ProjectSelectorPopover.tsx +8 -6
- package/src/components/navigation/UpcomingInvoiceBanner.tsx +4 -2
- package/src/components/navigation/subcomponents/BottomLinks.tsx +5 -3
- package/src/components/navigation/subcomponents/CreditsCard.tsx +3 -1
- package/src/components/navigation/subcomponents/PlanCard.tsx +3 -1
- package/src/components/navigation/subcomponents/ProjectSelector.tsx +5 -3
- package/src/components/pages/NotFoundPage.tsx +5 -3
- package/src/components/pages/notifications/Notifications.tsx +13 -10
- package/src/components/ui/buttons/CopyButton.tsx +10 -5
- package/src/components/ui/data-display/CardItem.tsx +7 -5
- package/src/components/ui/data-display/PaymentInfoCard.tsx +10 -8
- package/src/components/ui/feedback/DefaultCircularProgress.tsx +3 -1
- package/src/components/ui/form/ComboboxField.tsx +11 -6
- package/src/components/ui/form/DatePicker.tsx +5 -2
- package/src/components/ui/form/DateRangePicker.tsx +5 -2
- package/src/components/ui/form/PhoneInput.tsx +5 -3
- package/src/components/ui/form/SelectField.tsx +6 -3
- package/src/components/widgets/ImageUpload/ImageCropModal.tsx +19 -11
- package/src/components/widgets/ImageUpload/ImageTooSmallModal.tsx +6 -5
- package/src/i18n/messages/en-us.ts +234 -0
- package/src/i18n/messages/es-es.ts +234 -0
- package/src/i18n/messages/pt-br.ts +248 -0
- package/src/modules/cards/hooks/handle-delete-card.hook.ts +8 -3
|
@@ -233,12 +233,260 @@ const messages = {
|
|
|
233
233
|
},
|
|
234
234
|
},
|
|
235
235
|
|
|
236
|
+
// Modais de créditos de IA.
|
|
237
|
+
credits: {
|
|
238
|
+
buy: {
|
|
239
|
+
title: 'Comprar créditos de IA',
|
|
240
|
+
externalTitle: 'Créditos de IA',
|
|
241
|
+
externalDescription: 'Para adquirir créditos de IA, acesse sua área de assinatura.',
|
|
242
|
+
externalButton: 'Acessar área de assinatura',
|
|
243
|
+
creditsOptionLabel: '{credits} créditos de IA',
|
|
244
|
+
creditsOptionDisplayValue: '{credits} créditos de IA',
|
|
245
|
+
paymentOnConfirm: 'O pagamento será processado no momento da confirmação.',
|
|
246
|
+
nextInvoiceChanges: 'As alterações entrarão em vigor a partir da sua próxima fatura.',
|
|
247
|
+
defaultPrice: 'Padrão',
|
|
248
|
+
immediateCharge: 'Cobrança imediata',
|
|
249
|
+
totalPlanValue: 'Valor total do plano',
|
|
250
|
+
confirmAndPay: 'Confirmar e pagar',
|
|
251
|
+
creditsChangedToast: 'Créditos de IA alterados para {credits}',
|
|
252
|
+
},
|
|
253
|
+
disabled: {
|
|
254
|
+
title: 'Compra de créditos indisponível',
|
|
255
|
+
descriptionLine1: 'Apenas administradores e proprietários podem comprar créditos de IA.',
|
|
256
|
+
descriptionLine2:
|
|
257
|
+
'Peça a um administrador ou proprietário da conta para adquirir mais créditos.',
|
|
258
|
+
understood: 'Entendi',
|
|
259
|
+
},
|
|
260
|
+
paidPlanRequired: {
|
|
261
|
+
defaultTitle: 'Recurso disponível em planos pagos',
|
|
262
|
+
defaultDescription: 'Para acessar este recurso, faça upgrade para um plano pago',
|
|
263
|
+
knowPlans: 'Conhecer planos',
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
|
|
267
|
+
// Cartões: adicionar, formulário, excluir, não-pode-excluir, item, info de pagamento.
|
|
268
|
+
cards: {
|
|
269
|
+
add: {
|
|
270
|
+
stepBilling: 'Cobrança',
|
|
271
|
+
stepCard: 'Cartão',
|
|
272
|
+
externalTitle: 'Gerenciamento de cartões indisponível',
|
|
273
|
+
externalDescription: 'Acesse sua área de assinatura para gerenciar formas de pagamento.',
|
|
274
|
+
externalButton: 'Acessar área de assinatura',
|
|
275
|
+
title: 'Adicionar cartão',
|
|
276
|
+
billingHeading: 'Adicione suas informações de cobrança',
|
|
277
|
+
cardHeading: 'Adicione informações do seu cartão',
|
|
278
|
+
authenticating: 'Autenticando...',
|
|
279
|
+
submitting: 'Adicionando cartão...',
|
|
280
|
+
submit: 'Adicionar cartão',
|
|
281
|
+
errorInitAuth: 'Não foi possível iniciar a autenticação do cartão, tente novamente.',
|
|
282
|
+
errorAuth: 'Falha na autenticação do cartão.',
|
|
283
|
+
errorAuthStatus: 'Autenticação não concluída (status: {status}).',
|
|
284
|
+
statusUnknown: 'desconhecido',
|
|
285
|
+
successToast: 'Cartão adicionado com sucesso.',
|
|
286
|
+
errorSave: 'Não foi possível salvar o seu novo cartão, tente novamente.',
|
|
287
|
+
},
|
|
288
|
+
form: {
|
|
289
|
+
nameOnCard: 'Nome impresso no cartão',
|
|
290
|
+
typeHere: 'Digite aqui',
|
|
291
|
+
cardNumber: 'Número do cartão',
|
|
292
|
+
cardExpiry: 'Data de validade',
|
|
293
|
+
cardCvc: 'CVC',
|
|
294
|
+
country: 'País',
|
|
295
|
+
select: 'Selecione',
|
|
296
|
+
personType: 'Tipo de pessoa',
|
|
297
|
+
personTypePf: 'Pessoa física',
|
|
298
|
+
personTypePj: 'Pessoa jurídica',
|
|
299
|
+
cpf: 'CPF',
|
|
300
|
+
cnpj: 'CNPJ',
|
|
301
|
+
fullName: 'Nome completo',
|
|
302
|
+
cep: 'CEP',
|
|
303
|
+
street: 'Endereço',
|
|
304
|
+
streetNumber: 'Número',
|
|
305
|
+
city: 'Cidade',
|
|
306
|
+
state: 'UF',
|
|
307
|
+
neighborhood: 'Bairro',
|
|
308
|
+
complement: 'Complemento',
|
|
309
|
+
cardNumberRequired: 'Número do cartão é obrigatório',
|
|
310
|
+
cardExpiryRequired: 'Data de validade é obrigatória',
|
|
311
|
+
cardCvcRequired: 'Código de segurança é obrigatório',
|
|
312
|
+
},
|
|
313
|
+
delete: {
|
|
314
|
+
title: 'Excluir cartão',
|
|
315
|
+
description: 'Deseja realmente excluir o cartão:',
|
|
316
|
+
confirmLabel: 'Digite EXCLUIR abaixo',
|
|
317
|
+
confirmPlaceholder: 'EXCLUIR',
|
|
318
|
+
deleting: 'Excluindo...',
|
|
319
|
+
successToast: 'O cartão •••• {digits} foi excluído com sucesso',
|
|
320
|
+
errorToast: 'Não foi possível excluir o cartão',
|
|
321
|
+
},
|
|
322
|
+
cannotDelete: {
|
|
323
|
+
title: 'Não é possível excluir este cartão',
|
|
324
|
+
description: 'Este cartão está em uso e tem uma assinatura ativa vinculada a ele. Selecione outro cartão como padrão ou adicione um novo.',
|
|
325
|
+
selectDefault: 'Selecione um cartão como padrão:',
|
|
326
|
+
addNewCard: 'Adicionar novo cartão',
|
|
327
|
+
errorUpdateCard: 'Erro ao atualizar cartão da assinatura',
|
|
328
|
+
},
|
|
329
|
+
item: {
|
|
330
|
+
defaultBadge: 'Padrão',
|
|
331
|
+
makeDefault: 'Tornar padrão',
|
|
332
|
+
setDefaultSuccess: 'Cartão definido como padrão',
|
|
333
|
+
setDefaultError: 'Erro ao definir cartão padrão',
|
|
334
|
+
},
|
|
335
|
+
paymentInfo: {
|
|
336
|
+
email: 'E-mail',
|
|
337
|
+
payment: 'Pagamento',
|
|
338
|
+
addCard: 'Adicionar cartão',
|
|
339
|
+
selectPaymentMethod: 'Selecione a forma de pagamento',
|
|
340
|
+
manageCards: 'Gerenciar cartões',
|
|
341
|
+
newPaymentMethod: 'Nova forma de pagamento',
|
|
342
|
+
},
|
|
343
|
+
},
|
|
344
|
+
|
|
345
|
+
// Componentes de navegação: banners de assinatura, seletor de projeto, links de rodapé, créditos, plano.
|
|
346
|
+
navigation: {
|
|
347
|
+
banners: {
|
|
348
|
+
cancelled: {
|
|
349
|
+
message: 'Assinatura cancelada! Suas páginas foram retiradas do ar.',
|
|
350
|
+
choosePlan: 'Escolher um novo plano',
|
|
351
|
+
},
|
|
352
|
+
overdue: {
|
|
353
|
+
message: 'Sua assinatura está atrasada e suas páginas podem ser retiradas do ar a qualquer momento.',
|
|
354
|
+
details: 'Detalhes',
|
|
355
|
+
},
|
|
356
|
+
pending: {
|
|
357
|
+
message: 'Sua assinatura foi cancelada, você possui até {limitDate} com suas páginas online.',
|
|
358
|
+
reactivate: 'Reativar assinatura',
|
|
359
|
+
},
|
|
360
|
+
upcoming: {
|
|
361
|
+
message: 'Fatura em aberto. Pague até {dueDate} para evitar a suspensão das suas páginas.',
|
|
362
|
+
details: 'Detalhes',
|
|
363
|
+
},
|
|
364
|
+
},
|
|
365
|
+
projectSelector: {
|
|
366
|
+
title: 'Projetos',
|
|
367
|
+
searchPlaceholder: 'Busque aqui',
|
|
368
|
+
emptyLine1: 'Nenhum projeto encontrado.',
|
|
369
|
+
emptyLine2: 'Crie um projeto para começar.',
|
|
370
|
+
noResults: 'Nenhum resultado encontrado.',
|
|
371
|
+
manageProjects: 'Gerenciar projetos',
|
|
372
|
+
},
|
|
373
|
+
bottomLinks: {
|
|
374
|
+
news: 'Novidades',
|
|
375
|
+
helpCenter: 'Central de ajuda',
|
|
376
|
+
sendSuggestions: 'Enviar sugestões',
|
|
377
|
+
},
|
|
378
|
+
creditsCard: {
|
|
379
|
+
label: 'Créditos usados',
|
|
380
|
+
},
|
|
381
|
+
planCard: {
|
|
382
|
+
knowPlans: 'Conheça os planos',
|
|
383
|
+
},
|
|
384
|
+
},
|
|
385
|
+
|
|
236
386
|
// Nomes dos idiomas exibidos no seletor.
|
|
237
387
|
languages: {
|
|
238
388
|
'pt-br': 'Português (Brasil)',
|
|
239
389
|
'en-us': 'Inglês (EUA)',
|
|
240
390
|
'es-es': 'Espanhol',
|
|
241
391
|
},
|
|
392
|
+
|
|
393
|
+
// Componentes de formulário e entrada.
|
|
394
|
+
forms: {
|
|
395
|
+
combobox: {
|
|
396
|
+
placeholder: 'Selecione uma opção',
|
|
397
|
+
searchPlaceholder: 'Buscar...',
|
|
398
|
+
emptyMessage: 'Nenhuma opção encontrada.',
|
|
399
|
+
},
|
|
400
|
+
datePicker: {
|
|
401
|
+
placeholder: 'Selecione a data',
|
|
402
|
+
},
|
|
403
|
+
dateRangePicker: {
|
|
404
|
+
placeholder: 'Selecione o período',
|
|
405
|
+
},
|
|
406
|
+
phoneInput: {
|
|
407
|
+
optional: '(Opcional)',
|
|
408
|
+
searchPlaceholder: 'Buscar país...',
|
|
409
|
+
emptyMessage: 'Nenhum país encontrado',
|
|
410
|
+
},
|
|
411
|
+
select: {
|
|
412
|
+
placeholder: 'Selecione uma opção',
|
|
413
|
+
optional: '(Opcional)',
|
|
414
|
+
},
|
|
415
|
+
copyButton: {
|
|
416
|
+
tooltipDefault: 'Copiar link',
|
|
417
|
+
successDefault: 'Link copiado',
|
|
418
|
+
errorMessage: 'Não foi possível copiar o link',
|
|
419
|
+
},
|
|
420
|
+
circularProgress: {
|
|
421
|
+
ariaLabel: 'Progresso de exportação',
|
|
422
|
+
},
|
|
423
|
+
},
|
|
424
|
+
|
|
425
|
+
// Componentes: ImageCropModal, ImageTooSmallModal.
|
|
426
|
+
imageUpload: {
|
|
427
|
+
cropTitle: 'Ajustar imagem',
|
|
428
|
+
cropHint: 'Arraste para ajustar a área de corte',
|
|
429
|
+
cropAlt: 'Crop',
|
|
430
|
+
tooSmallTitleWithDimension: 'Foto menor que {dimensionText}',
|
|
431
|
+
tooSmallTitleGeneric: 'Foto muito pequena',
|
|
432
|
+
tooSmallBodyFileWithDimension: 'O arquivo "{fileName}" é menor que {dimensionText}. Faça envio de uma imagem com pelo menos {dimensionText} para continuar.',
|
|
433
|
+
tooSmallBodyFileGeneric: 'O arquivo "{fileName}" é menor que o tamanho mínimo exigido. Faça envio de uma imagem maior para continuar.',
|
|
434
|
+
tooSmallBodyNoFileWithDimension: 'A imagem selecionada é menor que {dimensionText}. Faça envio de uma imagem com pelo menos {dimensionText} para continuar.',
|
|
435
|
+
tooSmallBodyNoFileGeneric: 'A imagem selecionada é menor que o tamanho mínimo exigido. Faça envio de uma imagem maior para continuar.',
|
|
436
|
+
sendAnother: 'Enviar outra',
|
|
437
|
+
},
|
|
438
|
+
|
|
439
|
+
// Componentes: NotificationPageContent (Notifications.tsx), NotificationsPopover.tsx.
|
|
440
|
+
notifications: {
|
|
441
|
+
page: {
|
|
442
|
+
title: 'Notificações',
|
|
443
|
+
subtitle: 'Tenha controle total sobre páginas, experiências e conversões.',
|
|
444
|
+
markAllReadDesktop: 'Marcar todos como lidos',
|
|
445
|
+
markAllReadMobile: 'Marcar como lidos',
|
|
446
|
+
tabAll: 'Todas as notificações',
|
|
447
|
+
tabUnread: 'Não lidas',
|
|
448
|
+
details: 'Detalhes',
|
|
449
|
+
empty: 'Nenhuma notificação encontrada.',
|
|
450
|
+
markAllSuccess: 'Todas as notificações foram marcadas como lidas',
|
|
451
|
+
markAllError: 'Erro ao marcar notificações como lidas',
|
|
452
|
+
},
|
|
453
|
+
popover: {
|
|
454
|
+
title: 'Últimas notificações',
|
|
455
|
+
empty: 'Sem notificações por enquanto',
|
|
456
|
+
viewAll: 'Todas as notificações',
|
|
457
|
+
},
|
|
458
|
+
},
|
|
459
|
+
|
|
460
|
+
// Componentes: NavBar.tsx, ProfilePopover.tsx, UsersSelectorPopover.tsx.
|
|
461
|
+
layout: {
|
|
462
|
+
navbar: {
|
|
463
|
+
expandMenu: 'Expandir menu',
|
|
464
|
+
greatPages: 'GreatPages',
|
|
465
|
+
pages: 'Páginas',
|
|
466
|
+
},
|
|
467
|
+
profile: {
|
|
468
|
+
usedCredits: 'Créditos usados',
|
|
469
|
+
loggingOut: 'Saindo da sua conta...',
|
|
470
|
+
logout: 'Sair',
|
|
471
|
+
},
|
|
472
|
+
usersSelector: {
|
|
473
|
+
title: 'Usuários',
|
|
474
|
+
add: 'Adicionar',
|
|
475
|
+
searchPlaceholder: 'Busque aqui',
|
|
476
|
+
empty: 'Nenhum usuário encontrado.',
|
|
477
|
+
noResults: 'Nenhum resultado encontrado.',
|
|
478
|
+
addToProject: 'Adicionar ao projeto',
|
|
479
|
+
removeFromProject: 'Remover do projeto',
|
|
480
|
+
manageTeam: 'Gerenciar equipe',
|
|
481
|
+
},
|
|
482
|
+
},
|
|
483
|
+
|
|
484
|
+
// Componente: NotFoundPage.tsx.
|
|
485
|
+
notFound: {
|
|
486
|
+
title: 'Página não foi encontrada!',
|
|
487
|
+
description: 'A página que você está procurando não existe. Verifique se digitou corretamente o link que está procurando.',
|
|
488
|
+
backToHome: 'Voltar para o início',
|
|
489
|
+
},
|
|
242
490
|
} as const;
|
|
243
491
|
|
|
244
492
|
export default messages;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { useCallback } from 'react';
|
|
4
4
|
import { useModalManager } from '../../../store/useModalManager';
|
|
5
5
|
import { useActiveSubscription } from '../../subscriptions/hooks/find-active-subscription.hook';
|
|
6
|
+
import { hasSubscriptionExpired } from '../../subscriptions/utils/has-subscription-expired';
|
|
6
7
|
import type { Card } from '../types';
|
|
7
8
|
|
|
8
9
|
type UseHandleDeleteCardOptions = {
|
|
@@ -18,11 +19,15 @@ export function useHandleDeleteCard({
|
|
|
18
19
|
|
|
19
20
|
return useCallback(
|
|
20
21
|
(card: Card) => {
|
|
22
|
+
// Só bloqueia a exclusão quando o cartão é o método de pagamento de uma
|
|
23
|
+
// assinatura REALMENTE ativa (mesma definição de ConfigurationsMyAccountModal).
|
|
24
|
+
// Se a assinatura foi cancelada ou já expirou, ela não está mais ativa —
|
|
25
|
+
// pula a verificação e segue direto pra exclusão do cartão.
|
|
21
26
|
const isCardLinkedToSubscription =
|
|
22
27
|
!!activeSubscription &&
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
activeSubscription.active === true &&
|
|
29
|
+
!activeSubscription.date_cancellation &&
|
|
30
|
+
!hasSubscriptionExpired(activeSubscription.date_due) &&
|
|
26
31
|
card.id.toString() === activeSubscription.id_card?.toString();
|
|
27
32
|
|
|
28
33
|
if (isCardLinkedToSubscription) {
|