diff --git a/services/web/app/src/Features/Project/ProjectListController.mjs b/services/web/app/src/Features/Project/ProjectListController.mjs index 592af6b5a6..67313e24fe 100644 --- a/services/web/app/src/Features/Project/ProjectListController.mjs +++ b/services/web/app/src/Features/Project/ProjectListController.mjs @@ -445,7 +445,6 @@ async function projectListPage(req, res, next) { _.sample(['on-premise', 'FOMO', 'FOMO', 'FOMO']) let showInrGeoBanner = false - let showBrlGeoBanner = false let showLATAMBanner = false let recommendedCurrency @@ -459,7 +458,6 @@ async function projectListPage(req, res, next) { if (countryCode === 'IN') { showInrGeoBanner = true } - showBrlGeoBanner = countryCode === 'BR' showLATAMBanner = ['MX', 'CO', 'CL', 'PE'].includes(countryCode) // LATAM Banner needs to know which currency to display @@ -566,7 +564,6 @@ async function projectListPage(req, res, next) { showLATAMBanner, recommendedCurrency, showInrGeoBanner, - showBrlGeoBanner, projectDashboardReact: true, // used in navbar groupSsoSetupSuccess, joinedGroupName, diff --git a/services/web/app/views/project/list-react.pug b/services/web/app/views/project/list-react.pug index 13382f1d13..2f4311116a 100644 --- a/services/web/app/views/project/list-react.pug +++ b/services/web/app/views/project/list-react.pug @@ -61,7 +61,6 @@ block append meta content=groupsAndEnterpriseBannerVariant ) meta(name='ol-showInrGeoBanner' data-type='boolean' content=showInrGeoBanner) - meta(name='ol-showBrlGeoBanner' data-type='boolean' content=showBrlGeoBanner) meta( name='ol-recommendedCurrency' data-type='string' diff --git a/services/web/frontend/js/features/project-list/components/notifications/ads/brl-banner.tsx b/services/web/frontend/js/features/project-list/components/notifications/ads/brl-banner.tsx deleted file mode 100644 index a0f4f11627..0000000000 --- a/services/web/frontend/js/features/project-list/components/notifications/ads/brl-banner.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import { useCallback, useEffect, useRef, useState } from 'react' -import bannerImage from '../../../images/brl-banner.png' -import usePersistedState from '../../../../../shared/hooks/use-persisted-state' -import * as eventTracking from '../../../../../infrastructure/event-tracking' -import { - OLModal, - OLModalBody, - OLModalFooter, - OLModalHeader, - OLModalTitle, -} from '@/shared/components/ol/ol-modal' -import OLButton from '@/shared/components/ol/ol-button' -import { useTranslation } from 'react-i18next' - -export default function BRLBanner() { - const { t } = useTranslation() - const [dismissedUntil, setDismissedUntil] = usePersistedState< - Date | undefined - >(`has_dismissed_brl_banner_until`) - const viewEventSent = useRef(false) - - const [showModal, setShowModal] = useState(true) - - useEffect(() => { - if (dismissedUntil && new Date(dismissedUntil) > new Date()) { - return - } - if (!viewEventSent.current) { - eventTracking.sendMB('promo-prompt', { - location: 'dashboard-modal', - name: 'geo-pricing', - page: '/project', - content: 'modal', - country: 'BR', - }) - viewEventSent.current = true - } - }, [dismissedUntil]) - - const handleClick = useCallback(() => { - eventTracking.sendMB('promo-click', { - location: 'dashboard-modal', - name: 'geo-pricing', - page: '/project', - content: 'modal', - country: 'BR', - type: 'click', - }) - - setShowModal(false) - - window.open('/user/subscription/plans') - }, []) - - const bannerDismissed = useCallback(() => { - eventTracking.sendMB('promo-dismiss', { - location: 'dashboard-modal', - name: 'geo-pricing', - page: '/project', - content: 'modal', - country: 'BR', - }) - const until = new Date() - until.setDate(until.getDate() + 30) // 30 days - setDismissedUntil(until) - }, [setDismissedUntil]) - - const handleHide = useCallback(() => { - setShowModal(false) - bannerDismissed() - }, [bannerDismissed]) - - const handleMaybeLater = useCallback(() => { - eventTracking.sendMB('promo-click', { - location: 'dashboard-modal', - name: 'geo-pricing', - page: '/project', - content: 'modal', - country: 'BR', - type: 'pause', - }) - setShowModal(false) - const until = new Date() - until.setDate(until.getDate() + 1) // 1 day - setDismissedUntil(until) - }, [setDismissedUntil]) - - if (dismissedUntil && new Date(dismissedUntil) > new Date()) { - return null - } - - return ( - - - {t('latam_discount_modal_title')} - - -

- {t('latam_discount_modal_title')} -

-

- {t('latam_discount_modal_info', { - discount: '50', - currencyName: 'Brazilian Reais', - })} -

-
- - - {t('maybe_later')} - - - {t('get_discounted_plan')} - - -
- ) -} diff --git a/services/web/frontend/js/features/project-list/components/notifications/geo-banners.tsx b/services/web/frontend/js/features/project-list/components/notifications/geo-banners.tsx index dc238d351f..c78f7c5d51 100644 --- a/services/web/frontend/js/features/project-list/components/notifications/geo-banners.tsx +++ b/services/web/frontend/js/features/project-list/components/notifications/geo-banners.tsx @@ -1,15 +1,12 @@ import getMeta from '@/utils/meta' -import BRLBanner from './ads/brl-banner' import INRBanner from './ads/inr-banner' import LATAMBanner from './ads/latam-banner' function GeoBanners() { const showInrGeoBanner = getMeta('ol-showInrGeoBanner') - const showBrlGeoBanner = getMeta('ol-showBrlGeoBanner') const showLATAMBanner = getMeta('ol-showLATAMBanner') return ( <> - {showBrlGeoBanner && } {showLATAMBanner && } {showInrGeoBanner && } diff --git a/services/web/frontend/js/features/project-list/images/brl-banner.png b/services/web/frontend/js/features/project-list/images/brl-banner.png deleted file mode 100644 index c3490b54b4..0000000000 Binary files a/services/web/frontend/js/features/project-list/images/brl-banner.png and /dev/null differ diff --git a/services/web/frontend/js/utils/meta.ts b/services/web/frontend/js/utils/meta.ts index 020e19a41b..15d154802e 100644 --- a/services/web/frontend/js/utils/meta.ts +++ b/services/web/frontend/js/utils/meta.ts @@ -253,7 +253,6 @@ export interface Meta { 'ol-shouldAllowEditingDetails': boolean 'ol-shouldLoadHotjar': boolean 'ol-showAiErrorAssistant': boolean - 'ol-showBrlGeoBanner': boolean 'ol-showCouponField': boolean 'ol-showGroupDiscount': boolean 'ol-showGroupsAndEnterpriseBanner': boolean diff --git a/services/web/locales/en.json b/services/web/locales/en.json index 7664d9f594..afac928e0e 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -252,7 +252,6 @@ "bold": "Bold", "booktabs": "Booktabs", "breadcrumbs": "Breadcrumbs", - "brl_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 50% discount to premium plans on this page for our users in Brazil. Check out the new lower prices.", "browser": "Browser", "built_in": "Built-In", "bullet_list": "Bullet list", diff --git a/services/web/locales/es.json b/services/web/locales/es.json index 97ec3d3dea..1d2df61fca 100644 --- a/services/web/locales/es.json +++ b/services/web/locales/es.json @@ -170,7 +170,6 @@ "blank_project": "Proyecto vacío", "blocked_filename": "Este nombre de archivo está bloqueado.", "blog": "Blog", - "brl_discount_offer_plans_page_banner": "__flag__ ¡Grandes noticias! Hemos aplicado un 50% de descuento a los planes premium de esta página para nuestros usuarios en Brasil. Echa un vistazo a los nuevos precios más bajos.", "browser": "Navegador", "built_in": "Integrado", "buy_now_no_exclamation_mark": "Comprar ahora", diff --git a/services/web/locales/pt.json b/services/web/locales/pt.json index 58866c6768..31929850a7 100644 --- a/services/web/locales/pt.json +++ b/services/web/locales/pt.json @@ -72,7 +72,6 @@ "bibliographies": "Bibliografia", "blank_project": "Projeto Em Branco", "blog": "Blog", - "brl_discount_offer_plans_page_banner": "__flag__ Aplicamos um desconto de 50% aos planos premium nesta página para nossos usuários no Brasil. Confira os novos preços mais baixos.", "built_in": "Embutido", "by": "por", "cancel": "Cancelar", diff --git a/services/web/locales/zh-CN.json b/services/web/locales/zh-CN.json index e42a665be7..eaa06259d4 100644 --- a/services/web/locales/zh-CN.json +++ b/services/web/locales/zh-CN.json @@ -231,7 +231,6 @@ "blocked_filename": "此文件名被阻止。", "blog": "博客", "bold": "粗体", - "brl_discount_offer_plans_page_banner": "__flag__好消息 我们为巴西用户在本页面上的高级计划提供了50%的折扣。看看新的低价。", "browser": "浏览器", "built_in": "内嵌", "bullet_list": "项目符号列表",