From 4a9a78668799cb63339256086b4087ec464e7675 Mon Sep 17 00:00:00 2001 From: jaaaaavier Date: Thu, 11 Dec 2025 08:53:17 +0100 Subject: [PATCH 1/5] add influencers LPs --- src/hooks/useSpecialOfferConfig.ts | 4 ++++ src/lib/types/index.ts | 2 ++ src/pages/[filename].tsx | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/hooks/useSpecialOfferConfig.ts b/src/hooks/useSpecialOfferConfig.ts index 370cbf2b0..cfef5382f 100644 --- a/src/hooks/useSpecialOfferConfig.ts +++ b/src/hooks/useSpecialOfferConfig.ts @@ -13,6 +13,8 @@ export const ALLOWED_PATHS = [ 'apfelcast', 'madroz', 'justin', + 'qinhui', + 'ct3003', ]; export const ALTERNATE_RECOMENDATED_PLAN_PATHS = new Set([]); export const DARK_MODE_PATHS = new Set(['baity', 'xavier', 'oscar', 'rimembah', 'believemy', 'ghareeb']); @@ -28,6 +30,8 @@ export const COUPON_CODES = { apfelcast: PromoCodeName.APFELCAST, madroz: PromoCodeName.MADROZ, justin: PromoCodeName.JUSTIN, + qinhui: PromoCodeName.QINHUI, + CT3003: PromoCodeName.CT3003, }; interface OfferConfig { diff --git a/src/lib/types/index.ts b/src/lib/types/index.ts index 0ed4e3e1a..4c078a7cb 100644 --- a/src/lib/types/index.ts +++ b/src/lib/types/index.ts @@ -183,6 +183,8 @@ export enum PromoCodeName { Ice = 'ICEDRIVE87', KOOFR = 'KOOFR87', ONEDRIVE = 'ONEDRIVE87', + QINHUI = 'QINHUI', + CT3003 = 'CT3003', } export interface PromoCodeProps { diff --git a/src/pages/[filename].tsx b/src/pages/[filename].tsx index e8f5854f6..340221165 100644 --- a/src/pages/[filename].tsx +++ b/src/pages/[filename].tsx @@ -211,7 +211,7 @@ export async function getServerSideProps(ctx) { const pathname = ctx.params.filename; let lang = 'es'; - if (pathname === 'believemy' || pathname === 'madroz' || pathname === 'justin') { + if (pathname === 'believemy' || pathname === 'madroz' || pathname === 'justin' || pathname === 'qinhui') { lang = 'fr'; } @@ -219,7 +219,7 @@ export async function getServerSideProps(ctx) { lang = 'en'; } - if (pathname === 'apfelcast') { + if (pathname === 'apfelcast' || pathname === 'ct3003') { lang = 'de'; } const metatagsDescriptions = require(`@/assets/lang/${lang}/metatags-descriptions.json`); From 788e012d6d153f1f11d51b52e19422d167e085fb Mon Sep 17 00:00:00 2001 From: jaaaaavier Date: Thu, 11 Dec 2025 09:21:15 +0100 Subject: [PATCH 2/5] remove: banner from coupons and change discount --- src/assets/lang/de/coupons.json | 4 ++-- src/assets/lang/en/coupons.json | 4 ++-- src/assets/lang/es/coupons.json | 4 ++-- src/assets/lang/fr/coupons.json | 4 ++-- src/assets/lang/it/coupons.json | 4 ++-- src/assets/lang/ru/coupons.json | 4 ++-- src/assets/lang/zh-tw/coupons.json | 4 ++-- src/assets/lang/zh/coupons.json | 4 ++-- src/components/coupons/HeroSection.tsx | 2 +- src/constants.ts | 1 + 10 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/assets/lang/de/coupons.json b/src/assets/lang/de/coupons.json index 7cf300d14..338b63b2f 100644 --- a/src/assets/lang/de/coupons.json +++ b/src/assets/lang/de/coupons.json @@ -105,11 +105,11 @@ }, "ctaSection": { "title": "Fordern Sie Ihren exklusiven Internxt-Gutschein an", - "description": "Erhalten Sie maximale Privatsphäre für {{discount}}% weniger", + "description": "Erhalten Sie maximale Privatsphäre für {{percentage}}% weniger", "cta": "Angebot einlösen" }, "ctaSectionV2": { - "title": "Vollständige Privatsphäre für {{discount}}% weniger", + "title": "Vollständige Privatsphäre für {{percentage}}% weniger", "description": "Holen Sie sich das Angebot Ihres Lebens mit Ihrem Internxt-Gutscheincode", "cta": "Angebot einlösen" }, diff --git a/src/assets/lang/en/coupons.json b/src/assets/lang/en/coupons.json index 4151857c3..ace9e3d80 100644 --- a/src/assets/lang/en/coupons.json +++ b/src/assets/lang/en/coupons.json @@ -105,11 +105,11 @@ }, "ctaSection": { "title": "Claim your exclusive Internxt coupon", - "description": "Get maximum privacy for {{discount}}% off", + "description": "Get maximum privacy for 87% off", "cta": "Claim deal" }, "ctaSectionV2": { - "title": "Full privacy for {{discount}}% off", + "title": "Full privacy for 87% off", "description": "Get the deal of a lifetime with your Internxt coupon code", "cta": "Claim deal" }, diff --git a/src/assets/lang/es/coupons.json b/src/assets/lang/es/coupons.json index 75cc4463e..0a62feb63 100644 --- a/src/assets/lang/es/coupons.json +++ b/src/assets/lang/es/coupons.json @@ -105,11 +105,11 @@ }, "ctaSection": { "title": "Reclama tu cupón exclusivo de Internxt", - "description": "Obtén máxima privacidad con {{discount}}% de descuento", + "description": "Obtén máxima privacidad con 87% de descuento", "cta": "Reclamar oferta" }, "ctaSectionV2": { - "title": "Privacidad completa con {{discount}}% de descuento", + "title": "Privacidad completa con 87% de descuento", "description": "Obtén la oferta de tu vida con tu código de cupón de Internxt", "cta": "Reclamar oferta" }, diff --git a/src/assets/lang/fr/coupons.json b/src/assets/lang/fr/coupons.json index 8156fe144..174c3d2b5 100644 --- a/src/assets/lang/fr/coupons.json +++ b/src/assets/lang/fr/coupons.json @@ -105,11 +105,11 @@ }, "ctaSection": { "title": "Réclamez votre code promo Internxt exclusif", - "description": "Obtenez une confidentialité maximale pour {{discount}}% de moins", + "description": "Obtenez une confidentialité maximale pour 87% de moins", "cta": "Réclamer l'offre" }, "ctaSectionV2": { - "title": "Confidentialité complète pour {{discount}}% de moins", + "title": "Confidentialité complète pour 87% de moins", "description": "Obtenez l'offre de votre vie avec votre code promo Internxt", "cta": "Réclamer l'offre" }, diff --git a/src/assets/lang/it/coupons.json b/src/assets/lang/it/coupons.json index 26ca30aa1..a5f714ee8 100644 --- a/src/assets/lang/it/coupons.json +++ b/src/assets/lang/it/coupons.json @@ -105,11 +105,11 @@ }, "ctaSection": { "title": "Rivendica il tuo coupon Internxt esclusivo", - "description": "Ottieni la massima privacy con l'{{discount}}% di sconto", + "description": "Ottieni la massima privacy con l'87% di sconto", "cta": "Rivendica l'offerta" }, "ctaSectionV2": { - "title": "Privacy completa con l'{{discount}}% di sconto", + "title": "Privacy completa con l'87% di sconto", "description": "Ottieni l'affare della tua vita con il tuo codice coupon Internxt", "cta": "Rivendica l'offerta" }, diff --git a/src/assets/lang/ru/coupons.json b/src/assets/lang/ru/coupons.json index 933f9dc87..13b0fefe6 100644 --- a/src/assets/lang/ru/coupons.json +++ b/src/assets/lang/ru/coupons.json @@ -105,11 +105,11 @@ }, "ctaSection": { "title": "Получите свой эксклюзивный промокод Internxt", - "description": "Получите максимальную конфиденциальность со скидкой {{discount}}%", + "description": "Получите максимальную конфиденциальность со скидкой 87%", "cta": "Получить предложение" }, "ctaSectionV2": { - "title": "Полная конфиденциальность со скидкой {{discount}}%", + "title": "Полная конфиденциальность со скидкой 87%", "description": "Получите предложение своей жизни с вашим промокодом Internxt", "cta": "Получить предложение" }, diff --git a/src/assets/lang/zh-tw/coupons.json b/src/assets/lang/zh-tw/coupons.json index a10d4064e..867e540e9 100644 --- a/src/assets/lang/zh-tw/coupons.json +++ b/src/assets/lang/zh-tw/coupons.json @@ -100,11 +100,11 @@ }, "ctaSection": { "title": "领取您的专属Internxt优惠券", - "description": "{{discount}}%折扣获得最大隐私保护", + "description": "87%折扣获得最大隐私保护", "cta": "领取优惠" }, "ctaSectionV2": { - "title": "{{discount}}%折扣获得完整隐私保护", + "title": "87%折扣获得完整隐私保护", "description": "使用您的Internxt优惠券代码获得一生难得的优惠", "cta": "领取优惠" }, diff --git a/src/assets/lang/zh/coupons.json b/src/assets/lang/zh/coupons.json index dad0e1df0..ced9cb755 100644 --- a/src/assets/lang/zh/coupons.json +++ b/src/assets/lang/zh/coupons.json @@ -100,11 +100,11 @@ }, "ctaSection": { "title": "领取您的专属Internxt优惠券", - "description": "{{discount}}%折扣获得最大隐私保护", + "description": "87%折扣获得最大隐私保护", "cta": "领取优惠" }, "ctaSectionV2": { - "title": "{{discount}}%折扣获得完整隐私保护", + "title": "87%折扣获得完整隐私保护", "description": "使用您的Internxt优惠券代码获得一生难得的优惠", "cta": "领取优惠" }, diff --git a/src/components/coupons/HeroSection.tsx b/src/components/coupons/HeroSection.tsx index fa583f5c2..6d50d9d38 100644 --- a/src/components/coupons/HeroSection.tsx +++ b/src/components/coupons/HeroSection.tsx @@ -75,7 +75,7 @@ export default function HeroSection({ return (
diff --git a/src/constants.ts b/src/constants.ts index f139a2a83..3e57010ce 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -54,6 +54,7 @@ export const EXCLUDED_PATHS_FOR_BANNER = [ '/google-drive-alternative', '/filejump-alternative', '/elephantdrive-alternative', + '/coupons', ]; export const SNIGEL_BANNERS = { From 1a4053f57c8279d6f91c8c2395367823cb962333 Mon Sep 17 00:00:00 2001 From: jaaaaavier Date: Thu, 11 Dec 2025 09:29:26 +0100 Subject: [PATCH 3/5] Update drive.json --- src/assets/lang/es/drive.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/lang/es/drive.json b/src/assets/lang/es/drive.json index efc874814..63e6cb816 100644 --- a/src/assets/lang/es/drive.json +++ b/src/assets/lang/es/drive.json @@ -1,7 +1,7 @@ { "HeroSection": { "eyebrow": " Drive", - "title": "**Almacenamiento en la nube seguro** para todos tus archivos", + "title": "**Almacenamiento seguro** en nube para tus archivos", "subtitle": "Almacenamiento en la nube con cifrado post-cuántico galardonado para proteger tu privacidad.", "features": [ "Cifrado post-cuántico", From 7d910e3adaa29bb2a0b8887c0ec1040c1c9f3521 Mon Sep 17 00:00:00 2001 From: jaaaaavier Date: Thu, 11 Dec 2025 10:52:07 +0100 Subject: [PATCH 4/5] refactor: simplify language detection using array includes method --- src/pages/[filename].tsx | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/pages/[filename].tsx b/src/pages/[filename].tsx index 340221165..373d0ecce 100644 --- a/src/pages/[filename].tsx +++ b/src/pages/[filename].tsx @@ -53,6 +53,14 @@ const renderCtaContent = (
); +const LANG_MAP = { + believemy: 'fr', + madroz: 'fr', + justin: 'fr', + ghareeb: 'en', + apfelcast: 'de', +}; + function CombinedSpecialOffer({ langJson, lang, @@ -209,19 +217,8 @@ function CombinedSpecialOffer({ export async function getServerSideProps(ctx) { const pathname = ctx.params.filename; - let lang = 'es'; - - if (pathname === 'believemy' || pathname === 'madroz' || pathname === 'justin' || pathname === 'qinhui') { - lang = 'fr'; - } + const lang = LANG_MAP[pathname] || 'es'; - if (pathname === 'ghareeb') { - lang = 'en'; - } - - if (pathname === 'apfelcast' || pathname === 'ct3003') { - lang = 'de'; - } const metatagsDescriptions = require(`@/assets/lang/${lang}/metatags-descriptions.json`); const navbarLang = require(`@/assets/lang/${lang}/navbar.json`); const langJson = require(`@/assets/lang/${lang}/specialOfferTemplate.json`); From 194a7325a0ce8d8b3656354ce26259d279b0e31e Mon Sep 17 00:00:00 2001 From: jaaaaavier Date: Thu, 11 Dec 2025 14:56:18 +0100 Subject: [PATCH 5/5] feat: more influencers --- src/hooks/useSpecialOfferConfig.ts | 4 ++++ src/lib/types/index.ts | 2 ++ src/pages/[filename].tsx | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/hooks/useSpecialOfferConfig.ts b/src/hooks/useSpecialOfferConfig.ts index cfef5382f..7825bb3e5 100644 --- a/src/hooks/useSpecialOfferConfig.ts +++ b/src/hooks/useSpecialOfferConfig.ts @@ -15,6 +15,8 @@ export const ALLOWED_PATHS = [ 'justin', 'qinhui', 'ct3003', + 'benjamin', + 'payette', ]; export const ALTERNATE_RECOMENDATED_PLAN_PATHS = new Set([]); export const DARK_MODE_PATHS = new Set(['baity', 'xavier', 'oscar', 'rimembah', 'believemy', 'ghareeb']); @@ -32,6 +34,8 @@ export const COUPON_CODES = { justin: PromoCodeName.JUSTIN, qinhui: PromoCodeName.QINHUI, CT3003: PromoCodeName.CT3003, + benjamin: PromoCodeName.benjamin, + payette: PromoCodeName.payette, }; interface OfferConfig { diff --git a/src/lib/types/index.ts b/src/lib/types/index.ts index 4c078a7cb..0da01f88f 100644 --- a/src/lib/types/index.ts +++ b/src/lib/types/index.ts @@ -185,6 +185,8 @@ export enum PromoCodeName { ONEDRIVE = 'ONEDRIVE87', QINHUI = 'QINHUI', CT3003 = 'CT3003', + benjamin = 'BEMJAMIN', + payette = 'PAYETTE', } export interface PromoCodeProps { diff --git a/src/pages/[filename].tsx b/src/pages/[filename].tsx index 373d0ecce..bb9dd6b19 100644 --- a/src/pages/[filename].tsx +++ b/src/pages/[filename].tsx @@ -57,6 +57,8 @@ const LANG_MAP = { believemy: 'fr', madroz: 'fr', justin: 'fr', + benjamin: 'fr', + payette: 'en', ghareeb: 'en', apfelcast: 'de', }; @@ -131,8 +133,6 @@ function CombinedSpecialOffer({ ); }; - const navbarCta = 'priceTable'; - return (