From f56c2ed217e7d9dcb4cc688ce481d2f9dac69ba7 Mon Sep 17 00:00:00 2001 From: jaaaaavier Date: Thu, 11 Jun 2026 08:44:41 +0200 Subject: [PATCH 1/3] update italian metatags --- src/assets/lang/it/metatags-descriptions.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/assets/lang/it/metatags-descriptions.json b/src/assets/lang/it/metatags-descriptions.json index 01ab1bce3..520877efa 100644 --- a/src/assets/lang/it/metatags-descriptions.json +++ b/src/assets/lang/it/metatags-descriptions.json @@ -600,5 +600,10 @@ "id": "thankyou", "title": "Lista d'attesa offerta speciale — Internxt", "description": "Iscriviti a Internxt per ricevere il tuo sconto esclusivo sull'archiviazione cloud privata e crittografata di cui puoi fidarti." + }, + { + "id": "internxt-private-cloud-storage-solutions", + "title": "Internxt – Soluzioni di archiviazione su cloud privato", + "description": "Scopri un'esperienza di archiviazione dati su cloud privato di altissimo livello. Offriamo soluzioni di archiviazione su cloud privato di prima classe per garantire la sicurezza e l'organizzazione dei tuoi dati. Inizia con il tuo piano gratuito!" } -] \ No newline at end of file +] From 4355ed0673957b259a65f519f55c993590e5d6b7 Mon Sep 17 00:00:00 2001 From: jaaaaavier Date: Thu, 11 Jun 2026 08:55:21 +0200 Subject: [PATCH 2/3] pricing updates --- src/assets/lang/de/pricing.json | 2 +- src/assets/lang/en/pricing.json | 2 +- src/assets/lang/es/pricing.json | 2 +- src/assets/lang/fr/pricing.json | 2 +- src/assets/lang/it/pricing.json | 2 +- src/assets/lang/ru/pricing.json | 2 +- src/assets/lang/zh-tw/pricing.json | 2 +- src/assets/lang/zh/pricing.json | 2 +- src/components/pricing/ComparisonTable.tsx | 11 +++++++++-- 9 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/assets/lang/de/pricing.json b/src/assets/lang/de/pricing.json index 26ebc7857..ba341af48 100644 --- a/src/assets/lang/de/pricing.json +++ b/src/assets/lang/de/pricing.json @@ -283,7 +283,7 @@ }, { "id": "file_size_limit_essential", - "name": "Dateigrößenlimit von 1 GB pro Datei", + "name": "Dateigrößenlimit von 10 GB pro Datei", "group": "file_size_limit", "avalability": { "Essential": true, "Premium": false, "Ultimate": false } }, diff --git a/src/assets/lang/en/pricing.json b/src/assets/lang/en/pricing.json index 9752de27b..8f1f97148 100644 --- a/src/assets/lang/en/pricing.json +++ b/src/assets/lang/en/pricing.json @@ -186,7 +186,7 @@ }, { "id": "file_size_limit_essential", - "name": "File size limit 1GB per file", + "name": "File size limit 10GB per file", "group": "file_size_limit", "avalability": { "Essential": true, "Premium": false, "Ultimate": false } }, diff --git a/src/assets/lang/es/pricing.json b/src/assets/lang/es/pricing.json index 4dfc7f4e9..781c12fdf 100644 --- a/src/assets/lang/es/pricing.json +++ b/src/assets/lang/es/pricing.json @@ -283,7 +283,7 @@ }, { "id": "file_size_limit_essential", - "name": "Límite de 1GB por archivo", + "name": "Límite de 10GB por archivo", "group": "file_size_limit", "avalability": { "Essential": true, "Premium": false, "Ultimate": false } }, diff --git a/src/assets/lang/fr/pricing.json b/src/assets/lang/fr/pricing.json index 423124c7f..3bc8886fd 100644 --- a/src/assets/lang/fr/pricing.json +++ b/src/assets/lang/fr/pricing.json @@ -283,7 +283,7 @@ }, { "id": "file_size_limit_essential", - "name": "Limite de 1 Go par fichier", + "name": "Limite de 10 Go par fichier", "group": "file_size_limit", "avalability": { "Essential": true, "Premium": false, "Ultimate": false } }, diff --git a/src/assets/lang/it/pricing.json b/src/assets/lang/it/pricing.json index a80080afd..3bc91529a 100644 --- a/src/assets/lang/it/pricing.json +++ b/src/assets/lang/it/pricing.json @@ -283,7 +283,7 @@ }, { "id": "file_size_limit_essential", - "name": "Limite dimensione file di 1 GB per file", + "name": "Limite dimensione file di 10 GB per file", "group": "file_size_limit", "avalability": { "Essential": true, "Premium": false, "Ultimate": false } }, diff --git a/src/assets/lang/ru/pricing.json b/src/assets/lang/ru/pricing.json index 71b479c05..75b0cf605 100644 --- a/src/assets/lang/ru/pricing.json +++ b/src/assets/lang/ru/pricing.json @@ -283,7 +283,7 @@ }, { "id": "file_size_limit_essential", - "name": "Ограничение размера файла 1 ГБ на файл", + "name": "Ограничение размера файла 1O ГБ на файл", "group": "file_size_limit", "avalability": { "Essential": true, "Premium": false, "Ultimate": false } }, diff --git a/src/assets/lang/zh-tw/pricing.json b/src/assets/lang/zh-tw/pricing.json index f1bf9eebc..c74f11992 100644 --- a/src/assets/lang/zh-tw/pricing.json +++ b/src/assets/lang/zh-tw/pricing.json @@ -283,7 +283,7 @@ }, { "id": "file_size_limit_essential", - "name": "檔案大小限制:每個檔案 1GB", + "name": "檔案大小限制:每個檔案 10GB", "group": "file_size_limit", "avalability": { "Essential": true, "Premium": false, "Ultimate": false } }, diff --git a/src/assets/lang/zh/pricing.json b/src/assets/lang/zh/pricing.json index c9b0dcecc..f769e46ce 100644 --- a/src/assets/lang/zh/pricing.json +++ b/src/assets/lang/zh/pricing.json @@ -283,7 +283,7 @@ }, { "id": "file_size_limit_essential", - "name": "文件大小限制:每个文件 1GB", + "name": "文件大小限制:每个文件 10GB", "group": "file_size_limit", "avalability": { "Essential": true, "Premium": false, "Ultimate": false } }, diff --git a/src/components/pricing/ComparisonTable.tsx b/src/components/pricing/ComparisonTable.tsx index 37fafb7c5..d3c5e0cb9 100644 --- a/src/components/pricing/ComparisonTable.tsx +++ b/src/components/pricing/ComparisonTable.tsx @@ -48,10 +48,17 @@ export default function ComparisonTableSection({ const billingText = billingFrequency === Interval.Year ? textContent.billedAnnualy : textContent.billedOnce; const isLifetime = billingFrequency === Interval.Lifetime; + const roundIfNeeded = (n: number): string => { + const truncated = (Math.floor(n * 100) / 100).toFixed(2); + if (truncated.endsWith('.98')) return truncated.slice(0, -1) + '9'; + if (truncated.endsWith('.00')) return (parseFloat(truncated) - 0.01).toFixed(2); + return truncated; + }; + const getPlanPrice = (planOrder: number) => { const basePrice = Number(products?.individuals?.[billingFrequency]?.[planOrder]?.price ?? 0); - const finalPrice = decimalDiscount && isLifetime ? basePrice * (decimalDiscount / 100) : basePrice; - return finalPrice.toFixed(2).replace('.00', ''); + const finalPrice = decimalDiscount ? basePrice * (decimalDiscount / 100) : basePrice; + return roundIfNeeded(finalPrice); }; const getPlanPriceId = (planOrder: number) => { From e4489f579d2adb3a4a6bcc91388d62668cb65f34 Mon Sep 17 00:00:00 2001 From: jaaaaavier Date: Thu, 11 Jun 2026 09:02:03 +0200 Subject: [PATCH 3/3] partners S3 section --- src/components/cloud-object-storage/PartnersSection.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/components/cloud-object-storage/PartnersSection.tsx b/src/components/cloud-object-storage/PartnersSection.tsx index 70278e394..e1305abcc 100644 --- a/src/components/cloud-object-storage/PartnersSection.tsx +++ b/src/components/cloud-object-storage/PartnersSection.tsx @@ -30,13 +30,12 @@ export const PartnersSection = ({ textContent }: PartnersSectionProps): JSX.Elem
-
+
{`Image